Browse Source

Use separate build dir for modgui, automate UI size details

Signed-off-by: falkTX <falktx@falktx.com>
undefined
falkTX 2 years ago
parent
commit
9391a2ae94
9 changed files with 205 additions and 135 deletions
  1. +98
    -29
      Makefile.plugins.mk
  2. +89
    -81
      dgl/Makefile
  3. +1
    -1
      dgl/src/pugl-upstream
  4. +3
    -4
      examples/Info/DistrhoPluginInfo.h
  5. +3
    -6
      examples/Info/InfoExampleUI.cpp
  6. +2
    -0
      examples/Info/Makefile
  7. +1
    -1
      examples/Latency/LatencyExamplePlugin.cpp
  8. +3
    -9
      utils/modgui/javascript.js
  9. +5
    -4
      utils/modgui/stylesheet.css

+ 98
- 29
Makefile.plugins.mk View File

@@ -6,7 +6,6 @@

# NOTE: NAME, FILES_DSP and FILES_UI must have been defined before including this file!


ifeq ($(DPF_PATH),)
ifneq (,$(wildcard dpf/Makefile.base.mk))
BASE_PATH=.
@@ -33,10 +32,17 @@ TARGET_DIR = $(BASE_PATH)/bin
else
TARGET_DIR = $(DPF_TARGET_DIR)
endif

ifeq ($(MODGUI_BUILD),true)
BUILD_DIR_SUFFIX = -modgui
endif

ifeq ($(DPF_BUILD_DIR),)
BUILD_DIR = $(BASE_PATH)/build/$(NAME)
BUILD_DIR = $(BASE_PATH)/build$(BUILD_DIR_SUFFIX)/$(NAME)
DGL_BUILD_DIR = $(BASE_PATH)/build$(BUILD_DIR_SUFFIX)
else
BUILD_DIR = $(DPF_BUILD_DIR)
BUILD_DIR = $(DPF_BUILD_DIR)
DGL_BUILD_DIR = $(DPF_BUILD_DIR)
endif

BUILD_C_FLAGS += -I.
@@ -155,7 +161,7 @@ ifeq ($(HAVE_CAIRO),true)
DGL_FLAGS += -DDGL_CAIRO -DHAVE_DGL
DGL_FLAGS += $(CAIRO_FLAGS)
DGL_LIBS += $(CAIRO_LIBS)
DGL_LIB = $(DPF_PATH)/build/libdgl-cairo.a
DGL_LIB = $(DGL_BUILD_DIR)/libdgl-cairo.a
HAVE_DGL = true
else
HAVE_DGL = false
@@ -167,7 +173,7 @@ ifeq ($(HAVE_OPENGL),true)
DGL_FLAGS += -DDGL_OPENGL -DHAVE_DGL
DGL_FLAGS += $(OPENGL_FLAGS)
DGL_LIBS += $(OPENGL_LIBS)
DGL_LIB = $(DPF_PATH)/build/libdgl-opengl.a
DGL_LIB = $(DGL_BUILD_DIR)/libdgl-opengl.a
HAVE_DGL = true
else
HAVE_DGL = false
@@ -179,7 +185,7 @@ ifeq ($(HAVE_OPENGL),true)
DGL_FLAGS += -DDGL_OPENGL -DDGL_USE_OPENGL3 -DHAVE_DGL
DGL_FLAGS += $(OPENGL_FLAGS)
DGL_LIBS += $(OPENGL_LIBS)
DGL_LIB = $(DPF_PATH)/build/libdgl-opengl3.a
DGL_LIB = $(DGL_BUILD_DIR)/libdgl-opengl3.a
HAVE_DGL = true
else
HAVE_DGL = false
@@ -191,7 +197,7 @@ ifeq ($(HAVE_VULKAN),true)
DGL_FLAGS += -DDGL_VULKAN -DHAVE_DGL
DGL_FLAGS += $(VULKAN_FLAGS)
DGL_LIBS += $(VULKAN_LIBS)
DGL_LIB = $(DPF_PATH)/build/libdgl-vulkan.a
DGL_LIB = $(DGL_BUILD_DIR)/libdgl-vulkan.a
HAVE_DGL = true
else
HAVE_DGL = false
@@ -205,7 +211,7 @@ endif

ifeq ($(UI_TYPE),stub)
ifeq ($(HAVE_STUB),true)
DGL_LIB = $(DPF_PATH)/build/libdgl-stub.a
DGL_LIB = $(DGL_BUILD_DIR)/libdgl-stub.a
HAVE_DGL = true
else
HAVE_DGL = false
@@ -372,32 +378,32 @@ all:
# Common

$(BUILD_DIR)/%.S.o: %.S
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
-@mkdir -p "$(shell dirname $@)"
@echo "Compiling $<"
@$(CC) $< $(BUILD_C_FLAGS) -c -o $@

$(BUILD_DIR)/%.c.o: %.c
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
-@mkdir -p "$(shell dirname $@)"
@echo "Compiling $<"
$(SILENT)$(CC) $< $(BUILD_C_FLAGS) -c -o $@

$(BUILD_DIR)/%.cc.o: %.cc
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
-@mkdir -p "$(shell dirname $@)"
@echo "Compiling $<"
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@

$(BUILD_DIR)/%.cpp.o: %.cpp
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
-@mkdir -p "$(shell dirname $@)"
@echo "Compiling $<"
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@

$(BUILD_DIR)/%.m.o: %.m
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
-@mkdir -p "$(shell dirname $@)"
@echo "Compiling $<"
$(SILENT)$(CC) $< $(BUILD_C_FLAGS) -ObjC -c -o $@

$(BUILD_DIR)/%.mm.o: %.mm
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)"
-@mkdir -p "$(shell dirname $@)"
@echo "Compiling $<"
$(SILENT)$(CC) $< $(BUILD_CXX_FLAGS) -ObjC++ -c -o $@

@@ -413,19 +419,19 @@ clean:
# ---------------------------------------------------------------------------------------------------------------------
# DGL

$(DPF_PATH)/build/libdgl-cairo.a:
$(DGL_BUILD_DIR)/libdgl-cairo.a:
$(MAKE) -C $(DPF_PATH)/dgl cairo

$(DPF_PATH)/build/libdgl-opengl.a:
$(DGL_BUILD_DIR)/libdgl-opengl.a:
$(MAKE) -C $(DPF_PATH)/dgl opengl

$(DPF_PATH)/build/libdgl-opengl3.a:
$(DGL_BUILD_DIR)/libdgl-opengl3.a:
$(MAKE) -C $(DPF_PATH)/dgl opengl3

$(DPF_PATH)/build/libdgl-stub.a:
$(DGL_BUILD_DIR)/libdgl-stub.a:
$(MAKE) -C $(DPF_PATH)/dgl stub

$(DPF_PATH)/build/libdgl-vulkan.a:
$(DGL_BUILD_DIR)/libdgl-vulkan.a:
$(MAKE) -C $(DPF_PATH)/dgl vulkan

# ---------------------------------------------------------------------------------------------------------------------
@@ -526,33 +532,79 @@ $(lv2_ui): $(OBJS_UI) $(BUILD_DIR)/DistrhoUIMain_LV2.cpp.o $(DGL_LIB)
# LV2 modgui

ifeq ($(MODGUI_BUILD),true)
ifeq ($(shell echo '\#test' | grep -- '\#test'),\#test)
PLUGIN_DETAILS = $(shell echo '\#include "DistrhoPluginInfo.h"\n\nDISTRHO_PLUGIN_URI\nDISTRHO_UI_DEFAULT_WIDTH\nDISTRHO_UI_DEFAULT_HEIGHT' | $(CXX) $(filter-out -MD -MP,$(BUILD_CXX_FLAGS)) -E -P -x c++ - 2>/dev/null | tail -n 3)
else
PLUGIN_DETAILS = $(shell echo '#include "DistrhoPluginInfo.h"DISTRHO_PLUGIN_URI\nDISTRHO_UI_DEFAULT_WIDTH\nDISTRHO_UI_DEFAULT_HEIGHT' | $(CXX) $(filter-out -MD -MP,$(BUILD_CXX_FLAGS)) -E -P -x c++ - 2>/dev/null | tail -n 3)
endif
DISTRHO_PLUGIN_URI = $(word 1,$(PLUGIN_DETAILS))
DISTRHO_UI_DEFAULT_WIDTH = $(word 2,$(PLUGIN_DETAILS))
DISTRHO_UI_DEFAULT_HEIGHT = $(word 3,$(PLUGIN_DETAILS))
ifeq ($(PLUGIN_CLASS),)
$(error PLUGIN_CLASS undefined)
endif
ifeq ($(PLUGIN_URI),)
$(error PLUGIN_URI undefined)
ifeq ($(DISTRHO_PLUGIN_URI),)
$(error DISTRHO_PLUGIN_URI undefined)
endif
ifeq ($(DISTRHO_UI_DEFAULT_WIDTH),)
$(error DISTRHO_UI_DEFAULT_WIDTH undefined)
endif
ifeq ($(DISTRHO_UI_DEFAULT_HEIGHT),)
$(error DISTRHO_UI_DEFAULT_HEIGHT undefined)
endif
endif

MODGUI_IGNORED_FLAGS = -fno-gnu-unique
MODGUI_IGNORED_FLAGS = -fdata-sections
MODGUI_IGNORED_FLAGS += -ffast-math
MODGUI_IGNORED_FLAGS += -ffunction-sections
MODGUI_IGNORED_FLAGS += -fno-gnu-unique
MODGUI_IGNORED_FLAGS += -fprefetch-loop-arrays
MODGUI_IGNORED_FLAGS += -fvisibility=hidden
MODGUI_IGNORED_FLAGS += -fvisibility-inlines-hidden
MODGUI_IGNORED_FLAGS += -fPIC
MODGUI_IGNORED_FLAGS += -mfpmath=sse
MODGUI_IGNORED_FLAGS += -msse
MODGUI_IGNORED_FLAGS += -msse2
MODGUI_IGNORED_FLAGS += -mtune=generic
MODGUI_IGNORED_FLAGS += -pipe
MODGUI_IGNORED_FLAGS += -std=gnu99
MODGUI_IGNORED_FLAGS += -std=gnu++11
MODGUI_IGNORED_FLAGS += -DDGL_OPENGL
MODGUI_IGNORED_FLAGS += -DGL_SILENCE_DEPRECATION=1
MODGUI_IGNORED_FLAGS += -DHAVE_ALSA
MODGUI_IGNORED_FLAGS += -DHAVE_DGL
MODGUI_IGNORED_FLAGS += -DHAVE_JACK
MODGUI_IGNORED_FLAGS += -DHAVE_LIBLO
MODGUI_IGNORED_FLAGS += -DHAVE_OPENGL
MODGUI_IGNORED_FLAGS += -DHAVE_PULSEAUDIO
MODGUI_IGNORED_FLAGS += -DHAVE_RTAUDIO
MODGUI_IGNORED_FLAGS += -DNDEBUG
MODGUI_IGNORED_FLAGS += -DPIC
MODGUI_IGNORED_FLAGS += -I.
MODGUI_IGNORED_FLAGS += -I$(DPF_PATH)/distrho
MODGUI_IGNORED_FLAGS += -I$(DPF_PATH)/dgl
MODGUI_IGNORED_FLAGS += -I$(MOD_WORKDIR)/modduo-static/staging/usr/include
MODGUI_IGNORED_FLAGS += -I$(MOD_WORKDIR)/modduox-static/staging/usr/include
MODGUI_IGNORED_FLAGS += -I$(MOD_WORKDIR)/moddwarf/staging/usr/include
MODGUI_IGNORED_FLAGS += -L$(MOD_WORKDIR)/modduo-static/staging/usr/lib
MODGUI_IGNORED_FLAGS += -L$(MOD_WORKDIR)/modduox-static/staging/usr/lib
MODGUI_IGNORED_FLAGS += -L$(MOD_WORKDIR)/moddwarf/staging/usr/lib
MODGUI_IGNORED_FLAGS += -MD
MODGUI_IGNORED_FLAGS += -MP
MODGUI_IGNORED_FLAGS += -O2
MODGUI_IGNORED_FLAGS += -O3
MODGUI_IGNORED_FLAGS += -Wall
MODGUI_IGNORED_FLAGS += -Wextra
MODGUI_IGNORED_FLAGS += -Wl,-O1,--as-needed,--gc-sections
MODGUI_IGNORED_FLAGS += -Wl,-dead_strip,-dead_strip_dylibs
MODGUI_IGNORED_FLAGS += -Wl,-x
MODGUI_IGNORED_FLAGS += -Wl,--gc-sections
MODGUI_IGNORED_FLAGS += -Wl,--no-undefined
MODGUI_IGNORED_FLAGS += -Wl,--strip-all
MODGUI_IGNORED_FLAGS += -Wno-deprecated-declarations
MODGUI_CFLAGS = $(filter-out $(MODGUI_IGNORED_FLAGS),$(BUILD_C_FLAGS)) -D__MOD_DEVICES__
MODGUI_CXXFLAGS = $(filter-out $(MODGUI_IGNORED_FLAGS),$(BUILD_CXX_FLAGS)) -D__MOD_DEVICES__
MODGUI_LDFLAGS = $(filter-out $(MODGUI_IGNORED_FLAGS),$(LINK_FLAGS))
ifneq ($(DEBUG),true)
MODGUI_LDFLAGS += -Wl,--gc-sections
endif

MODGUI_RESOURCES = $(TARGET_DIR)/$(NAME).lv2/modgui/icon.html
MODGUI_RESOURCES += $(TARGET_DIR)/$(NAME).lv2/modgui/javascript.js
@@ -567,13 +619,28 @@ $(TARGET_DIR)/$(NAME).lv2/modgui/module.js: $(OBJS_UI) $(BUILD_DIR)/DistrhoUIMai
-sEXPORTED_RUNTIME_METHODS=['addFunction','lengthBytesUTF8','stringToUTF8','UTF8ToString'] \
-sEXPORT_NAME="Module_$(PLUGIN_CLASS)" \
-o $@
# touch $(TARGET_DIR)/$(NAME).lv2/modgui/module.wasm

$(TARGET_DIR)/$(NAME).lv2/modgui/module.wasm: $(TARGET_DIR)/$(NAME).lv2/modgui/module.js $(MODGUI_RESOURCES)

$(TARGET_DIR)/$(NAME).lv2/modgui/%: $(DPF_PATH)/utils/modgui/%
-@mkdir -p $(shell dirname $@)
sed -e 's|@PLUGIN_CLASS@|$(PLUGIN_CLASS)|g' -e 's|@PLUGIN_URI@|$(PLUGIN_URI)|g' $< > $@

modgui: $(MODGUI_RESOURCES)
$(MAKE) $(TARGET_DIR)/$(NAME).lv2/modgui/module.js EXE_WRAPPER= HAVE_OPENGL=true FILE_BROWSER_DISABLED=true MODGUI_BUILD=true PKG_CONFIG=false USE_GLES2=true \
sed \
-e 's|@DISTRHO_PLUGIN_URI@|$(DISTRHO_PLUGIN_URI)|g' \
-e 's|@DISTRHO_UI_DEFAULT_WIDTH@|$(DISTRHO_UI_DEFAULT_WIDTH)|g' \
-e 's|@DISTRHO_UI_DEFAULT_HEIGHT@|$(DISTRHO_UI_DEFAULT_HEIGHT)|g' \
-e 's|@PLUGIN_CLASS@|$(PLUGIN_CLASS)|g' \
$< > $@

modgui:
$(MAKE) $(TARGET_DIR)/$(NAME).lv2/modgui/module.js $(TARGET_DIR)/$(NAME).lv2/modgui/module.wasm \
EXE_WRAPPER= \
FILE_BROWSER_DISABLED=true \
HAVE_OPENGL=true \
MODGUI_BUILD=true \
NOOPT=true \
PKG_CONFIG=false \
USE_GLES2=true \
PLUGIN_CLASS=$(PLUGIN_CLASS) \
AR=emar \
CC=emcc \
@@ -582,6 +649,8 @@ modgui: $(MODGUI_RESOURCES)
CXXFLAGS="$(MODGUI_CXXFLAGS)" \
LDFLAGS="$(MODGUI_LDFLAGS)"

.PHONY: modgui

# ---------------------------------------------------------------------------------------------------------------------
# VST2



+ 89
- 81
dgl/Makefile View File

@@ -26,58 +26,66 @@ endif

# ---------------------------------------------------------------------------------------------------------------------

ifeq ($(MODGUI_BUILD),true)
BUILD_DIR_SUFFIX = -modgui
endif

BUILD_DIR = ../build$(BUILD_DIR_SUFFIX)

# ---------------------------------------------------------------------------------------------------------------------

OBJS_common = \
../build/dgl/Application.cpp.o \
../build/dgl/ApplicationPrivateData.cpp.o \
../build/dgl/Color.cpp.o \
../build/dgl/EventHandlers.cpp.o \
../build/dgl/Geometry.cpp.o \
../build/dgl/ImageBase.cpp.o \
../build/dgl/ImageBaseWidgets.cpp.o \
../build/dgl/Layout.cpp.o \
../build/dgl/Resources.cpp.o \
../build/dgl/SubWidget.cpp.o \
../build/dgl/SubWidgetPrivateData.cpp.o \
../build/dgl/TopLevelWidget.cpp.o \
../build/dgl/TopLevelWidgetPrivateData.cpp.o \
../build/dgl/Widget.cpp.o \
../build/dgl/WidgetPrivateData.cpp.o \
../build/dgl/Window.cpp.o \
../build/dgl/WindowPrivateData.cpp.o
$(BUILD_DIR)/dgl/Application.cpp.o \
$(BUILD_DIR)/dgl/ApplicationPrivateData.cpp.o \
$(BUILD_DIR)/dgl/Color.cpp.o \
$(BUILD_DIR)/dgl/EventHandlers.cpp.o \
$(BUILD_DIR)/dgl/Geometry.cpp.o \
$(BUILD_DIR)/dgl/ImageBase.cpp.o \
$(BUILD_DIR)/dgl/ImageBaseWidgets.cpp.o \
$(BUILD_DIR)/dgl/Layout.cpp.o \
$(BUILD_DIR)/dgl/Resources.cpp.o \
$(BUILD_DIR)/dgl/SubWidget.cpp.o \
$(BUILD_DIR)/dgl/SubWidgetPrivateData.cpp.o \
$(BUILD_DIR)/dgl/TopLevelWidget.cpp.o \
$(BUILD_DIR)/dgl/TopLevelWidgetPrivateData.cpp.o \
$(BUILD_DIR)/dgl/Widget.cpp.o \
$(BUILD_DIR)/dgl/WidgetPrivateData.cpp.o \
$(BUILD_DIR)/dgl/Window.cpp.o \
$(BUILD_DIR)/dgl/WindowPrivateData.cpp.o

# ---------------------------------------------------------------------------------------------------------------------

OBJS_cairo = $(OBJS_common) \
../build/dgl/Cairo.cpp.cairo.o
$(BUILD_DIR)/dgl/Cairo.cpp.cairo.o

ifeq ($(MACOS),true)
OBJS_cairo += ../build/dgl/pugl.mm.cairo.o
OBJS_cairo += $(BUILD_DIR)/dgl/pugl.mm.cairo.o
else
OBJS_cairo += ../build/dgl/pugl.cpp.cairo.o
OBJS_cairo += $(BUILD_DIR)/dgl/pugl.cpp.cairo.o
endif

# ---------------------------------------------------------------------------------------------------------------------

OBJS_opengl = $(OBJS_common) \
../build/dgl/OpenGL.cpp.opengl.o \
../build/dgl/NanoVG.cpp.opengl.o
$(BUILD_DIR)/dgl/OpenGL.cpp.opengl.o \
$(BUILD_DIR)/dgl/NanoVG.cpp.opengl.o

ifeq ($(MACOS),true)
OBJS_opengl += ../build/dgl/pugl.mm.opengl.o
OBJS_opengl += $(BUILD_DIR)/dgl/pugl.mm.opengl.o
else
OBJS_opengl += ../build/dgl/pugl.cpp.opengl.o
OBJS_opengl += $(BUILD_DIR)/dgl/pugl.cpp.opengl.o
endif

# ---------------------------------------------------------------------------------------------------------------------

OBJS_opengl3 = $(OBJS_common) \
../build/dgl/OpenGL.cpp.opengl3.o \
../build/dgl/NanoVG.cpp.opengl3.o
$(BUILD_DIR)/dgl/OpenGL.cpp.opengl3.o \
$(BUILD_DIR)/dgl/NanoVG.cpp.opengl3.o

ifeq ($(MACOS),true)
OBJS_opengl3 += ../build/dgl/pugl.mm.opengl3.o
OBJS_opengl3 += $(BUILD_DIR)/dgl/pugl.mm.opengl3.o
else
OBJS_opengl3 += ../build/dgl/pugl.cpp.opengl3.o
OBJS_opengl3 += $(BUILD_DIR)/dgl/pugl.cpp.opengl3.o
endif

# ---------------------------------------------------------------------------------------------------------------------
@@ -85,170 +93,170 @@ endif
OBJS_stub = $(OBJS_common)

ifeq ($(MACOS),true)
OBJS_stub += ../build/dgl/pugl.mm.o
OBJS_stub += $(BUILD_DIR)/dgl/pugl.mm.o
else
OBJS_stub += ../build/dgl/pugl.cpp.o
OBJS_stub += $(BUILD_DIR)/dgl/pugl.cpp.o
endif

# ---------------------------------------------------------------------------------------------------------------------

OBJS_vulkan = $(OBJS_common) \
../build/dgl/Vulkan.cpp.vulkan.o
$(BUILD_DIR)/dgl/Vulkan.cpp.vulkan.o

ifeq ($(MACOS),true)
OBJS_vulkan += ../build/dgl/pugl.mm.vulkan.o
OBJS_vulkan += $(BUILD_DIR)/dgl/pugl.mm.vulkan.o
else
OBJS_vulkan += ../build/dgl/pugl.cpp.vulkan.o
OBJS_vulkan += $(BUILD_DIR)/dgl/pugl.cpp.vulkan.o
endif

# ---------------------------------------------------------------------------------------------------------------------

ifeq ($(HAVE_CAIRO),true)
TARGETS += ../build/libdgl-cairo.a
TARGETS += $(BUILD_DIR)/libdgl-cairo.a
endif

ifeq ($(HAVE_OPENGL),true)
TARGETS += ../build/libdgl-opengl.a
TARGETS += $(BUILD_DIR)/libdgl-opengl.a
# Compat name, to be removed soon
TARGETS += ../build/libdgl.a
TARGETS += $(BUILD_DIR)/libdgl.a
endif

ifeq ($(HAVE_STUB),true)
TARGETS += ../build/libdgl-stub.a
TARGETS += $(BUILD_DIR)/libdgl-stub.a
endif

ifeq ($(HAVE_VULKAN),true)
TARGETS += ../build/libdgl-vulkan.a
TARGETS += $(BUILD_DIR)/libdgl-vulkan.a
endif

# ---------------------------------------------------------------------------------------------------------------------

all: $(TARGETS)

cairo: ../build/libdgl-cairo.a
opengl: ../build/libdgl-opengl.a
opengl3: ../build/libdgl-opengl3.a
stub: ../build/libdgl-stub.a
vulkan: ../build/libdgl-vulkan.a
cairo: $(BUILD_DIR)/libdgl-cairo.a
opengl: $(BUILD_DIR)/libdgl-opengl.a
opengl3: $(BUILD_DIR)/libdgl-opengl3.a
stub: $(BUILD_DIR)/libdgl-stub.a
vulkan: $(BUILD_DIR)/libdgl-vulkan.a

# ---------------------------------------------------------------------------------------------------------------------

../build/libdgl-cairo.a: $(OBJS_cairo)
-@mkdir -p ../build
$(BUILD_DIR)/libdgl-cairo.a: $(OBJS_cairo)
-@mkdir -p $(BUILD_DIR)
@echo "Creating libdgl-cairo.a"
$(SILENT)rm -f $@
$(SILENT)$(AR) crs $@ $^

../build/libdgl-opengl.a: $(OBJS_opengl)
-@mkdir -p ../build
$(BUILD_DIR)/libdgl-opengl.a: $(OBJS_opengl)
-@mkdir -p $(BUILD_DIR)
@echo "Creating libdgl-opengl.a"
$(SILENT)rm -f $@
$(SILENT)$(AR) crs $@ $^

../build/libdgl-opengl3.a: $(OBJS_opengl3)
-@mkdir -p ../build
$(BUILD_DIR)/libdgl-opengl3.a: $(OBJS_opengl3)
-@mkdir -p $(BUILD_DIR)
@echo "Creating libdgl-opengl3.a"
$(SILENT)rm -f $@
$(SILENT)$(AR) crs $@ $^

../build/libdgl-stub.a: $(OBJS_stub)
-@mkdir -p ../build
$(BUILD_DIR)/libdgl-stub.a: $(OBJS_stub)
-@mkdir -p $(BUILD_DIR)
@echo "Creating libdgl-stub.a"
$(SILENT)rm -f $@
$(SILENT)$(AR) crs $@ $^

../build/libdgl-vulkan.a: $(OBJS_vulkan)
-@mkdir -p ../build
$(BUILD_DIR)/libdgl-vulkan.a: $(OBJS_vulkan)
-@mkdir -p $(BUILD_DIR)
@echo "Creating libdgl-vulkan.a"
$(SILENT)rm -f $@
$(SILENT)$(AR) crs $@ $^

# Compat name, to be removed soon
../build/libdgl.a: ../build/libdgl-opengl.a
$(BUILD_DIR)/libdgl.a: $(BUILD_DIR)/libdgl-opengl.a
@echo "Symlinking libdgl.a"
$(SILENT)ln -sf $< $@

# ---------------------------------------------------------------------------------------------------------------------

../build/dgl/%.c.o: src/%.c
-@mkdir -p ../build/dgl
$(BUILD_DIR)/dgl/%.c.o: src/%.c
-@mkdir -p $(BUILD_DIR)/dgl
@echo "Compiling $<"
$(SILENT)$(CC) $< $(BUILD_C_FLAGS) -c -o $@

../build/dgl/%.cpp.o: src/%.cpp
-@mkdir -p ../build/dgl
$(BUILD_DIR)/dgl/%.cpp.o: src/%.cpp
-@mkdir -p $(BUILD_DIR)/dgl
@echo "Compiling $<"
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@

../build/dgl/%.mm.o: src/%.mm
-@mkdir -p ../build/dgl
$(BUILD_DIR)/dgl/%.mm.o: src/%.mm
-@mkdir -p $(BUILD_DIR)/dgl
@echo "Compiling $<"
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -ObjC++ -o $@

# ---------------------------------------------------------------------------------------------------------------------

../build/dgl/pugl.cpp.o: src/pugl.cpp
-@mkdir -p ../build/dgl
$(BUILD_DIR)/dgl/pugl.cpp.o: src/pugl.cpp
-@mkdir -p $(BUILD_DIR)/dgl
@echo "Compiling $<"
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(PUGL_EXTRA_FLAGS) -c -o $@

../build/dgl/pugl.mm.o: src/pugl.mm
-@mkdir -p ../build/dgl
$(BUILD_DIR)/dgl/pugl.mm.o: src/pugl.mm
-@mkdir -p $(BUILD_DIR)/dgl
@echo "Compiling $<"
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(PUGL_EXTRA_FLAGS) -c -ObjC++ -o $@

# ---------------------------------------------------------------------------------------------------------------------

../build/dgl/%.cpp.cairo.o: src/%.cpp
-@mkdir -p ../build/dgl
$(BUILD_DIR)/dgl/%.cpp.cairo.o: src/%.cpp
-@mkdir -p $(BUILD_DIR)/dgl
@echo "Compiling $< (Cairo variant)"
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(PUGL_EXTRA_FLAGS) $(CAIRO_FLAGS) -DDGL_CAIRO -c -o $@

../build/dgl/%.mm.cairo.o: src/%.mm
-@mkdir -p ../build/dgl
$(BUILD_DIR)/dgl/%.mm.cairo.o: src/%.mm
-@mkdir -p $(BUILD_DIR)/dgl
@echo "Compiling $< (Cairo variant)"
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(PUGL_EXTRA_FLAGS) $(CAIRO_FLAGS) -DDGL_CAIRO -c -ObjC++ -o $@

# ---------------------------------------------------------------------------------------------------------------------

../build/dgl/%.cpp.opengl.o: src/%.cpp
-@mkdir -p ../build/dgl
$(BUILD_DIR)/dgl/%.cpp.opengl.o: src/%.cpp
-@mkdir -p $(BUILD_DIR)/dgl
@echo "Compiling $< (OpenGL variant)"
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(PUGL_EXTRA_FLAGS) $(OPENGL_FLAGS) -DDGL_OPENGL -c -o $@

../build/dgl/%.mm.opengl.o: src/%.mm
-@mkdir -p ../build/dgl
$(BUILD_DIR)/dgl/%.mm.opengl.o: src/%.mm
-@mkdir -p $(BUILD_DIR)/dgl
@echo "Compiling $< (OpenGL variant)"
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(PUGL_EXTRA_FLAGS) $(OPENGL_FLAGS) -DDGL_OPENGL -c -ObjC++ -o $@

# ---------------------------------------------------------------------------------------------------------------------

../build/dgl/%.cpp.opengl3.o: src/%.cpp
-@mkdir -p ../build/dgl
$(BUILD_DIR)/dgl/%.cpp.opengl3.o: src/%.cpp
-@mkdir -p $(BUILD_DIR)/dgl
@echo "Compiling $< (OpenGL3 variant)"
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(PUGL_EXTRA_FLAGS) $(OPENGL_FLAGS) -DDGL_OPENGL -DDGL_USE_OPENGL3 -c -o $@

../build/dgl/%.mm.opengl3.o: src/%.mm
-@mkdir -p ../build/dgl
$(BUILD_DIR)/dgl/%.mm.opengl3.o: src/%.mm
-@mkdir -p $(BUILD_DIR)/dgl
@echo "Compiling $< (OpenGL3 variant)"
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(PUGL_EXTRA_FLAGS) $(OPENGL_FLAGS) -DDGL_OPENGL -DDGL_USE_OPENGL3 -c -ObjC++ -o $@

# ---------------------------------------------------------------------------------------------------------------------

../build/dgl/%.cpp.vulkan.o: src/%.cpp
-@mkdir -p ../build/dgl
$(BUILD_DIR)/dgl/%.cpp.vulkan.o: src/%.cpp
-@mkdir -p $(BUILD_DIR)/dgl
@echo "Compiling $< (Vulkan variant)"
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(PUGL_EXTRA_FLAGS) $(VULKAN_FLAGS) -DDGL_VULKAN -c -o $@

../build/dgl/%.mm.vulkan.o: src/%.mm
-@mkdir -p ../build/dgl
$(BUILD_DIR)/dgl/%.mm.vulkan.o: src/%.mm
-@mkdir -p $(BUILD_DIR)/dgl
@echo "Compiling $< (Vulkan variant)"
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) $(PUGL_EXTRA_FLAGS) $(VULKAN_FLAGS) -DDGL_VULKAN -c -ObjC++ -o $@

# ---------------------------------------------------------------------------------------------------------------------

clean:
rm -rf ../build/dgl ../build/libdgl*.*
rm -rf $(BUILD_DIR)/dgl $(BUILD_DIR)/libdgl*.*

debug:
$(MAKE) DEBUG=true


+ 1
- 1
dgl/src/pugl-upstream

@@ -1 +1 @@
Subproject commit 725d8e4648dbbcec6d183d041c4153f201251eb6
Subproject commit 844528e197c51603f6cef3238b4a48d23bf60eb7

+ 3
- 4
examples/Info/DistrhoPluginInfo.h View File

@@ -26,7 +26,10 @@
#define DISTRHO_PLUGIN_IS_RT_SAFE 1
#define DISTRHO_PLUGIN_NUM_INPUTS 2
#define DISTRHO_PLUGIN_NUM_OUTPUTS 2
#define DISTRHO_PLUGIN_USES_MODGUI 1
#define DISTRHO_PLUGIN_WANT_TIMEPOS 1
#define DISTRHO_UI_DEFAULT_WIDTH 405
#define DISTRHO_UI_DEFAULT_HEIGHT 256
#define DISTRHO_UI_FILE_BROWSER 0
#define DISTRHO_UI_USER_RESIZABLE 1
#define DISTRHO_UI_USE_NANOVG 1
@@ -34,10 +37,6 @@
// only checking if supported, not actually used
#define DISTRHO_PLUGIN_WANT_PARAMETER_VALUE_CHANGE_REQUEST 1

#ifdef __MOD_DEVICES__
#define DISTRHO_PLUGIN_USES_MODGUI 1
#endif

enum Parameters {
kParameterBufferSize = 0,
kParameterCanRequestParameterValueChanges,


+ 3
- 6
examples/Info/InfoExampleUI.cpp View File

@@ -26,12 +26,9 @@ using DGL_NAMESPACE::ResizeHandle;

class InfoExampleUI : public UI
{
static const uint kInitialWidth = 405;
static const uint kInitialHeight = 256;

public:
InfoExampleUI()
: UI(kInitialWidth, kInitialHeight),
: UI(DISTRHO_UI_DEFAULT_WIDTH, DISTRHO_UI_DEFAULT_HEIGHT),
fSampleRate(getSampleRate()),
fResizable(isResizable()),
fScale(1.0f),
@@ -47,7 +44,7 @@ public:
loadSharedResources();
#endif

setGeometryConstraints(kInitialWidth, kInitialHeight, true);
setGeometryConstraints(DISTRHO_UI_DEFAULT_WIDTH, DISTRHO_UI_DEFAULT_HEIGHT, true);

// no need to show resize handle if window is user-resizable
if (fResizable)
@@ -192,7 +189,7 @@ protected:

void onResize(const ResizeEvent& ev) override
{
fScale = static_cast<float>(ev.size.getHeight())/static_cast<float>(kInitialHeight);
fScale = static_cast<float>(ev.size.getHeight())/static_cast<float>(DISTRHO_UI_DEFAULT_HEIGHT);

UI::onResize(ev);
}


+ 2
- 0
examples/Info/Makefile View File

@@ -18,6 +18,8 @@ FILES_DSP = \
FILES_UI = \
InfoExampleUI.cpp

PLUGIN_CLASS = distrho_examples_info

# --------------------------------------------------------------
# Do some magic



+ 1
- 1
examples/Latency/LatencyExamplePlugin.cpp View File

@@ -177,7 +177,7 @@ protected:
/**
Activate this plugin.
*/
void activate()
void activate() override
{
fBufferPos = 0;
std::memset(fBuffer, 0, sizeof(float)*fBufferSize);


+ 3
- 9
utils/modgui/javascript.js View File

@@ -15,15 +15,9 @@ function(event, funcs) {
if (!WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,3,1,0,1,10,14,1,12,0,65,0,65,0,65,0,252,10,0,0,11]))) {
wasmErrors.push('Bulk Memory Operations unsupported');
}
if (!WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,8,1,6,0,6,64,25,11,11]))) {
wasmErrors.push('Exception handling unsupported');
}
if (!WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,2,8,1,1,97,1,98,3,127,1,6,6,1,127,1,65,0,11,7,5,1,1,97,3,1]))) {
wasmErrors.push('Importable/Exportable mutable globals unsupported');
}
if (!WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]))) {
wasmErrors.push('Fixed-Width SIMD unsupported');
}
}

if (wasmErrors.length !== 0) {
@@ -39,14 +33,14 @@ function(event, funcs) {
var src = document.createElement('script');
src.setAttribute('async', true);
src.setAttribute('src',
'/resources/module.js?uri='+escape("@PLUGIN_URI@")+'&r='+VERSION
'/resources/module.js?uri='+escape(@DISTRHO_PLUGIN_URI@)+'&r='+VERSION
// funcs.get_custom_resource_filename('module.js')
);
src.setAttribute('type', 'text/javascript');
src.onload = function() {
Module_wolf_plugins_wolf_shaper({
Module_@PLUGIN_CLASS@({
locateFile: function(path, prefix) {
return '/resources/'+path+'?uri='+escape("@PLUGIN_URI@")+'&r='+VERSION
return '/resources/'+path+'?uri='+escape(@DISTRHO_PLUGIN_URI@)+'&r='+VERSION
// return funcs.get_custom_resource_filename(path);
},
postRun: function(module) {


+ 5
- 4
utils/modgui/stylesheet.css View File

@@ -1,8 +1,8 @@
.@PLUGIN_CLASS@.mod-pedal {
padding: 0;
margin: 0;
width: 500px;
height: 200px;
width: calc(@DISTRHO_UI_DEFAULT_WIDTH@px + 30px);
height: calc(@DISTRHO_UI_DEFAULT_HEIGHT@px + 30px);
background: #0e0e0e;
}

@@ -13,8 +13,9 @@
transform-origin: 0 0 0;
transform: scale(calc(1 / var(--device-pixel-ratio)));
position: absolute;
width: 500px;
height: 200px;
top: 30px;
width: @DISTRHO_UI_DEFAULT_WIDTH@px;
height: @DISTRHO_UI_DEFAULT_HEIGHT@px;
}

.@PLUGIN_CLASS@.mod-pedal .canvas_wrapper:focus-within {


Loading…
Cancel
Save