Sticky - Syncing Noatikl desktop with Logic 8 (Mac)

Generative Music Creator
Posts: 423
Joined: Thu Aug 23, 2007 7:41 pm
antispam_a: cole
antispam_b: 9
Location: Directly above the centre of the earth

Sticky - Syncing Noatikl desktop with Logic 8 (Mac)

Post by Umcorps » Tue Feb 03, 2009 2:11 pm

This post is an addendum to the video tutorials concerning synchronising noatikl desktop version with Logic 8. Earlier versions of Logic are not affected.

For reasons unknown, Logic 8 is passing midi start/stop/continue system messages, received from any midi input, through to the sequencer input, meaning they are then echoed at the corresponding output port.

When using loopback midi ports such as the IAC or unmodified MidiPipe this results in a feedback loop of start messages. This might not be immediately noticeable with some hardware and software devices. However, when noatikl receives a midi start message, it sends a string of midi controllers to reset things like channel volume and pan to default values.

So the system is rapidly overwhelmed by the sheer volume of this data as noatikl attempts to respond to each of the incoming midi start messages in turn. And Logic chokes.

The reason that this behaviour appears inconsistent is that Logic only sends out a start message when the song pointer position is at 1. 0. 0. 0. If playback starts after that position, Logic sends a continue message instead which does not cause noatikl to generate the initialisation string. But as you have a feedback loop of these system messages running constantly in the background it will eventually take its toll on your system performance and result in timing errors and other odd behaviour.

There are three possible solutions.

1) Use separate ports for noatikl in and out, ensuring that the second port is not connected to Logic sequencer input. This is the recommended setup if you want to use noatikl's "Listen" facility. This works using either the IAC or MidiPipe. Guidance on how to do this is here ... ral_9.html

2) Using MidiPipe, you can continue to use a single port for noatikl in and out PROVIDING you insert a message filter between the inputs and output of the pipe and set it to filter out midi start/stop/continue messages.


3) To use a single IAC port you need to set up a filter in Logic's environment before the sequencer input. To do this you set two Transformer objects in parallel. Set both to filter all non-matching conditions. Set one to allow all note events on all channels and the other to allow all midi CC events on all channels. This will, in effect, restore Logic's behaviour to pre v8 by trapping and discarding incoming midi start messages.