Skip to content

Commit 5a7bb1b

Browse files
committed
Release 1.0.23
* Added directory contents view and navigation of currently loaded sample. * Mono samples are now played as stereo samples with duplicated left channel. * Updated build scripts and dependencies.
2 parents 7ccc3c8 + f0eed57 commit 5a7bb1b

22 files changed

+525
-372
lines changed

CHANGELOG

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22
* RECENT CHANGES
33
*******************************************************************************
44

5+
=== 1.0.23 ===
6+
* Added directory contents view and navigation of currently loaded sample.
7+
* Mono samples are now played as stereo samples with duplicated left channel.
8+
* Updated build scripts and dependencies.
9+
510
=== 1.0.22 ===
611
* Fixed not working MIDI channel setup.
712
* Updated build scripts and dependencies.

Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,10 +141,13 @@ help:
141141
echo "Available FEATURES:"
142142
echo " clap CLAP plugin format binaries"
143143
echo " doc Generate standalone HTML documentation"
144+
echo " gst GStreamer plugins"
144145
echo " jack Standalone JACK plugins"
145146
echo " ladspa LADSPA plugins"
146147
echo " lv2 LV2 plugins"
148+
echo " ui Build plugins with UI"
147149
echo " vst2 VST 2.x plugin binaries"
150+
echo " vst3 VST 3.x plugin binaries"
148151
echo " xdg Desktop integration icons"
149152

150153

include/private/plugins/trigger_kernel.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
2-
* Copyright (C) 2021 Linux Studio Plugins Project <https://lsp-plug.in/>
3-
* (C) 2021 Vladimir Sadovnikov <[email protected]>
2+
* Copyright (C) 2024 Linux Studio Plugins Project <https://lsp-plug.in/>
3+
* (C) 2024 Vladimir Sadovnikov <[email protected]>
44
*
55
* This file is part of lsp-plugins-trigger
66
* Created on: 31 июл. 2021 г.
@@ -93,7 +93,7 @@ namespace lsp
9393
protected:
9494
struct afile_t
9595
{
96-
size_t nID; // ID of sample
96+
uint32_t nID; // ID of sample
9797
AFLoader *pLoader; // Audio file loader task
9898
AFRenderer *pRenderer; // Audio file renderer task
9999
dspu::Toggle sListen; // Listen toggle
@@ -102,8 +102,8 @@ namespace lsp
102102
dspu::Sample *pProcessed; // Processed sample
103103
float *vThumbs[meta::trigger_metadata::TRACKS_MAX]; // List of thumbnails
104104

105-
size_t nUpdateReq; // Update request
106-
size_t nUpdateResp; // Update response
105+
uint32_t nUpdateReq; // Update request
106+
uint32_t nUpdateResp; // Update response
107107
bool bSync; // Sync flag
108108
float fVelocity; // Velocity
109109
float fPitch; // Pitch (st)

make/configure.mk

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,10 @@ define _modconfig =
127127
$(if $($(name)_OBJ_TEST),, $(eval $(name)_OBJ_TEST := "$($(name)_BIN)/$($(name)_NAME)-test.o"))
128128
$(if $($(name)_MFLAGS),, $(eval $(name)_MFLAGS := $(if $(publisher),,"-D$(name)_BUILTIN -fvisibility=hidden")))
129129

130+
$(if $(HOST_$(name)_NAME),, $(eval HOST_$(name)_NAME := $($(name)_NAME)))
131+
$(if $(HOST_$(name)_DESC),, $(eval HOST_$(name)_DESC := $($(name)_DESC)))
132+
$(if $(HOST_$(name)_URL),, $(eval HOST_$(name)_URL := $($(name)_URL$(X_URL_SUFFIX))))
133+
130134
$(if $(HOST_$(name)_PATH),, $(eval HOST_$(name)_PATH := $(MODULES)/$($(name)_NAME)))
131135
$(if $(HOST_$(name)_INC),, $(eval HOST_$(name)_INC := $(HOST_$(name)_PATH)/include))
132136
$(if $(HOST_$(name)_SRC),, $(eval HOST_$(name)_SRC := $(HOST_$(name)_PATH)/src))
@@ -164,6 +168,10 @@ define hdrconfig =
164168
$(if $($(name)_TESTING),, $(eval $(name)_TESTING := 0))
165169
$(if $($(name)_CFLAGS),, $(eval $(name)_CFLAGS := "$(if $($(name)_INC_OPT),$($(name)_INC_OPT) ,-I )\"$($(name)_INC)\""$(if $(publisher), "-D$(name)_PUBLISHER")))
166170
$(if $($(name)_MFLAGS),, $(eval $(name)_MFLAGS := "-D$(name)_BUILTIN -fvisibility=hidden"))
171+
172+
$(if $(HOST_$(name)_NAME),, $(eval HOST_$(name)_NAME := $($(name)_NAME)))
173+
$(if $(HOST_$(name)_DESC),, $(eval HOST_$(name)_DESC := $($(name)_DESC)))
174+
$(if $(HOST_$(name)_URL),, $(eval HOST_$(name)_URL := $($(name)_URL$(X_URL_SUFFIX))))
167175

168176
$(if $(HOST_$(name)_PATH),, $(eval HOST_$(name)_PATH := $(MODULES)/$($(name)_NAME)))
169177
$(if $(HOST_$(name)_INC),, $(eval HOST_$(name)_INC := $(HOST_$(name)_PATH)/include))
@@ -192,6 +200,9 @@ define plugconfig =
192200
$(if $($(name)_OBJ_UI),, $(eval $(name)_OBJ_UI := "$($(name)_BIN)/$($(name)_NAME)-ui.o"))
193201
$(if $($(name)_OBJ_TEST),, $(eval $(name)_OBJ_TEST := "$($(name)_BIN)/$($(name)_NAME)-test.o"))
194202
$(if $($(name)_MFLAGS),, $(eval $(name)_MFLAGS := $(if $(publisher),,"-D$(name)_BUILTIN -fvisibility=hidden")))
203+
204+
$(if $(HOST_$(name)_NAME),, $(eval HOST_$(name)_NAME := $($(name)_NAME)))
205+
$(if $(HOST_$(name)_DESC),, $(eval HOST_$(name)_DESC := $($(name)_DESC)))
195206

196207
$(if $(HOST_$(name)_PATH),, $(eval HOST_$(name)_PATH := $(MODULES)/$($(name)_NAME)))
197208
$(if $(HOST_$(name)_INC),, $(eval HOST_$(name)_INC := $(HOST_$(name)_PATH)/include))
@@ -277,6 +288,8 @@ CONFIG_VARS = \
277288
$(name)_OBJ_UI \
278289
$(name)_OBJ_TEST \
279290
\
291+
HOST_$(name)_NAME \
292+
HOST_$(name)_DESC \
280293
HOST_$(name)_PATH \
281294
HOST_$(name)_INC \
282295
HOST_$(name)_SRC \
@@ -305,8 +318,9 @@ $(CONFIG_VARS): prepare
305318
echo "$(@)=$($(@))" >> "$(CONFIG)"
306319

307320
config: $(CONFIG_VARS)
308-
echo "Architecture: $(ARCHITECTURE_FAMILY)/$(ARCHITECTURE) ($(ARCHITECTURE_CFLAGS))"
309-
echo "Features: $(FEATURES)"
321+
echo "Host architecture: $(HOST_ARCHITECTURE_FAMILY)/$(HOST_ARCHITECTURE) ($(HOST_ARCHITECTURE_CFLAGS))"
322+
echo "Architecture: $(ARCHITECTURE_FAMILY)/$(ARCHITECTURE) ($(ARCHITECTURE_CFLAGS))"
323+
echo "Features: $(FEATURES)"
310324
echo "Configured OK"
311325

312326
help: | pathvars toolvars sysvars

make/modules.mk

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,15 @@ UNIQ_ALL_DEPENDENCIES := $(filter-out $(ARTIFACT_ID),$(call uniq, $(ALL_DEP
4848
MODULES ?= $(BASEDIR)/modules
4949
GIT ?= git
5050

51+
ifeq ($(DEVEL),1)
52+
X_URL_SUFFIX = _RW
53+
else
54+
X_URL_SUFFIX = _RO
55+
endif
56+
5157
ifeq ($(TREE),1)
5258
$(foreach dep,$(UNIQ_ALL_DEPENDENCIES), \
53-
$(eval $(dep)_URL=$($(dep)_URL_RO)) \
59+
$(eval $(dep)_URL=$($(dep)_URL$(X_URL_SUFFIX))) \
5460
)
5561

5662
ifeq ($(findstring -devel,$(ARTIFACT_VERSION)),-devel)

make/paths.mk

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
ifndef PREFIX
2323
ifeq ($(PLATFORM),Windows)
2424
PREFIX := $(BASEDIR)/INSTALL
25+
else ifeq ($(CROSS_COMPILE),1)
26+
PREFIX := $(BASEDIR)/INSTALL
2527
else
2628
PREFIX := /usr/local
2729
endif
@@ -42,7 +44,11 @@ SHAREDDIR := $(PREFIX)/share
4244
INCDIR := $(PREFIX)/include
4345
BUILDDIR := $(BASEDIR)/.build
4446
TARGET_BUILDDIR := $(BUILDDIR)/target
45-
HOST_BUILDDIR := $(BUILDDIR)/host
47+
ifeq ($(CROSS_COMPILE),1)
48+
HOST_BUILDDIR := $(BUILDDIR)/host
49+
else
50+
HOST_BUILDDIR := $(TARGET_BUILDDIR)
51+
endif
4652
MODULES := $(BASEDIR)/modules
4753
CONFIG := $(BASEDIR)/.config.mk
4854

@@ -61,6 +67,15 @@ ifndef INCDIR
6167
INCDIR := $(PREFIX)/include
6268
endif
6369

70+
# Shared resources
71+
ifndef SHAREDDIR
72+
ifeq ($(PLATFORM),Haiku)
73+
SHAREDDIR := $(PREFIX)/data
74+
else
75+
SHAREDDIR := $(PREFIX)/share
76+
endif
77+
endif
78+
6479
# Temporary directory
6580
ifndef TEMPDIR
6681
ifeq ($(PLATFORM),Windows)

make/system.mk

Lines changed: 105 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -38,108 +38,119 @@ ifndef PLATFORM
3838
PLATFORM := Linux
3939
else ifeq ($(findstring SunOS,$(BUILD_SYSTEM)),SunOS)
4040
PLATFORM := Solaris
41+
else ifeq ($(findstring Darwin,$(BUILD_SYSTEM)),Darwin)
42+
PLATFORM := MacOS
43+
else ifeq ($(findstring Haiku,$(BUILD_SYSTEM)),Haiku)
44+
PLATFORM := Haiku
4145
endif
4246
endif
4347

4448
# Detect system processor architecture
45-
ifndef ARCHITECTURE
46-
ifeq ($(PLATFORM),Windows)
47-
BUILD_ARCH := $(PROCESSOR_ARCHITECTURE)
48-
else
49-
BUILD_ARCH := $(shell uname -m)
50-
endif
49+
ifeq ($(PLATFORM),Windows)
50+
HOST_BUILD_ARCH := $(PROCESSOR_ARCHITECTURE)
5151
else
52-
BUILD_ARCH := $(ARCHITECTURE)
52+
HOST_BUILD_ARCH := $(shell uname -m)
5353
endif
54+
BUILD_ARCH := $(if $(ARCHITECTURE),$(ARCHITECTURE),$(HOST_BUILD_ARCH))
5455

55-
# Set actual architecture
56+
# Set actual architecture for HOST and TARGET builds
5657
# The current architecture can be obtained by: gcc -Q --help=target
57-
ifeq ($(BUILD_ARCH),armel)
58-
override ARCHITECTURE = $(BUILD_ARCH)
59-
ARCHITECTURE_FAMILY = generic
60-
ARCHITECTURE_CFLAGS :=
61-
else ifeq ($(BUILD_ARCH),armhf)
62-
override ARCHITECTURE = arm32
63-
ARCHITECTURE_FAMILY = arm32
64-
ARCHITECTURE_CFLAGS := -march=armv7-a+fp -marm
65-
else ifeq ($(patsubst armv6%,armv6,$(BUILD_ARCH)),armv6)
66-
override ARCHITECTURE = arm32
67-
ARCHITECTURE_FAMILY = arm32
68-
ARCHITECTURE_CFLAGS := -march=armv6 -marm
69-
else ifeq ($(patsubst armv7ve%,armv7ve,$(BUILD_ARCH)),armv7ve)
70-
override ARCHITECTURE = arm32
71-
ARCHITECTURE_FAMILY = arm32
72-
ARCHITECTURE_CFLAGS := -march=armv7ve -marm
73-
else ifeq ($(patsubst armv7%,armv7,$(BUILD_ARCH)),armv7)
74-
override ARCHITECTURE = arm32
75-
ARCHITECTURE_FAMILY = arm32
76-
ARCHITECTURE_CFLAGS := -march=armv7-a -marm
77-
else ifeq ($(patsubst armv8%,armv8,$(BUILD_ARCH)),armv8)
78-
override ARCHITECTURE = arm32
79-
ARCHITECTURE_FAMILY = arm32
80-
ARCHITECTURE_CFLAGS := -march=armv7-a -marm
81-
else ifeq ($(patsubst aarch64%,aarch64,$(BUILD_ARCH)),aarch64)
82-
override ARCHITECTURE = aarch64
83-
ARCHITECTURE_FAMILY = aarch64
84-
ARCHITECTURE_CFLAGS := -march=armv8-a
85-
else ifeq ($(BUILD_ARCH),arm64)
86-
override ARCHITECTURE = aarch64
87-
ARCHITECTURE_FAMILY = aarch64
88-
ARCHITECTURE_CFLAGS := -march=armv8-a
89-
else ifeq ($(BUILD_ARCH),arm32)
90-
override ARCHITECTURE = arm32
91-
ARCHITECTURE_FAMILY = arm32
92-
ARCHITECTURE_CFLAGS := -march=armv6 -marm
93-
else ifeq ($(BUILD_ARCH),arm)
94-
override ARCHITECTURE = arm32
95-
ARCHITECTURE_FAMILY = arm32
96-
ARCHITECTURE_CFLAGS := -march=armv6 -marm
97-
else ifeq ($(patsubst %x86_64%,x86_64,$(BUILD_ARCH)),x86_64)
98-
override ARCHITECTURE = x86_64
99-
ARCHITECTURE_FAMILY = x86_64
100-
ARCHITECTURE_CFLAGS := -march=x86-64 -m64
101-
else ifeq ($(patsubst %amd64%,amd64,$(BUILD_ARCH)),amd64)
102-
override ARCHITECTURE = x86_64
103-
ARCHITECTURE_FAMILY = x86_64
104-
ARCHITECTURE_CFLAGS := -march=x86-64 -m64
105-
else ifeq ($(patsubst %AMD64%,AMD64,$(BUILD_ARCH)),AMD64)
106-
override ARCHITECTURE = x86_64
107-
ARCHITECTURE_FAMILY = x86_64
108-
ARCHITECTURE_CFLAGS := -march=x86-64 -m64
109-
else ifeq ($(BUILD_ARCH),i86pc)
110-
override ARCHITECTURE = x86_64
111-
ARCHITECTURE_FAMILY = x86_64
112-
ARCHITECTURE_CFLAGS := -march=x86-64 -m64
113-
else ifeq ($(patsubst %i686%,i686,$(BUILD_ARCH)),i686)
114-
override ARCHITECTURE = i686
115-
ARCHITECTURE_FAMILY = ia32
116-
ARCHITECTURE_CFLAGS := -march=i686 -m32
117-
else ifeq ($(patsubst i%86,i586,$(BUILD_ARCH)),i586)
118-
override ARCHITECTURE = i586
119-
ARCHITECTURE_FAMILY = ia32
120-
ARCHITECTURE_CFLAGS := -march=i586 -m32
121-
else ifeq ($(BUILD_ARCH),x86)
122-
override ARCHITECTURE = i686
123-
ARCHITECTURE_FAMILY = ia32
124-
ARCHITECTURE_CFLAGS := -march=i686 -m32
125-
else ifeq ($(BUILD_ARCH),riscv32)
126-
override ARCHITECTURE = riscv32
127-
ARCHITECTURE_FAMILY = riscv32
128-
ARCHITECTURE_CFLAGS := -march=rv32imafdc -mabi=lp32d
129-
else ifeq ($(BUILD_ARCH),riscv64)
130-
override ARCHITECTURE = riscv64
131-
ARCHITECTURE_FAMILY = riscv64
132-
ARCHITECTURE_CFLAGS := -march=rv64imafdc -mabi=lp64d
133-
else
134-
override ARCHITECTURE = $(BUILD_ARCH)
135-
ARCHITECTURE_FAMILY = generic
136-
ARCHITECTURE_CFLAGS :=
137-
endif
58+
define detect_architecture =
59+
ifeq ($(1),armel)
60+
$(2)_NAME = $(1)
61+
$(2)_FAMILY = generic
62+
$(2)_CFLAGS :=
63+
else ifeq ($(1),armhf)
64+
$(2)_NAME = arm32
65+
$(2)_FAMILY = arm32
66+
$(2)_CFLAGS := -march=armv7-a+fp -marm
67+
else ifeq ($(patsubst armv6%,armv6,$(1)),armv6)
68+
$(2)_NAME = arm32
69+
$(2)_FAMILY = arm32
70+
$(2)_CFLAGS := -march=armv6 -marm
71+
else ifeq ($(patsubst armv7ve%,armv7ve,$(1)),armv7ve)
72+
$(2)_NAME = arm32
73+
$(2)_FAMILY = arm32
74+
$(2)_CFLAGS := -march=armv7ve -marm
75+
else ifeq ($(patsubst armv7%,armv7,$(1)),armv7)
76+
$(2)_NAME = arm32
77+
$(2)_FAMILY = arm32
78+
$(2)_CFLAGS := -march=armv7-a -marm
79+
else ifeq ($(patsubst armv8%,armv8,$(1)),armv8)
80+
$(2)_NAME = arm32
81+
$(2)_FAMILY = arm32
82+
$(2)_CFLAGS := -march=armv7-a -marm
83+
else ifeq ($(patsubst aarch64%,aarch64,$(1)),aarch64)
84+
$(2)_NAME = aarch64
85+
$(2)_FAMILY = aarch64
86+
$(2)_CFLAGS := -march=armv8-a
87+
else ifeq ($(1),arm64)
88+
$(2)_NAME = aarch64
89+
$(2)_FAMILY = aarch64
90+
$(2)_CFLAGS := -march=armv8-a
91+
else ifeq ($(1),arm32)
92+
$(2)_NAME = arm32
93+
$(2)_FAMILY = arm32
94+
$(2)_CFLAGS := -march=armv6 -marm
95+
else ifeq ($(1),arm)
96+
$(2)_NAME = arm32
97+
$(2)_FAMILY = arm32
98+
$(2)_CFLAGS := -march=armv6 -marm
99+
else ifeq ($(patsubst %x86_64%,x86_64,$(1)),x86_64)
100+
$(2)_NAME = x86_64
101+
$(2)_FAMILY = x86_64
102+
$(2)_CFLAGS := -march=x86-64 -m64
103+
else ifeq ($(patsubst %amd64%,amd64,$(1)),amd64)
104+
$(2)_NAME = x86_64
105+
$(2)_FAMILY = x86_64
106+
$(2)_CFLAGS := -march=x86-64 -m64
107+
else ifeq ($(patsubst %AMD64%,AMD64,$(1)),AMD64)
108+
$(2)_NAME = x86_64
109+
$(2)_FAMILY = x86_64
110+
$(2)_CFLAGS := -march=x86-64 -m64
111+
else ifeq ($(1),i86pc)
112+
$(2)_NAME = x86_64
113+
$(2)_FAMILY = x86_64
114+
$(2)_CFLAGS := -march=x86-64 -m64
115+
else ifeq ($(patsubst %i686%,i686,$(1)),i686)
116+
$(2)_NAME = i686
117+
$(2)_FAMILY = ia32
118+
$(2)_CFLAGS := -march=i686 -m32
119+
else ifeq ($(patsubst i%86,i586,$(1)),i586)
120+
$(2)_NAME = i586
121+
$(2)_FAMILY = ia32
122+
$(2)_CFLAGS := -march=i586 -m32
123+
else ifeq ($(1),x86)
124+
$(2)_NAME = i686
125+
$(2)_FAMILY = ia32
126+
$(2)_CFLAGS := -march=i686 -m32
127+
else ifeq ($(1),riscv32)
128+
$(2)_NAME = riscv32
129+
$(2)_FAMILY = riscv32
130+
$(2)_CFLAGS := -march=rv32imafdc -mabi=lp32d
131+
else ifeq ($(1),riscv64)
132+
$(2)_NAME = riscv64
133+
$(2)_FAMILY = riscv64
134+
$(2)_CFLAGS := -march=rv64imafdc -mabi=lp64d
135+
else
136+
$(2)_NAME = $(1)
137+
$(2)_FAMILY = generic
138+
$(2)_CFLAGS :=
139+
endif
140+
endef
141+
142+
$(eval $(call detect_architecture,$(BUILD_ARCH),ARCHITECTURE))
143+
$(eval $(call detect_architecture,$(HOST_BUILD_ARCH),HOST_ARCHITECTURE))
144+
145+
override ARCHITECTURE = $(ARCHITECTURE_NAME)
146+
override HOST_ARCHITECTURE = $(HOST_ARCHITECTURE_NAME)
138147

139148
# Extension of libraries
140149
ifndef LIBRARY_EXT
141150
ifeq ($(PLATFORM),Windows)
142151
LIBRARY_EXT := .dll
152+
else ifeq ($(PLATFORM),MacOS)
153+
LIBRARY_EXT := .dylib
143154
else
144155
LIBRARY_EXT := .so
145156
endif
@@ -180,10 +191,14 @@ COMMON_VARS = \
180191
ARCHITECTURE \
181192
ARCHITECTURE_FAMILY \
182193
ARCHITECTURE_CFLAGS \
194+
CROSS_COMPILE \
183195
DEBUG \
184196
EXECUTABLE_EXT \
185197
EXPORT_SYMBOLS \
186198
FEATURES \
199+
HOST_ARCHITECTURE \
200+
HOST_ARCHITECTURE_FAMILY \
201+
HOST_ARCHITECTURE_CFLAGS \
187202
INSTALL_HEADERS \
188203
LIBRARY_EXT \
189204
LIBRARY_PREFIX \
@@ -205,6 +220,7 @@ sysvars:
205220
echo " ARCHITECTURE_CFLAGS compiler flags to specify architecture"
206221
echo " ARCHITECTURE_FAMILY compiler flags to specify architecture family"
207222
echo " ARCHITECTURE_LDFLAGS linker flags to specify architecture"
223+
echo " CROSS_COMPILE enable/disable cross-compilation"
208224
echo " DEBUG build with debug options"
209225
echo " DEVEL build with modules checked out for read/write URL"
210226
echo " EXECUTABLE_EXT file extension for executable files"

0 commit comments

Comments
 (0)