I expect that there’s likely an easy answer to this and that I’m over thinking it.
I have a stack of old Unitor 8 boxes. These have a particular quirk in how they handle Midi clock. When a Unitor sees a clock signal on any input it will automatically route it to all output ports. There is a way to filter that out and I have done that.
Unfortunately, when I create any single route in MTP from by Beatstep Pro to any single Unitor output port, I have clock on all the outputs again. It would seem there’s a glitch in Apple’s driver for it, the Unitor’s clock filters don’t work when I’m routing this in software. This of course creates a problem when I try to route the Beatstep to multiple outputs, I start getting multiple clocks and the problems that come with that. It’s not a loop at the device outputs, I encounter the same thing routing the Beatstep midi to an output in MTP with no device connected.
My thinking was to create a single route from the Beatstep to the Unitor in MTP (thus sending the clock everywhere,) then use a translator to filter all clock events and route that to the various synths for note and control data.
I could create a stack of translators for note on and off, cc etc. but I figured there must be a quicker way to just filter the clock. I did look at the ‘Using Raw Midi.bmtp’ and that accompanying video, but I couldn’t quite wrap my head around it.
First of all Steve, thanks, worked perfectly. When I first bought MTP and Bome Network it was to solve a couple reliability issues I was having here in the studio. Since then I’ve done so much more with this software than I had originally imagined was possible. The software is totally pro, rock solid and the support is great too, thank you!
I am a little confused though, hopefully you can help me out here. I had thought (apparently incorrectly) that when I made a connection in the Midi Router panel, that all data would be passed i.e. effectively a virtual straight wire. If I wanted to modify something I would use a preset with a translator, select my input ports and output ports in the preset and that would create effectively a wire with a filter on it (but don’t make that connection in the router)
In this case all the connections are made in the router and the translators are also working. It seems like somewhere I’m missing a basic concept. I did watch the video you linked to and I have for some time used the default ports and the local overrides at the preset level, but I had thought that making a ‘midi through’ connection in the router would override all that. Could you please explain further the relationship between the router connection and the translators? I don’t recall seeing this in the manual, though honestly I did skim though it looking for the info I needed.
You need to look at the Swallow option of the translator. If swallow is set and there is a MIDI through path in the router, the original MIDI Message will not pass through if:
The translator’s outgoing action executes
The translator’s outgoing action is NONE
If Swallow is not set, the original message also passes through. Also if the outgoing action is not complete with a rule like ‘if qq==1 then exit rules, skip outgoing action’ then the translator doesn’t execute and the signal will still get through even if swallow is set. This was confusing to me at first as well.
The thing I noticed which confuses me is that I don’t believe the second translator should be needed so I have a bug report in on that. The reason is that at the preset level I only set output for BMT1-9 and not Unitor8, so I don’t think the Unitor8 MIDI clock signal should have been blocked. For that reason I added another translator to let the clock through to the Unitor8. I’ll need to see what comes back on my bug report.
Yeah, there have beed a couple moments working in the software that left me scratching my head, but a no point have I not managed to find a work around and get things reliably working the way I need them to.
This is actually not a bug. It is expected behavior. If the translator does not execute it doesn’t consider the output path so it still swallows even to Unitor. Hence the other translator is required allowing MIDI clock. I can’t believe I didn’t stumble on this before.
Steve Caldwell
Bome Customer Care
Also available for paid consulting services: bome@sniz.biz