Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Video Jukebox - download now available!  (Read 33063 times)

0 Members and 4 Guests are viewing this topic.

Rebel Oz 69

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 24
  • Last login:Today at 04:25:00 am
  • Old-school arcade fan.
Video Jukebox - download now available!
« on: May 24, 2025, 11:50:02 pm »


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 at the point where I reckon it's ready (enough), so, (at long last), here it is!


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.


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 7000 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, and allowing window resizing on the fly.
  • 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. Also, we've added a (removable) button the the 'lines' screensaver, to access options with 'point and click' functionality.


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 settings 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 quite ready for prime time - it works for SOME things, but it's not all fully baked yet...
  • 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. - working.
  • Skin Editor GUI:
    • This will not be available for some time yet, but it is on the roadmap...
  • Show Keys

The link should get you the V0.959b download; please let me know if you have any difficulties.

Please note, this version of the program is run with the 'StartJuke.bat' in the app directory (not the 'obvious' icon). Just uncompress it all wherever you like and run that (If you don't provide a configuration, one will be created for you, or copy in your old DW-Juke config.ini & jukebox.ini - it should 'kinda' work...) :)

Configuration is (like the awesome DW-JUKE) via the jukebox.ini file, so set your songpaths and other things by editing that file (if you can't find it, run once and exit, then it'll be there in the main program directory).

The program linked below is fully functional, with the limitation that it will only use the first 24 tracks in the library; please contact me if you'd like to acquire a license to remove this constraint. I'll be setting up the email address shortly, so in the meantime, PM me here.

One final thing; this version relies on Visual C++, so you'll need to have the VC Runtime (from Microsoft) installed to run it.

Link below. Enjoy! :D


https://drive.google.com/file/d/1SYoj1yL6aEQeaHM80gn2URMVwDD_KMjW/view?usp=drive_link
[/list]
« Last Edit: June 18, 2025, 05:28:42 am by Rebel Oz 69 »

Rebel Oz 69

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 24
  • Last login:Today at 04:25:00 am
  • Old-school arcade fan.
Re: Video Jukebox - Update.
« Reply #1 on: June 23, 2025, 06:00:13 am »
It's my brother's birthday today, so to celebrate, I'm releasing an update! :)

This version has a few more bugs squished, so Next/Previous Alpha buttons work properly, along with improvements to sorting algorithms and better font handling for legacy skins.

The 'Popular' display is also much better (behaving more like you'd expect), so now, all the buttons on the 'Default' skin work properly.

The most exciting change, though: skin-swapping now works MUCH better, with transparency on the strip grid, strip cards and icons changing properly, and a notification popup displaying the skin info (which can be disabled in the jukebox.ini if you prefer).

Download it here:
https://drive.google.com/file/d/1G9LlpljCa0_PFu3acWk0PpZ2qXVmYInw/view?usp=sharing

Rebel Oz 69

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 24
  • Last login:Today at 04:25:00 am
  • Old-school arcade fan.
Re: Video Jukebox - V0.961b released.
« Reply #2 on: July 13, 2025, 07:22:02 am »
Another update, with some major performance improvements.
Skin swapping is now almost fully complete.
Song selector enabled, with (customisable) focus box.
'UseZero' skin option now works correctly.
Screen saver now much smoother.
Quite a few little bugs fixed.

We've switched from G-Drive to using a OneDrive folder for uploads.

Comments and suggestions welcome. :)

Download here:

https://1drv.ms/u/c/0e0ef07ab6aa89ee/EYhP_q0cePZCisz6017O5FoBhp6IDcmGZyh52EM6qjWJFA?e=hFQcLG
« Last Edit: July 13, 2025, 05:58:44 pm by Rebel Oz 69 »

Rebel Oz 69

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 24
  • Last login:Today at 04:25:00 am
  • Old-school arcade fan.
Re: Video Jukebox - download now available!
« Reply #3 on: July 14, 2025, 07:11:49 am »
A quick update (V0.962b) to fix an annoying bug I introduced, where the 'Coming Up' message icon was prevented from being displayed.
I've also changed the method for updating texts in all displays, to populate the displays even if not currently visible (so when they become visible, they have correct values already prepared) - marginally quicker.
I've also tweaked the mini-media display transparency, so if no video is playing, the queue / popular lists display more clearly.
Also fixed the sound-effect volume calculations, so sound effects should now more accurately respect the jukebox.ini volume settings.

Link here:
VideoJuke - 0.962b

jonrome

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 1
  • Last login:August 14, 2025, 03:52:05 am
  • I want to build my own arcade controls!
Re: Video Jukebox - download now available!
« Reply #4 on: July 31, 2025, 04:40:27 am »
HI, I have VideoJuke running happily, how do I upgrade to remove the restriction please? When I right click I get the form but it won't allow me to enter any details.
Thanks
Jon

Rebel Oz 69

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 24
  • Last login:Today at 04:25:00 am
  • Old-school arcade fan.
Re: Video Jukebox - download now available!
« Reply #5 on: August 02, 2025, 05:51:12 am »
HI, I have VideoJuke running happily, how do I upgrade to remove the restriction please? When I right click I get the form but it won't allow me to enter any details.
Thanks
Jon

Hi Jon,

Glad you like it! :)

I've sent you a PM - looks like the form handling code has gotten broken along the way; I'll fix that and upload an update, then be in touch to make sure it works properly.

Rebel Oz 69

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 24
  • Last login:Today at 04:25:00 am
  • Old-school arcade fan.
Re: Video Jukebox - download now available!
« Reply #6 on: August 02, 2025, 09:27:54 am »
A quick update (V0.963b) to fix another bug I introduced, where the optimised code for handling dialog borders prevented the Registration Information dialog from holding keyboard focus (thus preventing typing).

Some other changes:

  • Addition of a few new Dual Strip card variants (simple plain labels, with a couple of colored lines for Artist in the middle).
  • Optimised display writing (so screen updates are performed much faster now).
  • Improvements to keyboard buffer handling.
  • Fixed error where under some conditions, the snackbar dialog would display (even when disabled).
  • Added ability to dismiss snackbar notifications by clicking/tapping anywhere on-screen.

Link here:

VideoJuke - 0.963b


Rebel Oz 69

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 24
  • Last login:Today at 04:25:00 am
  • Old-school arcade fan.
Re: Video Jukebox - download now available!
« Reply #7 on: August 11, 2025, 06:23:08 am »
Another update (V0.964b).
Some of the changes in this release:

  • License activation request handling now works. Now when you right-click, enter your details & hit Save, an activation request (activate.txt) will be created in the program directory. PM me for further info.
  • In-progress selections are now preserved during skin changes.
  • Improved performance of display position/size/text/color updates.
  • Skin change: Now updates all display text correctly.
  • Skin change: Next/Previous button functionality improved.
  • BTN_CLEAR_QUEUE: Now clears down correctly (ie. only to the item after the currently playing item), preserving previous item history.
  • Added 'Instant cancel' capability to Snackbar notifications.
  • Fixed auto-dismiss functionality for the version display dialog box.
  • Improved some logging labelling.
  • Added Selector 'Marching Icons' border effect (not yet wired up).

  • Various code cleanups and optimizations.

Link here:

VideoJuke - 0.964b


Rebel Oz 69

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 24
  • Last login:Today at 04:25:00 am
  • Old-school arcade fan.
Re: Video Jukebox - download now available!
« Reply #8 on: August 31, 2025, 06:18:13 pm »
Another small update (V0.965b).
Some of the changes in this release:

  • Fixed: Skin change issue, where number of lines per sub-display wasn't reset reliably.
  • Fixed: Skin change issue, where maximum skin number was off-by-one (so highest number skin would be skipped when changing skins).
  • Fixed: Bundled skin 'Stereo-Touch' name typo in jukebox.ini.
  • Fixed: Alpha-numeric search function now works correctly (if key pressed is not a selector key).
  • Fixed: Sometimes screensaver would be closed if a snackbar was dismissed at the wrong time.
  • Fixed: Master Volume value now logged correctly.
  • Added: Direct skin change keys (ie BTN_SKIN_1..BTN_SKIN_20) to jump straight to the numbered skin.
  • Added: Conway's 'Game Of Life' simulation (life) screensaver (because, why not? It's only a couple hundred lines of code).
  • Refactored startup sequence to improve performance.
  • Refactored Player Event handler to improve performance.
  • Optimized media metadata retrieval (on average, about 25% faster when indexing).
  • Tidied up skins to optimize strip grid usage.
  • Bug Hunt: The very first track played at startup sometimes causes track information snackbar to appear twice (if snackbar is enabled and Radio Mode is enabled).
  • Bug Hunt: When resizing screen of changing skins, if track title is long, scrolling functionality gets messed up.
  • Bug Hunt: When changing skins, Mouse-over Tooltips are not updating correctly.

Link here:

VideoJuke - 0.965b


Rebel Oz 69

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 24
  • Last login:Today at 04:25:00 am
  • Old-school arcade fan.
Re: Video Jukebox - download now available!
« Reply #9 on: Today at 01:35:22 am »
Another update (V0.966b).
A massive re-write of large sections of the code, along with some key structural changes behind the scenes.
Some of the changes in this release:
  • Added: Display management sub-system (for upcoming multi-screen mode).
  • Added: Long Press now opens Options Menu.
  • Added: Auto-hide mouse cursor functionality.
  • Added: Option to blink the credit display if you have zero credits available.
  • Added: Waveform / graphic equaliser display for audio-only media.
                                   
            Supports zoom to full screen, with configurable transparency (By default, "KEY_SLASH_PAD" = "BTN_TRANS_DOWN" and "KEY_ASTERISK" = "BTN_TRANS_UP").
            This allows full control of the media selection, whilst still displaying the visualiser.
  • New Option: Jukebox.ini > settings > 'VisualiserMode' allows you to select an audio visualiser mode.
             Valid options are: Waveform, Bars, Zoned, ZonedLED, and None.
  • New Option: Jukebox.ini > settings > 'WaveColor' allows you to pick the color used to display the waveform.
  • New Option: Jukebox.ini > settings > 'BlinkCredit' allows the new credit blink function to be disabled.
  • Fixed: Annoying flicker when mouse enters/leaves media player zone has been resolved.
  • Fixed: Wallpaper video no longer restarts when UI is rebuilt (No more flicker).
  • Fixed: Tooltips now update correcty when skin changes.
  • Fixed: Long title scrolling. Now pauses for 5 seconds before looping. Also fixed resizing glitch that caused text to be displayed twice sometimes when resizing.
  • Fixed: Bug in duplicate checking.
  • Fixed: AutoScreenSaverCancelTimeout option should now work correctly.
  • Fixed: Snackbar queueing system more intuitive.
  • Fixed: Bug where screen saver was cancelled if next media is video.
  • Fixed: Mouse hover zones no longer appear on non-clickable icons.
  • Refactored: DW Display build logic (In preparation to better handle multi-screen).
  • Refactored: Screen Saver trigger/cancel logic - now has a state manager for more precise control.

I'm particularly pleased with the audio visualiser, which required a re-write of the entire playback state management sub-system. As I could find no way for the video player component to expose raw waveform or FFT data for audio stream analysis, I've split audio-only media and videos into their own stream handlers. The re-design makes the media handlers much more modular, and the logic is much cleaner and more efficient in the backend now. This has also paved the way for audio beat detection (not currently exposed).
There's one limitation though: M4A (AAC in MP4 container) is currently not decoded in the audio-only engine, so it will be treated as a (blank) video.

The improvements to snackbar handling make it much nicer. We now prevent duplicate consecutive notifications, with the ability to auto-cancel any snackbar being displayed, which makes it feel way more responsive/timely.

Refactoring the DW Display build logic has yielded a nice performance gain, especially when screen saver activates. We now preserve UI state in the background, but prevent unnecessary rendering (improving screensaver rendering speed), and when screen saver closes, the UI is already built and ready, which makes resuming from screensaver lightning fast.

We've also optimised the icon build process, so each icon is only ever rebuilt if it's actually changed.

All combined, these changes nett us around a 20% improvement in UI creation times, so skin changes are super quick, but there's an issue I'm tracking down with the orientation/scaling logic (affecting media player window on some skins) when skin changes right now, so I'd advise against using it for the time being.
This will be fixed for the next release.


One final note: The licensing routine has been updated, which means we will need to re-issue licenses for those who have purchased the application.
Please contact me for a replacement license.


Link here:

VideoJuke - 0.966b