So I’m trying to make a little app to make music modding in a game easier. As part of that, I want some basic music processing tools built-in to make things easier for users. (Converting to OGG, at least. Stuff like checking music length is also needed because it can cause problems if a few songs aren’t the right length.)
After finding that, among other things, documentation for FFMPEG is woefully lacking (and quickly depreciated - passing things to command line may also get outdated over time), I looked for something static and better-documented I could include, instead. JUCE was highly recommended as being easy to use.
…there should be an asterisk… I’ve been having trouble with just about every step, and having trouble finding up-to-date, complete information that doesn’t rely on knowledge I don’t have. (Or that wasn’t specific to another type of usecase.)
I actually started by using my package manager to install JUCE, only to find that it’s an outdated version (7.0.12). I’ve now got the latest Projucer (8.0.3) downloaded and put in my home folder. I should have all the dependencies (package manager should’ve got them + they all sound familiar).
TBH, I’m not 100% sure this is the best place, since I’m having trouble with several steps, many not directly related to JUCE, and a lot of them are kind of embarassing. But I need whatever I can find from wherever I can.
First off… I’m actually not sure how to build a project produced by JUCE. (Or really how such things work, in general. ) I’ve used CMake and stuff, but only with step-by-step instructions specific to the thing I’ve compiled. E.g. I found the instructions to build the DemoRunner, but adapting them for one of my projects didn’t work. Most tutorials I’ve found are about how to MAKE a Makefile. I finally managed to learn to try just using
make
in the folder with the auto-generated Makefile… but got this output:
Compiling include_juce_analytics.cpp
Compiling include_juce_animation.cpp
Compiling include_juce_audio_basics.cpp
Compiling include_juce_audio_devices.cpp
Compiling include_juce_audio_formats.cpp
Compiling include_juce_audio_plugin_client_ARA.cpp
In file included from ../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_ARA.cpp:36,
from ../../JuceLibraryCode/include_juce_audio_plugin_client_ARA.cpp:8:
../../../../modules/juce_audio_plugin_client/detail/juce_CheckSettingMacros.h:42:3: error: #error "You need to enable at least one plugin format!"
42 | #error "You need to enable at least one plugin format!"
| ^~~~~
../../../../modules/juce_audio_plugin_client/detail/juce_CheckSettingMacros.h:51:3: error: #error "You need to define the JucePlugin_IsSynth value!"
51 | #error "You need to define the JucePlugin_IsSynth value!"
| ^~~~~
../../../../modules/juce_audio_plugin_client/detail/juce_CheckSettingMacros.h:55:3: error: #error "You need to define the JucePlugin_ManufacturerCode value!"
55 | #error "You need to define the JucePlugin_ManufacturerCode value!"
| ^~~~~
../../../../modules/juce_audio_plugin_client/detail/juce_CheckSettingMacros.h:59:3: error: #error "You need to define the JucePlugin_PluginCode value!"
59 | #error "You need to define the JucePlugin_PluginCode value!"
| ^~~~~
../../../../modules/juce_audio_plugin_client/detail/juce_CheckSettingMacros.h:63:3: error: #error "You need to define the JucePlugin_ProducesMidiOutput value!"
63 | #error "You need to define the JucePlugin_ProducesMidiOutput value!"
| ^~~~~
../../../../modules/juce_audio_plugin_client/detail/juce_CheckSettingMacros.h:67:3: error: #error "You need to define the JucePlugin_WantsMidiInput value!"
67 | #error "You need to define the JucePlugin_WantsMidiInput value!"
| ^~~~~
../../../../modules/juce_audio_plugin_client/detail/juce_CheckSettingMacros.h:75:3: error: #error "You need to define the JucePlugin_EditorRequiresKeyboardFocus value!"
75 | #error "You need to define the JucePlugin_EditorRequiresKeyboardFocus value!"
| ^~~~~
make: *** [Makefile:145: build/intermediate/Debug/include_juce_audio_plugin_client_ARA_31a052ed.o] Error 1
I’m hoping once I have that figured out, I’ll have one of the biggest hurdles over with. What am I doing wrong? …Or is any of this on JUCE’s side? (I’m not trying to make a plugin, so I don’t see why it should complain about plug-in settings being missing.
)
Also, I’m using Eclipse because it was used in my programming classes, but for some reason including external libraries wasn’t covered, and I’m having trouble finding complete info for THAT too. If anyone could give info on that too, I’d also appreciate it.
Please excuse me if I’m a little helpless.