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