APC40 + Ableton + Traktor + Bomes need some help please

Nonspacial

2011-09-08 04:27:00

Hello all new world of joy,

You get this a lot and it will continue to happen: today I am the Noob with more questions than brain cells to fathom them.

Overview of what i want to do:

Run My APC40 as the controller for both Traktor and Ableton (possibly in the future Grand VJ, but lets not get ahead of ourself) simultaneously.

I have mapped my Apc to Traktor quite successfully and am now looking into running it for ableton as a way of Live hashing of loops i have created myself. i have a copy of Bomes 1.7.1 and am damn well sure this is possible.

Setup currently is a little complex in terms of virtual midi cables so it goes:

APC -> Bomes -> Bomes Virtual Midi I/O 1 -> ableton, simple enough
APC -> Bomes -> Bomes Virtual Midi I/O 2 -> Str8updrew's Send Monitor State Max Patch Fix (i'm on PC) -> Midi Yoke 1 to Traktor and Midi Yoke 2 Out of Traktor (this works fine i have tested it)


So what i need to know and do is isolate the 2 Virtual Midi Cables and update the APC by the Push of a button so i control and see one program and then the other.

currently i had so much trouble getting off the ground with even a modifier in this program i am eternally grateful to Debrecini for their post APC40 Help with additional banks / modes
which is the only post i have seen to include an actual starting point (or indeed any sort of uploaded preset) unlike Traktor: people are far more precious about their .bmtp's than .tsi's, which unfortunately doesn't help us that need to take things apart to learn from them.

anyway sorry for the gripe there, so i have uploaded here what i think i need to add to that .bmtp to make this work i.e. 2 presets called Ableton and Traktor, and i have made 2 extra shift translators that work on the record arm button of Track 7 on the APC, by turning this LED on i hope to use Ableton and Off use Traktor. This button is not mapped in Traktor for me and so works well with LED feedback to say what i am doing.

I have also changed the shift modifier to the Stop All Clips button and moved the Load Deck buttons in my tsi to free this button back up, on DJ Tech Tools it is Load Deck D/Unload Deck D and has a corresponding Deck Select if you want to move these to test please do.

i am hoping either someone already knows what i need to do and can put screenshots up/send me their .bmtp to see how they did it, or that maybe you will download my TSI and this .bmtp and be able to direct me from their.

Once this is all done i will get on with making the Banks for my traktor mapping work again as i'm sure the ableton handshake will screw things up, any advice on this also much appreciated, then i want make the Banks for ableton itself, the drum machine from the most famous video etc again any advice gratefully received.

Thanks very much for any time you may put into me i will make my .bmtp freely available as i expand it.

Robbie

My TSi can be found here both MAC and PC versions available make sure you have the Send monitor state Fix if your on pc and MIDI Yoke i think Page 5 or 4 of the thread has all the details, look for the mediafire link

http://www.djtechtools.com/forum/showth ... 817&page=6
Attachments
BOME APC 40 Robbie Basic.bmtp
(149.15 KiB) Downloaded 472 times

Nonspacial

2011-09-08 04:30:49

I have also noticed just FYI that the SHIFT Preset is cancelled by all bank selection and ableton/traktor presets in the .bmtp, so you have to release and push again if you wish to change presets one after another. i like this feature a lot as it stops you from accidentally pushing another one so i do't want to remove it.

florian

2011-09-14 18:35:57

Hi Nonspacial,

thanks for sharing your stuff. I'm not sure I fully understand your issue, and I currently don't have an APC40 to try.

You can configure 3 virtual Bome MIDI cables for connecting MT to Live and then have MT control the signal flow. But I guess you'd have gotten that far yourself? ;)

Thanks,
Florian

Nonspacial

2011-09-14 20:45:19

Hello Florian,

not having an APC could stump things slightly but i will try here to explain what i want MT to do on it's end and fill in the gaps in your knowledge about how the APC functions.

So what does happen is that Ableton talks to my APC through MT's Virtual Cable 1 and back again... perfectly :)

My APC also talks to Traktor through MT's Virtual Cable 2 and back again... perfectly.

The other program is off when i tested each so the banks are preserved for Traktor atm.

However the way that the APC is made in it's Firmware it contains 9 Banks which serve 8 Knobs and 8 Buttons to change their own Midi Channel they are sending on: The Ableton "handshake" destroys this function and instead takes these over and soft controls them to allow for more banks and a scroll of 1 bank to the left or right (i hope this makes sense). So I will have to rebuild them for Traktor using MT (not there yet though, advice welcome)

I have the entire matrix mapped in Traktor and pretty much every button (almost) and have picked the button which changes Traktor to Ableton and back to suit, along with the Shift button, based on what i do not use in my Traktor mapping. All is fine until i need to seperate which Virtual Midi Cable my APC is listening to?

The button i have picked needs to:

1. Change Virtual Midi Cable in and out of APC,
2. Allow the activation/deactivation of Banks recreated for my Traktor Mapping,
3. Stop All information going to or from Ableton or Traktor respectively.

I suppose i either i need rules embedded in the Macro Presets (Ableton/Traktor) in the SHIFT preset, at which point i'm totally lost (i imagine "if THIS is active then do THAT, if not do nothing/something"?) or i need to put presets inside presets somehow? or i need to like the other banks already setup 'blank' EVERY control from Ableton/Traktor respectively, this seems clumsy though and i was wondering if instead of the Banks themselves containing the Blank function that perhaps the shift modifier could do it instead?

This would mean that all blank functions were contained in the Shift button preset, my question here is would the blanks continue once a new preset was changed, is that even possible and if it is then i would only want to blank the matrix with Shift and then Blank the rest with the Traktor switch to button.

There is one other thing i have just noticed that may or may not cause a problem. The button i have picked for the Switch has 3 states in ableton On/Held/Off they relate only if there is a Track in ableton for the column on the APC, the button i have picked is on Track 7 and so with no Ableton Track in the project it only sends a note on or off, the codes in midi capture look like this for Track 1 90 30 7F (on), 90 30 00 (held) 80 30 7F (off), however on Track 7 i only get 96 30 7F (on), 86 30 7F (off). i have tried to manually add to 00 which is the obvious velocity but it doesn't work as there is only a note on/off message being sent. How can i recreate this function so that MT can see it without an Ableton Track loaded.

i know i have asked a lot here but i hope to actually get this off the ground pretty soon, i am currently head scratching with it so any advice will be very quickly implemented.

Thanks for your time, and if you happen to have ANY APC bmtp's knocking around i would appreciate as they say: A Gander, miller895@btinternet.com is my email.

i'd like to keep the advice on this post though so that it becomes a resource for others in my predicament.

Thanks again.

Robbie

florian

2011-09-14 21:21:59

Hi,

indeed more asked than I can answer without making this post my daytime job :lol:

The most useful way to go, in general, is this:

- keep things seperate for ableton and for traktor: every preset is EITHER ableton OR traktor.
- have one master "Switch" preset which only listens to the switch button and
- enables all traktor presets
- disables all ableton presets
or vice versa, for activating ableton mode.
- the ableton presets that talk to ableton will have their "default MIDI ports" set to
IN: APC40
OUT:MT 1
- the ableton presets that talk to the APC will have their "default MIDI ports" set to
IN: MT 1
OUT:APC40
- the traktor presets the same, just with MT 2
- like that you can avoid per-translator MIDI ports entirely, by just using "Preset Default MIDI ports"

Now that should sort out the correct MIDI port routing.

When you've done that, you can start on defining separate banks for Traktor... (I assume they work fine for Ableton?).
Florian

Nonspacial

2011-09-14 22:58:29

Ok so here's where i'm at:

I can't get the Ableton handshake to stop with the traktor preset?

in Bank 1 is the Sysex F0 7E 00 06 01 F7 that brings the clip launch back to normal but i'm wondering if i still need to blank EVERYTHING in the traktor preset, can you have a look for me?

The only other possibility is i don't understand exactly what you mean by "every preset is EITHER ableton OR traktor."

i have them set to the correct virtual ports for each but ableton just keeps control when i switch to the traktor preset?

and i'd like to know how i might preserve the LED Feedback in the Master Switch preset as they disappear when Bank 1 is selected and APC handshake function returns.
Attachments
BOME APC 40 Robbie Basic.bmtp
(150.65 KiB) Downloaded 410 times

Nonspacial

2011-09-15 04:18:54

I have just discovered something mildly interesting and possibly of note (definitely not sure how)

If i start Traktor 1st through my long winded cabling and then start Live then the APC stays with Traktor and has the Banks and everything locked in place, The MT Banks then work fine the Matrix blanks out and it's buttons do nothing in Traktor, Nothing goes through to Ableton at all and the 'handshake' is not made.

Pressing the Bank 1 Preset button which is set to send the Sys Ex message to ableton the APC stays blank until i push a button, and a button with a Send Monitor State In on it brings back the full LED matrix.

If however i start Live 1st, make the handshake and then Traktor, midi is sent to both programs and the Matrix looks like Traktor, internal APC banks are disabled (ableton handshake).

My point is it seems that the Traktor mapping is stronger than the Ableton handshake.

Nonspacial

2011-09-17 21:10:10

To keep my own post up to date i posted this on another thread:

So it seems that everyone has become scared of the Term Sys EX and that the shear mention of it makes people cower and revert to a work around away from it entirely. But without understanding a couple of basics surrounding the APC40 it will hinder and push you round in large circles that pretty much you don't need to dwell on. So there is a post way up near the top that metions the Sys EX of the handshake but DOES NOT actually list any numbers for HEX. this can be found admittedly on other sites where i got it from but it is not even mentioned that this pdf exists:

http://www.akaipro.com/extras/product/a ... _rev_1.pdf

which contains all the necessary information to understand the Sys EX information (except i have not found the SHIFT key string thus far).

Now the APC has 3 distinct states as observed above by some. When you turn it on it is in state 0, then ableton handshakes and it becomes State 1 and when live is turned off it is State 2 (this is known to some as DUMB MODE), from that link i give they are as follows:

Notes Regarding Generic Mode (Mode 0):
-[CLIP LAUNCH] buttons are momentary and should light the green LED when ON
-[CLIP STOP] buttons are momentary and should light its LED when ON
-[ACTIVATOR], [SOLO], [RECORD ARM] are toggle buttons and should light its LED when ON
-[TRACK SELECTION] buttons (1-8 + MASTER) are radio style and only one of the 9 buttons are ON at a
time. When ON its LED should light. These buttons will NOT send out MIDI in generic mode for its
state. These buttons dictate which one of nine banks the DEVICE CONTROL knobs and DEVICE
CONTROL switches belong to. These knobs and switches will output on a different MIDI channel
based on the current Track Selection (track 1 = MIDI channel 0, track 8 = MIDI channel 7, MASTER =
MIDI channel 8 ). Upon pressing one of the Track Selection buttons, the current position of the 8 APC40 COMMUNICATIONS PROTOCOL
Rev 1 – May 1, 2009 Page 7
Device Control knobs will be sent.
-[CLIP/TRACK (1)], [DEVICE ON/OFF (2)], [ (3)], [ (4)] will be toggle style and will light its LED when
ON
-[DETAIL VIEW (5)], [REC QUANTIZATION (6)], [MIDI OVERDUB (7)], [METRONOME (8)] will be
momentary style and will light its LED when ON
-[SCENE LAUNCH] and [STOP ALL CLIPS] buttons are momentary buttons and will light its LED when
ON
-TRACK CONTROL buttons are toggle buttons and will light its LED when ON
-TRACK CONTROL KNOBS and buttons are NOT banked in any way
-[PLAY], [STOP], [RECORD], [UP], [DOWN], [LEFT], [RIGHT], [SHIFT], [NUDGE+], [NUDGE-], [TAP
TEMPO] are momentary buttons
-LED rings are all set to SINGLE style

Notes Regarding Ableton Live Mode (Mode 1):
- All buttons are momentary buttons
- Device control knobs and buttons are not banked within the APC40
- LED Rings around the knobs are controlled by the APC40 but can be updated by the Host
- All other LEDs are controlled by the Host

Notes Regarding Alternate Ableton Live Mode (Mode 2):
- All buttons are momentary buttons
- Device control knobs and buttons are not banked within the APC40
- All LEDs are controlled by the Host

So These 3 states are controlled internally on the APC by SYS EX message sent by LIVE or not.

I have successfully created 2 buttons on the APC to send these strings back to the APC and thus change it's state internally with very little code involved. This then acts to prevent live from listening to anything that is controlled by the Banks internally held by the APC, and thus knobs twist in Traktor but not in Ableton, i then switch back to ableton and they perform as normal except Traktor also hears this state as it is also on Midi Channel 1. The String relevant is F0 47 00 73 60 00 04 40 08 02 05 F7

40 in bold represents the APC State in this case should be State 0 = Banks (can have value of 41 or 42)
and the 08 02 05 are the version number of Live you are using in Hex i am on 8.2.5 change as you will (this did still work for me when it was set to 8.1.1 but i have changed it since i understood it's meaning)

basically so you understand i have this function on both the note on and note off separately for the buttons i use, i use 2 seperate buttons for this namely the Track 7 Solo/Cue (ableton) and Activator (Traktor) buttons

Testing sys ex.bmtp is simply this button setup only, so you may see how it works it can be easily merged to your own projects as it contains nothing that blanks or otherwise only the commands associated with those buttons, no shift modifier is required and LED feedback works between button swaps. it isn't clean as when ableton preset is selected Solo/Cue is also pushed for Track 7 in ableton and cannot be deselected without 1st reselecting traktor and then back again.
The other strange behaviour is that the Sys EX code is reversed for some reason and i had to rename the translators and presets accordingly so i did not get confused but if you look at the output strings 40 Ableton and 41 is Banks for Traktor? i do not know why but it works provided you get the handshake.

Testing Sysex global blank.bmtp is where i am at now with this where i have blanked Channel's 1-9 all LED's and messages inside the Traktor preset when this is activated if you have a full matrix of lights in ableton then pushing one button per row of buttons will turn off all lights in that row, also no midi will go to ableton nor traktor. then by selecting ableton preset and then hitting the Shift key to get it to send it's Sys EX data ableton will re-populate the matrix for you.

IF anyone knows this Sys EX string sent by Shift then i can send that from the ableton preset button and always return to LED feedback. Here is why i said at the beginning understand that Sys EX is your friend and abuse it's uses for less code headache.

The other thing i'm struggling with at the moment is the not isolating of the midi cables for traktor and ableton. i'm guessing i'm going down the right road here but i'd much rather use global commands than individuals so i think correct me if i'm wrong... i have blanked all CHannel 1-9 note cammands and LEDs on 'Preset default midi ports' but it stops both channels, have i messed up by sending to and from APC for the preset?
Attachments
testing sys ex.bmtp
(2.91 KiB) Downloaded 402 times
testing sys ex global blank.bmtp
(7.53 KiB) Downloaded 396 times

Nonspacial

2012-01-23 04:01:10

Hello again it's been a while. I've picked up my mapping again and am having real problems understanding how to implement rules to record and store CC values inside a preset to recall them when the preset is activated again. i understand it is using global values but for the life of my cannot find someone spelling out the exact translator to create the values in the 1st place. i only need to record the Low and Mid EQ settings in Traktor which would equate to 8 knobs on Channel 1 CC's 18-23, so i want to store the positions of those CC's when the preset is deactivated and then recall them and send to the same CC's when it is activated. Ableton does it itself under my mapping but they are retained when traktor preset is activated. can someone fill in the gaps in these translators (or rewrite the idea entirely) for me.

Incoming Message:

Preset Change: Preset is Deactivated (by Name).... Traktor 041

Rules:

?

Outgoing Message:

?

Incoming Message:

Preset Change: Preset is Activated (by Name).... Traktor 041

Rules:

?

Outgoing Message:

F0 B0 14 ga B0 15 gb B0 16 gc B0 17 gd B0 18 ge B0 19 gf B0 1A gg B0 1B gh F7 i think would be right


i just don't know how or where to store the globals.

[it's worth noting that i just looked to capture the cc values in MT and noticed that the apc is sending spurious 14/1C and 15/1D etc for the CC's hex code, as a local it picks up the lower numbers but i'm thinking that maybe it has something to do with speed as when i turn the knob faster they go away... does this sound normal, a value 8 above cc broadcast on... hang on LED's are mapped to CC +8 maybe that's what it is... any thoughts welcome]



EDIT: answered my own question and all i have to do is make Incoming message and out going messages the same as the CC send it through to traktor and put in a single rule of ga==pp for 1 and gb=pp for the 2nd and so on then the 2nd translator is preset change by name no rules output the same CC with ga instead of pp to the controller so B0 10 ga is my 1st one.

only thing is it seems to have stopped all my faders and knobs from working i'm going to try moving it to the bottom of the preset

Nonspacial

2012-01-23 06:50:57

only working without programs running need some help on this still

Nonspacial

2012-01-23 17:50:01

fixed it

Translator 1 : record knob 1
Incoming: B0 10 pp
Rules: ha=pp, exit skip outgoing action
Outgoing: B0 10 pp

Translator 2: output knob 1
Incoming: on activation of current preset
rules: none
Outgoing: B0 10 ha

do this for all knobs so change 10 to: 11 through 17 changing the global variable to hb, hc, hd etc

and put them at the bottom of the preset

here is the bmtp with the pan/send knobs also mapped

this has LED memory for Traktor channel 1 and Ableton does all it's own thing :)

*Traktor on Virtual Midi out 1, Live on Virtual Midi out 2. Both Bome's, turn on Track and remote for Bome's 2 in Live for both in and out and set the Script of your choice to these in the dropdowns.

*Hold shift + press Channel 7 Record/Arm for Traktor or Solo/Cue for Live or Activator for Arkaos (Virtual Port 3).

*Hold shift + clip stop 1 for Drum Rack direct (requires drum rack loaded and Record/Arm lit for the channel)

*Hold Shift + clip stop 2 for Monome (requires Molar loaded and Record/Arm lit for channel)
Attachments
Working Ableton Traktor Switching.bmtp
(76.47 KiB) Downloaded 403 times

Nonspacial

2012-01-25 10:43:20

So this is revised to Work with the APC 40 64_40 Ableton Script or the normal APC 40 script and running Traktor in External Mixing Mode with Ableton as your main Mixer.

Ableton Switch is now Ch 7 Record/Arm, Traktor is Ch 7 Solo/Cue, Arkaos Ch 7 Activator, Drum Rack Clip Stop 1. All require you to hold Shift on your APC then press the button. You will need Jack for Windows/Jack OSX or Soundflower or similar to route audio.

Faders 1-4 will control 1-4 in Ableton in either Traktor or Ableton Preset following the normal APC rules of 'red box' and 5-8 only go to Traktor in Traktor preset this way you can always mix whichever program you're in.

My latest Traktor mapping can be found here: http://www.djtechtools.com/forum/showth ... 817&page=8 if you don't have your own... it will work with any but if you use Dumb Mode you will need to change the Traktor Sysex string from 40 to 42 in the middle of the 1st translators string here: F0 47 00 73 60 00 04 40 08 02 07 F7. However Dumb Mode is not necessary with this file.

The only thing that will not send to Traktor at all is the 4 Faders mentioned above if you need these for other reasons in Traktor you will need to change the ports the CC are broadcast on so please don't complain at me and use my Traktor mapping instead.
Attachments
Working Ableton Traktor Switching External Traktor.bmtp
(84.31 KiB) Downloaded 448 times