diff --git a/Makefile b/Makefile index 63bed51..c52793a 100644 --- a/Makefile +++ b/Makefile @@ -57,6 +57,15 @@ endif CARLA_EXTRA_ARGS += USING_JUCE=false CARLA_EXTRA_ARGS += USING_JUCE_GUI_EXTRA=false +# -------------------------------------------------------------- +# DGL config + +DGL_EXTRA_ARGS = \ + NVG_DISABLE_SKIPPING_WHITESPACE=true \ + NVG_FONT_TEXTURE_FLAGS=NVG_IMAGE_NEAREST \ + USE_NANOVG_FBO=true \ + WINDOWS_ICON_ID=401 + # -------------------------------------------------------------- # Check for system-wide dependencies @@ -196,7 +205,7 @@ endif dgl: ifneq ($(HEADLESS),true) - $(MAKE) -C dpf/dgl opengl NVG_DISABLE_SKIPPING_WHITESPACE=true NVG_FONT_TEXTURE_FLAGS=NVG_IMAGE_NEAREST USE_NANOVG_FBO=true + $(MAKE) -C dpf/dgl opengl $(DGL_EXTRA_ARGS) endif plugins: deps diff --git a/deps/PawPaw b/deps/PawPaw index a8b5691..3738f32 160000 --- a/deps/PawPaw +++ b/deps/PawPaw @@ -1 +1 @@ -Subproject commit a8b569124ced5a712eee0177f315b9fc53e26cbd +Subproject commit 3738f32f133523c701393e1f9fd7248cddd1b488 diff --git a/dpf b/dpf index a449da1..ddf878c 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit a449da1881e3d5bffeb45be476ac34302870708d +Subproject commit ddf878c13a08dd212e3dcc3ce1bd708ea2373dbb diff --git a/src/Makefile b/src/Makefile index 4cc861c..d9e5ee6 100644 --- a/src/Makefile +++ b/src/Makefile @@ -187,6 +187,9 @@ else $(MAKE) -C CardinalSynth $(CARDINAL_SYNTH_ARGS) endif +jack: $(TARGET) + $(MAKE) jack -C Cardinal + lv2: $(TARGET) $(MAKE) lv2 -C Cardinal $(MAKE) lv2 -C CardinalFX $(CARDINAL_FX_ARGS) diff --git a/src/Makefile.cardinal.mk b/src/Makefile.cardinal.mk index 7160b0b..5756bbd 100644 --- a/src/Makefile.cardinal.mk +++ b/src/Makefile.cardinal.mk @@ -85,6 +85,10 @@ FILES_UI = CardinalUI.cpp FILES_UI += Window.cpp endif +ifeq ($(WINDOWS),true) +FILES_UI += distrho.rc +endif + # -------------------------------------------------------------- # Extra libraries to link against @@ -298,6 +302,18 @@ lv2: $(LV2_RESOURCES) vst2: $(VST2_RESOURCES) vst3: $(VST3_RESOURCES) +# -------------------------------------------------------------- +# Extra rules for Windows icon + +ifeq ($(WINDOWS),true) +JACK_LIBS += -Wl,-subsystem,windows + +$(BUILD_DIR)/distrho.rc.o: ../../utils/distrho.rc ../../utils/distrho.ico + -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" + @echo "Compiling distrho.rc" + $(SILENT)$(WINDRES) $< -O coff -o $@ +endif + # -------------------------------------------------------------- $(TARGET_DIR)/%/template.vcv: ../template.vcv diff --git a/utils/distrho.ico b/utils/distrho.ico new file mode 100644 index 0000000..85d2fd7 Binary files /dev/null and b/utils/distrho.ico differ diff --git a/utils/distrho.rc b/utils/distrho.rc new file mode 100644 index 0000000..e75698d --- /dev/null +++ b/utils/distrho.rc @@ -0,0 +1 @@ +401 ICON "distrho.ico" diff --git a/utils/inno/win32.iss b/utils/inno/win32.iss index 31d5182..402ca24 100644 --- a/utils/inno/win32.iss +++ b/utils/inno/win32.iss @@ -22,12 +22,15 @@ Name: "custom"; Description: "Custom installation"; Flags: iscustom; [Components] Name: resources; Description: "Resources"; Types: full custom; Flags: fixed; Name: carla; Description: "Carla/Ildaeil host tools"; Types: full; +Name: jack; Description: "JACK Standalone"; Types: full; Name: lv2; Description: "LV2 plugin"; Types: full; Name: vst2; Description: "VST2 plugin"; Types: full; Name: vst3; Description: "VST3 plugin"; Types: full; [Files] #include "resources.iss" +; icon +Source: "..\..\utils\distrho.ico"; DestDir: "{app}"; Components: resources; Flags: ignoreversion; ; carla Source: "..\..\carla\bin\carla-bridge-*.*"; DestDir: "{commoncf32}\Cardinal\Carla"; Components: carla; Flags: ignoreversion; Source: "..\..\carla\bin\carla-discovery-*.exe"; DestDir: "{commoncf32}\Cardinal\Carla"; Components: carla; Flags: ignoreversion; @@ -41,6 +44,8 @@ Source: "..\..\carla\build\Carla\platforms\*.*"; DestDir: "{commoncf32}\Cardinal Source: "..\..\carla\build\Carla\styles\*.*"; DestDir: "{commoncf32}\Cardinal\Carla\resources\styles"; Components: carla; Flags: ignoreversion; Source: "..\..\carla\build\Carla\resources\lib\*.*"; DestDir: "{commoncf32}\Cardinal\Carla\resources\lib"; Components: carla; Flags: ignoreversion; Source: "..\..\carla\build\Carla\resources\lib\PyQt5\*.*"; DestDir: "{commoncf32}\Cardinal\Carla\resources\lib\PyQt5"; Components: carla; Flags: ignoreversion; +; jack +Source: "..\..\bin\Cardinal.exe"; DestDir: "{app}"; Components: jack; Flags: ignoreversion; ; lv2 Source: "..\..\bin\Cardinal.lv2\*.*"; DestDir: "{commoncf32}\LV2\Cardinal.lv2"; Components: lv2; Flags: ignoreversion; Source: "..\..\bin\CardinalFX.lv2\*.*"; DestDir: "{commoncf32}\LV2\CardinalFX.lv2"; Components: lv2; Flags: ignoreversion; @@ -51,3 +56,6 @@ Source: "..\..\bin\Cardinal.vst\*.*"; DestDir: "{commoncf32}\VST2\Cardinal.vst"; Source: "..\..\bin\Cardinal.vst3\Contents\x86-win\Cardinal.vst3"; DestDir: "{commoncf32}\VST3\Cardinal.vst3\Contents\x86-win"; Components: vst3; Flags: ignoreversion; Source: "..\..\bin\CardinalFX.vst3\Contents\x86-win\CardinalFX.vst3"; DestDir: "{commoncf32}\VST3\CardinalFX.vst3\Contents\x86-win"; Components: vst3; Flags: ignoreversion; Source: "..\..\bin\CardinalSynth.vst3\Contents\x86-win\CardinalSynth.vst3"; DestDir: "{commoncf32}\VST3\CardinalSynth.vst3\Contents\x86-win"; Components: vst3; Flags: ignoreversion; + +[Icons] +Name: "{commonprograms}\Cardinal"; Filename: "{app}\Cardinal.exe"; IconFilename: "{app}\distrho.ico"; WorkingDir: "{app}"; Comment: "Virtual modular synthesizer plugin"; Components: jack; diff --git a/utils/inno/win64.iss b/utils/inno/win64.iss index c57912f..88fc0c9 100644 --- a/utils/inno/win64.iss +++ b/utils/inno/win64.iss @@ -23,12 +23,15 @@ Name: "custom"; Description: "Custom installation"; Flags: iscustom; [Components] Name: resources; Description: "Resources"; Types: full custom; Flags: fixed; Name: carla; Description: "Carla/Ildaeil host tools"; Types: full; +Name: jack; Description: "JACK Standalone"; Types: full; Name: lv2; Description: "LV2 plugin"; Types: full; Name: vst2; Description: "VST2 plugin"; Types: full; Name: vst3; Description: "VST3 plugin"; Types: full; [Files] #include "resources.iss" +; icon +Source: "..\..\utils\distrho.ico"; DestDir: "{app}"; Components: resources; Flags: ignoreversion; ; carla Source: "..\..\carla\bin\carla-bridge-*.*"; DestDir: "{commoncf64}\Cardinal\Carla"; Components: carla; Flags: ignoreversion; Source: "..\..\carla\bin\carla-discovery-*.exe"; DestDir: "{commoncf64}\Cardinal\Carla"; Components: carla; Flags: ignoreversion; @@ -42,6 +45,8 @@ Source: "..\..\carla\build\Carla\platforms\*.*"; DestDir: "{commoncf64}\Cardinal Source: "..\..\carla\build\Carla\styles\*.*"; DestDir: "{commoncf64}\Cardinal\Carla\resources\styles"; Components: carla; Flags: ignoreversion; Source: "..\..\carla\build\Carla\resources\lib\*.*"; DestDir: "{commoncf64}\Cardinal\Carla\resources\lib"; Components: carla; Flags: ignoreversion; Source: "..\..\carla\build\Carla\resources\lib\PyQt5\*.*"; DestDir: "{commoncf64}\Cardinal\Carla\resources\lib\PyQt5"; Components: carla; Flags: ignoreversion; +; jack +Source: "..\..\bin\Cardinal.exe"; DestDir: "{app}"; Components: jack; Flags: ignoreversion; ; lv2 Source: "..\..\bin\Cardinal.lv2\*.*"; DestDir: "{commoncf64}\LV2\Cardinal.lv2"; Components: lv2; Flags: ignoreversion; Source: "..\..\bin\CardinalFX.lv2\*.*"; DestDir: "{commoncf64}\LV2\CardinalFX.lv2"; Components: lv2; Flags: ignoreversion; @@ -52,3 +57,6 @@ Source: "..\..\bin\Cardinal.vst\*.*"; DestDir: "{commoncf64}\VST2\Cardinal.vst"; Source: "..\..\bin\Cardinal.vst3\Contents\x86_64-win\Cardinal.vst3"; DestDir: "{commoncf64}\VST3\Cardinal.vst3\Contents\x86_64-win"; Components: vst3; Flags: ignoreversion; Source: "..\..\bin\CardinalFX.vst3\Contents\x86_64-win\CardinalFX.vst3"; DestDir: "{commoncf64}\VST3\CardinalFX.vst3\Contents\x86_64-win"; Components: vst3; Flags: ignoreversion; Source: "..\..\bin\CardinalSynth.vst3\Contents\x86_64-win\CardinalSynth.vst3"; DestDir: "{commoncf64}\VST3\CardinalSynth.vst3\Contents\x86_64-win"; Components: vst3; Flags: ignoreversion; + +[Icons] +Name: "{commonprograms}\Cardinal"; Filename: "{app}\Cardinal.exe"; IconFilename: "{app}\distrho.ico"; WorkingDir: "{app}"; Comment: "Virtual modular synthesizer plugin"; Components: jack;