Skip to content

Commit 624b18e

Browse files
committed
use indexed enumerator
1 parent 6e89583 commit 624b18e

File tree

4 files changed

+142
-108
lines changed

4 files changed

+142
-108
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on:
44
push:
55

66
env:
7-
HVCC_VERSION: 82c5c3971eb77c8b508e3256abe00083662bf538
7+
HVCC_VERSION: 598a412363c46666de53c54650c1995784fd3063
88

99
jobs:
1010
linux-x86_64:

override/HeavyDPF_WSTD_DLAY_UI.cpp

Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,17 @@
1111
START_NAMESPACE_DISTRHO
1212

1313
// --------------------------------------------------------------------------------------------------------------------
14-
15-
struct EnumParam {
16-
const char* label;
17-
float value;
18-
};
19-
2014
class ImGuiPluginUI : public UI
2115
{
2216
float fcross = 20.0f;
2317
float ffeedback = 25.0f;
2418
float fmix = 50.0f;
2519
bool fsync = 0.0f != 0.0f;
2620
float ftime = 500.0f;
27-
float ftimesync = 1.0f;
21+
int ftimesync = 6.0;
2822

2923
int default_item_id = 6;
30-
int current_item_id = default_item_id;
24+
3125
int items_len = 13;
3226

3327
ResizeHandle fResizeHandle;
@@ -153,20 +147,20 @@ class ImGuiPluginUI : public UI
153147
syncstep = 0.03f;
154148
}
155149

156-
EnumParam timesync_list[] = {
157-
{ "×6", 0.16666666666f },
158-
{ "×5", 0.2f },
159-
{ "×4", 0.25f },
160-
{ "×3", 0.33333333333f },
161-
{ "×2", 0.5f },
162-
{ "×1.5", 0.66666666666f },
163-
{ "×1", 1.0f },
164-
{ "÷1.5",1.5f },
165-
{ "÷2", 2.0f },
166-
{ "÷3", 3.0f },
167-
{ "÷4", 4.0f },
168-
{ "÷5", 5.0f },
169-
{ "÷6", 6.0f }
150+
const char* timesync_list[13] = {
151+
"×6",
152+
"×5",
153+
"×4",
154+
"×3",
155+
"×2",
156+
"×1.5",
157+
"×1",
158+
"÷1.5",
159+
"÷2",
160+
"÷3",
161+
"÷4",
162+
"÷5",
163+
"÷6",
170164
};
171165

172166
ImGui::PushFont(titleBarFont);
@@ -200,19 +194,17 @@ class ImGuiPluginUI : public UI
200194
if (fsync)
201195
{
202196
if (ImGuiKnobs::KnobInt(
203-
"Time", &current_item_id, 0, items_len-1, syncstep, timesync_list[current_item_id].label,
197+
"Time", &ftimesync, 0, items_len-1, syncstep, timesync_list[ftimesync],
204198
ImGuiKnobVariant_SteppedTick, hundred, ImGuiKnob_Flags, items_len))
205199
{
206200
if (ImGui::IsItemActivated())
207201
{
208202
editParameter(5, true);
209203
if (ImGui::IsMouseDoubleClicked(0))
210204
{
211-
ftimesync = timesync_list[default_item_id].value;
212-
current_item_id = default_item_id;
205+
ftimesync = default_item_id;
213206
}
214207
}
215-
ftimesync = timesync_list[current_item_id].value;
216208
setParameterValue(5, ftimesync);
217209
}
218210
}

wstd_dlay.json

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,21 @@
1414
"midi_input": 0,
1515
"midi_output": 0,
1616
"enumerators": {
17-
"TimeSync": {
18-
"×6": 0.16666666666,
19-
"×5": 0.2,
20-
"×4": 0.25,
21-
"×3": 0.33333333333,
22-
"×2": 0.5,
23-
"×1.5": 0.66666666666,
24-
"×1": 1.0,
25-
"÷1.5": 1.5,
26-
"÷2": 2.0,
27-
"÷3": 3.0,
28-
"÷4": 4.0,
29-
"÷5": 5.0,
30-
"÷6": 6.0
31-
}
17+
"TimeSync": [
18+
"×6",
19+
"×5",
20+
"×4",
21+
"×3",
22+
"×2",
23+
"×1.5",
24+
"×1",
25+
"÷1.5",
26+
"÷2",
27+
"÷3",
28+
"÷4",
29+
"÷5",
30+
"÷6"
31+
]
3232
},
3333
"version": "0, 1, 0",
3434
"license": "GPL-3.0-or-later",

wstd_dlay.pd

Lines changed: 108 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#N canvas 827 239 527 327 12;
1+
#N canvas 641 183 1121 664 12;
22
#X declare -path dep/;
33
#X obj 63 409 adc~;
44
#X obj 64 550 dac~;
@@ -26,73 +26,115 @@
2626
#X obj 639 75 r Sync @hv_param 0 1 0 bool;
2727
#X obj 639 106 tgl 25 0 empty empty empty 17 7 0 10 #191919 #ffffff #ffffff 0 1;
2828
#X obj 750 177 min 5000;
29-
#X obj 749 318 spigot;
30-
#X obj 783 214 > 0;
29+
#X obj 750 318 spigot;
30+
#X obj 769 227 > 0;
3131
#X obj 614 249 spigot;
3232
#X obj 639 145 == 0;
3333
#X obj 614 221 f;
3434
#X obj 750 290 f;
3535
#X obj 639 173 t b f;
36-
#X obj 782 249 t b f;
37-
#X obj 749 114 r TimeSync @hv_param 0.166667 6 1;
38-
#N canvas 0 50 450 300 bpm_time_sync 1;
39-
#X obj 519 319 /;
40-
#X obj 481 266 f 60000;
41-
#X obj 529 365 *;
42-
#X obj 557 178 t b f;
43-
#X obj 618 205 t b f;
44-
#X obj 618 133 inlet;
45-
#X obj 529 467 outlet;
46-
#X obj 557 42 r __hv_dpf_bpm;
47-
#X obj 557 320 f 500;
48-
#X obj 529 416 change;
49-
#X obj 557 133 f 120;
50-
#X connect 0 0 2 0 empty;
51-
#X connect 1 0 0 0 empty;
52-
#X connect 2 0 9 0 empty;
53-
#X connect 3 0 1 0 empty;
54-
#X connect 3 0 8 0 empty;
55-
#X connect 3 1 0 1 empty;
56-
#X connect 4 0 1 0 empty;
57-
#X connect 4 1 8 0 empty;
58-
#X connect 5 0 4 0 empty;
59-
#X connect 7 0 10 0 empty;
60-
#X connect 8 0 2 1 empty;
61-
#X connect 9 0 6 0 empty;
62-
#X connect 10 0 3 0 empty;
63-
#X restore 749 144 pd bpm_time_sync;
64-
#X connect 0 0 22 0 empty;
65-
#X connect 0 1 22 1 empty;
66-
#X connect 2 0 7 0 empty;
67-
#X connect 3 0 15 0 empty;
68-
#X connect 4 0 17 0 empty;
69-
#X connect 5 0 6 0 empty;
70-
#X connect 6 0 22 2 empty;
71-
#X connect 7 0 22 2 empty;
72-
#X connect 10 0 11 0 empty;
73-
#X connect 11 0 5 0 empty;
74-
#X connect 12 0 2 0 empty;
75-
#X connect 13 0 4 0 empty;
76-
#X connect 14 0 12 0 empty;
77-
#X connect 15 0 22 2 empty;
78-
#X connect 16 0 13 0 empty;
79-
#X connect 17 0 22 2 empty;
80-
#X connect 19 0 30 0 empty;
81-
#X connect 22 0 1 0 empty;
82-
#X connect 22 1 1 1 empty;
83-
#X connect 23 0 24 0 empty;
84-
#X connect 24 0 29 0 empty;
85-
#X connect 24 0 27 0 empty;
86-
#X connect 25 0 31 0 empty;
87-
#X connect 26 0 3 0 empty;
88-
#X connect 27 0 33 0 empty;
89-
#X connect 28 0 3 0 empty;
90-
#X connect 29 0 32 0 empty;
91-
#X connect 30 0 28 0 empty;
92-
#X connect 31 0 26 0 empty;
93-
#X connect 32 0 30 0 empty;
94-
#X connect 32 1 28 1 empty;
95-
#X connect 33 0 31 0 empty;
96-
#X connect 33 1 26 1 empty;
97-
#X connect 34 0 35 0 empty;
98-
#X connect 35 0 25 0 empty;
36+
#X obj 769 252 t b f;
37+
#N canvas 2231 213 436 527 bpm_time_sync 0;
38+
#X obj 59 323 /;
39+
#X obj 21 270 f 60000;
40+
#X obj 69 369 *;
41+
#X obj 97 161 t b f;
42+
#X obj 158 225 t b f;
43+
#X obj 158 54 inlet;
44+
#X obj 69 471 outlet;
45+
#X obj 97 25 r __hv_dpf_bpm;
46+
#X obj 97 324 f 500;
47+
#X obj 69 420 change;
48+
#X obj 97 116 f 120;
49+
#X msg 158 109 0.166667;
50+
#X msg 176 134 0.2;
51+
#X msg 195 160 0.25;
52+
#X msg 213 185 0.333333;
53+
#X msg 232 134 0.6;
54+
#X msg 251 160 0.666667;
55+
#X msg 269 109 1;
56+
#X msg 288 134 1.5;
57+
#X msg 306 110 2;
58+
#X msg 325 134 3;
59+
#X msg 344 109 4;
60+
#X obj 158 83 select 0 1 2 3 4 5 6 7 8 9 10 11 12;
61+
#X msg 362 135 5;
62+
#X msg 381 110 6;
63+
#X connect 0 0 2 0;
64+
#X connect 1 0 0 0;
65+
#X connect 2 0 9 0;
66+
#X connect 3 0 1 0;
67+
#X connect 3 0 8 0;
68+
#X connect 3 1 0 1;
69+
#X connect 4 0 1 0;
70+
#X connect 4 1 8 0;
71+
#X connect 5 0 22 0;
72+
#X connect 7 0 10 0;
73+
#X connect 8 0 2 1;
74+
#X connect 9 0 6 0;
75+
#X connect 10 0 3 0;
76+
#X connect 11 0 4 0;
77+
#X connect 12 0 4 0;
78+
#X connect 13 0 4 0;
79+
#X connect 14 0 4 0;
80+
#X connect 15 0 4 0;
81+
#X connect 16 0 4 0;
82+
#X connect 17 0 4 0;
83+
#X connect 18 0 4 0;
84+
#X connect 19 0 4 0;
85+
#X connect 20 0 4 0;
86+
#X connect 21 0 4 0;
87+
#X connect 22 0 11 0;
88+
#X connect 22 1 12 0;
89+
#X connect 22 2 13 0;
90+
#X connect 22 3 14 0;
91+
#X connect 22 4 15 0;
92+
#X connect 22 5 16 0;
93+
#X connect 22 6 17 0;
94+
#X connect 22 7 18 0;
95+
#X connect 22 8 19 0;
96+
#X connect 22 9 20 0;
97+
#X connect 22 10 21 0;
98+
#X connect 22 11 23 0;
99+
#X connect 22 12 24 0;
100+
#X connect 23 0 4 0;
101+
#X connect 24 0 4 0;
102+
#X restore 750 147 pd bpm_time_sync;
103+
#X obj 358 438 print;
104+
#X obj 750 116 r TimeSync @hv_param 0 12 6 int;
105+
#X connect 0 0 22 0;
106+
#X connect 0 1 22 1;
107+
#X connect 2 0 7 0;
108+
#X connect 3 0 15 0;
109+
#X connect 4 0 17 0;
110+
#X connect 5 0 6 0;
111+
#X connect 6 0 22 2;
112+
#X connect 7 0 22 2;
113+
#X connect 10 0 11 0;
114+
#X connect 11 0 5 0;
115+
#X connect 12 0 2 0;
116+
#X connect 13 0 4 0;
117+
#X connect 14 0 12 0;
118+
#X connect 15 0 22 2;
119+
#X connect 15 0 35 0;
120+
#X connect 16 0 13 0;
121+
#X connect 17 0 22 2;
122+
#X connect 19 0 30 0;
123+
#X connect 22 0 1 0;
124+
#X connect 22 1 1 1;
125+
#X connect 23 0 24 0;
126+
#X connect 24 0 29 0;
127+
#X connect 24 0 27 0;
128+
#X connect 25 0 31 0;
129+
#X connect 26 0 3 0;
130+
#X connect 27 0 33 0;
131+
#X connect 28 0 3 0;
132+
#X connect 29 0 32 0;
133+
#X connect 30 0 28 0;
134+
#X connect 31 0 26 0;
135+
#X connect 32 0 30 0;
136+
#X connect 32 1 28 1;
137+
#X connect 33 0 31 0;
138+
#X connect 33 1 26 1;
139+
#X connect 34 0 25 0;
140+
#X connect 36 0 34 0;

0 commit comments

Comments
 (0)