
It's been quite some time since I've had anything to report, as for the last year or two things have been pretty hectic, but I've been gradually redeveloping/migrating this project over to a multi-platform environment in my spare time.
That said, this project is now
almost to the point where I reckon it's ready for general viewing.
As of now, the support for a secondary display is not enabled (who would have thought having two windows running in a single instance of Flutter would have been so tricky?), but that's the next major code change planned.
The majority of the core functionality is now nearly done though, so once I've run another round or two of internal testing and squished a few more of the bigger bugs, I'll share what I have with you folks.
Some of the key changes over the prototype version:
- Licensing options:
- In the 'FREE Forever' version, the media library will be fully populated, but there will be a limit of 24 items made available. I figure that's what you got in a 'real' classic Jukebox, and for some, that'll be all that's needed. For those of us who want more, licensing options will be available on right-click menu.
- During the initial Public Beta stage, the software will 'expire' 90 days from release date. It will still be fully functional, but playback speed will be reduced (as a reminder to come back and grab the latest version). This limitation will be removed once the Beta phase is complete.
- Multi-platform support:
- While the initial release will be for Windows, we will release Linux and Android versions also (planned for early July).
- Video support:
- Now enabled: video skin support! You want to see the platter spinning and the colour tubes cycling? Well, now that's possible.
Basic wallpaper support is ready to go.

- Zooming. When video media is playing in the 'mini display', pressing the 'BTN_ZOOM' key (mapped to 'Z' by default) will smoothly transition the video to full-screen mode (and back, by hitting the same key again).

- Touch Screen support:
- Full support for touch screen, with swipe gestures to navigate through song cards, tap to select tracks, etc.
- Colour Palette:
- The pre-defined (named) colour list now contains over 5000 items (though a couple hundred are aliases for a given colour value - eg 'Dark Gray' and 'Dark Grey').
Can be viewed in 'ColourSwatches.html' (generated on demand by setting 'ExportPaletteSwatches' to true in the jukebox.ini file) in the program directory. - Sortable by either HSV, Name, RGB Value, or Rainbow.
- Custom colours can be specified as 0xAARRGGBB (Alpha, Red, Green, Blue), or 0xRRGGBB.
- Metadata:
- We now have multiple metadata collection methods. If the first fails to collect any meaningful data, we try the second. If that doesn't yield anything, we try the third, etc. We then combine the results.
Can be slow (especially on large video files), but usually gets good results. With good tagging of files though, it's SUPER quick. - If 'UseID3' (metadata tag collection) is turned off (or doesn't yield useful info), we examine the filename.
With well-named files (ie, 'AlbumName-DiskNumber-TrackNumber-Artist-TrackTitle') it's pretty fast. - The framework is in place (though disabled) for MetaBrainz Identification of tracks.
This will allow the creation of a unique audio fingerprint for each file, then look up that fingerprint in the AudioBrainz online database and retrieve the track information.
Comprehensive, and quite accurate, but significantly slower to generate our index.
Requires an active internet connection when creating the index. - Improved filename parsing for better track naming.
- Improved cover image collection.
- Performance optimisations:
- Sorting media (which can now be by Album, Artist, Title, Type (audio/video), Random (to 'scramble' the song list), or Popularity) used to take many seconds - sometimes minutes.
Now, it takes microseconds; eg. 3000-odd media items - 7 thousandths of a second. And that's sorting TWICE (eg, by Artist, then sub-sorted by Title). - With checksum generation disabled (which is currently the default; we'll enable this for use with media de-duplication later), reading media metadata and populating the database is orders of magnitude faster.
- Startup is now complete in under 2 seconds (including skin loading time); Usually much quicker.
For example, in testing I loaded the default skin, with no previously created database (so, populate from nothing), read and store info for 3319 media items, sort by Artist - took 43.6 seconds (including extracting and writing to file any MP3 cover art metadata) on my old core i5 laptop.
Same scenario, same media, without the database generation: 1.04 seconds.
- Media card text sizes (for Artist or Track Title) can be either set for the entire collection, or per 'item'.
- By default, we'll be adapting the font size in real time to match the current content on display - to use every available pixel to the maximum.
- Screen saver has had a facelift:
- Now with multiple options (Blank, Bubbles, Lines, Mondrian, Rain, Slideshow, Stars, Tron, Warp, or Random).
- As you see below, we can optionally also display cover art (where available) blended with the screen save effect.
- If no options are specified, a default configuration will be supplied.
- Media information is 'split', and each item (ie: title, artist, album, runtime) bounces independantly.
- Lines - A kaliedoscope using alpha blend modes for silky smooth transitions and fades, now also allows multiple lines at once, and an improved kaliedoscope effect (with adjustable segment count, rotation, speed).
If you prefer the 'classic' look, that's still in there.

- Bubbles - Rising through the screen, reminiscent of a carbonated beverage in a glass...

- Maze - Draws a maze, and walks through the solution. Can also save the maze (with & without solution) separately.

- Mondrian - The classic random rectangles.

- Pipes - Various pipe-like structures built around the screen.

- Rain - My spin on 'Digital Rain' (Inspired by The Matrix).

- Slideshow - Display images in a folder of your choice, with sub-title.
- Stars - A twinkling night sky (coloured, or monochrome).

- Tron - Last light cycle left standing wins.

- Warp - A starfield rushing past as you trek along (coloured, or monochrome).

- Random - Pick a new one from the available list each time the screen saver activates.
- None - If you'd prefer no interruptions.
- A lot of options are customisable (editable within the 'Jukebox.ini' configuration file), with more coming soon.
Some things that aren't quite right yet:- Media overlay:
- Currently we're not displaying the media overlay information (at least, not in the way the setting in the ini file were designed for) - this will be added after we have dual monitor support fully operational.
- Media waveform / graphic equaliser - disabled while we get dual screen working.
- DW-Juke Skin options:
- DW Juke skins should read in fine, but some things have been deprecated, and other things (like skin timers, for example) have not been implemented (yet).
Check out the included skins for examples. - INI file processing is much more robust, and should handle most things case insensitively.
- Skin swapping:
- The key action bindings are there, but real-time transition between skins isn't ready for prime time just now.
- Selector Keys:
- There are still a few issues with mapping the displayed key combination to select a song on Dual-track cards. For now, best option is to click/tap the item (or highlight it using cursor and selecting it that way). Doesn't appear to be an issue with single-track cards.
- Skin Editor GUI:
- This will not be available for some time yet, but it is on the roadmap...
So, expect a download available very soon now...

[/list]