Well I was planning on going to the openeye festival this weekend. But it rained and poured so we decided to not go on Friday and maybe go in Saturday. While the weather was good, one of the others seemed to have decided to go and so I ended up spending some quality time with learning the Traktor Pro effects a bit better. I probably need to focus on a subset for now as its a bit overwhelming learning all at the same time. I also worked on integrating iTM DJ into my set a bit more. With a bit of encouragement from Bent0 I dropped MIDI Patchbay as the "weapon of choice" for channel remapping in favor of using Bome's Translator, that I have run anyways to get my loop juggeling magic to work.
In Bome's all I needed to was add a new virtual port. I also added a new preset with two translators. Both translator are set to input and output MIDI messages build from 3 local variables "oo", "pp", "qq".
MIDI channel messages are made of 3 bytes, the first byte contains the status information. The status information in turn defines the message type (note on/off etc.) with the high bits and the channel with the low bits. In other words if a message comes in with "90 4C 00" (this is hex code for the 3 bytes) it means that a note on messages was send to channel 0 (the "90" part) to the MIDI control "4C" with the velocity "00". So the trick is to adjust the first byte value stored in the "oo" variable from channel 1 to channel 10 by simply adding "9" for the messages coming from itouchmidi and substracting 9 when sending things back to itouchmidi. As a result the above message would be transformed to "99 4C 00". Note that BMT always contains from zero where most music software like Traktor contains from 1. So channel 1 in the traktor world is actually 0 in BMT.
Traktor only sees/talks to the virtual port I am using in both Translators, since I swallow the MIDI messages in translators. The following shows the MIDI port mapping for remapping the original itouchmidi messages from channel 1 onto channel 10 on the virtual port provided by Bome's. In the second translator this needs to be reversed. That is messages are read from Bome's virtual port and outputted to itouchmidi.
That's it, now all messages get remapped from channel 1 to 10 coming in from itouchmidi and back from channel 10 to 1 going back into itouchmidi.
I however noticed horrible performance and couldn't get MIDI feedback to work so that I would see the current value of for example the volume fader in iTM DJ. Well this morning I found out that there seems to be some issue with the iPhone 3G S that I just bought. Everything runs just dandy on my iPhone 2G even though its also running iPhone OS 3.0. Wierd but I guess the iTouchMIDI guys need to check this issue out. Anyways, I know have various MIDI out mappings to show the current state of the EQ's, FX and the loop/sync buttons. However it seems that Traktor is not really honoring modifier values in MIDI out assignments, which means that its not handeling the deck selection modifiers. Oh well so it goes, most of the time I will be DJing with only 2 decks anyways. I also changed most of the current TSI settings to use soft takeover to prevent me from accidentally going crazy on a setting. Current config can be fetched from the subversion repository as always.