Skip to content

Update JUCE Files

Jonathan Thomas edited this page Mar 29, 2019 · 6 revisions

This document is a work in progress...

This document contains all the steps needed to update the JUCE source files contained in libopenshot. JUCE is an audio framework for recording, effects, and playback, and is used by libopenshot for those purposes. JUCE ships with an executable (Projucer) designed specifically to update itself (the JUCE source files). Then we usually apply a small set of changes needed for successful compilation on our build servers.

1. Download Latest JUCE

First, let's grab the latest version of JUCE. Extract this *.zip file into a folder with this path: /home/USER/JUCE/.

2. Enable GPL Mode (for Projucer)

In order to manually enable GPLv3-mode for JUCE, we need to edit the following file: JUCE/extras/Projucer/JuceLibraryCode/AppConfig.h. Make the following changes:

--- a/extras/Projucer/JuceLibraryCode/AppConfig.h
+++ b/extras/Projucer/JuceLibraryCode/AppConfig.h
@@ -32,7 +32,7 @@
 // BEGIN SECTION A
 
 #ifndef JUCER_ENABLE_GPL_MODE
- #define JUCER_ENABLE_GPL_MODE 0
+ #define JUCER_ENABLE_GPL_MODE 1
 #endif
 
 // END SECTION A
@@ -178,7 +178,7 @@
 // juce_gui_extra flags:
 
 #ifndef    JUCE_WEB_BROWSER
- //#define JUCE_WEB_BROWSER 1
+ #define JUCE_WEB_BROWSER 0
 #endif

 
 #ifndef    JUCE_ENABLE_LIVE_CONSTANT_EDITOR

3. Build Projucer Executable

Next, we need to actually build the ./Projucer executable ourselves (with GPLv3 mode enabled). The ./Projucer executable which comes prebuilt will not allow GPLv3 usage. Run the following commands:

cd ~/JUCE/extras/Projucer/Builds/LinuxMakefile
make

If you encounter any errors finding dependencies, you can also try the following command, which appends additional CFLAGS for make: $(shell pkg-config --cflags freetype2 x11 xext xinerama webkit2gtk-4.0 gtk+-x11-3.0).