[sharing] Logic transport in Max 6

Apr 22, 2013 at 10:55pm

[sharing] Logic transport in Max 6

This patcher gets Logic transport data into Max via ReWire to [transport] and MTC via [midin]. Even parses Logic ppq according to Logic’s “divisions” system as long as divisions are set the same in Logic and Max. Accurate to ~2 ppq @480 ppq at steady tempos. Tracks OK through tempo changes; Tempo is very accurate.
No need to create an aux track or midi instrument in Logic to access the ReWire transport data.
Tempo, playback, cycle on/off, and rewind can be controlled direct from Max. The patcher is ready to be sliced into UI bpatchers.
Tested using Logic 64bit and Max 6.1.2 64bit.
The ReWire link is stable; even persistent when Logic is opened after Max.

#67877
Apr 23, 2013 at 4:47pm

Clarification: When I wrote “Tempo is very accurate” I should have said “Max tracking of Logic’s Current Tempo is very accurate.” Meaning the bpm updates quickly and accurately in Max when changed in Logic.

#244074
Apr 25, 2013 at 6:21pm

There’s not a bug but there is an object I forgot to include in this download. Stay tuned for v2 and if you downloaded this patch delete and update to v2 when it comes online

#244075
Apr 25, 2013 at 8:14pm

Actually there’s nothing to change in the patch. Please note:
enable “Transmit MMC” in Logic>Preferences>MIDI>Sync>MIDI Sync Project Settings

#244076
Apr 26, 2013 at 5:55am

…and set ReWire Behavior to “Live Mode (Higher CPU Load)” in Logic>Preferences>Audio

#244077
Apr 26, 2013 at 9:04am

Your patch looks interesting but I’m not sure about the benefits compared to a regular rewire setup. In particular regarding the fact, that the standard rewire protocol ensures sample accurate synchronization and doesn’t require MTC or MMC messages.

#244078
Apr 26, 2013 at 5:10pm

Good point Broc!
The patch is intended to allow the Logic transport status to be displayed more-or-less accurately in a Max MIDI sequencer application. It is not intended to be part of a Max patch that is a ReWire client sending synchronized audio to Logic.
Having an up to date set of Logic transport info within Max affords the possibility of having a second client [transport] object, other than the named ReWire [transport], that has timesig tempo and bars:beats:units set via the ReWire [transport] and can run timing for MIDI programming of sequences when the Logic transport is idle, and then “print” those sequences via ReWire transport data and [midiout] direct to Logic when Logic’s transport is running and a track is record enabled. In other words, a MIDI sequencer that can have a client transport chained to Logic when needed, and its own independent transport at other times. This may also allow use of vst MIDI sequencer plugins (like Thesys) in Max that are locked to Logic’s transport.
Logic’s “regular” MIDI Clock outputs send 24 ticks/beat sand eemed both low-resolution and strangely out of sync with its internal clock. This patch implemented a way to compare Logic’s timing into Max via [rtin] (which is not part of the attached patch) with Logic’s ReWire and MTC output.
Perhaps more importantly, though, it was an exercise in using Max to receive and parse Logic’s (sometimes laggy and weird) MTC and ReWire output and make it human-readable in Max. MTC is an important part of the project I am working on….

#244079
May 17, 2013 at 9:56am

unsubscribe

#249692

You must be logged in to reply to this topic.