Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor Midi Follow CC assignments to use lookup tables and add rest of automateable parameters #3257

Merged
Show file tree
Hide file tree
Changes from 16 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified contrib/midi_follow/loopy_pro/Deluge Midi Follow.lpproj.zip
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
60 changes: 42 additions & 18 deletions docs/features/midi_follow_mode.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,13 +92,28 @@ The default mappings have taken into account standard MIDI CC to parameter mappi

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

![image](https://github.com/SynthstromAudible/DelugeFirmware/assets/138174805/e5c6ecbf-e21e-4b3b-9cfc-8f433a56ed28)
![image](https://github.com/user-attachments/assets/d0a82d14-99db-4c02-b618-7906238ec2c8)

Additionally, there are other parameters not in the grid that are mapped to MIDI CC's, which are the following:
- Compressor Threshold: CC 27
- Stutter Rate: CC 20
- New arpeggiator parameters:
- Rhythm: CC 42
- Sequence Length: CC 43
- Chord Polyphony: CC 44
- Ratchet Amount: CC 45
- Note Probability: CC 46
- Bass Probability: CC 47
- Chord Probability: CC 48
- Ratchet Probability: CC 49
- Spread Octave: CC 39
- Spread Gate: CC 40

> * See Appendix A for detailed listing and description of default CC # to Parameter mappings.

Here are the MIDI CC #'s that have been reserved for other purposes:

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

#### Adjust MIDI CC Mappings
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`
Expand All @@ -110,7 +125,7 @@ You can manually edit the `MIDIFollow.XML` to enter your MIDI CC mappings to eac

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.

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

#### Display Parameter Names and Values on Screen

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

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

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

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

For users of Loopy Pro, you will find a MIDI Follow template in this folder: [MIDI Follow Mode Loopy Pro Template]
- It is setup to send and receive on channel 15 when the Deluge is connected via USB (and detected as “Deluge Port
- The control surface is located in page "B". Page "A" is just the default page with donuts to loop. You can delete
page "A" if you don't need it.
- Page "C" contains the controls that are doing the heavy lifting of sending/receiving midi so it should NOT be deleted.
That is, page "B" are the "user facing" controls, tied to the stepped dials from page "C".
- The controls are set up to send and receive on channel 15 when the Deluge is connected via USB (and detected as “Deluge Port
1”), so you must go to your Deluge, and do Shift + Select to enter the main menu, go to MIDI -> MIDI-FOLLOW -> CHANNEL A,
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
iOS device is not English), like for example "Deluge **Puerto** 1" (in Spanish), you can always transfer the existing
midi bindings from one port to the other by going to Loopy's Menu -> Control Settings -> Current Project -> Default ->
look for the "Deluge Port 1" section and tap on "TRANSFER" to copy or move all the midi bindings to the real
port name of your Deluge.
- As a bonus, this project also contains a page "B" with controls for the Song's global parameters, which must be learned
individually (not part of MIDI Follow). To do that, go to Deluge Song view, click Select button to enter the
Song menu, go to each parameter (Volume, Pan, LPF Freq, etc), hold Learn button and then move the knobs and
faders within page "B" of Loopy's project.
- Pages "C" and "D" are the controls that are doing the heavy lifting of sending/receiving midi so they can't be deleted.
Pages "A" and "B" are just the "user facing" controls, tied to the stepped dials from the other two pages.
and set it to 15.
- **How to setup Feedback:** In Loopy, go to Menu -> Control Settings -> MIDI Devices section -> Deluge Port 1 -> make sure
that Feedback switch is enabled.
In your Deluge, do Shift + Select to enter the main menu, go to MIDI -> MIDI-FOLLOW -> FEEDBACK. Here you can select the
Channel to send feedback to, the Rate at which feedback is sent for Automation, and you must set Filter Responses to DISABLED.

<img alt="image" src="https://github.com/SynthstromAudible/DelugeFirmware/blob/316279c5e091cdeb7d50828e407789966fb53abc/contrib/midi_follow/loopy_pro/loopy-pro-template-snapshot.jpg">
- **Troubleshooting:**
- In case your port is detected with a different name in Loopy (it could happen if the language of your
iOS device is not English), like for example "Deluge **Puerto** 1" (in Spanish), you can always transfer the existing
midi bindings from one port to the other by going to Loopy's Menu -> Control Settings -> Current Project -> Default ->
look for the "Deluge Port 1" section and tap on "TRANSFER" to copy or move all the midi bindings to the real
port name of your Deluge.
- In case you already have a Loopy Pro project or template and you want to import the MIDI follow control surface into it, do
the following:
- Open the "Deluge Midi Follow"project and go to Settings -> Control Settings -> Current Project -> click "Midi Follow" profile.
- On the top right click "TRANSFER" and copy it to Global Profiles.
- Open your project and go to Settings -> Control Settings -> Global -> click "Midi Follow" profile.
- On the top right click "TRANSFER" and copy it to Current Project. Ok, now the MIDI bindings are imported. Now we need to import
the widgets.
- Open again the "Deluge Midi Follow" project and click the pencil to edit the UI, and drag a rectangle selection all the page.
Copy it, open your own project and in an empy page, paste it. Do the same with the other page with Stepped Dials.

<img alt="image" src="https://github.com/SynthstromAudible/DelugeFirmware/blob/316279c5e091cdeb7d50828e407789966fb53abc/contrib/midi_follow/loopy_pro/loopy-pro-template-snapshot.png">

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

Expand Down
52 changes: 26 additions & 26 deletions src/deluge/gui/l10n/english.json
Original file line number Diff line number Diff line change
Expand Up @@ -706,23 +706,25 @@
"STRING_FOR_AUDIO_CLIP": "Audio clip",
"STRING_FOR_SONG": "Song",
"STRING_FOR_SETTINGS": "Settings",
"STRING_FOR_COMP_THRESHOLD_MENU_TITLE": "Comp threshold",
"STRING_FOR_ENV_ATTACK_MENU_TITLE": "Env* attack",
"STRING_FOR_ENV_DECAY_MENU_TITLE": "Env* decay",
"STRING_FOR_ENV_SUSTAIN_MENU_TITLE": "Env* sustain",
"STRING_FOR_ENV_RELEASE_MENU_TITLE": "Env* release",
"STRING_FOR_OSC_TYPE_MENU_TITLE": "Osc* type",
"STRING_FOR_OSC_WAVE_IND_MENU_TITLE": "Osc* wave-ind.",
"STRING_FOR_OSC_WAVE_IND_MENU_TITLE": "Osc* wave-index",
"STRING_FOR_OSC_LEVEL_MENU_TITLE": "Osc* level",
"STRING_FOR_CARRIER_FEED_MENU_TITLE": "Carrier* feed.",
"STRING_FOR_CARRIER_FEED_MENU_TITLE": "Carrier* feedb",
"STRING_FOR_SAMP_REVERSE_MENU_TITLE": "Samp* reverse",
"STRING_FOR_SAMP_REPEAT_MENU_TITLE": "Samp* repeat",
"STRING_FOR_OSC_TRANSPOSE_MENU_TITLE": "Osc* transpose",
"STRING_FOR_SAMP_SPEED_MENU_TITLE": "Samp* speed",
"STRING_FOR_SAMP_INTERP_MENU_TITLE": "Samp* interp.",
"STRING_FOR_SAMP_INTERP_MENU_TITLE": "Samp* interp",
"STRING_FOR_OSC_P_WIDTH_MENU_TITLE": "Osc* p. width",
"STRING_FOR_OSC_R_PHASE_MENU_TITLE": "Osc* r. phase",
"STRING_FOR_ARP_GATE_MENU_TITLE": "Arp gate",
"STRING_FOR_ARP_PRESET_MENU_TITLE": "Arp preset",
"STRING_FOR_ARP_GATE_MENU_TITLE": "Arp gate",
"STRING_FOR_ARP_RATE_MENU_TITLE": "Arp rate",
"STRING_FOR_ARP_RANDOMIZER_LOCK_TITLE": "Arp lock rand",
"STRING_FOR_ARP_MODE_MENU_TITLE": "Arp enabled",
"STRING_FOR_ARP_SYNC_MENU_TITLE": "Arp sync",
Expand All @@ -739,38 +741,36 @@
"STRING_FOR_ARP_CHORD_PROBABILITY_MENU_TITLE": "Arp chord prob",
"STRING_FOR_ARP_RATCHET_PROBABILITY_MENU_TITLE": "Arp ratc prob",
"STRING_FOR_ARP_SEQUENCE_LENGTH_MENU_TITLE": "Arp seq length",
"STRING_FOR_ARP_SPREAD_VELOCITY_MENU_TITLE": "Velocity spread",
"STRING_FOR_ARP_SPREAD_GATE_MENU_TITLE": "Arp gate spread",
"STRING_FOR_ARP_SPREAD_OCTAVE_MENU_TITLE": "Arp octa spread",
"STRING_FOR_ARP_RATE_MENU_TITLE": "Arp rate",
"STRING_FOR_FM_MOD_TRAN_MENU_TITLE": "FM Mod* tran.",
"STRING_FOR_SPREAD_VELOCITY_MENU_TITLE": "Velocity spread",
"STRING_FOR_FM_MOD_TRAN_MENU_TITLE": "FM Mod* tran",
"STRING_FOR_FM_MOD_LEVEL_MENU_TITLE": "FM Mod* level",
"STRING_FOR_FM_MOD_FBACK_MENU_TITLE": "FM Mod* f.back",
"STRING_FOR_FM_MOD2_DEST_MENU_TITLE": "FM Mod2 dest.",
"STRING_FOR_FM_MOD_FBACK_MENU_TITLE": "FM Mod* feedb",
"STRING_FOR_FM_MOD2_DEST_MENU_TITLE": "FM Mod2 dest",
"STRING_FOR_FM_MOD_RETRIG_MENU_TITLE": "FM Mod* retrig",
"STRING_FOR_SIDECH_ATTACK_MENU_TITLE": "Sidech. attack",
"STRING_FOR_SIDECH_SHAPE_MENU_TITLE": "Sidech. shape",
"STRING_FOR_REVERB_SIDECH_MENU_TITLE": "Reverb sidech.",
"STRING_FOR_MIDI_PGM_NUMB_MENU_TITLE": "MIDI PGM numb.",
"STRING_FOR_SIDECH_ATTACK_MENU_TITLE": "Sidech attack",
"STRING_FOR_SIDECH_SHAPE_MENU_TITLE": "Sidech shape",
"STRING_FOR_REVERB_SIDECH_MENU_TITLE": "Reverb sidech",
"STRING_FOR_MIDI_PGM_NUMB_MENU_TITLE": "MIDI PGM number",
"STRING_FOR_CV_V_PER_OCTAVE_MENU_TITLE": "CV* V/octave",
"STRING_FOR_CV_TRANSPOSE_MENU_TITLE": "CV* transpose",
"STRING_FOR_SHORTCUTS_VER_MENU_TITLE": "Shortcuts ver.",
"STRING_FOR_FIRMWARE_VER_MENU_TITLE": "Firmware ver.",
"STRING_FOR_COMMUNITY_FTS_MENU_TITLE": "Community feat.",
"STRING_FOR_TEMPO_M_MATCH_MENU_TITLE": "Tempo m. match",
"STRING_FOR_T_CLOCK_INPUT_MENU_TITLE": "T. clock input",
"STRING_FOR_T_CLOCK_OUT_MENU_TITLE": "T. clock out",
"STRING_FOR_DEFAULT_VELOC_MENU_TITLE": "Default veloc.",
"STRING_FOR_DEFAULT_RESOL_MENU_TITLE": "Default resol.",
"STRING_FOR_MASTER_TRAN_MENU_TITLE": "Master tran.",
"STRING_FOR_MIDI_INST_MENU_TITLE": "MIDI inst.",
"STRING_FOR_SHORTCUTS_VER_MENU_TITLE": "Shortcuts vers",
"STRING_FOR_FIRMWARE_VER_MENU_TITLE": "Firmware vers",
"STRING_FOR_COMMUNITY_FTS_MENU_TITLE": "Community feat",
"STRING_FOR_T_CLOCK_INPUT_MENU_TITLE": "Trig clock in",
"STRING_FOR_T_CLOCK_OUT_MENU_TITLE": "Trig clock out",
"STRING_FOR_DEFAULT_VELOC_MENU_TITLE": "Default veloc",
"STRING_FOR_DEFAULT_RESOL_MENU_TITLE": "Default resol",
"STRING_FOR_MASTER_TRAN_MENU_TITLE": "Master trans",
"STRING_FOR_MIDI_INST_MENU_TITLE": "MIDI instr",
"STRING_FOR_SEND_TO_SIDECH_MENU_TITLE": "Send to sidech",
"STRING_FOR_SIDECH_RELEASE_MENU_TITLE": "Sidech release",
"STRING_FOR_NUM_MEMBER_CH_MENU_TITLE": "Num member ch.",
"STRING_FOR_NUM_MEMBER_CH_MENU_TITLE": "Num member ch",
"STRING_FOR_METRONOME": "METRONOME",
"STRING_FOR_DEFAULT_METRO_MENU_TITLE": "Default metro.",
"STRING_FOR_DEFAULT_METRO_MENU_TITLE": "Default metro",
"STRING_FOR_DEFAULT_PAD_BRIGHTNESS": "PAD BRIGHTNESS",
"STRING_FOR_DEFAULT_PAD_BRIGHTNESS_MENU_TITLE": "Pad brightness.",
"STRING_FOR_DEFAULT_PAD_BRIGHTNESS_MENU_TITLE": "Pad brightness",
"STRING_FOR_DEFAULT_SLICE_MODE": "Sample Slice Mode",
"STRING_FOR_DEFAULT_SLICE_MODE_MENU_TITLE": "Sample Slice Mode",
"STRING_FOR_DEFAULT_ACCESSIBILITY": "Accessibility",
Expand Down
52 changes: 26 additions & 26 deletions src/deluge/gui/l10n/g_english.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -656,23 +656,25 @@ PLACE_SDRAM_DATA Language english{
{STRING_FOR_AUDIO_CLIP, "Audio clip"},
{STRING_FOR_SONG, "Song"},
{STRING_FOR_SETTINGS, "Settings"},
{STRING_FOR_COMP_THRESHOLD_MENU_TITLE, "Comp threshold"},
{STRING_FOR_ENV_ATTACK_MENU_TITLE, "Env* attack"},
{STRING_FOR_ENV_DECAY_MENU_TITLE, "Env* decay"},
{STRING_FOR_ENV_SUSTAIN_MENU_TITLE, "Env* sustain"},
{STRING_FOR_ENV_RELEASE_MENU_TITLE, "Env* release"},
{STRING_FOR_OSC_TYPE_MENU_TITLE, "Osc* type"},
{STRING_FOR_OSC_WAVE_IND_MENU_TITLE, "Osc* wave-ind."},
{STRING_FOR_OSC_WAVE_IND_MENU_TITLE, "Osc* wave-index"},
{STRING_FOR_OSC_LEVEL_MENU_TITLE, "Osc* level"},
{STRING_FOR_CARRIER_FEED_MENU_TITLE, "Carrier* feed."},
{STRING_FOR_CARRIER_FEED_MENU_TITLE, "Carrier* feedb"},
{STRING_FOR_SAMP_REVERSE_MENU_TITLE, "Samp* reverse"},
{STRING_FOR_SAMP_REPEAT_MENU_TITLE, "Samp* repeat"},
{STRING_FOR_OSC_TRANSPOSE_MENU_TITLE, "Osc* transpose"},
{STRING_FOR_SAMP_SPEED_MENU_TITLE, "Samp* speed"},
{STRING_FOR_SAMP_INTERP_MENU_TITLE, "Samp* interp."},
{STRING_FOR_SAMP_INTERP_MENU_TITLE, "Samp* interp"},
{STRING_FOR_OSC_P_WIDTH_MENU_TITLE, "Osc* p. width"},
{STRING_FOR_OSC_R_PHASE_MENU_TITLE, "Osc* r. phase"},
{STRING_FOR_ARP_GATE_MENU_TITLE, "Arp gate"},
{STRING_FOR_ARP_PRESET_MENU_TITLE, "Arp preset"},
{STRING_FOR_ARP_GATE_MENU_TITLE, "Arp gate"},
{STRING_FOR_ARP_RATE_MENU_TITLE, "Arp rate"},
{STRING_FOR_ARP_RANDOMIZER_LOCK_TITLE, "Arp lock rand"},
{STRING_FOR_ARP_MODE_MENU_TITLE, "Arp enabled"},
{STRING_FOR_ARP_SYNC_MENU_TITLE, "Arp sync"},
Expand All @@ -689,38 +691,36 @@ PLACE_SDRAM_DATA Language english{
{STRING_FOR_ARP_CHORD_PROBABILITY_MENU_TITLE, "Arp chord prob"},
{STRING_FOR_ARP_RATCHET_PROBABILITY_MENU_TITLE, "Arp ratc prob"},
{STRING_FOR_ARP_SEQUENCE_LENGTH_MENU_TITLE, "Arp seq length"},
{STRING_FOR_ARP_SPREAD_VELOCITY_MENU_TITLE, "Velocity spread"},
{STRING_FOR_ARP_SPREAD_GATE_MENU_TITLE, "Arp gate spread"},
{STRING_FOR_ARP_SPREAD_OCTAVE_MENU_TITLE, "Arp octa spread"},
{STRING_FOR_ARP_RATE_MENU_TITLE, "Arp rate"},
{STRING_FOR_FM_MOD_TRAN_MENU_TITLE, "FM Mod* tran."},
{STRING_FOR_SPREAD_VELOCITY_MENU_TITLE, "Velocity spread"},
{STRING_FOR_FM_MOD_TRAN_MENU_TITLE, "FM Mod* tran"},
{STRING_FOR_FM_MOD_LEVEL_MENU_TITLE, "FM Mod* level"},
{STRING_FOR_FM_MOD_FBACK_MENU_TITLE, "FM Mod* f.back"},
{STRING_FOR_FM_MOD2_DEST_MENU_TITLE, "FM Mod2 dest."},
{STRING_FOR_FM_MOD_FBACK_MENU_TITLE, "FM Mod* feedb"},
{STRING_FOR_FM_MOD2_DEST_MENU_TITLE, "FM Mod2 dest"},
{STRING_FOR_FM_MOD_RETRIG_MENU_TITLE, "FM Mod* retrig"},
{STRING_FOR_SIDECH_ATTACK_MENU_TITLE, "Sidech. attack"},
{STRING_FOR_SIDECH_SHAPE_MENU_TITLE, "Sidech. shape"},
{STRING_FOR_REVERB_SIDECH_MENU_TITLE, "Reverb sidech."},
{STRING_FOR_MIDI_PGM_NUMB_MENU_TITLE, "MIDI PGM numb."},
{STRING_FOR_SIDECH_ATTACK_MENU_TITLE, "Sidech attack"},
{STRING_FOR_SIDECH_SHAPE_MENU_TITLE, "Sidech shape"},
{STRING_FOR_REVERB_SIDECH_MENU_TITLE, "Reverb sidech"},
{STRING_FOR_MIDI_PGM_NUMB_MENU_TITLE, "MIDI PGM number"},
{STRING_FOR_CV_V_PER_OCTAVE_MENU_TITLE, "CV* V/octave"},
{STRING_FOR_CV_TRANSPOSE_MENU_TITLE, "CV* transpose"},
{STRING_FOR_SHORTCUTS_VER_MENU_TITLE, "Shortcuts ver."},
{STRING_FOR_FIRMWARE_VER_MENU_TITLE, "Firmware ver."},
{STRING_FOR_COMMUNITY_FTS_MENU_TITLE, "Community feat."},
{STRING_FOR_TEMPO_M_MATCH_MENU_TITLE, "Tempo m. match"},
{STRING_FOR_T_CLOCK_INPUT_MENU_TITLE, "T. clock input"},
{STRING_FOR_T_CLOCK_OUT_MENU_TITLE, "T. clock out"},
{STRING_FOR_DEFAULT_VELOC_MENU_TITLE, "Default veloc."},
{STRING_FOR_DEFAULT_RESOL_MENU_TITLE, "Default resol."},
{STRING_FOR_MASTER_TRAN_MENU_TITLE, "Master tran."},
{STRING_FOR_MIDI_INST_MENU_TITLE, "MIDI inst."},
{STRING_FOR_SHORTCUTS_VER_MENU_TITLE, "Shortcuts vers"},
{STRING_FOR_FIRMWARE_VER_MENU_TITLE, "Firmware vers"},
{STRING_FOR_COMMUNITY_FTS_MENU_TITLE, "Community feat"},
{STRING_FOR_T_CLOCK_INPUT_MENU_TITLE, "Trig clock in"},
{STRING_FOR_T_CLOCK_OUT_MENU_TITLE, "Trig clock out"},
{STRING_FOR_DEFAULT_VELOC_MENU_TITLE, "Default veloc"},
{STRING_FOR_DEFAULT_RESOL_MENU_TITLE, "Default resol"},
{STRING_FOR_MASTER_TRAN_MENU_TITLE, "Master trans"},
{STRING_FOR_MIDI_INST_MENU_TITLE, "MIDI instr"},
{STRING_FOR_SEND_TO_SIDECH_MENU_TITLE, "Send to sidech"},
{STRING_FOR_SIDECH_RELEASE_MENU_TITLE, "Sidech release"},
{STRING_FOR_NUM_MEMBER_CH_MENU_TITLE, "Num member ch."},
{STRING_FOR_NUM_MEMBER_CH_MENU_TITLE, "Num member ch"},
{STRING_FOR_METRONOME, "METRONOME"},
{STRING_FOR_DEFAULT_METRO_MENU_TITLE, "Default metro."},
{STRING_FOR_DEFAULT_METRO_MENU_TITLE, "Default metro"},
{STRING_FOR_DEFAULT_PAD_BRIGHTNESS, "PAD BRIGHTNESS"},
{STRING_FOR_DEFAULT_PAD_BRIGHTNESS_MENU_TITLE, "Pad brightness."},
{STRING_FOR_DEFAULT_PAD_BRIGHTNESS_MENU_TITLE, "Pad brightness"},
{STRING_FOR_DEFAULT_SLICE_MODE, "Sample Slice Mode"},
{STRING_FOR_DEFAULT_SLICE_MODE_MENU_TITLE, "Sample Slice Mode"},
{STRING_FOR_DEFAULT_ACCESSIBILITY, "Accessibility"},
Expand Down
6 changes: 3 additions & 3 deletions src/deluge/gui/l10n/strings.h
Original file line number Diff line number Diff line change
Expand Up @@ -718,6 +718,7 @@ enum class String : size_t {
STRING_FOR_DEFAULT_PAD_BRIGHTNESS,

// MENU TITLES
STRING_FOR_COMP_THRESHOLD_MENU_TITLE,
STRING_FOR_ENV_ATTACK_MENU_TITLE,
STRING_FOR_ENV_DECAY_MENU_TITLE,
STRING_FOR_ENV_SUSTAIN_MENU_TITLE,
Expand Down Expand Up @@ -750,9 +751,9 @@ enum class String : size_t {
STRING_FOR_ARP_CHORD_PROBABILITY_MENU_TITLE,
STRING_FOR_ARP_RATCHET_PROBABILITY_MENU_TITLE,
STRING_FOR_ARP_SEQUENCE_LENGTH_MENU_TITLE,
STRING_FOR_ARP_SPREAD_VELOCITY_MENU_TITLE,
STRING_FOR_ARP_SPREAD_GATE_MENU_TITLE,
STRING_FOR_ARP_SPREAD_OCTAVE_MENU_TITLE,
STRING_FOR_ARP_SPREAD_GATE_MENU_TITLE,
STRING_FOR_SPREAD_VELOCITY_MENU_TITLE,
STRING_FOR_ARP_GATE_MENU_TITLE,
STRING_FOR_ARP_RATE_MENU_TITLE,
STRING_FOR_FM_MOD_TRAN_MENU_TITLE,
Expand All @@ -769,7 +770,6 @@ enum class String : size_t {
STRING_FOR_SHORTCUTS_VER_MENU_TITLE,
STRING_FOR_FIRMWARE_VER_MENU_TITLE,
STRING_FOR_COMMUNITY_FTS_MENU_TITLE,
STRING_FOR_TEMPO_M_MATCH_MENU_TITLE,
STRING_FOR_T_CLOCK_INPUT_MENU_TITLE,
STRING_FOR_T_CLOCK_OUT_MENU_TITLE,
STRING_FOR_DEFAULT_VELOC_MENU_TITLE,
Expand Down
1 change: 1 addition & 0 deletions src/deluge/gui/menu_item/generate/dmenus/compressor.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
["{name}", "{title}", "params::UNPATCHED_COMPRESSOR_THRESHOLD"],
"compressor/threshold.md",
name="STRING_FOR_THRESHOLD",
title="STRING_FOR_COMP_THRESHOLD_MENU_TITLE",
)

attack = Menu(
Expand Down
2 changes: 1 addition & 1 deletion src/deluge/gui/menu_item/generate/g_menus.inc
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ std::array<MenuItem*, 3> child2 = {
&filterRoutingMenu,
};
Submenu soundFiltersMenu{STRING_FOR_FILTERS, child2};
audio_compressor::CompParam threshold{STRING_FOR_THRESHOLD, STRING_FOR_THRESHOLD, params::UNPATCHED_COMPRESSOR_THRESHOLD};
audio_compressor::CompParam threshold{STRING_FOR_THRESHOLD, STRING_FOR_COMP_THRESHOLD_MENU_TITLE, params::UNPATCHED_COMPRESSOR_THRESHOLD};
audio_compressor::Ratio compRatio{STRING_FOR_RATIO, STRING_FOR_RATIO};
audio_compressor::Attack compAttack{STRING_FOR_ATTACK, STRING_FOR_ATTACK};
audio_compressor::Release compRelease{STRING_FOR_RELEASE, STRING_FOR_RELEASE};
Expand Down
Loading
Loading