If you want to increase/decrease the MIDI Clock, I don’t think you need to involve the use of counters though. If your MIDI Clock is running, you’ll just need a midi clock increase/decrease function to change the MIDI clock?
Currently in the MIDI Clock message type, there is only the Set function. But if you bring up the menu, you can increase/decrease the clock from there as well.
The advantage of a global Counter API is that you can act on a counter without impacting the current clock, so just increase in background by the number of bpm you want, then apply. Doing so could allow to create faster or slower tempo changes.
And all the Counter infrastructure already exists, even if it needs to be grouped under a new Counter MSG type. Because actually it is duplicated in CC and PC scroll.
The menu is not very useful if you need to increase slowly the bpm, many foot actions to obtain one change, advantage of a dedicated counter would be one click-> one change, so a press each 30 seconds will bring the changes, very difficult to obtain with the menu.
And the Menu does not remember the last BPM… major problem.
One problem I see actually is that your counter implementation is limited to a 127 max value, which is very low for fast bpm.
Found this thread and wanted to second this request. A built in dedicated MIDI Clock scroll would be incredibly useful. Could have 1 switch control scrolling through BPMs for those of us that don’t need to design entire setlists but want to easily pull up the precise BPM of the next song
I have suggested that the SetBpm from Counter could use a fixed part to allow a broader scope then simply 0-127, something as :
‘Set Bpm from Counter xx with shift yy’
where yy could be 0 to 127 itself, then allowing bpms from 0 to 256.