Skip to content

Commit 0d79ad6

Browse files
authored
Refactor Midi Follow CC assignments to use lookup tables and add rest of automateable parameters (#3257)
* Refactor parameter names so none contain dots * Refactor midi follow to use direct assignment lookup tables * format * Fixed crash * Fixes * Docs * docs * docs * docs * Updated deluge midi follow loopy pro template * Fix bug * Docs * add new envelopes to midi follow * Reorder by CC
1 parent 3900b22 commit 0d79ad6

File tree

13 files changed

+544
-328
lines changed

13 files changed

+544
-328
lines changed
Binary file not shown.
Binary file not shown.
Loading

docs/features/midi_follow_mode.md

Lines changed: 42 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -92,13 +92,28 @@ The default mappings have taken into account standard MIDI CC to parameter mappi
9292

9393
The default MIDI CC to parameter mappings, as mapped the to the parameter shortcuts on the Deluge grid are as follows:
9494

95-
![image](https://github.com/SynthstromAudible/DelugeFirmware/assets/138174805/e5c6ecbf-e21e-4b3b-9cfc-8f433a56ed28)
95+
![image](https://github.com/user-attachments/assets/d0a82d14-99db-4c02-b618-7906238ec2c8)
96+
97+
Additionally, there are other parameters not in the grid that are mapped to MIDI CC's, which are the following:
98+
- Compressor Threshold: CC 27
99+
- Stutter Rate: CC 20
100+
- New arpeggiator parameters:
101+
- Rhythm: CC 42
102+
- Sequence Length: CC 43
103+
- Chord Polyphony: CC 44
104+
- Ratchet Amount: CC 45
105+
- Note Probability: CC 46
106+
- Bass Probability: CC 47
107+
- Chord Probability: CC 48
108+
- Ratchet Probability: CC 49
109+
- Spread Octave: CC 39
110+
- Spread Gate: CC 40
96111

97112
> * See Appendix A for detailed listing and description of default CC # to Parameter mappings.
98113
99114
Here are the MIDI CC #'s that have been reserved for other purposes:
100115

101-
![image](https://github.com/SynthstromAudible/DelugeFirmware/assets/138174805/f076d9c8-d25f-4d13-a631-be552f84d7c8)
116+
![image](https://github.com/user-attachments/assets/530b8aa7-610c-411a-91b1-c98c3c4034ce)
102117

103118
#### Adjust MIDI CC Mappings
104119
MIDI CC mappings for MIDI Follow Mode are saved to the `SETTINGS` folder in the root of your SD card in an XML file called `MIDIFollow.XML`
@@ -110,7 +125,7 @@ You can manually edit the `MIDIFollow.XML` to enter your MIDI CC mappings to eac
110125

111126
The defaults from `MIDIFollow.XML` are loaded automatically when you start the Deluge so you can begin controlling the deluge with your MIDI controller right away.
112127

113-
Note: A parameter can only be mapped to one MIDI CC. Conversely, a MIDI CC can be mapped to multiple parameters.
128+
Note: A parameter can only be mapped to one MIDI CC, and viceversa.
114129

115130
#### Display Parameter Names and Values on Screen
116131

@@ -172,30 +187,39 @@ In this case, you will need to ensure that MIDI Feedback Filter Responses is set
172187

173188
## Appendix A - List of Deluge Parameters with Default Mapped CC's
174189

175-
<img width="470" alt="image" src="https://github.com/SynthstromAudible/DelugeFirmware/assets/138174805/bef76865-e591-415a-9fa7-04c79c8b310d">
190+
<img width="470" alt="image" src="https://github.com/user-attachments/assets/8e64ae13-7864-42a2-b537-a5f8d909efa4">
176191

177192
## Appendix B - Loopy Pro Template for Deluge MIDI Follow Mode
178193

179194
For users of Loopy Pro, you will find a MIDI Follow template in this folder: [MIDI Follow Mode Loopy Pro Template]
180-
- It is setup to send and receive on channel 15 when the Deluge is connected via USB (and detected as “Deluge Port
195+
- The control surface is located in page "B". Page "A" is just the default page with donuts to loop. You can delete
196+
page "A" if you don't need it.
197+
- Page "C" contains the controls that are doing the heavy lifting of sending/receiving midi so it should NOT be deleted.
198+
That is, page "B" are the "user facing" controls, tied to the stepped dials from page "C".
199+
- The controls are set up to send and receive on channel 15 when the Deluge is connected via USB (and detected as “Deluge Port
181200
1”), so you must go to your Deluge, and do Shift + Select to enter the main menu, go to MIDI -> MIDI-FOLLOW -> CHANNEL A,
182-
and set it to 15. In case your port is detected with a different name in Loopy (it could happen if the language of your
183-
iOS device is not English), like for example "Deluge **Puerto** 1" (in Spanish), you can always transfer the existing
184-
midi bindings from one port to the other by going to Loopy's Menu -> Control Settings -> Current Project -> Default ->
185-
look for the "Deluge Port 1" section and tap on "TRANSFER" to copy or move all the midi bindings to the real
186-
port name of your Deluge.
187-
- As a bonus, this project also contains a page "B" with controls for the Song's global parameters, which must be learned
188-
individually (not part of MIDI Follow). To do that, go to Deluge Song view, click Select button to enter the
189-
Song menu, go to each parameter (Volume, Pan, LPF Freq, etc), hold Learn button and then move the knobs and
190-
faders within page "B" of Loopy's project.
191-
- Pages "C" and "D" are the controls that are doing the heavy lifting of sending/receiving midi so they can't be deleted.
192-
Pages "A" and "B" are just the "user facing" controls, tied to the stepped dials from the other two pages.
201+
and set it to 15.
193202
- **How to setup Feedback:** In Loopy, go to Menu -> Control Settings -> MIDI Devices section -> Deluge Port 1 -> make sure
194203
that Feedback switch is enabled.
195204
In your Deluge, do Shift + Select to enter the main menu, go to MIDI -> MIDI-FOLLOW -> FEEDBACK. Here you can select the
196205
Channel to send feedback to, the Rate at which feedback is sent for Automation, and you must set Filter Responses to DISABLED.
197-
198-
<img alt="image" src="https://github.com/SynthstromAudible/DelugeFirmware/blob/316279c5e091cdeb7d50828e407789966fb53abc/contrib/midi_follow/loopy_pro/loopy-pro-template-snapshot.jpg">
206+
- **Troubleshooting:**
207+
- In case your port is detected with a different name in Loopy (it could happen if the language of your
208+
iOS device is not English), like for example "Deluge **Puerto** 1" (in Spanish), you can always transfer the existing
209+
midi bindings from one port to the other by going to Loopy's Menu -> Control Settings -> Current Project -> Default ->
210+
look for the "Deluge Port 1" section and tap on "TRANSFER" to copy or move all the midi bindings to the real
211+
port name of your Deluge.
212+
- In case you already have a Loopy Pro project or template and you want to import the MIDI follow control surface into it, do
213+
the following:
214+
- Open the "Deluge Midi Follow"project and go to Settings -> Control Settings -> Current Project -> click "Midi Follow" profile.
215+
- On the top right click "TRANSFER" and copy it to Global Profiles.
216+
- Open your project and go to Settings -> Control Settings -> Global -> click "Midi Follow" profile.
217+
- On the top right click "TRANSFER" and copy it to Current Project. Ok, now the MIDI bindings are imported. Now we need to import
218+
the widgets.
219+
- Open again the "Deluge Midi Follow" project and click the pencil to edit the UI, and drag a rectangle selection all the page.
220+
Copy it, open your own project and in an empy page, paste it. Do the same with the other page with Stepped Dials.
221+
222+
<img alt="image" src="https://github.com/SynthstromAudible/DelugeFirmware/blob/316279c5e091cdeb7d50828e407789966fb53abc/contrib/midi_follow/loopy_pro/loopy-pro-template-snapshot.png">
199223

200224
## Appendix C - Touch OSC Template for Deluge MIDI Follow Mode
201225

src/deluge/gui/l10n/english.json

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -706,23 +706,25 @@
706706
"STRING_FOR_AUDIO_CLIP": "Audio clip",
707707
"STRING_FOR_SONG": "Song",
708708
"STRING_FOR_SETTINGS": "Settings",
709+
"STRING_FOR_COMP_THRESHOLD_MENU_TITLE": "Comp threshold",
709710
"STRING_FOR_ENV_ATTACK_MENU_TITLE": "Env* attack",
710711
"STRING_FOR_ENV_DECAY_MENU_TITLE": "Env* decay",
711712
"STRING_FOR_ENV_SUSTAIN_MENU_TITLE": "Env* sustain",
712713
"STRING_FOR_ENV_RELEASE_MENU_TITLE": "Env* release",
713714
"STRING_FOR_OSC_TYPE_MENU_TITLE": "Osc* type",
714-
"STRING_FOR_OSC_WAVE_IND_MENU_TITLE": "Osc* wave-ind.",
715+
"STRING_FOR_OSC_WAVE_IND_MENU_TITLE": "Osc* wave-index",
715716
"STRING_FOR_OSC_LEVEL_MENU_TITLE": "Osc* level",
716-
"STRING_FOR_CARRIER_FEED_MENU_TITLE": "Carrier* feed.",
717+
"STRING_FOR_CARRIER_FEED_MENU_TITLE": "Carrier* feedb",
717718
"STRING_FOR_SAMP_REVERSE_MENU_TITLE": "Samp* reverse",
718719
"STRING_FOR_SAMP_REPEAT_MENU_TITLE": "Samp* repeat",
719720
"STRING_FOR_OSC_TRANSPOSE_MENU_TITLE": "Osc* transpose",
720721
"STRING_FOR_SAMP_SPEED_MENU_TITLE": "Samp* speed",
721-
"STRING_FOR_SAMP_INTERP_MENU_TITLE": "Samp* interp.",
722+
"STRING_FOR_SAMP_INTERP_MENU_TITLE": "Samp* interp",
722723
"STRING_FOR_OSC_P_WIDTH_MENU_TITLE": "Osc* p. width",
723724
"STRING_FOR_OSC_R_PHASE_MENU_TITLE": "Osc* r. phase",
724-
"STRING_FOR_ARP_GATE_MENU_TITLE": "Arp gate",
725725
"STRING_FOR_ARP_PRESET_MENU_TITLE": "Arp preset",
726+
"STRING_FOR_ARP_GATE_MENU_TITLE": "Arp gate",
727+
"STRING_FOR_ARP_RATE_MENU_TITLE": "Arp rate",
726728
"STRING_FOR_ARP_RANDOMIZER_LOCK_TITLE": "Arp lock rand",
727729
"STRING_FOR_ARP_MODE_MENU_TITLE": "Arp enabled",
728730
"STRING_FOR_ARP_SYNC_MENU_TITLE": "Arp sync",
@@ -739,38 +741,36 @@
739741
"STRING_FOR_ARP_CHORD_PROBABILITY_MENU_TITLE": "Arp chord prob",
740742
"STRING_FOR_ARP_RATCHET_PROBABILITY_MENU_TITLE": "Arp ratc prob",
741743
"STRING_FOR_ARP_SEQUENCE_LENGTH_MENU_TITLE": "Arp seq length",
742-
"STRING_FOR_ARP_SPREAD_VELOCITY_MENU_TITLE": "Velocity spread",
743744
"STRING_FOR_ARP_SPREAD_GATE_MENU_TITLE": "Arp gate spread",
744745
"STRING_FOR_ARP_SPREAD_OCTAVE_MENU_TITLE": "Arp octa spread",
745-
"STRING_FOR_ARP_RATE_MENU_TITLE": "Arp rate",
746-
"STRING_FOR_FM_MOD_TRAN_MENU_TITLE": "FM Mod* tran.",
746+
"STRING_FOR_SPREAD_VELOCITY_MENU_TITLE": "Velocity spread",
747+
"STRING_FOR_FM_MOD_TRAN_MENU_TITLE": "FM Mod* tran",
747748
"STRING_FOR_FM_MOD_LEVEL_MENU_TITLE": "FM Mod* level",
748-
"STRING_FOR_FM_MOD_FBACK_MENU_TITLE": "FM Mod* f.back",
749-
"STRING_FOR_FM_MOD2_DEST_MENU_TITLE": "FM Mod2 dest.",
749+
"STRING_FOR_FM_MOD_FBACK_MENU_TITLE": "FM Mod* feedb",
750+
"STRING_FOR_FM_MOD2_DEST_MENU_TITLE": "FM Mod2 dest",
750751
"STRING_FOR_FM_MOD_RETRIG_MENU_TITLE": "FM Mod* retrig",
751-
"STRING_FOR_SIDECH_ATTACK_MENU_TITLE": "Sidech. attack",
752-
"STRING_FOR_SIDECH_SHAPE_MENU_TITLE": "Sidech. shape",
753-
"STRING_FOR_REVERB_SIDECH_MENU_TITLE": "Reverb sidech.",
754-
"STRING_FOR_MIDI_PGM_NUMB_MENU_TITLE": "MIDI PGM numb.",
752+
"STRING_FOR_SIDECH_ATTACK_MENU_TITLE": "Sidech attack",
753+
"STRING_FOR_SIDECH_SHAPE_MENU_TITLE": "Sidech shape",
754+
"STRING_FOR_REVERB_SIDECH_MENU_TITLE": "Reverb sidech",
755+
"STRING_FOR_MIDI_PGM_NUMB_MENU_TITLE": "MIDI PGM number",
755756
"STRING_FOR_CV_V_PER_OCTAVE_MENU_TITLE": "CV* V/octave",
756757
"STRING_FOR_CV_TRANSPOSE_MENU_TITLE": "CV* transpose",
757-
"STRING_FOR_SHORTCUTS_VER_MENU_TITLE": "Shortcuts ver.",
758-
"STRING_FOR_FIRMWARE_VER_MENU_TITLE": "Firmware ver.",
759-
"STRING_FOR_COMMUNITY_FTS_MENU_TITLE": "Community feat.",
760-
"STRING_FOR_TEMPO_M_MATCH_MENU_TITLE": "Tempo m. match",
761-
"STRING_FOR_T_CLOCK_INPUT_MENU_TITLE": "T. clock input",
762-
"STRING_FOR_T_CLOCK_OUT_MENU_TITLE": "T. clock out",
763-
"STRING_FOR_DEFAULT_VELOC_MENU_TITLE": "Default veloc.",
764-
"STRING_FOR_DEFAULT_RESOL_MENU_TITLE": "Default resol.",
765-
"STRING_FOR_MASTER_TRAN_MENU_TITLE": "Master tran.",
766-
"STRING_FOR_MIDI_INST_MENU_TITLE": "MIDI inst.",
758+
"STRING_FOR_SHORTCUTS_VER_MENU_TITLE": "Shortcuts vers",
759+
"STRING_FOR_FIRMWARE_VER_MENU_TITLE": "Firmware vers",
760+
"STRING_FOR_COMMUNITY_FTS_MENU_TITLE": "Community feat",
761+
"STRING_FOR_T_CLOCK_INPUT_MENU_TITLE": "Trig clock in",
762+
"STRING_FOR_T_CLOCK_OUT_MENU_TITLE": "Trig clock out",
763+
"STRING_FOR_DEFAULT_VELOC_MENU_TITLE": "Default veloc",
764+
"STRING_FOR_DEFAULT_RESOL_MENU_TITLE": "Default resol",
765+
"STRING_FOR_MASTER_TRAN_MENU_TITLE": "Master trans",
766+
"STRING_FOR_MIDI_INST_MENU_TITLE": "MIDI instr",
767767
"STRING_FOR_SEND_TO_SIDECH_MENU_TITLE": "Send to sidech",
768768
"STRING_FOR_SIDECH_RELEASE_MENU_TITLE": "Sidech release",
769-
"STRING_FOR_NUM_MEMBER_CH_MENU_TITLE": "Num member ch.",
769+
"STRING_FOR_NUM_MEMBER_CH_MENU_TITLE": "Num member ch",
770770
"STRING_FOR_METRONOME": "METRONOME",
771-
"STRING_FOR_DEFAULT_METRO_MENU_TITLE": "Default metro.",
771+
"STRING_FOR_DEFAULT_METRO_MENU_TITLE": "Default metro",
772772
"STRING_FOR_DEFAULT_PAD_BRIGHTNESS": "PAD BRIGHTNESS",
773-
"STRING_FOR_DEFAULT_PAD_BRIGHTNESS_MENU_TITLE": "Pad brightness.",
773+
"STRING_FOR_DEFAULT_PAD_BRIGHTNESS_MENU_TITLE": "Pad brightness",
774774
"STRING_FOR_DEFAULT_SLICE_MODE": "Sample Slice Mode",
775775
"STRING_FOR_DEFAULT_SLICE_MODE_MENU_TITLE": "Sample Slice Mode",
776776
"STRING_FOR_DEFAULT_ACCESSIBILITY": "Accessibility",

src/deluge/gui/l10n/g_english.cpp

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -656,23 +656,25 @@ PLACE_SDRAM_DATA Language english{
656656
{STRING_FOR_AUDIO_CLIP, "Audio clip"},
657657
{STRING_FOR_SONG, "Song"},
658658
{STRING_FOR_SETTINGS, "Settings"},
659+
{STRING_FOR_COMP_THRESHOLD_MENU_TITLE, "Comp threshold"},
659660
{STRING_FOR_ENV_ATTACK_MENU_TITLE, "Env* attack"},
660661
{STRING_FOR_ENV_DECAY_MENU_TITLE, "Env* decay"},
661662
{STRING_FOR_ENV_SUSTAIN_MENU_TITLE, "Env* sustain"},
662663
{STRING_FOR_ENV_RELEASE_MENU_TITLE, "Env* release"},
663664
{STRING_FOR_OSC_TYPE_MENU_TITLE, "Osc* type"},
664-
{STRING_FOR_OSC_WAVE_IND_MENU_TITLE, "Osc* wave-ind."},
665+
{STRING_FOR_OSC_WAVE_IND_MENU_TITLE, "Osc* wave-index"},
665666
{STRING_FOR_OSC_LEVEL_MENU_TITLE, "Osc* level"},
666-
{STRING_FOR_CARRIER_FEED_MENU_TITLE, "Carrier* feed."},
667+
{STRING_FOR_CARRIER_FEED_MENU_TITLE, "Carrier* feedb"},
667668
{STRING_FOR_SAMP_REVERSE_MENU_TITLE, "Samp* reverse"},
668669
{STRING_FOR_SAMP_REPEAT_MENU_TITLE, "Samp* repeat"},
669670
{STRING_FOR_OSC_TRANSPOSE_MENU_TITLE, "Osc* transpose"},
670671
{STRING_FOR_SAMP_SPEED_MENU_TITLE, "Samp* speed"},
671-
{STRING_FOR_SAMP_INTERP_MENU_TITLE, "Samp* interp."},
672+
{STRING_FOR_SAMP_INTERP_MENU_TITLE, "Samp* interp"},
672673
{STRING_FOR_OSC_P_WIDTH_MENU_TITLE, "Osc* p. width"},
673674
{STRING_FOR_OSC_R_PHASE_MENU_TITLE, "Osc* r. phase"},
674-
{STRING_FOR_ARP_GATE_MENU_TITLE, "Arp gate"},
675675
{STRING_FOR_ARP_PRESET_MENU_TITLE, "Arp preset"},
676+
{STRING_FOR_ARP_GATE_MENU_TITLE, "Arp gate"},
677+
{STRING_FOR_ARP_RATE_MENU_TITLE, "Arp rate"},
676678
{STRING_FOR_ARP_RANDOMIZER_LOCK_TITLE, "Arp lock rand"},
677679
{STRING_FOR_ARP_MODE_MENU_TITLE, "Arp enabled"},
678680
{STRING_FOR_ARP_SYNC_MENU_TITLE, "Arp sync"},
@@ -689,38 +691,36 @@ PLACE_SDRAM_DATA Language english{
689691
{STRING_FOR_ARP_CHORD_PROBABILITY_MENU_TITLE, "Arp chord prob"},
690692
{STRING_FOR_ARP_RATCHET_PROBABILITY_MENU_TITLE, "Arp ratc prob"},
691693
{STRING_FOR_ARP_SEQUENCE_LENGTH_MENU_TITLE, "Arp seq length"},
692-
{STRING_FOR_ARP_SPREAD_VELOCITY_MENU_TITLE, "Velocity spread"},
693694
{STRING_FOR_ARP_SPREAD_GATE_MENU_TITLE, "Arp gate spread"},
694695
{STRING_FOR_ARP_SPREAD_OCTAVE_MENU_TITLE, "Arp octa spread"},
695-
{STRING_FOR_ARP_RATE_MENU_TITLE, "Arp rate"},
696-
{STRING_FOR_FM_MOD_TRAN_MENU_TITLE, "FM Mod* tran."},
696+
{STRING_FOR_SPREAD_VELOCITY_MENU_TITLE, "Velocity spread"},
697+
{STRING_FOR_FM_MOD_TRAN_MENU_TITLE, "FM Mod* tran"},
697698
{STRING_FOR_FM_MOD_LEVEL_MENU_TITLE, "FM Mod* level"},
698-
{STRING_FOR_FM_MOD_FBACK_MENU_TITLE, "FM Mod* f.back"},
699-
{STRING_FOR_FM_MOD2_DEST_MENU_TITLE, "FM Mod2 dest."},
699+
{STRING_FOR_FM_MOD_FBACK_MENU_TITLE, "FM Mod* feedb"},
700+
{STRING_FOR_FM_MOD2_DEST_MENU_TITLE, "FM Mod2 dest"},
700701
{STRING_FOR_FM_MOD_RETRIG_MENU_TITLE, "FM Mod* retrig"},
701-
{STRING_FOR_SIDECH_ATTACK_MENU_TITLE, "Sidech. attack"},
702-
{STRING_FOR_SIDECH_SHAPE_MENU_TITLE, "Sidech. shape"},
703-
{STRING_FOR_REVERB_SIDECH_MENU_TITLE, "Reverb sidech."},
704-
{STRING_FOR_MIDI_PGM_NUMB_MENU_TITLE, "MIDI PGM numb."},
702+
{STRING_FOR_SIDECH_ATTACK_MENU_TITLE, "Sidech attack"},
703+
{STRING_FOR_SIDECH_SHAPE_MENU_TITLE, "Sidech shape"},
704+
{STRING_FOR_REVERB_SIDECH_MENU_TITLE, "Reverb sidech"},
705+
{STRING_FOR_MIDI_PGM_NUMB_MENU_TITLE, "MIDI PGM number"},
705706
{STRING_FOR_CV_V_PER_OCTAVE_MENU_TITLE, "CV* V/octave"},
706707
{STRING_FOR_CV_TRANSPOSE_MENU_TITLE, "CV* transpose"},
707-
{STRING_FOR_SHORTCUTS_VER_MENU_TITLE, "Shortcuts ver."},
708-
{STRING_FOR_FIRMWARE_VER_MENU_TITLE, "Firmware ver."},
709-
{STRING_FOR_COMMUNITY_FTS_MENU_TITLE, "Community feat."},
710-
{STRING_FOR_TEMPO_M_MATCH_MENU_TITLE, "Tempo m. match"},
711-
{STRING_FOR_T_CLOCK_INPUT_MENU_TITLE, "T. clock input"},
712-
{STRING_FOR_T_CLOCK_OUT_MENU_TITLE, "T. clock out"},
713-
{STRING_FOR_DEFAULT_VELOC_MENU_TITLE, "Default veloc."},
714-
{STRING_FOR_DEFAULT_RESOL_MENU_TITLE, "Default resol."},
715-
{STRING_FOR_MASTER_TRAN_MENU_TITLE, "Master tran."},
716-
{STRING_FOR_MIDI_INST_MENU_TITLE, "MIDI inst."},
708+
{STRING_FOR_SHORTCUTS_VER_MENU_TITLE, "Shortcuts vers"},
709+
{STRING_FOR_FIRMWARE_VER_MENU_TITLE, "Firmware vers"},
710+
{STRING_FOR_COMMUNITY_FTS_MENU_TITLE, "Community feat"},
711+
{STRING_FOR_T_CLOCK_INPUT_MENU_TITLE, "Trig clock in"},
712+
{STRING_FOR_T_CLOCK_OUT_MENU_TITLE, "Trig clock out"},
713+
{STRING_FOR_DEFAULT_VELOC_MENU_TITLE, "Default veloc"},
714+
{STRING_FOR_DEFAULT_RESOL_MENU_TITLE, "Default resol"},
715+
{STRING_FOR_MASTER_TRAN_MENU_TITLE, "Master trans"},
716+
{STRING_FOR_MIDI_INST_MENU_TITLE, "MIDI instr"},
717717
{STRING_FOR_SEND_TO_SIDECH_MENU_TITLE, "Send to sidech"},
718718
{STRING_FOR_SIDECH_RELEASE_MENU_TITLE, "Sidech release"},
719-
{STRING_FOR_NUM_MEMBER_CH_MENU_TITLE, "Num member ch."},
719+
{STRING_FOR_NUM_MEMBER_CH_MENU_TITLE, "Num member ch"},
720720
{STRING_FOR_METRONOME, "METRONOME"},
721-
{STRING_FOR_DEFAULT_METRO_MENU_TITLE, "Default metro."},
721+
{STRING_FOR_DEFAULT_METRO_MENU_TITLE, "Default metro"},
722722
{STRING_FOR_DEFAULT_PAD_BRIGHTNESS, "PAD BRIGHTNESS"},
723-
{STRING_FOR_DEFAULT_PAD_BRIGHTNESS_MENU_TITLE, "Pad brightness."},
723+
{STRING_FOR_DEFAULT_PAD_BRIGHTNESS_MENU_TITLE, "Pad brightness"},
724724
{STRING_FOR_DEFAULT_SLICE_MODE, "Sample Slice Mode"},
725725
{STRING_FOR_DEFAULT_SLICE_MODE_MENU_TITLE, "Sample Slice Mode"},
726726
{STRING_FOR_DEFAULT_ACCESSIBILITY, "Accessibility"},

src/deluge/gui/l10n/strings.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -718,6 +718,7 @@ enum class String : size_t {
718718
STRING_FOR_DEFAULT_PAD_BRIGHTNESS,
719719

720720
// MENU TITLES
721+
STRING_FOR_COMP_THRESHOLD_MENU_TITLE,
721722
STRING_FOR_ENV_ATTACK_MENU_TITLE,
722723
STRING_FOR_ENV_DECAY_MENU_TITLE,
723724
STRING_FOR_ENV_SUSTAIN_MENU_TITLE,
@@ -750,9 +751,9 @@ enum class String : size_t {
750751
STRING_FOR_ARP_CHORD_PROBABILITY_MENU_TITLE,
751752
STRING_FOR_ARP_RATCHET_PROBABILITY_MENU_TITLE,
752753
STRING_FOR_ARP_SEQUENCE_LENGTH_MENU_TITLE,
753-
STRING_FOR_ARP_SPREAD_VELOCITY_MENU_TITLE,
754-
STRING_FOR_ARP_SPREAD_GATE_MENU_TITLE,
755754
STRING_FOR_ARP_SPREAD_OCTAVE_MENU_TITLE,
755+
STRING_FOR_ARP_SPREAD_GATE_MENU_TITLE,
756+
STRING_FOR_SPREAD_VELOCITY_MENU_TITLE,
756757
STRING_FOR_ARP_GATE_MENU_TITLE,
757758
STRING_FOR_ARP_RATE_MENU_TITLE,
758759
STRING_FOR_FM_MOD_TRAN_MENU_TITLE,
@@ -769,7 +770,6 @@ enum class String : size_t {
769770
STRING_FOR_SHORTCUTS_VER_MENU_TITLE,
770771
STRING_FOR_FIRMWARE_VER_MENU_TITLE,
771772
STRING_FOR_COMMUNITY_FTS_MENU_TITLE,
772-
STRING_FOR_TEMPO_M_MATCH_MENU_TITLE,
773773
STRING_FOR_T_CLOCK_INPUT_MENU_TITLE,
774774
STRING_FOR_T_CLOCK_OUT_MENU_TITLE,
775775
STRING_FOR_DEFAULT_VELOC_MENU_TITLE,

src/deluge/gui/menu_item/generate/dmenus/compressor.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
["{name}", "{title}", "params::UNPATCHED_COMPRESSOR_THRESHOLD"],
77
"compressor/threshold.md",
88
name="STRING_FOR_THRESHOLD",
9+
title="STRING_FOR_COMP_THRESHOLD_MENU_TITLE",
910
)
1011

1112
attack = Menu(

src/deluge/gui/menu_item/generate/g_menus.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ std::array<MenuItem*, 3> child2 = {
2828
&filterRoutingMenu,
2929
};
3030
Submenu soundFiltersMenu{STRING_FOR_FILTERS, child2};
31-
audio_compressor::CompParam threshold{STRING_FOR_THRESHOLD, STRING_FOR_THRESHOLD, params::UNPATCHED_COMPRESSOR_THRESHOLD};
31+
audio_compressor::CompParam threshold{STRING_FOR_THRESHOLD, STRING_FOR_COMP_THRESHOLD_MENU_TITLE, params::UNPATCHED_COMPRESSOR_THRESHOLD};
3232
audio_compressor::Ratio compRatio{STRING_FOR_RATIO, STRING_FOR_RATIO};
3333
audio_compressor::Attack compAttack{STRING_FOR_ATTACK, STRING_FOR_ATTACK};
3434
audio_compressor::Release compRelease{STRING_FOR_RELEASE, STRING_FOR_RELEASE};

0 commit comments

Comments
 (0)