[DONE] MIDI CC/PC commands (over USB) to change tempo & more

Discuss or suggest new features here.
Please do not report bugs here, use the "Bug Reports" forum instead.
Post Reply
Simon
Posts: 998
Joined: 09 Jan 2022, 22:08

[DONE] MIDI CC/PC commands (over USB) to change tempo & more

Post by Simon »

Hey there!

This is closely related to viewtopic.php?t=61
I created a new topic since there is more to it than just presets.

It's official (you know it if you are on the mailing list), USB is coming to Midronome, MIDI class-compliant. USB will be used for:
  1. sending MIDI Clock over USB (for Ableton or Bitwig f.x.) (see viewtopic.php?t=35)
  2. receiving MIDI Start/stop has the same effect as pressing on the play button
  3. receiving MIDI CC commands to set a specific BPM or time signature
  4. receiving MIDI PC or Song Select commands to switch to a specific preset (that will only be when/if presets are implemented - see viewtopic.php?t=37)
  5. receiving MIDI CC commands to change any setting on the Midronome (an idea for the future)
Tempo goes from 30 to 400, but with CC there are only 127 values possible. So my idea for the commands is:
  • MIDI CC 85 x: sets MSB=x (default 0, maximum value 3)
  • MIDI CC 86 x: sets tempo at "MSB*128+x" (xx from 0 to 127, invalid values - depending on the MSB - are ignored)
  • MIDI CC 87 x: sets tempo at 60+x (i.e. tempo range from 60 to 187)
  • MIDI CC 88 x: sets tempo at 100+x (i.e. tempo range from 100 to 227)
  • MIDI CC 89 x: sets tempo at 140+x (i.e. tempo range from 140 to 267)
  • MIDI CC 90 x: sets time signature from 1/4 to 99/4 (other values are ignored)
  • MIDI PC x or Song Select x: activates tempo preset x (1 to 99, other values are ignored)
Note: CC 85 will not change the tempo, only set the MSB used for when CC 86 is sent. If CC 86 is received without having ever received a CC 85, MSB is set to zero.

Examples:
  • MIDI CC 86 120: MSB is default to zero, sets the tempo at 128*0+120=120 bpm
  • MIDI CC 86 12: MSB is default to zero, so tempo (12) is out of range, so this is ignored
  • MIDI CC 85 01 followed by MIDI CC 86 12: sets the tempo at 128*1+12=140 bpm
  • MIDI CC 88 60: sets the tempo at 100+60=160 bpm
  • MIDI CC 90 3: sets the time signature at 3/4
  • MIDI CC 90 0: out of range, ignored
  • MIDI PC 4: activates preset 4
  • MIDI Song Select 4: activates preset 4
As always, let me know what you think, and if you want less/more/different options.
n4Sphere
Posts: 65
Joined: 16 Mar 2022, 23:21

Re: [ACCEPTED - WIP] MIDI CC/PC commands (over USB) to change tempo & more

Post by n4Sphere »

awesome simon great work !
Post Reply