fruitbox v1.12 is now released!
-> *new* Support for playing (ogv) music videos
-> *new* Support for playing video clips in status objects
-> *new* button and status controlled flags
-> Added more support for non-official touchscreens
-> Much more flexible select code operation
-> Added new page transition effect (Dissolve)
-> Added status $variables for "last played" song information
-> Added more flexible song title display with independent text parameters for paired songs
-> Added new command line option to over-ride default button mapping filename
Select Code Operation
fruitbox now allows more flexible select code handling, which allows:
-> Any number of select code digits (rather than just two digits as before)
-> Exclusion of keys in a sequence (some jukeboxes have the letter 'I' missing for example)
-> Any order of keys in a sequence (for example numbers starting with zero or finishing with zero)
-> Letter case insensitive
-> Alternate row/column ordering (i.e. A1, A2, B1, B2 or A1, B1, A2, B2)
Unfortunately, these enhancements are not backwards compatible with the existing skins, so if you have designed you own skin then they will need to be tweaked. If you are using standard skins from GitHub, then these have now been updated.
Modification of existing skins is straightforward:
'SelectKeys' has been replaced by multiple 'SelectButtons' entries,
Code: Select all
SelectButtons = ABCDE
SelectButtons = 1234
As usual, consult the user-guide for full explanation.
Touch Screen Calibration
The new command line option --calibrate-touch
is used in conjunction with --config-buttons
to interactively specify the touch-min and touch-max values. The touch-min and touch-max values will be calculated from on screen touch presses, and the values written to the button mapping file for future use. This option can be used ratyher than specifying the --touch-min
fruitbox now supports video for both status boxes and music videos! It does however come with several limitations...
-> Only Vorbis audio / Theora video formats are supported (ogv file format).
-> Some element of manual tag data extraction is required for music videos.
-> A powerful Pi (Model 3) is required, and PSU with 2 Amp output is recommended.
-> Display resolution should be kept low (below 1024x768).
You can convert your existing videos into ogv format using ffmpeg (out of the scope of this discussion thread). There's plenty of information on ffmpeg on the web, but as a quick tip you can create the correct format using a simple command like...
Code: Select all
ffmpeg -i yourvideo.ext -b:v 2000000 -vf scale=640:360 yourvideo.ogv
When fruitbox is generating the database for MP3 files, it has all the information it needs (such as artist and song title, etc.) embedded in the MP3 file itself. For ogv files this is not the case, so you will have to manually edit your database to add the details for each of your music videos. fruitbox will populate the filename and song title (based on filename) fields, but all the other fields will need to be added manually.
For status boxes, videos can be used instead of bitmap lists to allow animations such as song loading / unloading for example.
Enhanced Touch Screen Support
A huge thanks to Jurgen (mamer999) for helping debug this; fruitbox now can support non-official touch screens with co-ordinate systems which don't match the screen resolution, and also with reversed touch co-ordinate sysytems.
A new command line option --calibrate-touch
is provided for use in conjunction with --configure-buttons
to train fruitbox to use these touch screens.
Status Random image file and directory support
Bitmap image files in status boxes can now be defined by the directory they are stored in rather than as individual files. This is useful for slide-show type status displays, especially combined with the new $DRAW_RANDOM_BITMAP variable.
Four status flags have been added which can be toggled using new buttons, or set high and low using status $variables. Their values can be read in [status] objects, which now allows more flexibility in skin design (for example, [status] objects can now communicate with each other using these flags, or status output can be turned on/off by the user through button presses).
As usual, you can download fruitbox from GitHub here...
(see README.md for installation instructions)
Also, I've posted a couple of new (sorry poor quality) videos online to show skins demonstrating some of these new features (and the skins are available on GitHub).