Tuesday, September 13, 2022

Back to Open Cue Master

Earlier in the year I started a project called Open Cue Master. The purpose of OCM is to be able to stript out cue automations for stage production, such as music and video playlists, sound effects, DMX lighting, script display, and more. I built a pretty powerful tool that was used to control a 2 1/2 hour long dance recital that include 9 additional play and Ballet performance acts. It work without problems, but I haven't done anything with it since June 2022.

I developed it using JavaFX. JavaFX provides great multimedia, animation, UI capabilitites. I integrated FXWeaver for IoC and DI using Spring, which worked very well. It compiled into a single executable JAR that has no problem booting in a system with an istalled JVM. But, I want to be able to share this tool with others and that means going native.

My experiements with the GraalVM have proven that I can generate and execute native Windows and Android applications from JavaFX. However, the FXWeaver with Spring version of OCM doesn't seam to work very well. So, I want to use one of the lighter weight IoC and DI frameworks that work with Gluon.

I also want to experiment with the Gluon package goal. And, in order to that on Windows, I need to install WIX.

1) After downloading Wix 3.1.1 (I don't like this version number), and executing the installer (installer for an installer), I get this terminating message:



2) I followed the instructions at https://stackoverflow.com/questions/43123984/turning-windows-features-on-with-wix-installer to enble .NET 3.5 - No restart required (on Windows 10 - though it keeps pestering me to install Windows 11)

3) I ran the gluon:package goal again only to find that I preceeded it with the clean goal. So I'm running gluonfx:build and gluonfx:link to see if it gets me the exe again (rather than gluonfx:nativerun) - link generates the EXE

4) Running the gluonfx:package goal generates a 22M Windows Installer. There appear to be some configurations for the installer that I can set (need to read the documentation). - The installer works. - as does the uninstaller.

Can I reduce the EXE size by including a module-info file? Currently, it's 64M. I'll add a module-infor.java file and find out.

Using the Netbeans Java Module Info file creator, it scans the current source and creates one. Now to test it's effectiveness.  (it doesn't exactly create a perfect module-info). It also didn't reduce the size of the executable.

I using the occassion of OCM to experiment with these native JavaFX capabilities while I figure out what the EFB and EFIS applications look like.

I do have a Mac and iOS devices to experiement with as well and will eventually get to them.

For now, I can confirm generating a Windows installer works. The Gluon Maven tools (when the GraalVM has been properly installed following the GrallVM documentation and the Gluon docs) is working as advertised.

No comments:

Post a Comment

Back to Open Cue Master

Earlier in the year I started a project called Open Cue Master. The purpose of OCM is to be able to stript out cue automations for stage pro...