Skip to content

Commit aa14beb

Browse files
committed
Release 1.0.25
* Replaced CcomboGroup with TabGroup when selecting samples. * Added button that allows to stop sample preview listening. * Updated build scripts and dependencies.
2 parents 29875bc + 196c7bd commit aa14beb

File tree

14 files changed

+222
-148
lines changed

14 files changed

+222
-148
lines changed

CHANGELOG

+5
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22
* RECENT CHANGES
33
*******************************************************************************
44

5+
=== 1.0.25 ===
6+
* Replaced CcomboGroup with TabGroup when selecting samples.
7+
* Added button that allows to stop sample preview listening.
8+
* Updated build scripts and dependencies.
9+
510
=== 1.0.24 ===
611
* Fixed compilation on modern compilers.
712
* Updated build scripts and dependencies.

include/private/plugins/trigger_kernel.h

+5-2
Original file line numberDiff line numberDiff line change
@@ -97,10 +97,12 @@ namespace lsp
9797
AFLoader *pLoader; // Audio file loader task
9898
AFRenderer *pRenderer; // Audio file renderer task
9999
dspu::Toggle sListen; // Listen toggle
100+
dspu::Toggle sStop; // Stop toggle
100101
dspu::Blink sNoteOn; // Note on led
101102
dspu::Sample *pOriginal; // Source sample (original, as from source file)
102103
dspu::Sample *pProcessed; // Processed sample
103104
float *vThumbs[meta::trigger_metadata::TRACKS_MAX]; // List of thumbnails
105+
dspu::Playback vPlaybacks[4]; // Playbacks
104106

105107
uint32_t nUpdateReq; // Update request
106108
uint32_t nUpdateResp; // Update response
@@ -129,6 +131,7 @@ namespace lsp
129131
plug::IPort *pVelocity; // Velocity range top
130132
plug::IPort *pPreDelay; // Pre-delay
131133
plug::IPort *pListen; // Listen trigger
134+
plug::IPort *pStop; // Stop trigger
132135
plug::IPort *pReverse; // Reverse sample
133136
plug::IPort *pGains[meta::trigger_metadata::TRACKS_MAX]; // List of gain ports
134137
plug::IPort *pLength; // Length of the file
@@ -147,7 +150,6 @@ namespace lsp
147150
dspu::SamplePlayer vChannels[meta::trigger_metadata::TRACKS_MAX]; // List of channels
148151
dspu::Bypass vBypass[meta::trigger_metadata::TRACKS_MAX]; // List of bypasses
149152
dspu::Blink sActivity; // Note on led for instrument
150-
dspu::Toggle sListen; // Listen toggle
151153
dspu::Randomizer sRandom; // Randomizer
152154
GCTask sGCTask; // Garbage collection task
153155

@@ -165,7 +167,6 @@ namespace lsp
165167
plug::IPort *pDynamics; // Dynamics port
166168
plug::IPort *pDrift; // Time drifting port
167169
plug::IPort *pActivity; // Activity port
168-
plug::IPort *pListen; // Listen trigger
169170
uint8_t *pData; // Pointer to aligned data
170171

171172

@@ -190,6 +191,8 @@ namespace lsp
190191
void process_listen_events();
191192
void play_samples(float **outs, const float **ins, size_t samples);
192193
void output_parameters(size_t samples);
194+
void listen_sample(afile_t *af);
195+
void cancel_listen(afile_t *af);
193196

194197
template <class T>
195198
static void commit_afile_value(afile_t *af, T & field, plug::IPort *port);

make/tools.mk

+8-2
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ INSTALL ?= $(X_INSTALL_TOOL)
8888
# Patch flags and tools for (cross) build
8989
FLAG_RELRO := -Wl,-z,relro,-z,now
9090
FLAG_STDLIB :=
91+
FLAG_GC_SECTIONS := -Wl,--gc-sections
9192
NOARCH_CFLAGS :=
9293
NOARCH_CXXFLAGS :=
9394
NOARCH_EXE_FLAGS :=
@@ -105,6 +106,11 @@ else ifeq ($(PLATFORM),Windows)
105106
NOARCH_EXE_FLAGS += -static-libgcc -static-libstdc++
106107
NOARCH_SO_FLAGS += -static-libgcc -static-libstdc++
107108
NOARCH_LDFLAGS += -T $(CURDIR)/make/ld-windows.script
109+
else ifeq ($(PLATFORM),MacOS)
110+
FLAG_RELRO =
111+
FLAG_GC_SECTIONS =
112+
NOARCH_CXXFLAGS += -std=c++0x
113+
NOARCH_LDFLAGS += -keep_private_externs
108114
else ifeq ($(PLATFORM),BSD)
109115
NOARCH_EXE_FLAGS += -L/usr/local/lib
110116
NOARCH_SO_FLAGS += -L/usr/local/lib
@@ -194,11 +200,11 @@ NOARCH_LDFLAGS += -r
194200
LDFLAGS := $(ARCHITECTURE_LDFLAGS) $(NOARCH_LDFLAGS)
195201
HOST_LDFLAGS := $(HOST_ARCHITECTURE_LDFLAGS) $(NOARCH_LDFLAGS)
196202

197-
NOARCH_EXE_FLAGS += $(FLAG_RELRO) -Wl,--gc-sections
203+
NOARCH_EXE_FLAGS += $(FLAG_RELRO) $(FLAG_GC_SECTIONS)
198204
EXE_FLAGS := $(ARCHITECTURE_CFLAGS) $(NOARCH_EXE_FLAGS)
199205
HOST_EXE_FLAGS := $(HOST_ARCHITECTURE_CFLAGS) $(NOARCH_EXE_FLAGS)
200206

201-
NOARCH_SO_FLAGS += $(FLAG_RELRO) -Wl,--gc-sections -shared $(FLAG_STDLIB) -fPIC
207+
NOARCH_SO_FLAGS += $(FLAG_RELRO) $(FLAG_GC_SECTIONS) -shared $(FLAG_STDLIB) -fPIC
202208
SO_FLAGS := $(ARCHITECTURE_CFLAGS) $(NOARCH_SO_FLAGS)
203209
HOST_SO_FLAGS := $(HOST_ARCHITECTURE_CFLAGS) $(NOARCH_SO_FLAGS)
204210

modules.mk

+15-15
Original file line numberDiff line numberDiff line change
@@ -19,93 +19,93 @@
1919
#
2020

2121
# Variables that describe dependencies
22-
LSP_3RD_PARTY_VERSION := 1.0.19
22+
LSP_3RD_PARTY_VERSION := 1.0.20
2323
LSP_3RD_PARTY_NAME := lsp-3rd-party
2424
LSP_3RD_PARTY_TYPE := hdr
2525
LSP_3RD_PARTY_INC_OPT := -idirafter
2626
LSP_3RD_PARTY_URL_RO := https://github.com/lsp-plugins/$(LSP_3RD_PARTY_NAME).git
2727
LSP_3RD_PARTY_URL_RW := [email protected]:lsp-plugins/$(LSP_3RD_PARTY_NAME).git
2828

29-
LSP_COMMON_LIB_VERSION := 1.0.39
29+
LSP_COMMON_LIB_VERSION := 1.0.40
3030
LSP_COMMON_LIB_NAME := lsp-common-lib
3131
LSP_COMMON_LIB_TYPE := src
3232
LSP_COMMON_LIB_URL_RO := https://github.com/lsp-plugins/$(LSP_COMMON_LIB_NAME).git
3333
LSP_COMMON_LIB_URL_RW := [email protected]:lsp-plugins/$(LSP_COMMON_LIB_NAME).git
3434

35-
LSP_DSP_LIB_VERSION := 1.0.27
35+
LSP_DSP_LIB_VERSION := 1.0.28
3636
LSP_DSP_LIB_NAME := lsp-dsp-lib
3737
LSP_DSP_LIB_TYPE := src
3838
LSP_DSP_LIB_URL_RO := https://github.com/lsp-plugins/$(LSP_DSP_LIB_NAME).git
3939
LSP_DSP_LIB_URL_RW := [email protected]:lsp-plugins/$(LSP_DSP_LIB_NAME).git
4040

41-
LSP_DSP_UNITS_VERSION := 1.0.26
41+
LSP_DSP_UNITS_VERSION := 1.0.27
4242
LSP_DSP_UNITS_NAME := lsp-dsp-units
4343
LSP_DSP_UNITS_TYPE := src
4444
LSP_DSP_UNITS_URL_RO := https://github.com/lsp-plugins/$(LSP_DSP_UNITS_NAME).git
4545
LSP_DSP_UNITS_URL_RW := [email protected]:lsp-plugins/$(LSP_DSP_UNITS_NAME).git
4646

47-
LSP_LLTL_LIB_VERSION := 1.0.22
47+
LSP_LLTL_LIB_VERSION := 1.0.23
4848
LSP_LLTL_LIB_NAME := lsp-lltl-lib
4949
LSP_LLTL_LIB_TYPE := src
5050
LSP_LLTL_LIB_URL_RO := https://github.com/lsp-plugins/$(LSP_LLTL_LIB_NAME).git
5151
LSP_LLTL_LIB_URL_RW := [email protected]:lsp-plugins/$(LSP_LLTL_LIB_NAME).git
5252

53-
LSP_R3D_BASE_LIB_VERSION := 1.0.21
53+
LSP_R3D_BASE_LIB_VERSION := 1.0.22
5454
LSP_R3D_BASE_LIB_NAME := lsp-r3d-base-lib
5555
LSP_R3D_BASE_LIB_TYPE := src
5656
LSP_R3D_BASE_LIB_URL_RO := https://github.com/lsp-plugins/$(LSP_R3D_BASE_LIB_NAME).git
5757
LSP_R3D_BASE_LIB_URL_RW := [email protected]:lsp-plugins/$(LSP_R3D_BASE_LIB_NAME).git
5858

59-
LSP_R3D_IFACE_VERSION := 1.0.21
59+
LSP_R3D_IFACE_VERSION := 1.0.22
6060
LSP_R3D_IFACE_NAME := lsp-r3d-iface
6161
LSP_R3D_IFACE_TYPE := src
6262
LSP_R3D_IFACE_URL_RO := https://github.com/lsp-plugins/$(LSP_R3D_IFACE_NAME).git
6363
LSP_R3D_IFACE_URL_RW := [email protected]:lsp-plugins/$(LSP_R3D_IFACE_NAME).git
6464

65-
LSP_R3D_GLX_LIB_VERSION := 1.0.21
65+
LSP_R3D_GLX_LIB_VERSION := 1.0.22
6666
LSP_R3D_GLX_LIB_NAME := lsp-r3d-glx-lib
6767
LSP_R3D_GLX_LIB_TYPE := bin
6868
LSP_R3D_GLX_LIB_URL_RO := https://github.com/lsp-plugins/$(LSP_R3D_GLX_LIB_NAME).git
6969
LSP_R3D_GLX_LIB_URL_RW := [email protected]:lsp-plugins/$(LSP_R3D_GLX_LIB_NAME).git
7070

71-
LSP_R3D_WGL_LIB_VERSION := 1.0.16
71+
LSP_R3D_WGL_LIB_VERSION := 1.0.17
7272
LSP_R3D_WGL_LIB_NAME := lsp-r3d-wgl-lib
7373
LSP_R3D_WGL_LIB_TYPE := bin
7474
LSP_R3D_WGL_LIB_URL_RO := https://github.com/lsp-plugins/$(LSP_R3D_WGL_LIB_NAME).git
7575
LSP_R3D_WGL_LIB_URL_RW := [email protected]:lsp-plugins/$(LSP_R3D_WGL_LIB_NAME).git
7676

77-
LSP_RUNTIME_LIB_VERSION := 1.0.25
77+
LSP_RUNTIME_LIB_VERSION := 1.0.26
7878
LSP_RUNTIME_LIB_NAME := lsp-runtime-lib
7979
LSP_RUNTIME_LIB_TYPE := src
8080
LSP_RUNTIME_LIB_URL_RO := https://github.com/lsp-plugins/$(LSP_RUNTIME_LIB_NAME).git
8181
LSP_RUNTIME_LIB_URL_RW := [email protected]:lsp-plugins/$(LSP_RUNTIME_LIB_NAME).git
8282

83-
LSP_TEST_FW_VERSION := 1.0.28
83+
LSP_TEST_FW_VERSION := 1.0.29
8484
LSP_TEST_FW_NAME := lsp-test-fw
8585
LSP_TEST_FW_TYPE := src
8686
LSP_TEST_FW_URL_RO := https://github.com/lsp-plugins/$(LSP_TEST_FW_NAME).git
8787
LSP_TEST_FW_URL_RW := [email protected]:lsp-plugins/$(LSP_TEST_FW_NAME).git
8888

89-
LSP_TK_LIB_VERSION := 1.0.25
89+
LSP_TK_LIB_VERSION := 1.0.26
9090
LSP_TK_LIB_NAME := lsp-tk-lib
9191
LSP_TK_LIB_TYPE := src
9292
LSP_TK_LIB_URL_RO := https://github.com/lsp-plugins/$(LSP_TK_LIB_NAME).git
9393
LSP_TK_LIB_URL_RW := [email protected]:lsp-plugins/$(LSP_TK_LIB_NAME).git
9494

95-
LSP_WS_LIB_VERSION := 1.0.25
95+
LSP_WS_LIB_VERSION := 1.0.26
9696
LSP_WS_LIB_NAME := lsp-ws-lib
9797
LSP_WS_LIB_TYPE := src
9898
LSP_WS_LIB_URL_RO := https://github.com/lsp-plugins/$(LSP_WS_LIB_NAME).git
9999
LSP_WS_LIB_URL_RW := [email protected]:lsp-plugins/$(LSP_WS_LIB_NAME).git
100100

101101
# Plugin-related module dependencies
102-
LSP_PLUGIN_FW_VERSION := 1.0.27
102+
LSP_PLUGIN_FW_VERSION := 1.0.28
103103
LSP_PLUGIN_FW_NAME := lsp-plugin-fw
104104
LSP_PLUGIN_FW_TYPE := src
105105
LSP_PLUGIN_FW_URL_RO := https://github.com/lsp-plugins/$(LSP_PLUGIN_FW_NAME).git
106106
LSP_PLUGIN_FW_URL_RW := [email protected]:lsp-plugins/$(LSP_PLUGIN_FW_NAME).git
107107

108-
LSP_PLUGINS_SHARED_VERSION := 1.0.26
108+
LSP_PLUGINS_SHARED_VERSION := 1.0.27
109109
LSP_PLUGINS_SHARED_NAME := lsp-plugins-shared
110110
LSP_PLUGINS_SHARED_TYPE := src
111111
LSP_PLUGINS_SHARED_URL_RO := https://github.com/lsp-plugins/$(LSP_PLUGINS_SHARED_NAME).git

project.mk

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ ARTIFACT_TYPE = plug
2525
ARTIFACT_DESC = LSP Trigger Plugin Series
2626
ARTIFACT_HEADERS = lsp-plug.in
2727
ARTIFACT_EXPORT_HEADERS = 0
28-
ARTIFACT_VERSION = 1.0.24
28+
ARTIFACT_VERSION = 1.0.25
2929

3030

3131

25.8 KB
Loading
34.6 KB
Loading

res/doc/screenshots/trigger_mono.png

56.2 KB
Loading
23.6 KB
Loading

res/main/ui/trigger/single/mono.xml

+49-41
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<vbox spacing="4" expand="true">
1414
<!-- Trigger Graph -->
1515
<group ui:inject="GraphGroup" ipadding="0" text="labels.graphs.trigger" expand="true">
16-
<graph width.min="1008" height.min="330" expand="true" fill="true">
16+
<graph width.min="1020" height.min="340" expand="true" fill="true">
1717
<origin hpos="1" vpos="-1" visible="false"/>
1818
<!-- Gray grid -->
1919
<ui:for id="t" first="0" last="4" step="1">
@@ -137,10 +137,10 @@
137137

138138
<!-- Instrument editor -->
139139
<hbox visibility=":asel ieq 1" spacing="4" expand="true">
140-
<cgroup id="ssel" expand="true" active="0">
140+
<tgroup id="ssel" expand="true" active="0">
141141
<vbox>
142142
<!-- File editor -->
143-
<hbox width.min="650" height.min="256">
143+
<hbox expand="true" width.min="650" height.min="256">
144144
<asample
145145
expand="true"
146146
id="sf[ssel]"
@@ -193,7 +193,7 @@
193193

194194
<void bg.color="bg_graph" pad.v="2" vreduce="true"/>
195195

196-
<grid rows="3" cols="17" bg.color="bg" hspacing="2">
196+
<grid rows="3" cols="19" bg.color="bg" hspacing="2">
197197
<ui:with width.min="50">
198198
<label text="labels.sedit.reverse" bg.color="bg_schema" padding="6"/>
199199
<cell rows="3">
@@ -228,16 +228,14 @@
228228
<vsep hreduce="true" bg.color="bg"/>
229229
</cell>
230230
<label text="labels.sedit.listen" bg.color="bg_schema" padding="6"/>
231-
232-
<cell rows="2">
233-
<vbox bg.color="bg_schema">
234-
<button id="rs[ssel]" size="32"/>
235-
<label pad.b="6"/>
236-
<label pad.b="6"/>
237-
</vbox>
231+
<cell rows="3">
232+
<vsep hreduce="true" bg.color="bg"/>
238233
</cell>
234+
<label text="labels.sedit.stop" bg.color="bg_schema" padding="6"/>
239235
</ui:with>
240236

237+
<button bg.color="bg_schema" id="rs[ssel]" font.size="14" size="32" ui:inject="Button_cyan" font.name="lsp-icons" text="icons.actions.reverse"/>
238+
241239
<ui:with size="20" bg.color="bg_schema" pad="6" pad.t="0">
242240
<knob id="pi[ssel]"/>
243241
<knob id="hc[ssel]"/>
@@ -247,37 +245,42 @@
247245
<knob id="mk[ssel]"/>
248246
<knob id="pd[ssel]"/>
249247
</ui:with>
250-
<cell rows="2">
251-
<vbox bg.color="bg_schema">
252-
<button id="ls[ssel]" size="32" ui:inject="Button_cyan" toggle="false"/>
253-
<label pad.b="6"/>
254-
<label pad.b="6"/>
255-
</vbox>
256-
</cell>
257-
<value id="pi[ssel]" bg.color="bg_schema" pad.b="6"/>
258-
<value id="hc[ssel]" bg.color="bg_schema" pad.b="6"/>
259-
<value id="tc[ssel]" bg.color="bg_schema" pad.b="6"/>
260-
<value id="fi[ssel]" bg.color="bg_schema" pad.b="6"/>
261-
<value id="fo[ssel]" bg.color="bg_schema" pad.b="6"/>
262-
<value id="mk[ssel]" bg.color="bg_schema" pad.b="6"/>
263-
<value id="pd[ssel]" bg.color="bg_schema" pad.b="6"/>
264248

249+
<ui:with bg.color="bg_schema" font.name="lsp-icons" font.size="10" size="32" ui:inject="Button_cyan" toggle="false">
250+
<button id="ls[ssel]" text="icons.playback_big.play"/>
251+
<button id="lc[ssel]" text="icons.playback_big.stop"/>
252+
</ui:with>
253+
254+
<ui:with bg.color="bg_schema" pad.b="6">
255+
<void />
256+
<value id="pi[ssel]" />
257+
<value id="hc[ssel]" />
258+
<value id="tc[ssel]" />
259+
<value id="fi[ssel]" />
260+
<value id="fo[ssel]" />
261+
<value id="mk[ssel]" />
262+
<value id="pd[ssel]" />
263+
<void />
264+
<void />
265+
</ui:with>
265266
</grid>
266267
</vbox>
267-
</cgroup>
268+
</tgroup>
268269
<group text="groups.sample_matrix" expand="true" ipadding="0">
269270
<!-- Sample matrix -->
270-
<grid rows="7" cols="17" transpose="true" hspacing="2" bg.color="bg">
271-
<ui:with bg.color="bg_schema">
272-
<label text="labels.sedit.sample_num" fill="true" halign="0" padding="6"/>
273-
<label text="labels.sedit.enabled" fill="true" halign="0"/>
274-
<label text="labels.midi.velocity" fill="true" halign="0"/>
275-
<label text="labels.midi.code" fill="true" halign="0"/>
276-
<label text="labels.gain" fill="true" halign="0"/>
277-
<label text="labels.units.:db" fill="true" halign="0" pad.b="6"/>
278-
<label text="labels.sedit.listen" fill="true" halign="0"/>
271+
<grid rows="9" cols="17" transpose="true" hspacing="2" bg.color="bg">
272+
<ui:with bg.color="bg_schema" fill="true" halign="0">
273+
<label text="labels.sedit.sample_num" padding="6"/>
274+
<label text="labels.sedit.enabled" />
275+
<label text="labels.midi.velocity" />
276+
<label text="labels.midi.code" />
277+
<label text="labels.gain" />
278+
<label text="labels.units.:db" pad.b="6"/>
279+
<label text="labels.sedit.listen" />
280+
<label text="labels.sedit.stop" />
281+
<void />
279282
</ui:with>
280-
<cell rows="7">
283+
<cell rows="9">
281284
<vsep hreduce="true" />
282285
</cell>
283286

@@ -292,12 +295,17 @@
292295
</vbox>
293296
<knob id="mx_${i}" size="20"/>
294297
<value id="mx_${i}" detailed="false" pad.b="6"/>
295-
<vbox expand="false">
296-
<button id="ls_${i}" size="32" ui:inject="Button_cyan" toggle="false" pad.b="6"/>
297-
<led id="no_${i}" pad.b="6" width="32" height="6"/>
298-
</vbox>
298+
<button id="ls_${i}"
299+
font.name="lsp-icons" font.size="10"
300+
text="icons.playback_big.play"
301+
size="32" ui:inject="Button_cyan" toggle="false" pad.b="6"/>
302+
<button id="lc_${i}"
303+
font.name="lsp-icons" font.size="10"
304+
text="icons.playback_big.stop"
305+
size="32" ui:inject="Button_cyan" toggle="false" pad.b="6" />
306+
<led id="no_${i}" pad.b="6" width="32" height="6"/>
299307
</ui:with>
300-
<cell rows="7">
308+
<cell rows="9">
301309
<vsep hreduce="true" />
302310
</cell>
303311
</ui:for>

0 commit comments

Comments
 (0)