Fileplay is an idea for a Raspberry Pi OS
for playing audio, video, images, ebooks and ROMs
from external hard drives.
It uses folder navigation for selecting files
and you control it with a gamepad.
Sometimes I want to play media files without the infinite potential for distraction offered by an online computer.
You browse files by navigating folders
and control it with a gamepad, via button combinations instead of menus
and it's visually simple
and it doesn't connect to the internet
or have plugins or themes
or lots of settings or features.
Fileplay's features are described in depth further down the page,
and most of them are quite straightforward,
but there are some that are interesting to me:
Some media players use metadata to provide database-style navigation,
so that, for example, you can browse music files by artist, genre, year etc.
However, I prefer to browse the actual folder structure on the hard drive.
This way I can organise files in whatever way is relevant to me.
For example, I can have a folder for albums from a specific record label,
or movies someone recommended to me.
Folder navigation allows Fileplay to use the same interface for browsing all file types.
Fileplay is designed to work with an inexpensive SNES-style gamepad,
or any other gamepad with at least as many buttons.
It uses combinations of buttons pressed at the same time to perform actions
rather than an interface full of menus.
I hope that this style of input is fast to use after a while,
and that using a gamepad is fun.
The rest of this page is a bit like a user manual.
Send any questions, comments or ideas to firstname.lastname@example.org
This is the "browse screen".
The icons next to each item indicate its file type or, if it's a folder, what type of file it mostly contains. File icons are in solid colour and folder icons are outlined.
|for audio file,||for audio folder|
|for video file,||for video folder|
|for image file,||for image folder|
|for ebook file,||for ebook folder|
|for ROM file,||for ROM folder|
|for a folder of multiple types|
File extensions are hidden, and files of unsupported types aren't shown.
You can select items with the gampad's up/down arrows,
or press the button to go to a random item.
The right arrow opens folders, and the left arrow goes back to the parent folder.
You can see the path of the currently open folder at the top of the screen.
When Fileplay boots up, it starts with the browse screen at the root folder of the drive,
or if multiple drives are connected it shows them like folders named "Drive 1", "Drive 2" etc.
Other actions you can do, and the buttons to press to do them, are shown at the bottom of the screen.
At the bottom-right of the browse screen, the "..." next to
(left shoulder button) /
(right shoulder button) means that each of them can be held down to show more actions you can do via buttons combinations.
For example, holding shows this at the bottom of the screen:
You can now see that holding down and and pressing the right arrow will Shuffle the items in the folder.
When a file is played, it takes you to the "playing screen".
Now the available actions relate to the playing file. For example, holding now shows these actions:
Actions with a ":" are cyclable options. For example, After cycles between "next", "loop", "shuffle" and "replay".
(the start button) toggles between the browse screen and the playing screen.
This table lists all the available actions on the browse/playlist/play queue screens,
and the "playing" screens for audio/video/images/ebooks.
is the left shoulder button.
is the right shoulder button.
is the start button.
is the select button.
|Open folder||Forward||Pan right|
|Parent folder||Backward||Pan left|
|Next item||Pan down|
|Previous item||Pan up|
|Play||Pause/resume||Pause/resume slideshow||Next screenful|
|Random item||Previous screenful|
|Add to playlist|
|Add to last playlist|
Move item down
|Add moment to playlist||Add section to playlist|
Move item up
|Add moment to last playlist||Add section to last playlist|
|Play only file||Pan right||Random page|
Open item folder
|Pan left||Random item|
|Queue||Random item and time||Pan down||Next item|
|Queue next||Random time||Pan up||Previous item|
|Shuffle||Speed +||Slideshow speed +||Toggle search|
|Auto-shuffle: on/off||Speed -||Slideshow speed -|
|Reverse||Reset speed||Toggle slideshow||Next search result|
|Order||Preserve pitch: on/off||Previous search result|
|Thumbnail view: on/off||After: next/loop/shuffle/replay||Zoom to fit image||Zoom to fit page|
Show path: on/off
|Pause after: on/off||Zoom to actual pixels||Zoom to page width|
|Thumbnail row -||(Video) Cycle subtitles||Zoom +|
|Thumbnail row +||(Video) Cycle audio track||Zoom -|
|Go to playing||Go to browse|
|Go to search|
|Go to play queue|
|Go to playlist selection|
|Go to settings|
Actions which aren't currently relevant aren't shown at the bottom of the screen.
For example, Reset speed and Preserve pitch are only shown if the playback speed has been changed.
Audio, video, images and ebooks use a "play queue" which determines what will play after the current track finishes or when you press Next item/Previous item from the playing screen.
When a file is selected, Play replaces the play queue with all the files in the currently open folder and plays the selected file.
When a folder is selected, Play replaces the play queue with all the files in the folder (and subfolders) which are of the type that the folder mostly contains (which the folder's icon will show), and plays the first file.
Play only file replaces the play queue with only the selected file, and not the other files in the folder.
Queue adds the file or folder contents to the end of the play queue without clearing the play queue or immediately playing the file.
Queue next adds it after the currently playing track.
Go to play queue lets you view and edit the play queue.
Backward and Forward go back/forward in time by 5 seconds when tapped, or can be held down to rewind/fast-forward.
Next item goes to the next track in the play queue and Previous item goes back to the start of the playing track, or back to the previous track if pressed within the first few seconds of the track.
Random item goes to a random item in the play queue.
Random time goes to a random time within the track.
Random item and time goes to a random item in the play queue and starts from a random time within the track.
When a track is paused or while rewinding/fast-forwarding, the playback bar and times are shown.
After determines what happens when a track finishes:
Pause after determines whether to pause after the current track has finished or keep playing.
Next folder/Previous folder from the browse screen opens the next/previous folder in the folder structure, and from the playing screen it plays the next/previous folder.
Auto-folder determines whether to go to the next/previous folder when going beyond the first/last item of the folder.
Items in the browse screen are initially ordered alphabetically with folders before files.
Shuffle shuffles the item order in the currently open folder.
Auto-shuffle determines whether to automatically shuffle folders when they are opened.
Order puts the items back into alphabetical order.
Reverse reverses the order.
Play adds files to the play queue in the same order they are in in the browse screen.
Thumbnail view is a different way to see items in the browse screen.
Images, videos and ebooks show previews, and folders show the first image in the folder,
or an image named "folder.jpg" or "cover.jpg" if it contains one.
Items without thumbnails show their names in their grid squares.
Thumbnail row - and Thumbnail row + change how many rows are shown,
and makes the thumbnails bigger or smaller to fit.
You can search for file and folder names, with matches displayed as you type.
Names will match if they contain the same letters in the same order,
for example "rockhigh" will match "Rock 'n' Roll Highschool".
You can choose whether you want to:
Add to playlist from the browse screen adds the selected file to a playlist, and from the playing screen it adds the currently playing file to a playlist.
When adding an item to a playlist, you can select a previously created playlist or create a new one. Playlists can be created for any file type, and the first item added determines what type it is.
Add to last playlist adds the item to the playlist which was most recently added to.
After some actions, such as Add to last playlist, Fileplay will let you know what just happened in a message above the actions:
Add moment to playlist adds the track and playback time to a playlist, so when the track is played from the playlist it will start at the playback time it was at when it was added.
Add section to playlist (for images and ebooks) adds the item and the zoom level and pan position.
The "playlist selection" screen shows the playlists you have created.
|Move playlist up|
|Move playlist down|
Fix playlists checks if the all files in the playlists are still there, and if not it scans the drives to try to find them and updates the playlists.
Since a combination of the select button and another button doesn't affect gameplay in many games, it is used for emulator actions.
|Cycle filter: none/bilinear/pixel|
|Save state to new slot|
|Load state from slot|
|Save state to current slot|
|Undo state change|
|Redo state change|
|Pause and go to browse|
Fast-forward speeds the game up while it is held down, and
Fast-forward toggle speeds the game up until it is pressed again.
Cycle filter cycles between:
Save states are stored in "slots".
Save state to new slot saves the state to a new slot and updates the "current slot" to this slot.
Next slot and Previous slot change the current slot.
Load state from slot loads the state from the current slot.
Save state to current slot overwrites the current slot.
If you overwrite a slot or load a state and wish you hadn't,
you can use Undo state change.
If a folder contains only a video file and a subtitle file,
or a PlayStation ROM with only a ".bin" file and a ".cue" file,
and optionally a "folder.jpg" or "cover.jpg" file,
the folder is shown as if it were a single file.
M3U playlists are shown as if they were folders (so they can be played but not edited).
DVD and Blu-ray ISO files can be opened like folders, containing video files for each chapter.
The settings screen allows you to:
You can change the colours on this very page by clicking the hue/saturation/lightness settings in the image above.
Fileplay stores the following things in its "settings folder":
Fileplay will store these on the microSD card it is on, unless a drive has a folder named
"_fileplay" or ".fileplay", in which case it will use that folder instead.
Thanks for reading.
If this idea interests you, why not send me an email.