MIDI import: Pitch bend range CCs ignored and wrong default
- Dominant language
- C++
- Stars
- 10.4k
- Forks
- 1.3k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 7
Description
First the easy part, the default range should be adjusted for instrument tracks imported from MIDI:
http://www.blitter.com/~russtopia/MIDI/~jglatt/tech/midispec/wheel.htm
> The GM spec recommends that MIDI devices default to using the entire range of possible Pitch Wheel message values (ie, 0x0000 to 0x3FFF) as +/- 2 half steps transposition (ie, 4 half-steps total range). The Pitch Wheel Range (or Sensitivity) is adjusted via an RPN controller message.
And second, if there are any pitch bend range messages, they should be handled. And they aren't plain CCs, I'm afraid:
http://kurzweil.com/knowledgebase/pc1x/internal_voices-program_mode/33/
> First you send cc# 100 with a value of 0; then cc#101 with a value of 0. This turns on reception for setting pitch bend with the Data controller (#6). Then you send cc# 6 with a value of 2 (in semitones; this will give you a whole step up and a whole step down from the center).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the MIDI import path for instrument tracks and trace how pitch-wheel settings and controller messages are currently read. Consult the linked MIDI specifications, then verify that the default range and RPN-based pitch-bend range messages are handled correctly during import.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100