Skip to content

Commit 615028e

Browse files
committed
Upgraded to Jamba 7.4.0 / VST3 SDK 3.8.0
- added plugin version in the UI
1 parent 9b14eff commit 615028e

File tree

6 files changed

+62
-40
lines changed

6 files changed

+62
-40
lines changed

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ include(fetch_jamba.cmake)
1717
include("${JAMBA_ROOT_DIR}/cmake/JambaSetArchitecture.cmake")
1818

1919
set(PLUGIN_MAJOR_VERSION 2025)
20-
set(PLUGIN_MINOR_VERSION 06)
21-
set(PLUGIN_PATCH_VERSION 23)
20+
set(PLUGIN_MINOR_VERSION 11)
21+
set(PLUGIN_PATCH_VERSION 13)
2222
set(PLUGIN_VERSION "${PLUGIN_MAJOR_VERSION}.${PLUGIN_MINOR_VERSION}.${PLUGIN_PATCH_VERSION}")
2323

2424
project("jamba-sample-gain" VERSION "${PLUGIN_VERSION}")

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,10 @@ For windows, follow the same steps for macOS with the following changes:
198198
Release Notes
199199
-------------
200200

201+
# 2025-11-13
202+
* Use the latest version of Jamba (v7.4.0) / VST3 SDK 3.8.0
203+
* Added plugin version in the UI
204+
201205
# 2025-06-23
202206
* Use the latest version of Jamba (v7.3.0) / VST3 SDK 3.7.14
203207
* Change the versioning scheme to be date-related

fetch_jamba.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ cmake_minimum_required(VERSION 3.19)
33
include(FetchContent)
44

55
set(JAMBA_GIT_REPO "https://github.com/pongasoft/jamba" CACHE STRING "Jamba git repository url")
6-
set(JAMBA_GIT_TAG v7.3.0 CACHE STRING "Jamba git tag")
6+
set(JAMBA_GIT_TAG v7.4.0 CACHE STRING "Jamba git tag")
77
set(JAMBA_DOWNLOAD_URL "${JAMBA_GIT_REPO}/archive/refs/tags/${JAMBA_GIT_TAG}.zip" CACHE STRING "Jamba download url")
8-
set(JAMBA_DOWNLOAD_URL_HASH "SHA256=78c6eb75535c12b364e4a1ab2cba7fbf48549557e53d9b9d295c64a2025ff74e" CACHE STRING "Jamba download url hash")
8+
set(JAMBA_DOWNLOAD_URL_HASH "SHA256=d8b8f7c631c833e3e5459126c2b310237f08d7629596fec44b904f495196cbfd" CACHE STRING "Jamba download url hash")
99

1010
if(JAMBA_ROOT_DIR)
1111
message(STATUS "Using jamba from local ${JAMBA_ROOT_DIR}")

resource/JSGain.uidesc

Lines changed: 39 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
"Param_RightGain": "2011",
3535
"Param_Stats": "3000",
3636
"Param_UIMessage": "3010",
37+
"Param_Version": "3020",
3738
"Param_VuPPM": "2000"
3839
},
3940
"custom": {
@@ -57,18 +58,18 @@
5758
"SplitViewSize_1_1": "0.4800531914893617080331011948146624490619",
5859
"SplitViewSize_2_0": "0.6948881789137379971776908860192634165287",
5960
"SplitViewSize_2_1": "0.3011182108626198061784862147760577499866",
60-
"TabSwitchValue": "0",
61+
"TabSwitchValue": "1",
6162
"Version": "1"
6263
},
6364
"UIAttributesController": {},
6465
"UIViewCreatorDataSource": {
65-
"SelectedRow": "7"
66+
"SelectedRow": "13"
6667
},
6768
"UIBitmapsDataSource": {
6869
"SelectedRow": "1"
6970
},
7071
"UITagsDataSource": {
71-
"SelectedRow": "1"
72+
"SelectedRow": "8"
7273
}
7374
},
7475
"templates": {
@@ -88,15 +89,10 @@
8889
"children": {
8990
"CVuMeter": {
9091
"attributes": {
91-
"background-offset": "0, 0",
9292
"bitmap": "vu_on",
9393
"class": "CVuMeter",
9494
"control-tag": "Param_VuPPM",
9595
"decrease-step-value": "0.1",
96-
"default-value": "0",
97-
"max-value": "1",
98-
"min-value": "0",
99-
"mouse-enabled": "true",
10096
"num-led": "100",
10197
"off-bitmap": "vu_off",
10298
"opacity": "1",
@@ -167,12 +163,10 @@
167163
},
168164
"JSGain::LinkedSlider": {
169165
"attributes": {
170-
"background-offset": "0, 0",
171166
"bitmap": "slider_background",
172167
"bitmap-offset": "0, 0",
173168
"class": "JSGain::LinkedSlider",
174169
"control-tag": "Param_LeftGain",
175-
"default-value": "0.7",
176170
"draw-back": "false",
177171
"draw-back-color": "~ BlackCColor",
178172
"draw-frame": "false",
@@ -184,17 +178,13 @@
184178
"frame-width": "1",
185179
"handle-bitmap": "slider_handle",
186180
"handle-offset": "0, 2",
187-
"max-value": "1",
188-
"min-value": "0",
189181
"mode": "touch",
190-
"mouse-enabled": "true",
191182
"opacity": "1",
192183
"orientation": "horizontal",
193184
"origin": "70, 60",
194185
"reverse-orientation": "false",
195186
"size": "130, 18",
196187
"transparent": "false",
197-
"transparent-handle": "true",
198188
"wants-focus": "true",
199189
"wheel-inc-value": "0.1",
200190
"zoom-factor": "10"
@@ -243,15 +233,11 @@
243233
"background-offset": "0, 0",
244234
"class": "CTextLabel",
245235
"control-tag": "Param_LeftGain",
246-
"default-value": "0.7",
247236
"font": "~ NormalFont",
248237
"font-antialias": "true",
249238
"font-color": "~ WhiteCColor",
250239
"frame-color": "~ TransparentCColor",
251240
"frame-width": "1",
252-
"max-value": "1",
253-
"min-value": "0",
254-
"mouse-enabled": "true",
255241
"opacity": "1",
256242
"origin": "220, 60",
257243
"round-rect-radius": "6",
@@ -268,7 +254,6 @@
268254
"text-inset": "0, 0",
269255
"text-rotation": "0",
270256
"text-shadow-offset": "1, 1",
271-
"title": "+0.00dB",
272257
"transparent": "false",
273258
"value-precision": "2",
274259
"wants-focus": "false",
@@ -277,12 +262,10 @@
277262
},
278263
"JSGain::LinkedSlider": {
279264
"attributes": {
280-
"background-offset": "0, 0",
281265
"bitmap": "slider_background",
282266
"bitmap-offset": "0, 0",
283267
"class": "JSGain::LinkedSlider",
284268
"control-tag": "Param_RightGain",
285-
"default-value": "0.7",
286269
"draw-back": "false",
287270
"draw-back-color": "~ BlackCColor",
288271
"draw-frame": "false",
@@ -294,17 +277,13 @@
294277
"frame-width": "1",
295278
"handle-bitmap": "slider_handle",
296279
"handle-offset": "0, 2",
297-
"max-value": "1",
298-
"min-value": "0",
299280
"mode": "touch",
300-
"mouse-enabled": "true",
301281
"opacity": "1",
302282
"orientation": "horizontal",
303283
"origin": "70, 90",
304284
"reverse-orientation": "false",
305285
"size": "130, 18",
306286
"transparent": "false",
307-
"transparent-handle": "true",
308287
"wants-focus": "true",
309288
"wheel-inc-value": "0.1",
310289
"zoom-factor": "10"
@@ -316,15 +295,11 @@
316295
"background-offset": "0, 0",
317296
"class": "CTextLabel",
318297
"control-tag": "Param_RightGain",
319-
"default-value": "0.7",
320298
"font": "~ NormalFont",
321299
"font-antialias": "true",
322300
"font-color": "~ WhiteCColor",
323301
"frame-color": "~ TransparentCColor",
324302
"frame-width": "1",
325-
"max-value": "1",
326-
"min-value": "0",
327-
"mouse-enabled": "true",
328303
"opacity": "1",
329304
"origin": "220, 90",
330305
"round-rect-radius": "6",
@@ -341,7 +316,6 @@
341316
"text-inset": "0, 0",
342317
"text-rotation": "0",
343318
"text-shadow-offset": "1, 1",
344-
"title": "+0.00dB",
345319
"transparent": "false",
346320
"value-precision": "2",
347321
"wants-focus": "false",
@@ -521,17 +495,13 @@
521495
"background-offset": "0, 0",
522496
"class": "jamba::TextEdit",
523497
"control-tag": "Param_InputText",
524-
"default-value": "0.5",
525498
"editor-mode": "false",
526499
"font": "~ NormalFont",
527500
"font-antialias": "true",
528501
"font-color": "~ WhiteCColor",
529502
"frame-color": "~ BlackCColor",
530503
"frame-width": "1",
531504
"immediate-text-change": "false",
532-
"max-value": "1",
533-
"min-value": "0",
534-
"mouse-enabled": "true",
535505
"opacity": "1",
536506
"origin": "70, 120",
537507
"round-rect-radius": "6",
@@ -550,7 +520,6 @@
550520
"text-inset": "0, 0",
551521
"text-rotation": "0",
552522
"text-shadow-offset": "1, 1",
553-
"title": "Hello from GUI",
554523
"transparent": "false",
555524
"value-precision": "2",
556525
"wants-focus": "true",
@@ -559,7 +528,6 @@
559528
},
560529
"JSGain::SendMessage": {
561530
"attributes": {
562-
"background-offset": "0, 0",
563531
"button-image-has-disabled-state": "false",
564532
"class": "JSGain::SendMessage",
565533
"default-value": "0.5",
@@ -624,6 +592,41 @@
624592
"wants-focus": "false",
625593
"wheel-inc-value": "0.1"
626594
}
595+
},
596+
"jamba::ParamDisplay": {
597+
"attributes": {
598+
"back-color": "~ TransparentCColor",
599+
"background-offset": "0, 0",
600+
"class": "jamba::ParamDisplay",
601+
"control-tag": "Param_Version",
602+
"editor-mode": "false",
603+
"font": "~ NormalFontVerySmall",
604+
"font-antialias": "true",
605+
"font-color": "~ WhiteCColor",
606+
"frame-color": "~ TransparentCColor",
607+
"frame-width": "1",
608+
"opacity": "1",
609+
"origin": "250, 130",
610+
"precision-override": "-1",
611+
"round-rect-radius": "6",
612+
"shadow-color": "~ TransparentCColor",
613+
"size": "150, 20",
614+
"style-3D-in": "false",
615+
"style-3D-out": "false",
616+
"style-no-draw": "false",
617+
"style-no-frame": "false",
618+
"style-no-text": "false",
619+
"style-round-rect": "false",
620+
"style-shadow-text": "false",
621+
"text-alignment": "right",
622+
"text-inset": "0, 0",
623+
"text-rotation": "0",
624+
"text-shadow-offset": "1, 1",
625+
"transparent": "false",
626+
"value-precision": "2",
627+
"wants-focus": "false",
628+
"wheel-inc-value": "0.1"
629+
}
627630
}
628631
}
629632
}

src/cpp/JSGainCIDs.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ enum EJSGainParamID : Steinberg::Vst::ParamID
5353
// 3000s represent the Jmb (Jamba) parameters
5454
kStats = 3000,
5555
kUIMessage = 3010,
56+
kPluginVersion = 3020,
5657
};
5758

5859
} // namespace pongasoft

src/cpp/JSGainPlugin.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
#pragma once
99

10+
#include "version.h"
1011
#include "JSGainCIDs.h"
1112
#include "JSGainModel.h"
1213

@@ -105,6 +106,12 @@ class JSGainParameters : public Parameters
105106
//------------------------------------------------------------------------
106107
JmbParam<UIMessage> fUIMessageParam; // UIMessage is a type defined in JSGainModel.h (as well as its serializer)
107108

109+
//------------------------------------------------------------------------
110+
// This is an example of a Jmb param that will display the version
111+
// injected at build time
112+
//------------------------------------------------------------------------
113+
JmbParam<std::string> fPluginVersion;
114+
108115
public:
109116
JSGainParameters()
110117
{
@@ -195,6 +202,13 @@ class JSGainParameters : public Parameters
195202
.shared() // enables GUI -> RT communication (guiOwned)
196203
.add();
197204

205+
// fPluginVersion => we surface the build time constants in the UI
206+
fPluginVersion = jmbFromType<std::string>(EJSGainParamID::kPluginVersion, STR16 ("Version"))
207+
.guiOwned() // although it is the default, this can make it clearer who owns the parameter
208+
.transient() // this is static data used in the UI only: it doesn't need to be saved in the state
209+
.defaultValue(FULL_VERSION_STR " [" BUILD_ARCHIVE_ARCHITECTURE "]") // build time constants
210+
.add();
211+
198212
//------------------------------------------------------------------------
199213
// Although this step is optional, it is HIGHLY recommended (and a warning
200214
// will be logged) if the order in which the state should be saved is not

0 commit comments

Comments
 (0)