diff --git a/CHANGELOG b/CHANGELOG
index 74d4d9b..9ab6d7c 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,10 @@
* RECENT CHANGES
*******************************************************************************
+=== 1.0.22 ===
+* Added directory contents view and navigation of currently loaded sample.
+* Updated build scripts and dependencies.
+
=== 1.0.21 ===
* Updated build scripts and dependencies.
diff --git a/Makefile b/Makefile
index 7bbe2f5..9aa59ce 100644
--- a/Makefile
+++ b/Makefile
@@ -141,10 +141,13 @@ help:
echo "Available FEATURES:"
echo " clap CLAP plugin format binaries"
echo " doc Generate standalone HTML documentation"
+ echo " gst GStreamer plugins"
echo " jack Standalone JACK plugins"
echo " ladspa LADSPA plugins"
echo " lv2 LV2 plugins"
+ echo " ui Build plugins with UI"
echo " vst2 VST 2.x plugin binaries"
+ echo " vst3 VST 3.x plugin binaries"
echo " xdg Desktop integration icons"
\ No newline at end of file
diff --git a/make/configure.mk b/make/configure.mk
index d346dd5..937a810 100644
--- a/make/configure.mk
+++ b/make/configure.mk
@@ -127,6 +127,10 @@ define _modconfig =
$(if $($(name)_OBJ_TEST),, $(eval $(name)_OBJ_TEST := "$($(name)_BIN)/$($(name)_NAME)-test.o"))
$(if $($(name)_MFLAGS),, $(eval $(name)_MFLAGS := $(if $(publisher),,"-D$(name)_BUILTIN -fvisibility=hidden")))
+ $(if $(HOST_$(name)_NAME),, $(eval HOST_$(name)_NAME := $($(name)_NAME)))
+ $(if $(HOST_$(name)_DESC),, $(eval HOST_$(name)_DESC := $($(name)_DESC)))
+ $(if $(HOST_$(name)_URL),, $(eval HOST_$(name)_URL := $($(name)_URL$(X_URL_SUFFIX))))
+
$(if $(HOST_$(name)_PATH),, $(eval HOST_$(name)_PATH := $(MODULES)/$($(name)_NAME)))
$(if $(HOST_$(name)_INC),, $(eval HOST_$(name)_INC := $(HOST_$(name)_PATH)/include))
$(if $(HOST_$(name)_SRC),, $(eval HOST_$(name)_SRC := $(HOST_$(name)_PATH)/src))
@@ -164,6 +168,10 @@ define hdrconfig =
$(if $($(name)_TESTING),, $(eval $(name)_TESTING := 0))
$(if $($(name)_CFLAGS),, $(eval $(name)_CFLAGS := "$(if $($(name)_INC_OPT),$($(name)_INC_OPT) ,-I )\"$($(name)_INC)\""$(if $(publisher), "-D$(name)_PUBLISHER")))
$(if $($(name)_MFLAGS),, $(eval $(name)_MFLAGS := "-D$(name)_BUILTIN -fvisibility=hidden"))
+
+ $(if $(HOST_$(name)_NAME),, $(eval HOST_$(name)_NAME := $($(name)_NAME)))
+ $(if $(HOST_$(name)_DESC),, $(eval HOST_$(name)_DESC := $($(name)_DESC)))
+ $(if $(HOST_$(name)_URL),, $(eval HOST_$(name)_URL := $($(name)_URL$(X_URL_SUFFIX))))
$(if $(HOST_$(name)_PATH),, $(eval HOST_$(name)_PATH := $(MODULES)/$($(name)_NAME)))
$(if $(HOST_$(name)_INC),, $(eval HOST_$(name)_INC := $(HOST_$(name)_PATH)/include))
@@ -192,6 +200,9 @@ define plugconfig =
$(if $($(name)_OBJ_UI),, $(eval $(name)_OBJ_UI := "$($(name)_BIN)/$($(name)_NAME)-ui.o"))
$(if $($(name)_OBJ_TEST),, $(eval $(name)_OBJ_TEST := "$($(name)_BIN)/$($(name)_NAME)-test.o"))
$(if $($(name)_MFLAGS),, $(eval $(name)_MFLAGS := $(if $(publisher),,"-D$(name)_BUILTIN -fvisibility=hidden")))
+
+ $(if $(HOST_$(name)_NAME),, $(eval HOST_$(name)_NAME := $($(name)_NAME)))
+ $(if $(HOST_$(name)_DESC),, $(eval HOST_$(name)_DESC := $($(name)_DESC)))
$(if $(HOST_$(name)_PATH),, $(eval HOST_$(name)_PATH := $(MODULES)/$($(name)_NAME)))
$(if $(HOST_$(name)_INC),, $(eval HOST_$(name)_INC := $(HOST_$(name)_PATH)/include))
@@ -277,6 +288,8 @@ CONFIG_VARS = \
$(name)_OBJ_UI \
$(name)_OBJ_TEST \
\
+ HOST_$(name)_NAME \
+ HOST_$(name)_DESC \
HOST_$(name)_PATH \
HOST_$(name)_INC \
HOST_$(name)_SRC \
@@ -305,8 +318,9 @@ $(CONFIG_VARS): prepare
echo "$(@)=$($(@))" >> "$(CONFIG)"
config: $(CONFIG_VARS)
- echo "Architecture: $(ARCHITECTURE_FAMILY)/$(ARCHITECTURE) ($(ARCHITECTURE_CFLAGS))"
- echo "Features: $(FEATURES)"
+ echo "Host architecture: $(HOST_ARCHITECTURE_FAMILY)/$(HOST_ARCHITECTURE) ($(HOST_ARCHITECTURE_CFLAGS))"
+ echo "Architecture: $(ARCHITECTURE_FAMILY)/$(ARCHITECTURE) ($(ARCHITECTURE_CFLAGS))"
+ echo "Features: $(FEATURES)"
echo "Configured OK"
help: | pathvars toolvars sysvars
diff --git a/make/modules.mk b/make/modules.mk
index d2a4cb8..3034f43 100644
--- a/make/modules.mk
+++ b/make/modules.mk
@@ -48,9 +48,15 @@ UNIQ_ALL_DEPENDENCIES := $(filter-out $(ARTIFACT_ID),$(call uniq, $(ALL_DEP
MODULES ?= $(BASEDIR)/modules
GIT ?= git
+ifeq ($(DEVEL),1)
+ X_URL_SUFFIX = _RW
+else
+ X_URL_SUFFIX = _RO
+endif
+
ifeq ($(TREE),1)
$(foreach dep,$(UNIQ_ALL_DEPENDENCIES), \
- $(eval $(dep)_URL=$($(dep)_URL_RO)) \
+ $(eval $(dep)_URL=$($(dep)_URL$(X_URL_SUFFIX))) \
)
ifeq ($(findstring -devel,$(ARTIFACT_VERSION)),-devel)
diff --git a/make/paths.mk b/make/paths.mk
index 909e079..b1ddd6e 100644
--- a/make/paths.mk
+++ b/make/paths.mk
@@ -22,6 +22,8 @@
ifndef PREFIX
ifeq ($(PLATFORM),Windows)
PREFIX := $(BASEDIR)/INSTALL
+ else ifeq ($(CROSS_COMPILE),1)
+ PREFIX := $(BASEDIR)/INSTALL
else
PREFIX := /usr/local
endif
@@ -42,7 +44,11 @@ SHAREDDIR := $(PREFIX)/share
INCDIR := $(PREFIX)/include
BUILDDIR := $(BASEDIR)/.build
TARGET_BUILDDIR := $(BUILDDIR)/target
-HOST_BUILDDIR := $(BUILDDIR)/host
+ifeq ($(CROSS_COMPILE),1)
+ HOST_BUILDDIR := $(BUILDDIR)/host
+else
+ HOST_BUILDDIR := $(TARGET_BUILDDIR)
+endif
MODULES := $(BASEDIR)/modules
CONFIG := $(BASEDIR)/.config.mk
@@ -61,6 +67,15 @@ ifndef INCDIR
INCDIR := $(PREFIX)/include
endif
+# Shared resources
+ifndef SHAREDDIR
+ ifeq ($(PLATFORM),Haiku)
+ SHAREDDIR := $(PREFIX)/data
+ else
+ SHAREDDIR := $(PREFIX)/share
+ endif
+endif
+
# Temporary directory
ifndef TEMPDIR
ifeq ($(PLATFORM),Windows)
diff --git a/make/system.mk b/make/system.mk
index 6555e5e..778b1a9 100644
--- a/make/system.mk
+++ b/make/system.mk
@@ -38,108 +38,119 @@ ifndef PLATFORM
PLATFORM := Linux
else ifeq ($(findstring SunOS,$(BUILD_SYSTEM)),SunOS)
PLATFORM := Solaris
+ else ifeq ($(findstring Darwin,$(BUILD_SYSTEM)),Darwin)
+ PLATFORM := MacOS
+ else ifeq ($(findstring Haiku,$(BUILD_SYSTEM)),Haiku)
+ PLATFORM := Haiku
endif
endif
# Detect system processor architecture
-ifndef ARCHITECTURE
- ifeq ($(PLATFORM),Windows)
- BUILD_ARCH := $(PROCESSOR_ARCHITECTURE)
- else
- BUILD_ARCH := $(shell uname -m)
- endif
+ifeq ($(PLATFORM),Windows)
+ HOST_BUILD_ARCH := $(PROCESSOR_ARCHITECTURE)
else
- BUILD_ARCH := $(ARCHITECTURE)
+ HOST_BUILD_ARCH := $(shell uname -m)
endif
+BUILD_ARCH := $(if $(ARCHITECTURE),$(ARCHITECTURE),$(HOST_BUILD_ARCH))
-# Set actual architecture
+# Set actual architecture for HOST and TARGET builds
# The current architecture can be obtained by: gcc -Q --help=target
-ifeq ($(BUILD_ARCH),armel)
- override ARCHITECTURE = $(BUILD_ARCH)
- ARCHITECTURE_FAMILY = generic
- ARCHITECTURE_CFLAGS :=
-else ifeq ($(BUILD_ARCH),armhf)
- override ARCHITECTURE = arm32
- ARCHITECTURE_FAMILY = arm32
- ARCHITECTURE_CFLAGS := -march=armv7-a+fp -marm
-else ifeq ($(patsubst armv6%,armv6,$(BUILD_ARCH)),armv6)
- override ARCHITECTURE = arm32
- ARCHITECTURE_FAMILY = arm32
- ARCHITECTURE_CFLAGS := -march=armv6 -marm
-else ifeq ($(patsubst armv7ve%,armv7ve,$(BUILD_ARCH)),armv7ve)
- override ARCHITECTURE = arm32
- ARCHITECTURE_FAMILY = arm32
- ARCHITECTURE_CFLAGS := -march=armv7ve -marm
-else ifeq ($(patsubst armv7%,armv7,$(BUILD_ARCH)),armv7)
- override ARCHITECTURE = arm32
- ARCHITECTURE_FAMILY = arm32
- ARCHITECTURE_CFLAGS := -march=armv7-a -marm
-else ifeq ($(patsubst armv8%,armv8,$(BUILD_ARCH)),armv8)
- override ARCHITECTURE = arm32
- ARCHITECTURE_FAMILY = arm32
- ARCHITECTURE_CFLAGS := -march=armv7-a -marm
-else ifeq ($(patsubst aarch64%,aarch64,$(BUILD_ARCH)),aarch64)
- override ARCHITECTURE = aarch64
- ARCHITECTURE_FAMILY = aarch64
- ARCHITECTURE_CFLAGS := -march=armv8-a
-else ifeq ($(BUILD_ARCH),arm64)
- override ARCHITECTURE = aarch64
- ARCHITECTURE_FAMILY = aarch64
- ARCHITECTURE_CFLAGS := -march=armv8-a
-else ifeq ($(BUILD_ARCH),arm32)
- override ARCHITECTURE = arm32
- ARCHITECTURE_FAMILY = arm32
- ARCHITECTURE_CFLAGS := -march=armv6 -marm
-else ifeq ($(BUILD_ARCH),arm)
- override ARCHITECTURE = arm32
- ARCHITECTURE_FAMILY = arm32
- ARCHITECTURE_CFLAGS := -march=armv6 -marm
-else ifeq ($(patsubst %x86_64%,x86_64,$(BUILD_ARCH)),x86_64)
- override ARCHITECTURE = x86_64
- ARCHITECTURE_FAMILY = x86_64
- ARCHITECTURE_CFLAGS := -march=x86-64 -m64
-else ifeq ($(patsubst %amd64%,amd64,$(BUILD_ARCH)),amd64)
- override ARCHITECTURE = x86_64
- ARCHITECTURE_FAMILY = x86_64
- ARCHITECTURE_CFLAGS := -march=x86-64 -m64
-else ifeq ($(patsubst %AMD64%,AMD64,$(BUILD_ARCH)),AMD64)
- override ARCHITECTURE = x86_64
- ARCHITECTURE_FAMILY = x86_64
- ARCHITECTURE_CFLAGS := -march=x86-64 -m64
-else ifeq ($(BUILD_ARCH),i86pc)
- override ARCHITECTURE = x86_64
- ARCHITECTURE_FAMILY = x86_64
- ARCHITECTURE_CFLAGS := -march=x86-64 -m64
-else ifeq ($(patsubst %i686%,i686,$(BUILD_ARCH)),i686)
- override ARCHITECTURE = i686
- ARCHITECTURE_FAMILY = ia32
- ARCHITECTURE_CFLAGS := -march=i686 -m32
-else ifeq ($(patsubst i%86,i586,$(BUILD_ARCH)),i586)
- override ARCHITECTURE = i586
- ARCHITECTURE_FAMILY = ia32
- ARCHITECTURE_CFLAGS := -march=i586 -m32
-else ifeq ($(BUILD_ARCH),x86)
- override ARCHITECTURE = i686
- ARCHITECTURE_FAMILY = ia32
- ARCHITECTURE_CFLAGS := -march=i686 -m32
-else ifeq ($(BUILD_ARCH),riscv32)
- override ARCHITECTURE = riscv32
- ARCHITECTURE_FAMILY = riscv32
- ARCHITECTURE_CFLAGS := -march=rv32imafdc -mabi=lp32d
-else ifeq ($(BUILD_ARCH),riscv64)
- override ARCHITECTURE = riscv64
- ARCHITECTURE_FAMILY = riscv64
- ARCHITECTURE_CFLAGS := -march=rv64imafdc -mabi=lp64d
-else
- override ARCHITECTURE = $(BUILD_ARCH)
- ARCHITECTURE_FAMILY = generic
- ARCHITECTURE_CFLAGS :=
-endif
+define detect_architecture =
+ ifeq ($(1),armel)
+ $(2)_NAME = $(1)
+ $(2)_FAMILY = generic
+ $(2)_CFLAGS :=
+ else ifeq ($(1),armhf)
+ $(2)_NAME = arm32
+ $(2)_FAMILY = arm32
+ $(2)_CFLAGS := -march=armv7-a+fp -marm
+ else ifeq ($(patsubst armv6%,armv6,$(1)),armv6)
+ $(2)_NAME = arm32
+ $(2)_FAMILY = arm32
+ $(2)_CFLAGS := -march=armv6 -marm
+ else ifeq ($(patsubst armv7ve%,armv7ve,$(1)),armv7ve)
+ $(2)_NAME = arm32
+ $(2)_FAMILY = arm32
+ $(2)_CFLAGS := -march=armv7ve -marm
+ else ifeq ($(patsubst armv7%,armv7,$(1)),armv7)
+ $(2)_NAME = arm32
+ $(2)_FAMILY = arm32
+ $(2)_CFLAGS := -march=armv7-a -marm
+ else ifeq ($(patsubst armv8%,armv8,$(1)),armv8)
+ $(2)_NAME = arm32
+ $(2)_FAMILY = arm32
+ $(2)_CFLAGS := -march=armv7-a -marm
+ else ifeq ($(patsubst aarch64%,aarch64,$(1)),aarch64)
+ $(2)_NAME = aarch64
+ $(2)_FAMILY = aarch64
+ $(2)_CFLAGS := -march=armv8-a
+ else ifeq ($(1),arm64)
+ $(2)_NAME = aarch64
+ $(2)_FAMILY = aarch64
+ $(2)_CFLAGS := -march=armv8-a
+ else ifeq ($(1),arm32)
+ $(2)_NAME = arm32
+ $(2)_FAMILY = arm32
+ $(2)_CFLAGS := -march=armv6 -marm
+ else ifeq ($(1),arm)
+ $(2)_NAME = arm32
+ $(2)_FAMILY = arm32
+ $(2)_CFLAGS := -march=armv6 -marm
+ else ifeq ($(patsubst %x86_64%,x86_64,$(1)),x86_64)
+ $(2)_NAME = x86_64
+ $(2)_FAMILY = x86_64
+ $(2)_CFLAGS := -march=x86-64 -m64
+ else ifeq ($(patsubst %amd64%,amd64,$(1)),amd64)
+ $(2)_NAME = x86_64
+ $(2)_FAMILY = x86_64
+ $(2)_CFLAGS := -march=x86-64 -m64
+ else ifeq ($(patsubst %AMD64%,AMD64,$(1)),AMD64)
+ $(2)_NAME = x86_64
+ $(2)_FAMILY = x86_64
+ $(2)_CFLAGS := -march=x86-64 -m64
+ else ifeq ($(1),i86pc)
+ $(2)_NAME = x86_64
+ $(2)_FAMILY = x86_64
+ $(2)_CFLAGS := -march=x86-64 -m64
+ else ifeq ($(patsubst %i686%,i686,$(1)),i686)
+ $(2)_NAME = i686
+ $(2)_FAMILY = ia32
+ $(2)_CFLAGS := -march=i686 -m32
+ else ifeq ($(patsubst i%86,i586,$(1)),i586)
+ $(2)_NAME = i586
+ $(2)_FAMILY = ia32
+ $(2)_CFLAGS := -march=i586 -m32
+ else ifeq ($(1),x86)
+ $(2)_NAME = i686
+ $(2)_FAMILY = ia32
+ $(2)_CFLAGS := -march=i686 -m32
+ else ifeq ($(1),riscv32)
+ $(2)_NAME = riscv32
+ $(2)_FAMILY = riscv32
+ $(2)_CFLAGS := -march=rv32imafdc -mabi=lp32d
+ else ifeq ($(1),riscv64)
+ $(2)_NAME = riscv64
+ $(2)_FAMILY = riscv64
+ $(2)_CFLAGS := -march=rv64imafdc -mabi=lp64d
+ else
+ $(2)_NAME = $(1)
+ $(2)_FAMILY = generic
+ $(2)_CFLAGS :=
+ endif
+endef
+
+$(eval $(call detect_architecture,$(BUILD_ARCH),ARCHITECTURE))
+$(eval $(call detect_architecture,$(HOST_BUILD_ARCH),HOST_ARCHITECTURE))
+
+override ARCHITECTURE = $(ARCHITECTURE_NAME)
+override HOST_ARCHITECTURE = $(HOST_ARCHITECTURE_NAME)
# Extension of libraries
ifndef LIBRARY_EXT
ifeq ($(PLATFORM),Windows)
LIBRARY_EXT := .dll
+ else ifeq ($(PLATFORM),MacOS)
+ LIBRARY_EXT := .dylib
else
LIBRARY_EXT := .so
endif
@@ -180,10 +191,14 @@ COMMON_VARS = \
ARCHITECTURE \
ARCHITECTURE_FAMILY \
ARCHITECTURE_CFLAGS \
+ CROSS_COMPILE \
DEBUG \
EXECUTABLE_EXT \
EXPORT_SYMBOLS \
FEATURES \
+ HOST_ARCHITECTURE \
+ HOST_ARCHITECTURE_FAMILY \
+ HOST_ARCHITECTURE_CFLAGS \
INSTALL_HEADERS \
LIBRARY_EXT \
LIBRARY_PREFIX \
@@ -205,6 +220,7 @@ sysvars:
echo " ARCHITECTURE_CFLAGS compiler flags to specify architecture"
echo " ARCHITECTURE_FAMILY compiler flags to specify architecture family"
echo " ARCHITECTURE_LDFLAGS linker flags to specify architecture"
+ echo " CROSS_COMPILE enable/disable cross-compilation"
echo " DEBUG build with debug options"
echo " DEVEL build with modules checked out for read/write URL"
echo " EXECUTABLE_EXT file extension for executable files"
diff --git a/make/tools.mk b/make/tools.mk
index a9f3375..7750413 100644
--- a/make/tools.mk
+++ b/make/tools.mk
@@ -27,6 +27,20 @@ ifeq ($(PLATFORM),OpenBSD)
X_AR_TOOL := ar
X_LD_TOOL := ld
X_PKG_CONFIG := pkg-config
+else ifeq ($(PLATFORM),BSD)
+ X_CC_TOOL := clang
+ X_CXX_TOOL := clang++
+ X_AS_TOOL := as
+ X_AR_TOOL := ar
+ X_LD_TOOL := ld
+ X_PKG_CONFIG := pkg-config
+else ifeq ($(PLATFORM),MacOS)
+ X_CC_TOOL := clang
+ X_CXX_TOOL := clang++
+ X_AS_TOOL := as
+ X_AR_TOOL := ar
+ X_LD_TOOL := ld
+ X_PKG_CONFIG := pkg-config
else
X_CC_TOOL := gcc
X_CXX_TOOL := g++
@@ -49,26 +63,36 @@ PHP ?= $(X_PHP_TOOL)
PKG_CONFIG ?= $(X_PKG_CONFIG)
# Define tool variables for host build
-HOST_CC ?= $(CC)
-HOST_CXX ?= $(CXX)
-HOST_AS ?= $(AS)
-HOST_AR ?= $(AR)
-HOST_LD ?= $(LD)
-HOST_PHP ?= $(PHP)
-HOST_PKG_CONFIG ?= $(PKG_CONFIG)
+ifeq ($(CROSS_COMPILE),1)
+ HOST_CC ?= $(X_CC_TOOL)
+ HOST_CXX ?= $(X_CXX_TOOL)
+ HOST_AS ?= $(X_AS_TOOL)
+ HOST_AR ?= $(X_AR_TOOL)
+ HOST_LD ?= $(X_LD_TOOL)
+ HOST_PHP ?= $(X_PHP_TOOL)
+ HOST_PKG_CONFIG ?= $(X_PKG_CONFIG)
+else
+ HOST_CC ?= $(CC)
+ HOST_CXX ?= $(CXX)
+ HOST_AS ?= $(AS)
+ HOST_AR ?= $(AR)
+ HOST_LD ?= $(LD)
+ HOST_PHP ?= $(PHP)
+ HOST_PKG_CONFIG ?= $(PKG_CONFIG)
+endif
# Miscellaneous tools
GIT ?= $(X_GIT_TOOL)
INSTALL ?= $(X_INSTALL_TOOL)
# Patch flags and tools for (cross) build
-FLAG_RELRO = -Wl,-z,relro,-z,now
-FLAG_STDLIB =
-CFLAGS_EXT = $(ARCHITECTURE_CFLAGS)
-CXXFLAGS_EXT = $(ARCHITECTURE_CFLAGS)
-EXE_FLAGS_EXT = $(ARCHITECTURE_CFLAGS)
-SO_FLAGS_EXT = $(ARCHITECTURE_CFLAGS)
-LDFLAGS_EXT = $(ARCHITECTURE_LDFLAGS)
+FLAG_RELRO := -Wl,-z,relro,-z,now
+FLAG_STDLIB :=
+NOARCH_CFLAGS :=
+NOARCH_CXXFLAGS :=
+NOARCH_EXE_FLAGS :=
+NOARCH_SO_FLAGS :=
+NOARCH_LDFLAGS :=
ifeq ($(PLATFORM),Solaris)
FLAG_RELRO =
@@ -76,49 +100,49 @@ ifeq ($(PLATFORM),Solaris)
else ifeq ($(PLATFORM),Windows)
FLAG_RELRO =
FLAG_STDLIB =
- CFLAGS_EXT += -DWINVER=0x600 -D_WIN32_WINNT=0x600
- CXXFLAGS_EXT += -DWINVER=0x600 -D_WIN32_WINNT=0x600
- EXE_FLAGS_EXT += -static-libgcc -static-libstdc++
- SO_FLAGS_EXT += -static-libgcc -static-libstdc++
- LDFLAGS_EXT += -T $(CURDIR)/make/ld-windows.script
+ NOARCH_CFLAGS += -DWINVER=0x600 -D_WIN32_WINNT=0x600
+ NOARCH_CXXFLAGS += -DWINVER=0x600 -D_WIN32_WINNT=0x600
+ NOARCH_EXE_FLAGS += -static-libgcc -static-libstdc++
+ NOARCH_SO_FLAGS += -static-libgcc -static-libstdc++
+ NOARCH_LDFLAGS += -T $(CURDIR)/make/ld-windows.script
else ifeq ($(PLATFORM),BSD)
- EXE_FLAGS_EXT += -L/usr/local/lib
- SO_FLAGS_EXT += -L/usr/local/lib
+ NOARCH_EXE_FLAGS += -L/usr/local/lib
+ NOARCH_SO_FLAGS += -L/usr/local/lib
endif
ifeq ($(DEBUG),1)
- CFLAGS_EXT += -Og -g3 -DLSP_DEBUG -falign-functions=16
- CXXFLAGS_EXT += -Og -g3 -DLSP_DEBUG -falign-functions=16
+ NOARCH_CFLAGS += -Og -g3 -DLSP_DEBUG -falign-functions=16
+ NOARCH_CXXFLAGS += -Og -g3 -DLSP_DEBUG -falign-functions=16
else
- CFLAGS_EXT += -O2
- CXXFLAGS_EXT += -O2
+ NOARCH_CFLAGS += -O2
+ NOARCH_CXXFLAGS += -O2
endif
ifeq ($(ASAN),1)
- CFLAGS_EXT += -fsanitize=address
- CXXFLAGS_EXT += -fsanitize=address
- EXE_FLAGS_EXT += -fsanitize=address
- SO_FLAGS_EXT += -fsanitize=address
+ NOARCH_CFLAGS += -fsanitize=address
+ NOARCH_CXXFLAGS += -fsanitize=address
+ NOARCH_EXE_FLAGS += -fsanitize=address
+ NOARCH_SO_FLAGS += -fsanitize=address
endif
ifeq ($(PROFILE),1)
- CFLAGS_EXT += -pg -DLSP_PROFILE
- CXXFLAGS_EXT += -pg -DLSP_PROFILE
+ NOARCH_CFLAGS += -pg -DLSP_PROFILE
+ NOARCH_CXXFLAGS += -pg -DLSP_PROFILE
endif
ifeq ($(TRACE),1)
- CFLAGS_EXT += -DLSP_TRACE
- CXXFLAGS_EXT += -DLSP_TRACE
+ NOARCH_CFLAGS += -DLSP_TRACE
+ NOARCH_CXXFLAGS += -DLSP_TRACE
endif
ifeq ($(STRICT),1)
- CFLAGS_EXT += -Werror
- CXXFLAGS_EXT += -Werror
+ NOARCH_CFLAGS += -Werror
+ NOARCH_CXXFLAGS += -Werror
endif
ifeq ($(TEST),1)
- CFLAGS_EXT += -DLSP_TESTING
- CXXFLAGS_EXT += -DLSP_TESTING
+ NOARCH_CFLAGS += -DLSP_TESTING
+ NOARCH_CXXFLAGS += -DLSP_TESTING
EXPORT_SYMBOLS ?= 1
else
ifeq ($(ARTIFACT_EXPORT_SYMBOLS),1)
@@ -129,8 +153,8 @@ else
endif
ifneq ($(EXPORT_SYMBOLS),1)
- CFLAGS_EXT += -fvisibility=hidden
- CXXFLAGS_EXT += -fvisibility=hidden
+ NOARCH_CFLAGS += -fvisibility=hidden
+ NOARCH_CXXFLAGS += -fvisibility=hidden
endif
ifneq ($(ARTIFACT_EXPORT_HEADERS),0)
@@ -140,18 +164,18 @@ else
endif
# Define flags for (cross) build
-CFLAGS += \
- $(CFLAGS_EXT) \
+NOARCH_CFLAGS += \
-fdata-sections \
-ffunction-sections \
-fno-asynchronous-unwind-tables \
-pipe \
-Wall
+CFLAGS += $(ARCHITECTURE_CFLAGS) $(NOARCH_CFLAGS)
+HOST_CFLAGS += $(HOST_ARCHITECTURE_CFLAGS) $(NOARCH_CFLAGS)
CDEFS += -DLSP_INSTALL_PREFIX=\\\"$(PREFIX)\\\"
-CXXFLAGS += \
- $(CXXFLAGS_EXT) \
+NOARCH_CXXFLAGS += \
-fno-exceptions \
-fno-rtti \
-fdata-sections \
@@ -159,22 +183,24 @@ CXXFLAGS += \
-fno-asynchronous-unwind-tables \
-pipe \
-Wall
+CXXFLAGS += $(ARCHITECTURE_CFLAGS) $(NOARCH_CXXFLAGS)
+HOST_CXXFLAGS += $(HOST_ARCHITECTURE_CFLAGS) $(NOARCH_CXXFLAGS)
CXXDEFS += -DLSP_INSTALL_PREFIX=\\\"$(PREFIX)\\\"
INCLUDE :=
-LDFLAGS := $(LDFLAGS_EXT) -r
-EXE_FLAGS := $(EXE_FLAGS_EXT) $(FLAG_RELRO) -Wl,--gc-sections
-SO_FLAGS := $(SO_FLAGS_EXT) $(FLAG_RELRO) -Wl,--gc-sections -shared $(FLAG_STDLIB) -fPIC
-
-# Define flags for host build
-HOST_CFLAGS := $(CFLAGS)
-HOST_CDEFS := $(CDEFS)
-HOST_CXXFLAGS := $(CXXFLAGS)
-HOST_CXXDEFS := $(CXXDEFS)
-HOST_LDFLAGS := $(LDFLAGS)
-HOST_EXE_FLAGS := $(EXE_FLAGS)
-HOST_SO_FLAGS := $(SO_FLAGS)
+
+NOARCH_LDFLAGS += -r
+LDFLAGS := $(ARCHITECTURE_LDFLAGS) $(NOARCH_LDFLAGS)
+HOST_LDFLAGS := $(HOST_ARCHITECTURE_LDFLAGS) $(NOARCH_LDFLAGS)
+
+NOARCH_EXE_FLAGS += $(FLAG_RELRO) -Wl,--gc-sections
+EXE_FLAGS := $(ARCHITECTURE_CFLAGS) $(NOARCH_EXE_FLAGS)
+HOST_EXE_FLAGS := $(HOST_ARCHITECTURE_CFLAGS) $(NOARCH_EXE_FLAGS)
+
+NOARCH_SO_FLAGS += $(FLAG_RELRO) -Wl,--gc-sections -shared $(FLAG_STDLIB) -fPIC
+SO_FLAGS := $(ARCHITECTURE_CFLAGS) $(NOARCH_SO_FLAGS)
+HOST_SO_FLAGS := $(HOST_ARCHITECTURE_CFLAGS) $(NOARCH_SO_FLAGS)
# The overall list of exported variables
TOOL_VARS := \
diff --git a/modules.mk b/modules.mk
index 7527478..7d43e8c 100644
--- a/modules.mk
+++ b/modules.mk
@@ -19,93 +19,93 @@
#
# Variables that describe dependencies
-LSP_3RD_PARTY_VERSION := 1.0.17
+LSP_3RD_PARTY_VERSION := 1.0.18
LSP_3RD_PARTY_NAME := lsp-3rd-party
LSP_3RD_PARTY_TYPE := hdr
LSP_3RD_PARTY_INC_OPT := -idirafter
LSP_3RD_PARTY_URL_RO := https://github.com/lsp-plugins/$(LSP_3RD_PARTY_NAME).git
LSP_3RD_PARTY_URL_RW := git@github.com:lsp-plugins/$(LSP_3RD_PARTY_NAME).git
-LSP_COMMON_LIB_VERSION := 1.0.37
+LSP_COMMON_LIB_VERSION := 1.0.38
LSP_COMMON_LIB_NAME := lsp-common-lib
LSP_COMMON_LIB_TYPE := src
LSP_COMMON_LIB_URL_RO := https://github.com/lsp-plugins/$(LSP_COMMON_LIB_NAME).git
LSP_COMMON_LIB_URL_RW := git@github.com:lsp-plugins/$(LSP_COMMON_LIB_NAME).git
-LSP_DSP_LIB_VERSION := 1.0.25
+LSP_DSP_LIB_VERSION := 1.0.26
LSP_DSP_LIB_NAME := lsp-dsp-lib
LSP_DSP_LIB_TYPE := src
LSP_DSP_LIB_URL_RO := https://github.com/lsp-plugins/$(LSP_DSP_LIB_NAME).git
LSP_DSP_LIB_URL_RW := git@github.com:lsp-plugins/$(LSP_DSP_LIB_NAME).git
-LSP_DSP_UNITS_VERSION := 1.0.24
+LSP_DSP_UNITS_VERSION := 1.0.25
LSP_DSP_UNITS_NAME := lsp-dsp-units
LSP_DSP_UNITS_TYPE := src
LSP_DSP_UNITS_URL_RO := https://github.com/lsp-plugins/$(LSP_DSP_UNITS_NAME).git
LSP_DSP_UNITS_URL_RW := git@github.com:lsp-plugins/$(LSP_DSP_UNITS_NAME).git
-LSP_LLTL_LIB_VERSION := 1.0.20
+LSP_LLTL_LIB_VERSION := 1.0.21
LSP_LLTL_LIB_NAME := lsp-lltl-lib
LSP_LLTL_LIB_TYPE := src
LSP_LLTL_LIB_URL_RO := https://github.com/lsp-plugins/$(LSP_LLTL_LIB_NAME).git
LSP_LLTL_LIB_URL_RW := git@github.com:lsp-plugins/$(LSP_LLTL_LIB_NAME).git
-LSP_R3D_BASE_LIB_VERSION := 1.0.19
+LSP_R3D_BASE_LIB_VERSION := 1.0.20
LSP_R3D_BASE_LIB_NAME := lsp-r3d-base-lib
LSP_R3D_BASE_LIB_TYPE := src
LSP_R3D_BASE_LIB_URL_RO := https://github.com/lsp-plugins/$(LSP_R3D_BASE_LIB_NAME).git
LSP_R3D_BASE_LIB_URL_RW := git@github.com:lsp-plugins/$(LSP_R3D_BASE_LIB_NAME).git
-LSP_R3D_IFACE_VERSION := 1.0.19
+LSP_R3D_IFACE_VERSION := 1.0.20
LSP_R3D_IFACE_NAME := lsp-r3d-iface
LSP_R3D_IFACE_TYPE := src
LSP_R3D_IFACE_URL_RO := https://github.com/lsp-plugins/$(LSP_R3D_IFACE_NAME).git
LSP_R3D_IFACE_URL_RW := git@github.com:lsp-plugins/$(LSP_R3D_IFACE_NAME).git
-LSP_R3D_GLX_LIB_VERSION := 1.0.19
+LSP_R3D_GLX_LIB_VERSION := 1.0.20
LSP_R3D_GLX_LIB_NAME := lsp-r3d-glx-lib
LSP_R3D_GLX_LIB_TYPE := bin
LSP_R3D_GLX_LIB_URL_RO := https://github.com/lsp-plugins/$(LSP_R3D_GLX_LIB_NAME).git
LSP_R3D_GLX_LIB_URL_RW := git@github.com:lsp-plugins/$(LSP_R3D_GLX_LIB_NAME).git
-LSP_R3D_WGL_LIB_VERSION := 1.0.14
+LSP_R3D_WGL_LIB_VERSION := 1.0.15
LSP_R3D_WGL_LIB_NAME := lsp-r3d-wgl-lib
LSP_R3D_WGL_LIB_TYPE := bin
LSP_R3D_WGL_LIB_URL_RO := https://github.com/lsp-plugins/$(LSP_R3D_WGL_LIB_NAME).git
LSP_R3D_WGL_LIB_URL_RW := git@github.com:lsp-plugins/$(LSP_R3D_WGL_LIB_NAME).git
-LSP_RUNTIME_LIB_VERSION := 1.0.23
+LSP_RUNTIME_LIB_VERSION := 1.0.24
LSP_RUNTIME_LIB_NAME := lsp-runtime-lib
LSP_RUNTIME_LIB_TYPE := src
LSP_RUNTIME_LIB_URL_RO := https://github.com/lsp-plugins/$(LSP_RUNTIME_LIB_NAME).git
LSP_RUNTIME_LIB_URL_RW := git@github.com:lsp-plugins/$(LSP_RUNTIME_LIB_NAME).git
-LSP_TEST_FW_VERSION := 1.0.26
+LSP_TEST_FW_VERSION := 1.0.27
LSP_TEST_FW_NAME := lsp-test-fw
LSP_TEST_FW_TYPE := src
LSP_TEST_FW_URL_RO := https://github.com/lsp-plugins/$(LSP_TEST_FW_NAME).git
LSP_TEST_FW_URL_RW := git@github.com:lsp-plugins/$(LSP_TEST_FW_NAME).git
-LSP_TK_LIB_VERSION := 1.0.23
+LSP_TK_LIB_VERSION := 1.0.24
LSP_TK_LIB_NAME := lsp-tk-lib
LSP_TK_LIB_TYPE := src
LSP_TK_LIB_URL_RO := https://github.com/lsp-plugins/$(LSP_TK_LIB_NAME).git
LSP_TK_LIB_URL_RW := git@github.com:lsp-plugins/$(LSP_TK_LIB_NAME).git
-LSP_WS_LIB_VERSION := 1.0.23
+LSP_WS_LIB_VERSION := 1.0.24
LSP_WS_LIB_NAME := lsp-ws-lib
LSP_WS_LIB_TYPE := src
LSP_WS_LIB_URL_RO := https://github.com/lsp-plugins/$(LSP_WS_LIB_NAME).git
LSP_WS_LIB_URL_RW := git@github.com:lsp-plugins/$(LSP_WS_LIB_NAME).git
# Plugin-related module dependencies
-LSP_PLUGIN_FW_VERSION := 1.0.25
+LSP_PLUGIN_FW_VERSION := 1.0.26
LSP_PLUGIN_FW_NAME := lsp-plugin-fw
LSP_PLUGIN_FW_TYPE := src
LSP_PLUGIN_FW_URL_RO := https://github.com/lsp-plugins/$(LSP_PLUGIN_FW_NAME).git
LSP_PLUGIN_FW_URL_RW := git@github.com:lsp-plugins/$(LSP_PLUGIN_FW_NAME).git
-LSP_PLUGINS_SHARED_VERSION := 1.0.24
+LSP_PLUGINS_SHARED_VERSION := 1.0.25
LSP_PLUGINS_SHARED_NAME := lsp-plugins-shared
LSP_PLUGINS_SHARED_TYPE := src
LSP_PLUGINS_SHARED_URL_RO := https://github.com/lsp-plugins/$(LSP_PLUGINS_SHARED_NAME).git
diff --git a/project.mk b/project.mk
index 2958c07..a4b5676 100644
--- a/project.mk
+++ b/project.mk
@@ -25,7 +25,7 @@ ARTIFACT_TYPE = plug
ARTIFACT_DESC = LSP Impulse Reverb Plugin Series
ARTIFACT_HEADERS = lsp-plug.in
ARTIFACT_EXPORT_HEADERS = 0
-ARTIFACT_VERSION = 1.0.21
+ARTIFACT_VERSION = 1.0.22
diff --git a/res/doc/screenshots/impulse_reverb_mono.png b/res/doc/screenshots/impulse_reverb_mono.png
index 8bafd3e..17ec26d 100644
Binary files a/res/doc/screenshots/impulse_reverb_mono.png and b/res/doc/screenshots/impulse_reverb_mono.png differ
diff --git a/res/doc/screenshots/impulse_reverb_stereo.png b/res/doc/screenshots/impulse_reverb_stereo.png
index cd1dabd..a4a8935 100644
Binary files a/res/doc/screenshots/impulse_reverb_stereo.png and b/res/doc/screenshots/impulse_reverb_stereo.png differ
diff --git a/res/main/ui/convolution/impulse_reverb/mono.xml b/res/main/ui/convolution/impulse_reverb/mono.xml
index 4ffc704..85d2937 100644
--- a/res/main/ui/convolution/impulse_reverb/mono.xml
+++ b/res/main/ui/convolution/impulse_reverb/mono.xml
@@ -29,38 +29,38 @@
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
@@ -69,65 +69,95 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+ |
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
- |
-
-
- |
-
-
-
-
- |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
-
+
+
@@ -174,7 +204,7 @@
-
+
@@ -188,7 +218,7 @@
|
-
+
diff --git a/res/main/ui/convolution/impulse_reverb/stereo.xml b/res/main/ui/convolution/impulse_reverb/stereo.xml
index c6d3e0b..cfddef5 100644
--- a/res/main/ui/convolution/impulse_reverb/stereo.xml
+++ b/res/main/ui/convolution/impulse_reverb/stereo.xml
@@ -19,8 +19,8 @@
- |
-
+ |
+
@@ -77,65 +77,95 @@
|
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+ |
- |
+
+ |
+
+
+
+
+ |
+
-
- |
-
-
-
-
- |
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
+
@@ -183,7 +213,7 @@
-
+
@@ -197,7 +227,7 @@
|
-
+
diff --git a/src/Makefile b/src/Makefile
index 0d861b5..6ca6785 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -51,7 +51,7 @@ endif
DEPENDENCIES = $(UNIQ_DEPENDENCIES)
-ARTIFACT_BIN = $($(ARTIFACT_ID)_BIN)
+ARTIFACT_BIN = $($(HOST)$(ARTIFACT_ID)_BIN)
ARTIFACT_NAME = $($(ARTIFACT_ID)_NAME)
ARTIFACT_OBJ_META = $(ARTIFACT_BIN)/$($(ARTIFACT_ID)_NAME)-meta.o
ARTIFACT_OBJ_DSP = $(ARTIFACT_BIN)/$($(ARTIFACT_ID)_NAME)-dsp.o
@@ -90,7 +90,7 @@ XOBJ_TEST = $(if $(OBJ_TEST),$(OBJ_TEST),$(OBJ_STUB))
CXX_FILE = $(patsubst $(ARTIFACT_BIN)/%.o,%.cpp, $(@))
DEP_FILE = $(patsubst %.o,%.d, $(@))
-CFLAGS_DEPS = $(foreach dep, $(call uniq, $(DEPENDENCIES)), $(if $($(dep)_CFLAGS), $($(dep)_CFLAGS)))
+CFLAGS_DEPS = $(foreach dep, $(call uniq, $(DEPENDENCIES)), $(if $($(HOST)$(dep)_CFLAGS), $($(HOST)$(dep)_CFLAGS)))
BUILD_ALL = $(ARTIFACT_LIB) $(ARTIFACT_SLIB) $(ARTIFACT_PC)
ifeq ($(TEST), 1)
@@ -114,14 +114,14 @@ $(CXX_SRC_STUB):
echo "#include " > $(CXX_SRC_STUB)
$(OBJ_STUB): $(CXX_SRC_STUB)
- echo " $(CXX) [$(ARTIFACT_NAME)] $(CXX_FILE)"
+ echo " $($(HOST)CXX) [$(ARTIFACT_NAME)] $(CXX_FILE)"
mkdir -p $(dir $@)
- $(CXX) -o $(@) -c $(CXX_SRC_STUB) -fPIC $(CXXFLAGS) $(ARTIFACT_MFLAGS) $(EXT_FLAGS) $(INCLUDE) $(CFLAGS_DEPS) -MMD -MP -MF $(DEP_FILE) -MT $(@)
+ $($(HOST)CXX) -o $(@) -c $(CXX_SRC_STUB) -fPIC $($(HOST)CXXFLAGS) $(ARTIFACT_MFLAGS) $(EXT_FLAGS) $(INCLUDE) $(CFLAGS_DEPS) -MMD -MP -MF $(DEP_FILE) -MT $(@)
$(OBJ):
- echo " $(CXX) [$(ARTIFACT_NAME)] $(CXX_FILE)"
+ echo " $($(HOST)CXX) [$(ARTIFACT_NAME)] $(CXX_FILE)"
mkdir -p $(dir $@)
- $(CXX) -o $(@) -c $(CXX_FILE) -fPIC $(CXXFLAGS) $(ARTIFACT_MFLAGS) $(EXT_FLAGS) $(INCLUDE) $(CFLAGS_DEPS) -MMD -MP -MF $(DEP_FILE) -MT $(@)
+ $($(HOST)CXX) -o $(@) -c $(CXX_FILE) -fPIC $($(HOST)CXXFLAGS) $(ARTIFACT_MFLAGS) $(EXT_FLAGS) $(INCLUDE) $(CFLAGS_DEPS) -MMD -MP -MF $(DEP_FILE) -MT $(@)
# Linking targets
$(ARTIFACT_OBJ_META): $(XOBJ_MAIN_META)
diff --git a/src/main/meta/impulse_reverb.cpp b/src/main/meta/impulse_reverb.cpp
index 2c7a6fb..f0d1558 100644
--- a/src/main/meta/impulse_reverb.cpp
+++ b/src/main/meta/impulse_reverb.cpp
@@ -27,7 +27,7 @@
#define LSP_PLUGINS_IMPULSE_REVERB_VERSION_MAJOR 1
#define LSP_PLUGINS_IMPULSE_REVERB_VERSION_MINOR 0
-#define LSP_PLUGINS_IMPULSE_REVERB_VERSION_MICRO 21
+#define LSP_PLUGINS_IMPULSE_REVERB_VERSION_MICRO 22
#define LSP_PLUGINS_IMPULSE_REVERB_VERSION \
LSP_MODULE_VERSION( \
| |