Skip to content

Fix Attack Command Number; Add Chorus & Portamento Time #49

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

Merged
merged 4 commits into from
Apr 3, 2022
Merged

Fix Attack Command Number; Add Chorus & Portamento Time #49

merged 4 commits into from
Apr 3, 2022

Conversation

deckerego
Copy link
Contributor

  • Fixed ATTACK_TIME value
  • Added CHORUS value
  • Added PORTAMENTO_TIME to match the PORTAMENTO on/off value

- Fixed ATTACK_TIME value
- Added CHORUS value
- Added PORTAMENTO_TIME to match the PORTAMENTO on/off value
Copy link
Member

@tekktrik tekktrik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know very little about MIDI so I don't know if I'm qualified approve this or not, but a quick search about it lead to the above comments. Thanks for submitting!

@tekktrik tekktrik requested a review from a team March 26, 2022 15:47
@tekktrik tekktrik added the enhancement New feature or request label Mar 26, 2022
@tekktrik
Copy link
Member

Okay, coming back to this after doing a little more digging. So it looks like 5 is the MSB for the coarse adjustment, and 37 is the LSB for fine adjustment. In that case, it might be more future proof to label 37 as PORTAMENTO_TIME_FINE so that PORTAMENTO_TIME can be 5. I'm basing this off the way that the same thing could happen to FOOT_PEDAL if 36 is ever added. What do you think about that?

@rimwolf-redux
Copy link

The putative norms and actual practice of which CCs should be used for which controls diverges widely, and this file by and large defines just the most commonly implemented assignments; many synthesizers won't even implement all of them thus. (It might be wise to add a comment to the file to this effect.) My comments address these common usages.

PORTAMENTO_TIME should be 5, not 37. Theoretically CCs 32--63 are reserved for LSB (7 bits) of the MSB (7 bits) of the controller values for 0--32, but in practice very few synthesizers implement LSB for any of these values. (CC37 would be the LSB of CC5.) I certainly don't think it's worthwhile defining names for any of them.

Another relatively common controller is BANK SELECT, CC 0. This is used to select which bank of patches a Program Change message references.

The assigments for CCs 75--78 are not common -- they're normatively just Sound Controller 6--9 -- and I'd be happy to see them removed from this file.

(These comments are based on my having studied, owned, and used a wide variety of synthesizers, hardware and software, since the 1980s, with particular attention to CC implementation.)

deckerego added a commit to deckerego/Macropad_4chord_MIDI that referenced this pull request Apr 3, 2022
Switch to coarse portamento time controls based on feedback at adafruit/Adafruit_CircuitPython_MIDI#49 (comment)
@deckerego
Copy link
Contributor Author

...it looks like 5 is the MSB for the coarse adjustment, and 37 is the LSB for fine adjustment. In that case, it might be more future proof to label 37 as PORTAMENTO_TIME_FINE so that PORTAMENTO_TIME can be 5.

Updated to coarse adjustment

Copy link
Member

@tekktrik tekktrik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So based off everything here, I think this is good to go. If we ever want to clean this up by removing things, we can do so knowing that it is (I would say) a breaking change for the library. Thanks y'all!

@tekktrik tekktrik merged commit 3d87190 into adafruit:main Apr 3, 2022
@deckerego deckerego deleted the update_control_values branch April 3, 2022 19:19
adafruit-adabot added a commit to adafruit/Adafruit_CircuitPython_Bundle that referenced this pull request Apr 4, 2022
Updating https://github.com/adafruit/Adafruit_CircuitPython_SCD30 to 2.2.3 from 2.2.2:
  > Merge pull request adafruit/Adafruit_CircuitPython_SCD30#31 from cHemingway/readme_example_sck
  > Update Black to latest.
  > Fixed readthedocs build
  > Consolidate Documentation sections of README

Updating https://github.com/adafruit/Adafruit_CircuitPython_SGP30 to 2.4.0 from 2.3.7:
  > Merge pull request adafruit/Adafruit_CircuitPython_SGP30#35 from benthorner/main
  > Update Black to latest.
  > Fixed readthedocs build
  > Consolidate Documentation sections of README

Updating https://github.com/adafruit/Adafruit_CircuitPython_ESP32S2TFT to 1.0.1 from 1.0.0:
  > Merge pull request adafruit/Adafruit_CircuitPython_ESP32S2TFT#2 from tekktrik/dev/use-f-strings
  > Update Black to latest.
  > Corrected pylint version

Updating https://github.com/adafruit/Adafruit_CircuitPython_MIDI to 1.4.8 from 1.4.7:
  > Merge pull request adafruit/Adafruit_CircuitPython_MIDI#49 from deckerego/update_control_values
  > Update Black to latest.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants