I have a feature suggestion that I believe would greatly improve the playback experience.
Currently, when Shuffle mode is active, the “Back” button does not return to the previous track. Instead, it either restarts the current track or plays a completely new random track. This makes it impossible to simply go back to a song you just enjoyed, which is a basic expectation in most modern music players.
I’ve noticed that Volumio might be the only player that doesn’t handle this intuitively.
The request: Please make the “Back” button function as a standard “Previous Track” button, even when Shuffle is on. It should navigate to the historically previous song in the playback queue, rather than behaving unpredictably.
This is a small change, but for many users, it’s an essential part of a smooth listening session.
Thank you for considering this request, and for all your hard work on Volumio.
Hi, take any player, and there is such a function everywhere, in absolutely any OS, be it Windows, Linux or Android, but not in this one, and it’s very disappointing
I was sat thinking about creating a plugin to solve the problem when it occurred to me that all you really need to do is to select ‘Last 100’ from the main menu and choose the previous track from there.
I’d like to propose a quality‑of‑life improvement for Volumio’s random playback, specifically regarding the Previous (Prev) button. Many of us have noticed that in Random mode, pressing Prev often jumps to a random previous track rather than the one we actually just listened to. This breaks the natural expectation of going back in the listening history.
However, Volumio already maintains a history of the last 100 played tracks internally. So why not use that existing data to make Prev work correctly?
Below is a refined logic that would make random playback much more intuitive, while also addressing queue replenishment and filtering – all using Volumio’s built‑in capabilities as much as possible.
The core issues
In Random mode, Prev does not recall the actual last played track – it behaves unpredictably.
There is no way to exclude certain folders (e.g., audiobooks) from the random pool.
Tracks can repeat too frequently, with no cooldown mechanism.
The queue is not intelligently replenished, leading to gaps or repetitive sequences.
Proposed logic for Volumio’s internal player
1. Use the existing playback history for “Previous”
Volumio already stores the last 100 played tracks (with timestamps or order).
When Prev is pressed:
Fetch the most recent track from that history (skipping the current one) and play it.
This gives a true “go back” experience, identical to linear playback, with no extra storage needed.
2. Smart “Next” with queue refill
When Next is pressed, play the next track in the current queue.
If the remaining queue length falls below a threshold (say, 2–3 tracks), automatically add a fresh batch of random tracks (e.g., 5–10) to keep playback seamless.
The new tracks should respect the cooldown and filter rules described below.
3. Random mode toggle – controlled generation
When Random is turned ON , the player should generate a random queue using a dedicated generator (not the standard MPD shuffle).
This generator should support:
Folder exclusion : e.g., ignore /audiobooks so those tracks never appear in random playlists.
Cooldown / Ban‑list : Tracks that have been played within the last X hours (user‑configurable, e.g., 100 hours) are temporarily excluded from being added again. This prevents over‑repetition.
When Random is turned OFF , the generator stops, and the current queue remains but is not replenished automatically.
4. Cooldown implementation
Whenever a track starts playing, store its URI along with a timestamp (this can be integrated with the existing history or a separate small file).
Before adding new tracks to the queue, check the cooldown list and skip any tracks that are still within the forbidden time window.
The cooldown list can be reset or cleared manually if desired.
5. Persistence
Since Volumio already keeps the playback history persistently (the last 100 tracks), the cooldown list could be stored alongside it, or in a simple JSON file – but at least the history part is already covered.
Benefits of this approach
Intuitive Prev : You always go back to what you actually heard, using data Volumio already has.
No interruptions : Queue is refilled proactively.
Personalised randomness : Exclude unwanted folders and avoid short‑term repetition.
User‑controllable : Cooldown duration and excluded folders could be exposed as settings.
Minimal new storage : Relies on Volumio’s built‑in history, reducing overhead.
What would need to change in Volumio
Replace the current Random mode logic with a new internal queue manager.
Modify the Prev action to read from the existing history instead of generating a random previous track.
Add settings for:
Excluded folders (paths or patterns).
Cooldown hours.
Refill threshold and batch size.
Update the Next action to include proactive refill.
I believe these changes would greatly enhance the random playback experience, making it more predictable and enjoyable – and because Volumio already has the history, the most critical piece (Prev) would be very easy to implement. I’d love to hear your thoughts and suggestions – maybe this could be considered for a future update.