Skip to content

Commit

Permalink
Merge branch 'community' into Fix-Bug-(small)--gate4-setting-displays…
Browse files Browse the repository at this point in the history
  • Loading branch information
mnantel committed Jun 25, 2024
2 parents cacfeb3 + 6180e29 commit 3e15a7b
Show file tree
Hide file tree
Showing 11 changed files with 33 additions and 1 deletion.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@
- Set the default Hold Press time by accessing `SETTINGS > DEFAULTS > HOLD PRESS TIME`
- Added ability to save and load MIDI presets. They end up in a new folder named MIDI.
- Holding back now fully exits the menu
- A new community feature toggle has been added (`Enable KB View Sidebar Menu Exit (EXIT)`) which will enable you to immediately exit the menu using the top left sidebar pad if you are in the `SETTINGS` or `SOUND` menu for `KEYBOARD VIEW`.

In addition, a number of improvements have been made to how the OLED display is used:

Expand Down
6 changes: 6 additions & 0 deletions docs/community_features.md
Original file line number Diff line number Diff line change
Expand Up @@ -917,6 +917,7 @@ to each individual note onset. ([#1978])
pads will default to the first 7 scale modes, but you can change any pad to any scale by
holding it down and turning the vertical encoder. If the scale that is going to be set
can't fit/transpose the existing notes from your clips, screen will show `Can't`.
- ([#2174]) With the addition of the new Keyboard Sidebar Controls, the default behaviour of being able to immediately exit the menu by pressing a sidebar pad while in Keyboard View was removed. To accomodate users that still wish to be able to exit the menus immediately by pressing a sidebar pad, a new community feature toggle has been added (`Enable KB View Sidebar Menu Exit (EXIT)`) which will enable you to immediately exit the menu using the top left sidebar pad if you are in the `SETTINGS` or `SOUND` menu for `KEYBOARD VIEW`.

#### 4.4.2 - New scales

Expand Down Expand Up @@ -1103,6 +1104,8 @@ list of all options as listed in OLED and 7SEG displays and what they do:
* With the "7SEG" mode, the deluge will boot with the emulated display.
* This option is technically available also on deluge with 7SEG hardware. But as you need an external display to
render the OLED screen, it is of more limited use.
* `Enable KB View Sidebar Menu Exit (EXIT)`
* When On, while in the `SETTINGS` or `SOUND` menu of `KEYBOARD VIEW`, pressing the top left sidebar pad will immediately exit the menu.

## 6. Sysex Handling

Expand Down Expand Up @@ -1336,6 +1339,9 @@ different firmware
[#2136]: https://github.com/SynthstromAudible/DelugeFirmware/pull/2136

[#2166]: https://github.com/SynthstromAudible/DelugeFirmware/pull/2166

[#2174]: https://github.com/SynthstromAudible/DelugeFirmware/pull/2166

[Automation View Documentation]: https://github.com/SynthstromAudible/DelugeFirmware/blob/release/1.0/docs/features/automation_view.md

[Velocity View Documentation]: https://github.com/SynthstromAudible/DelugeFirmware/blob/release/1.0/docs/features/velocity_view.md
Expand Down
1 change: 1 addition & 0 deletions src/deluge/gui/l10n/english.json
Original file line number Diff line number Diff line change
Expand Up @@ -477,6 +477,7 @@
"STRING_FOR_COMMUNITY_FEATURE_LIGHT_SHIFT": "Light Shift",
"STRING_FOR_COMMUNITY_FEATURE_EMULATED_DISPLAY": "Emulated Display",
"STRING_FOR_COMMUNITY_FEATURE_DX_SHORTCUTS": "Enable DX shortcuts",
"STRING_FOR_COMMUNITY_FEATURE_KEYBOARD_VIEW_SIDEBAR_MENU_EXIT": "Enable KB View Sidebar Menu Exit",

"STRING_FOR_TRACK_STILL_HAS_CLIPS_IN_SESSION": "Track still has clips in session",
"STRING_FOR_DELETE_ALL_TRACKS_CLIPS_FIRST": "Delete all track's clips first",
Expand Down
1 change: 1 addition & 0 deletions src/deluge/gui/l10n/g_english.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -435,6 +435,7 @@ PLACE_SDRAM_DATA Language english{
{STRING_FOR_COMMUNITY_FEATURE_LIGHT_SHIFT, "Light Shift"},
{STRING_FOR_COMMUNITY_FEATURE_EMULATED_DISPLAY, "Emulated Display"},
{STRING_FOR_COMMUNITY_FEATURE_DX_SHORTCUTS, "Enable DX shortcuts"},
{STRING_FOR_COMMUNITY_FEATURE_KEYBOARD_VIEW_SIDEBAR_MENU_EXIT, "Enable KB View Sidebar Menu Exit"},
{STRING_FOR_TRACK_STILL_HAS_CLIPS_IN_SESSION, "Track still has clips in session"},
{STRING_FOR_DELETE_ALL_TRACKS_CLIPS_FIRST, "Delete all track's clips first"},
{STRING_FOR_CANT_DELETE_FINAL_CLIP, "Can't delete final Clip"},
Expand Down
1 change: 1 addition & 0 deletions src/deluge/gui/l10n/g_seven_segment.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -356,6 +356,7 @@ PLACE_SDRAM_DATA Language seven_segment{
{STRING_FOR_COMMUNITY_FEATURE_LIGHT_SHIFT, "LGSH"},
{STRING_FOR_COMMUNITY_FEATURE_EMULATED_DISPLAY, "EMUL"},
{STRING_FOR_COMMUNITY_FEATURE_DX_SHORTCUTS, "DX7S"},
{STRING_FOR_COMMUNITY_FEATURE_KEYBOARD_VIEW_SIDEBAR_MENU_EXIT, "EXIT"},
{STRING_FOR_TRACK_STILL_HAS_CLIPS_IN_SESSION, "CANT"},
{STRING_FOR_DELETE_ALL_TRACKS_CLIPS_FIRST, "CANT"},
{STRING_FOR_CANT_DELETE_FINAL_CLIP, "CANT"},
Expand Down
1 change: 1 addition & 0 deletions src/deluge/gui/l10n/seven_segment.json
Original file line number Diff line number Diff line change
Expand Up @@ -368,6 +368,7 @@
"STRING_FOR_COMMUNITY_FEATURE_LIGHT_SHIFT": "LGSH",
"STRING_FOR_COMMUNITY_FEATURE_EMULATED_DISPLAY": "EMUL",
"STRING_FOR_COMMUNITY_FEATURE_DX_SHORTCUTS": "DX7S",
"STRING_FOR_COMMUNITY_FEATURE_KEYBOARD_VIEW_SIDEBAR_MENU_EXIT": "EXIT",

"STRING_FOR_TRACK_STILL_HAS_CLIPS_IN_SESSION": "CANT",
"STRING_FOR_DELETE_ALL_TRACKS_CLIPS_FIRST": "CANT",
Expand Down
1 change: 1 addition & 0 deletions src/deluge/gui/l10n/strings.h
Original file line number Diff line number Diff line change
Expand Up @@ -459,6 +459,7 @@ enum class String : size_t {
STRING_FOR_COMMUNITY_FEATURE_LIGHT_SHIFT,
STRING_FOR_COMMUNITY_FEATURE_EMULATED_DISPLAY,
STRING_FOR_COMMUNITY_FEATURE_DX_SHORTCUTS,
STRING_FOR_COMMUNITY_FEATURE_KEYBOARD_VIEW_SIDEBAR_MENU_EXIT,

STRING_FOR_TRACK_STILL_HAS_CLIPS_IN_SESSION,
STRING_FOR_DELETE_ALL_TRACKS_CLIPS_FIRST,
Expand Down
4 changes: 3 additions & 1 deletion src/deluge/gui/menu_item/runtime_feature/settings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ Setting menuLightShiftLed(RuntimeFeatureSettingType::LightShiftLed);
Setting menuEnableGrainFX(RuntimeFeatureSettingType::EnableGrainFX);
Setting menuEnableDxShortcuts(RuntimeFeatureSettingType::EnableDxShortcuts);
EmulatedDisplay menuEmulatedDisplay{};
Setting menuEnableKeyboardViewSidebarMenuExit(RuntimeFeatureSettingType::EnableKeyboardViewSidebarMenuExit);

std::array<MenuItem*, RuntimeFeatureSettingType::MaxElement - kNonTopLevelSettings> subMenuEntries{
&menuDrumRandomizer,
Expand All @@ -62,7 +63,8 @@ std::array<MenuItem*, RuntimeFeatureSettingType::MaxElement - kNonTopLevelSettin
&menuLightShiftLed,
&menuEnableGrainFX,
&menuEnableDxShortcuts,
&menuEmulatedDisplay};
&menuEmulatedDisplay,
&menuEnableKeyboardViewSidebarMenuExit};

Settings::Settings(l10n::String name, l10n::String title) : menu_item::Submenu(name, title, subMenuEntries) {
}
Expand Down
12 changes: 12 additions & 0 deletions src/deluge/gui/ui/keyboard/layout/column_controls.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,19 @@ void ColumnControlsKeyboard::evaluatePads(PressedPad presses[kMaxNumKeyboardPadP
if (pressed.active) {
// if holding multiple will be left as the last button pressed
leftColHeld = pressed.y;
// needs to be wrapped in a community features toggle since there's no UI for this
if (pressed.y == 7) {
if (runtimeFeatureSettings.get(RuntimeFeatureSettingType::EnableKeyboardViewSidebarMenuExit)
== RuntimeFeatureStateToggle::On) {
// minimize happy path time since most of the time this will be a normal press
if (getCurrentUI()->exitUI()) [[unlikely]] {
keyboardScreen.killColumnSwitchKey(LEFT_COL);
continue;
}
}
}
}

if (!pressed.dead) {
state.leftCol->handlePad(modelStackWithTimelineCounter, pressed, this);
}
Expand Down
5 changes: 5 additions & 0 deletions src/deluge/model/settings/runtime_feature_settings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,11 @@ void RuntimeFeatureSettings::init() {
SetupEmulatedDisplaySetting(settings[RuntimeFeatureSettingType::EmulatedDisplay],
STRING_FOR_COMMUNITY_FEATURE_EMULATED_DISPLAY, "emulatedDisplay",
RuntimeFeatureStateEmulatedDisplay::Hardware);

// EnableKeyboardViewSidebarMenuExit
SetupOnOffSetting(settings[RuntimeFeatureSettingType::EnableKeyboardViewSidebarMenuExit],
STRING_FOR_COMMUNITY_FEATURE_KEYBOARD_VIEW_SIDEBAR_MENU_EXIT, "enableKeyboardViewSidebarMenuExit",
RuntimeFeatureStateToggle::Off);
}

void RuntimeFeatureSettings::readSettingsFromFile(StorageManager& bdsm) {
Expand Down
1 change: 1 addition & 0 deletions src/deluge/model/settings/runtime_feature_settings.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ enum RuntimeFeatureSettingType : uint32_t {
EnableGrainFX,
EnableDxShortcuts,
EmulatedDisplay,
EnableKeyboardViewSidebarMenuExit,
MaxElement // Keep as boundary
};

Expand Down

0 comments on commit 3e15a7b

Please sign in to comment.