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.

Why would you want this?

Sometimes I want to play media files without the infinite potential for distraction offered by an online computer.

How is this different from other options?

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.

Any interesting 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:

Why folder navigation?

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.

Why a gamepad?

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

Browse screen

This is the "browse screen".

A B I R V A B I R V A B I R V A B I R V A B X Y A B X Y 1 2 3 4 Music/Netlabels/Rain Music GoGooo - Cat Songs GoGooo - Partir GoGooo - Un Peu Haruki - Bending Wood Higuchi Eitero - Zannyou Karras - Night Breeze Miyachan Akichan - Lucky Star øjeRum - There Is A Flaw In My Iris On_14 - Plumes Oskar Hallbert - Sids Appartment Pear - Arel Pequeña Fiera! - 12 Songs With No Words And A Toy Piano Rain Is A Pretty Music Simagrée - Violette EP Stretchandrelax - Capuche - Barbe Terje Paulsen - Landform Play Random item Playing Search / / / ...

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:

Shuffle Auto-shuffle: off Reverse Thumbnail view Next folder Previous folder Auto-folder: off Volume + Volume - Undo

You can now see that holding down and and pressing the right arrow will Shuffle the items in the folder.

Playing screen

When a file is played, it takes you to the "playing screen".

Music/Netlabels/Kahvi Collective/Workbench - Zoo kahvi203a_workbench-sunflower Pause Random item Browse Search / / / ...

Now the available actions relate to the playing file. For example, holding now shows these actions:

Speed + Speed - After: next Pause after: off Next folder Previous folder Auto-folder: off Undo Volume - Volume +

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.

Table of actions

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.

Play queue
Audio/Video Image Ebook
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
(Playlist/Play queue)
Move item down
Add moment to playlist Add section to playlist
(Playlist/Play queue)
Move item up
Add moment to last playlist Add section to last playlist
Play only file Pan right Random page
(Playlist/Play queue)
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
(Playlist/Play queue)
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 -
Next folder
Previous folder
Auto-folder: on/off
(Playlist/Play queue)
Remove item
Volume -
Volume +
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.

Play queue

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.

Playing audio and video

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.

Music/Netlabels/Kahvi Collective/Workbench - Zoo kahvi203a_workbench-sunflower 2:41 -3:23 Play Random item Browse Search / / / ...

Playback settings

After determines what happens when a track finishes:

Pause after determines whether to pause after the current track has finished or keep playing.

Next/previous folder

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.

Item order

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

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.

Music/Netlabels/Kahvi Collective Workbench - Zoo Play Random item Playing Search Text view Thumbnail row - Thumbnail row + / / / ...

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".

Music/Countries/Sweden/Teddybears - Rock'N'Roll High school Music/Countries/Sweden/Teddybears - Rock'N'Roll Highschool/02. Rock'N'Roll Highschool Music/Countries/Japan/Shonen Knife - Osaka Ramones - Tribute To The Ramones/02 - Rock 'N' Roll High School Music/Punk/Ramones - End Of The Century/10 - Rock 'N' Roll High School Music/Video game soundtracks/Tony Hawk Soundtrack Collection/2004 - Tony Hawk's Underground 2/13. The Ramones - Rock 'n' Roll High School rockhigh Insert letter Backspace Go to results Browse Files/folders: both Type: audio Show path: yes Match path: no This folder: no a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

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:

Added to playlist "Absolute bangers" Play Random item Playing Search / / / ...

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.

Playlist selection screen

The "playlist selection" screen shows the playlists you have created.

Play playlist
Random playlist
View/edit playlist
Move playlist up
Move playlist down
Rename playlist
Delete playlist
Fix playlists

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.

Fast-forward toggle
Cycle filter: none/bilinear/pixel
Volume +
Volume -
Next slot
Previous slot
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:

Clr 1 hue Clr 1 saturation Clr 1 lightness Clr 2 hue Clr 2 saturation Clr 2 lightness EQ low low EQ low EQ mid EQ high EQ high high Audio output: HDMI Pair Bluetooth... Configure controller... Button icons Network... Clear settings folder... Browse Font size + Font size -

You can change the colours on this very page by clicking the hue/saturation/lightness settings in the image above.

Settings folder

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.