Is there currently a known workaround for the bug with MIDI-controlled tap tempo? I'd like to be able to use MidiFire in a performance next week, and I'm not sure if v1.10 will be out by then. I've found that if I can get past a short period of wonky high tempos at startup without crashing, the app stabilizes and I can work with it. I just don't know the best way to make sure I survive that initial period.
Right now, the only workaround is to have the 'Settings' panel of the clock module (ie. touch the 'cog') opened at least once to avoid this bug. If you're planning on changing scenes via MIDI then this will be problematic, I'm afraid.
Nic - The pedal is just sending 0 or 127 and no events in between. There doesn't seem to be any block of input that would send the tempo into the ethers. Here is a 10 sec video clip of the error in action. One tap on pedal produces one 127 and one 0 value event. Tempo shoots to the thousands.
I use MidiPipe rather than StreamByter if adjusting values is necessary, but the pedal is already sending just those two values.
After the test video I sent MidiFire was locked up. I couldn't get at the clock to re-adjust tempo at all and no response from settings button. I figure it was just running so fast that all threads were blocked. I was able to remove all the blocks and just start over. Now tap tempo and clock are aligned exactly as expected.
So...it all seems fine at the moment but there is a speedy little gremlin running around in there somewhere. If I can re-create it again I'll send more info.
Try as I might, I cannot play that video either on a mac or a windows machine.
Looking at the code it seems that if you use MidiFire's 'Remote Control' panels to learn a CC for a button, then it looks like the button gets pressed on any CC value, including 0. This may be what is happening. If you're using the Dynamic Clock's own built-in learn (from the Clock Settings) then only a positive CC value should trigger the tap. I suggest the following:
- check whether you are using the global Remote Control panel or the Clock's local learn function for your pedal (you should only use one of the other!) - remove the learn event from the global Remote Control - add the learn event to the local Clock settings instead
Alternatively, filter out the CC value of zero from the pedal using MidiPipe.
Hmmm - it may have been using both the global and the local. Here's a new link to the video: http://www..hartsteins.com/midifire.mp4
I tossed the whole set-up started over and it seems steady. Of course my work over in the MidiBus forum has now eclipsed the MidiFire solution path for my project but MidiFire is a good tool to have in the kit. Thanks for your help