Open znmeb opened 3 years ago
JUCE is supposed to provide cross platform support on Linux, Mac, Windows, Android, etc. So I decided to try it.
I installed JUCE on Ubuntu 18.04 I then loaded the file "hmsl/native/juce/JuceHMSL.jucer" and added an Export Target for LinuxMakefile.
git submodule update --init # to load pforth
cd native/juce/Builds/LinuxMakefile
make
I got a missing "GL/gl.h" include file. So I entered:
sudo apt install mesa-common-dev
Now I am getting an error with assert and import. There are also a lot of JUCE files that need updating.
I would love to get this running on Linux but it may not happen today. Stay tuned.
@philburk Thanks! If you do get it running on 18.04 I'll take a shot at porting it to arm64
/ NVIDIA Jetson.
Another thought / question: does the pForth implementation of HMSL still run without the JUCE GUI framework? I took a look at the JUCE license page and it's confusing / not something I have the energy or funding to deal with.
I have not tried to build the Windows version of HMSL in a long time. But it might work. I think Microsoft will still run WIn32 apps.
not something I have the energy or funding to deal with.
JUCE is free for personal use and open source projects.
I'd be building on Linux, not Windows.
Hi Phil,
I used HMSL at the beginning of the 90's on a Mac Plus; this is how I learned a bit about Forth (and OOP)... I'd love to try HSML again, but I'm also a converted Linux user. I added a Linux Makefile target using Projucer (self-compiled 6.0.5 GPL version), but HMSL does not compile on Linux because support for Me2000 is missing. Is it possible to compile HMSL without Me2000?
Thanks
Is it possible to compile HMSL without Me2000?
The ME2000 is a portable General MIDI synth originally written for polyphonic ringtones. It provides a built-in synth for HMSL for consistent output. It should be able to build an ME2000 library for Linux. Source is here: https://github.com/philburk/mobileer-synth
If you want to remove the use of the ME2000 you would need to disable it from LocalSynth.cpp. I just added conditional compilation. Build with -DHMSL_DISABLE_ME2000 as a compiler switch.
https://github.com/philburk/hmsl/commit/cf49471aee4543ae4dd045e5bae4693a7629b08e
If the ME2000 is removed then HMSL could be used with just the external MIDI:
midi_port_external midi-port !
Now your HMSL MIDI will be sent out from HMSL and can be used as Input to Logic Pro or other apps.
It looks like the JUCE version is only for Macs. I don't have a Mac but I have several Linux systems and a high-end Windows gaming desktop. Is there some way I can build the latest JUCE port on these systems, or am I constrained to the older versions?