DuneJukebox is a simple file selector and remote control for Dune media players. It enables file selection and playback from the Dune media player without having to turn on the TV. The program communicates with the Dune media player using a simple FTP protocol for the file listing and HTTP-requests to send commands and receive information to and from the player.
DuneJukebox (Dune Audio Controller)
The app will show the disks mounted on the player. Navigate through the disk contents by tapping the folders.
When a playable file is tapped, the app sends a play request to the media player. When the folder contains only files (no subdirectories are present) the app sends a 'make playlist and start playing the selected file'-command to the player. This will play all files in the folder in the order as they appear in the file listing starting with the tapped file.
When subdirectories are present in the folder, the app sends the 'play the selected file'-command to the player. This is done because the player builds a playlist from the files present in the current folder AND from all playable files in any subdirectories when it receives the make playlist request. Usually this will not start the selected file but one of the files in a subdirectory.
The app displays the first image (if any) it encounters in the folder selected in the folder view. If you want a cover picture to be displayed, make sure the first (alphabetical) or only image is the cover image.
When file playback is started you can browse the directory listing without interrupting playback. To go back to the folder from which the playback was started simply tap '(Re-)Load Currently Playing' to restore the original folder content.
The 'Media Player Control' pane is a small set of remote control buttons required for audio file playback. The number buttons can be used to jump through a playing file, where '1' jumps to 10%, '2' to 20%, etc.
When downloaded and installed from the App Store, the IP-address is set to 0.0.0.0. Set the IP-address of your player by tapping on the ip-address field on the top left of the app window. Every time the player address changes you need to change the ip-address in the app too. Give the player a fixed IP-address ('manual IP') to prevent having to set the address every time the player is restarted. When a new IP-address is given after a fresh installation, the app needs to be stopped and restarted to activate the address (stop the app using the 'Home' button).
Once a valid IP-address for the player is given, start browsing the disk content by tapping the topmost field in the directory/file view called '..' - (move one directory up).
In version 1.1 of the app I've included three buttons to control the volume on the player. When using an external high-end digital to analogue converter it is advisable not to use the volume control as this will negatively affect the sound quality.
The app will now show artwork from the directory from which the files are playing ('playing'), and the directory that is browsed in the file list ('browsing').
A 'busy' indicator in the IP-address field of the app shows communication activity between the app and the player.
The file listing order in the file list pane has been modified to reflect the order in which the Dune player orders its files, resulting in less errors when selecting a file from a directory which contains files other than pictures and playable files.
To prevent extremely long filenames, use the dune_folder.txt file to rename internal and USB hard disks.
Add this line to the the dune_folder.txt file:
storage_name = Local_HDD
Instead of using the hardware-ID of the disk, the player now assigns the name 'Local_HDD' to the disk where this 'dune_folder.txt' is placed in the root.
version 1.0 (later versions below)
Version 1.2 adds support for network attached storage. The app now also browses remote hard disks and can send commands to the Dune media player to play the remote files.
The network attached storage is browsed using FTP. The media player plays the files on the remote storage using the smb: protocol, so both simple FTP and SMB connections should be enabled on the NAS to work properly.
Here's a video clip to demonstate the new version:
Version 1.3 adds support of port addresses in the FTP server name.
Version 1.4 changed some build settings to make the app installable on iOS 5 and later. But keep in mind the app was never tested on an iPad running iOS 5 or 5.1; it was only tested in XCode's iOS simulator, so chances are it won't work properly on a 'real' iPad running iOS 5.
In this version I've added support for multiple NAS devices and Dune media players. Three NAS devices and three Dune players are supported. Devices can be slected throught the 'Settings' button. On/off switches enable/disable the devices.
The earlier versions of the app only supported .cue playlist files. I have added the .pls and .m3u playlist file types to the list of playable files.
One problem remains with playlist files: when a single mp3, flac or wav file is clicked, the Dune media player will create a playlist of all playable files starting at the clicked file. Usually playlist files appear at the end of the list, meaning the playlist-file wil be included in the playlist. This will cause a repetition of the playlist...
So, when a playlist file is present in the file list, use the playlist file instead of a single track file to start playback.
In some rare situations the app appears to 'hang'. This is usually caused by a dialog on the Dune player stating some sort of error condition. The app is unaware of this situation and seems to 'hang' at this point. The only method to resolve this issue is to turn on the television and see what user interaction the player requires. I am looking further into this problem, but at this moment I have no solution to this problem.
Because of iOS 7 compatibility issues with version 1.3 though, I decided to publish version 1.4 without improved error handling.
The most apparant feature in version 1.6 is the analysis of CUE files. This version shows the track contents of a single flac, wav or ape file with track info taken from the CUE file.
This version supports very simple streaming of internet radio stations. To enable this feature you'll have to make a directory/folder with a 'dune_folder.txt' file for each radio station you want to receive. A station logo will de displayed if it is present in the same folder and referred to in the 'dune-folder.txt' file.
For example, to receive the Dutch station 'Radio 6 Blues' the contents of the dune_folder.txt could be this:
The image radio6_blues.jpg will only be displayed when the radio station is started. When the app (re-)starts and the station is already running, the default internet streaming icon will be shown. Because the Dune player doesn't share any information about the station it is streaming, DuneJukebox is unable to give extra info like the station's name, running track, etc. Only the display (if any) on the player will reveal this information. This is because meta-data about the station is embedded in the radio-stream itself, which DuneJukebox can not access. DuneJukebox only instructs the Dune player to start streaming a certain station, nothing more...
The previous version of Dunejukebox could show the separate tracks in a flac or wav CD-image file as by analysing the cue file. This version adds support of the number keys to jump within the tracks instead of jumping through the complete CD-image file.
With the update to the latest firmware on my Dune HD Smart D1 player the built-in hard disk occasionally is assigned a wrong name. (I relabelled the harddisk using the 'dune_folder.txt' method mentioned under DuneJukebox version 1.1 with storage_name = Local_HDD)
Despite renaming the harddisk, every now and the I notice DuneJukebox cannot load a directory listing from the player. Pressing the 'Restore Connection' button then reveals a strange harddisk name like 0'D . Restarting the Dune player resolves the problem. So, if you don't see a directory listing when starting the app, simply press the 'Restore Connection' button to reset the stored data-paths in the app.
Version 1.7 is only supported from version 6.0 of iOS.