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

Display Mod Encoder Values with Popup, Update Value Ranges in Menu's, Update Midi CC Value Range, Bug Fix for Midi CC Assignment in Automation Overview #636

Conversation

seangoodvibes
Copy link
Collaborator

@seangoodvibes seangoodvibes commented Oct 21, 2023

  1. Mod Encoders now display a pop-up showing the current value of the parameter being changed. The value range displayed matches what is displayed in the menu's.

Added code to view.cpp to display new value corresponding to the parameter that the mod encoder being turned is assigned to.

Removed display popup code from MidiParamCollection and ExpressionParamSet as its no longer required.

Works in Arranger, Song, Audio and Instrument Clips

Does not work for Master Compressor as the Master Compressor uses Non-Existent Params

When in soundEditor, if you turn a modEncoder, it will only display a pop up when you're turning a modEncoder that is mapped to a parameter that is different from the parameter being edited in the soundEditor menu

  1. Factored out the Param Menu Value Range constants

Factored out the +/- 50 constants for Param's

For Pan, the range changed from -32 to +32 to -25 to +25

  1. Factored out the Patch Cable Value Range constants

Factored out the +/- 5000 constants for Patch Cables

  1. Ignore modEncoder turns for Midi above 127

Currently there is a bug where turning the knob to the 128th position acts as sending 127 twice.

Instead of doing that, I have set it to ignore modEncoderActions for MIDI Instrument Clips that result in the knob turning to 128 or turning from 128 to 127.

Applied this change in the Automation Instrument Clip View too.

  1. Fix bug with Midi CC clips in Automation Instrument Clip View when in the Automation Overview

There was a bug where you could not assign Midi CC's to a Mod Encoder when in the Automation Overview.

This has been fixed with an addition to selectEncoderAction to check if the CurrentUIMode is UI_MODE_SELECTING_MIDI_CC

  1. Added ability to increase scrolling speed for adjusting values in menu's with Select Encoder by holding Shift

By default, turning the select encoder will change the value by +/- 1
To change value by +/- 5 (e.g. accelerated), hold shift while turning the select encoder

  1. Stutter Quantization

When turning mod encoder for stutter and stutter quantization community feature is enabled, a pop up is displayed showing the stutter quantization instead of the knob position.

Addresses: #554

@soymonitus
Copy link
Contributor

Should we do as the MIDI CC popup was doing? I mean, instead of showing values from 0 to 128, make the value 128 be painted as 127 because in MIDI there is no such 128, so in the Deluge 128 is treated like 127.

@m-m-adams
Copy link
Collaborator

Should they display 0-50 like in menus? It's odd that you don't get the same scaling on the popup as editing the same parameter in the menu

@seangoodvibes seangoodvibes force-pushed the Display-Mod-Encoder-Values-with-Popup branch 2 times, most recently from e1b1dd7 to 6c6ce4a Compare October 25, 2023 17:07
@seangoodvibes seangoodvibes changed the title Display Mod Encoder Values with Popup Display Mod Encoder Values with Popup and Update Value Ranges in Menu's Oct 25, 2023
@seangoodvibes seangoodvibes changed the title Display Mod Encoder Values with Popup and Update Value Ranges in Menu's Display Mod Encoder Values with Popup, Update Value Ranges in Menu's, Update Midi CC Value Range Oct 26, 2023
@seangoodvibes seangoodvibes changed the title Display Mod Encoder Values with Popup, Update Value Ranges in Menu's, Update Midi CC Value Range Display Mod Encoder Values with Popup, Update Value Ranges in Menu's, Update Midi CC Value Range, Bug Fix for Midi CC Assignment in Automation Overview Oct 26, 2023
@seangoodvibes
Copy link
Collaborator Author

seangoodvibes commented Oct 26, 2023

Should they display 0-50 like in menus? It's odd that you don't get the same scaling on the popup as editing the same parameter in the menu

As discussed, updated menu's to display 0-128, same scaling as popups.

@soymonitus
Copy link
Contributor

soymonitus commented Oct 26, 2023

E369 when turning the Stutter effect knob inside a synth. When quantized stutter is On, there is some special logic there to make the knob LEDs look quantized

@seangoodvibes
Copy link
Collaborator Author

E369 when turning the Stutter effect knob inside a synth. When quantized stutter is On, there is some special logic there to make the knob LEDs look quantized

Fixed. Thanks for reporting.

Added code to view.cpp to display new value corresponding to the parameter that the mod encoder being turned is assigned to.

Removed display popup code for from MidiParamCollection and ExpressionParamSet as its no longer required.
Changed display of Pan values from:

0 - 128

to

-64 - +64
Updated the Value Adjustment range in the menu from 0 - 50 to 0 - 128.

For Pan, the range changed from -32 to +32 to -64 to + 64
Factored out the constants for Patch Cables

Updated range from -50 to.+50 to -128 to +128 to align with the +128 range displayed for params in the regular menu's
When in soundEditor, if you turn a modEncoder, it will only display a pop up when you're turning a modEncoder that is mapped to a parameter that is different from the parameter being edited in the soundEditor menu
Currently there is a bug where turning the knob to the 128th position acts as sending 127 twice.

Instead of doing that, I have set it to ignore modEncoderActions for MIDI Instrument Clips that result in the knob turning to 128 or turning from 128 to 127.
Changed Midi CC Value Range in Automation Instrument Clip View from 0 - 128 to 0 - 127.
Documented some changes to Automation Instrument Clip View for Midi CC values

Fixed issue where you could not assign a Midi CC to a Mod Encoder with the Select Encoder when in the Automation Overview
- Added description of improvements to community_features.md
- Reversed changes to compressor attack / release menu items per feedback from @m-m-adams
- Updated selectEncoderAction when in Menu to adjust menu values by +/- 2 by default. To adjust menu values by +/- 1, you just need to hold shift.
Fixed bug with quantize stutter crashing
Changed default acceleration for Select Encoder back to +/- 1 as changing it to +/- 2 affects scrolling through menu items.
Per feedback, adjusted select encoder acceleration to +/- 5 while holding shift
if turning stutter mod encoder and stutter quantize is enabled, display stutter quantization instead of knob position
When pressing down on the stutter mod encoder and turning the knob, the knob now displays the fine tuned stutter amounts rather than the quantized amounts.
@seangoodvibes seangoodvibes force-pushed the Display-Mod-Encoder-Values-with-Popup branch from ab3f937 to 727cc61 Compare October 27, 2023 03:40
1) Changed menu range back to 0 - 50 (Pan displays -25 to +25)

2) Changed mod encoder pop-ups to display the 0-50 range by converting the 0-128 knob positions to 0 - 50 (with the exception of Pan which displays -25 to +25)

3) Updated parameter values displayed in Automation View to use the 0 - 50 range (except for MIDI which stays with 0 - 127)

4) Update Pan in Automation View to display the -25 to +25 range
Changed range from 0 - 128 to 0 - 50

5) Some cleanup of function definitions in Automation View by passing the InstrumentClip and Instrument variables where needed
@PaulFreund PaulFreund merged commit a258921 into SynthstromAudible:release/1.0 Oct 30, 2023
@sdesign75
Copy link

Gold encoders are not displaying values on OLED for me (running latest nightly build). Do I have to enable this somewhere? I’m a new deluge user so could be user error I guess

@seangoodvibes
Copy link
Collaborator Author

Gold encoders are not displaying values on OLED for me (running latest nightly build). Do I have to enable this somewhere? I’m a new deluge user so could be user error I guess

Hi

It would be in the beta build, not the nightly.

@sdesign75
Copy link

Gold encoders are not displaying values on OLED for me (running latest nightly build). Do I have to enable this somewhere? I’m a new deluge user so could be user error I guess

Hi

It would be in the beta build, not the nightly.

Why is that? Fairly sure I downloaded nightly

@seangoodvibes
Copy link
Collaborator Author

Gold encoders are not displaying values on OLED for me (running latest nightly build). Do I have to enable this somewhere? I’m a new deluge user so could be user error I guess

Hi

It would be in the beta build, not the nightly.

Why is that? Fairly sure I downloaded nightly

We have two versions of the community firmware:

  1. beta: this compiles based on the Release 1.0 branch of GitHub and represents the stable release of features that will become part of the first official Community Firmware release

This should re-compile immediately after every PR is merged

  1. nightly: this compiles based on the Community branch of GitHub and represents the unstable release of features that will become part of future releases of the Community Firmware. This branch includes the updates of the Release 1.0 branch + experimental new features. Note: it is not updated in real time with the changes to the Release 1.0 branch (eg this PR is not in the Community Branch yet) as that needs to be done as a manual process.

The nightly build is built once a day on a nightly basis.

@sdesign75
Copy link

Gold encoders are not displaying values on OLED for me (running latest nightly build). Do I have to enable this somewhere? I’m a new deluge user so could be user error I guess

Hi

It would be in the beta build, not the nightly.

Why is that? Fairly sure I downloaded nightly

We have two versions of the community firmware:

  1. beta: this compiles based on the Release 1.0 branch of GitHub and represents the stable release of features that will become part of the first official Community Firmware release

This should re-compile immediately after every PR is merged

  1. nightly: this compiles based on the Community branch of GitHub and represents the unstable release of features that will become part of future releases of the Community Firmware. This branch includes the updates of the Release 1.0 branch + experimental new features. Note: it is not updated in real time with the changes to the Release 1.0 branch (eg this PR is not in the Community Branch yet) as that needs to be done as a manual process.

The nightly build is built once a day on a nightly basis.

Okay thanks, so I should download the beta if I want more stable?

@seangoodvibes
Copy link
Collaborator Author

Gold encoders are not displaying values on OLED for me (running latest nightly build). Do I have to enable this somewhere? I’m a new deluge user so could be user error I guess

Hi

It would be in the beta build, not the nightly.

Why is that? Fairly sure I downloaded nightly

We have two versions of the community firmware:

  1. beta: this compiles based on the Release 1.0 branch of GitHub and represents the stable release of features that will become part of the first official Community Firmware release

This should re-compile immediately after every PR is merged

  1. nightly: this compiles based on the Community branch of GitHub and represents the unstable release of features that will become part of future releases of the Community Firmware. This branch includes the updates of the Release 1.0 branch + experimental new features. Note: it is not updated in real time with the changes to the Release 1.0 branch (eg this PR is not in the Community Branch yet) as that needs to be done as a manual process.

The nightly build is built once a day on a nightly basis.

Okay thanks, so I should download the beta if I want more stable?

Yes download the beta for the more stable release!

@sdesign75
Copy link

Gold encoders are not displaying values on OLED for me (running latest nightly build). Do I have to enable this somewhere? I’m a new deluge user so could be user error I guess

Hi

It would be in the beta build, not the nightly.

Why is that? Fairly sure I downloaded nightly

We have two versions of the community firmware:

  1. beta: this compiles based on the Release 1.0 branch of GitHub and represents the stable release of features that will become part of the first official Community Firmware release

This should re-compile immediately after every PR is merged

  1. nightly: this compiles based on the Community branch of GitHub and represents the unstable release of features that will become part of future releases of the Community Firmware. This branch includes the updates of the Release 1.0 branch + experimental new features. Note: it is not updated in real time with the changes to the Release 1.0 branch (eg this PR is not in the Community Branch yet) as that needs to be done as a manual process.

The nightly build is built once a day on a nightly basis.

Okay thanks, so I should download the beta if I want more stable?

Yes download the beta for the more stable release!

Thanks Sean. I just installed the beta and now everything works as it should

m-m-adams pushed a commit to m-m-adams/DelugeFirmware that referenced this pull request Oct 30, 2023
… Update Midi CC Value Range, Bug Fix for Midi CC Assignment in Automation Overview (SynthstromAudible#636)

* Display Mod Encoder Values with Popup

Added code to view.cpp to display new value corresponding to the parameter that the mod encoder being turned is assigned to.

Removed display popup code for from MidiParamCollection and ExpressionParamSet as its no longer required.

* Fixed value displayed for Pan

Changed display of Pan values from:

0 - 128

to

-64 - +64

* Dbt Format

* Updated Menu Value Adjustment Range

Updated the Value Adjustment range in the menu from 0 - 50 to 0 - 128.

For Pan, the range changed from -32 to +32 to -64 to + 64

* Updated Param Value Range for Patch Cables

Factored out the constants for Patch Cables

Updated range from -50 to.+50 to -128 to +128 to align with the +128 range displayed for params in the regular menu's

* Adjust displayed of popups when in soundEditor

When in soundEditor, if you turn a modEncoder, it will only display a pop up when you're turning a modEncoder that is mapped to a parameter that is different from the parameter being edited in the soundEditor menu

* Ignore modEncoder turns for Midi above 127

Currently there is a bug where turning the knob to the 128th position acts as sending 127 twice.

Instead of doing that, I have set it to ignore modEncoderActions for MIDI Instrument Clips that result in the knob turning to 128 or turning from 128 to 127.

* Dbt Format

* Update Midi CC Value Range in Automation Instrument Clip View

Changed Midi CC Value Range in Automation Instrument Clip View from 0 - 128 to 0 - 127.

* dbt format

* Bug Fix + Documentation

Documented some changes to Automation Instrument Clip View for Midi CC values

Fixed issue where you could not assign a Midi CC to a Mod Encoder with the Select Encoder when in the Automation Overview

* Adjustments

- Added description of improvements to community_features.md
- Reversed changes to compressor attack / release menu items per feedback from @m-m-adams
- Updated selectEncoderAction when in Menu to adjust menu values by +/- 2 by default. To adjust menu values by +/- 1, you just need to hold shift.

* Fixed quantized stutter crashing

Fixed bug with quantize stutter crashing

* Fixed selectEncoder default acceleration

Changed default acceleration for Select Encoder back to +/- 1 as changing it to +/- 2 affects scrolling through menu items.

* Adjusted select encoder acceleration

Per feedback, adjusted select encoder acceleration to +/- 5 while holding shift

* Updated display for stutter quantization

if turning stutter mod encoder and stutter quantize is enabled, display stutter quantization instead of knob position

* dbt format

* Fixed stutter display

When pressing down on the stutter mod encoder and turning the knob, the knob now displays the fine tuned stutter amounts rather than the quantized amounts.

* Updated knobPos displayed

1) Changed menu range back to 0 - 50 (Pan displays -25 to +25)

2) Changed mod encoder pop-ups to display the 0-50 range by converting the 0-128 knob positions to 0 - 50 (with the exception of Pan which displays -25 to +25)

3) Updated parameter values displayed in Automation View to use the 0 - 50 range (except for MIDI which stays with 0 - 127)

4) Update Pan in Automation View to display the -25 to +25 range
Changed range from 0 - 128 to 0 - 50

5) Some cleanup of function definitions in Automation View by passing the InstrumentClip and Instrument variables where needed

* Updates to documentation
PaulFreund added a commit that referenced this pull request Oct 30, 2023
* move comp params to click on reverb gold knob

add timeout to meters

popups

* set led for non existent params

* clarifying comments

* prep for move to param manager

* tweak ranges

* dbt format

* popup values out of 50

* Added feature to show last return addresses on grid going into fault handler

* Implemented new grid options and added J-Link debug server launching to launch config (#652)

* Display Mod Encoder Values with Popup, Update Value Ranges in Menu's, Update Midi CC Value Range, Bug Fix for Midi CC Assignment in Automation Overview (#636)

* Display Mod Encoder Values with Popup

Added code to view.cpp to display new value corresponding to the parameter that the mod encoder being turned is assigned to.

Removed display popup code for from MidiParamCollection and ExpressionParamSet as its no longer required.

* Fixed value displayed for Pan

Changed display of Pan values from:

0 - 128

to

-64 - +64

* Dbt Format

* Updated Menu Value Adjustment Range

Updated the Value Adjustment range in the menu from 0 - 50 to 0 - 128.

For Pan, the range changed from -32 to +32 to -64 to + 64

* Updated Param Value Range for Patch Cables

Factored out the constants for Patch Cables

Updated range from -50 to.+50 to -128 to +128 to align with the +128 range displayed for params in the regular menu's

* Adjust displayed of popups when in soundEditor

When in soundEditor, if you turn a modEncoder, it will only display a pop up when you're turning a modEncoder that is mapped to a parameter that is different from the parameter being edited in the soundEditor menu

* Ignore modEncoder turns for Midi above 127

Currently there is a bug where turning the knob to the 128th position acts as sending 127 twice.

Instead of doing that, I have set it to ignore modEncoderActions for MIDI Instrument Clips that result in the knob turning to 128 or turning from 128 to 127.

* Dbt Format

* Update Midi CC Value Range in Automation Instrument Clip View

Changed Midi CC Value Range in Automation Instrument Clip View from 0 - 128 to 0 - 127.

* dbt format

* Bug Fix + Documentation

Documented some changes to Automation Instrument Clip View for Midi CC values

Fixed issue where you could not assign a Midi CC to a Mod Encoder with the Select Encoder when in the Automation Overview

* Adjustments

- Added description of improvements to community_features.md
- Reversed changes to compressor attack / release menu items per feedback from @m-m-adams
- Updated selectEncoderAction when in Menu to adjust menu values by +/- 2 by default. To adjust menu values by +/- 1, you just need to hold shift.

* Fixed quantized stutter crashing

Fixed bug with quantize stutter crashing

* Fixed selectEncoder default acceleration

Changed default acceleration for Select Encoder back to +/- 1 as changing it to +/- 2 affects scrolling through menu items.

* Adjusted select encoder acceleration

Per feedback, adjusted select encoder acceleration to +/- 5 while holding shift

* Updated display for stutter quantization

if turning stutter mod encoder and stutter quantize is enabled, display stutter quantization instead of knob position

* dbt format

* Fixed stutter display

When pressing down on the stutter mod encoder and turning the knob, the knob now displays the fine tuned stutter amounts rather than the quantized amounts.

* Updated knobPos displayed

1) Changed menu range back to 0 - 50 (Pan displays -25 to +25)

2) Changed mod encoder pop-ups to display the 0-50 range by converting the 0-128 knob positions to 0 - 50 (with the exception of Pan which displays -25 to +25)

3) Updated parameter values displayed in Automation View to use the 0 - 50 range (except for MIDI which stays with 0 - 127)

4) Update Pan in Automation View to display the -25 to +25 range
Changed range from 0 - 128 to 0 - 50

5) Some cleanup of function definitions in Automation View by passing the InstrumentClip and Instrument variables where needed

* Updates to documentation

* Don't strip symbols from release ELF, only strip them in object

* dbt format

* seperate led level from popup

use new max menu constant where possible

* set correct values

* set better default values

---------

Co-authored-by: Paul Freund <[email protected]>
Co-authored-by: Sean Ditny <[email protected]>
seangoodvibes added a commit to seangoodvibes/DelugeFirmware that referenced this pull request Oct 31, 2023
Fixed conflict when Sticky Shift functionality is enabled with the Shift Acceleration that was added in SynthstromAudible#636

Fixed it by calling isButtonPressed instead of isShiftButtonPressed in order to check if the Shift button is actually being pressed rather than "stickily pressed."
m-m-adams pushed a commit that referenced this pull request Oct 31, 2023
Fixed conflict when Sticky Shift functionality is enabled with the Shift Acceleration that was added in #636

Fixed it by calling isButtonPressed instead of isShiftButtonPressed in order to check if the Shift button is actually being pressed rather than "stickily pressed."
github-merge-queue bot pushed a commit that referenced this pull request Nov 1, 2023
* Fixed Sticky Shift Conflict (#661)

Fixed conflict when Sticky Shift functionality is enabled with the Shift Acceleration that was added in #636

Fixed it by calling isButtonPressed instead of isShiftButtonPressed in order to check if the Shift button is actually being pressed rather than "stickily pressed."

* enable filters for testing

---------

Co-authored-by: Sean Ditny <[email protected]>
@seangoodvibes seangoodvibes deleted the Display-Mod-Encoder-Values-with-Popup branch February 22, 2024 23:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants