help with bomes and making 'shift' key
Results 1 to 4 of 4
  1. #1
    Tech Guru charo's Avatar
    Join Date
    Sep 2008
    Location
    i AM the cookie
    Posts
    947

    Default help with bomes and making 'shift' key

    hi everyone hoping i can get some help, i've been messing around with my eks xp-5 and bomes MT pro. I would like to make a 'shift' key that i can press and hold that will give all the other keys different functions. Ideally i want to map all the deck a controls to fire when i don't hold the shift key and when i hold the shift key the deck b controls fire.

    so i have been looking at the bomes forum and i found this thread:
    http://www.bome.com/forums/viewtopic...ighlight=shift

    and it would seem that this is what i need to do:

    this is actually quite simple with MT Pro: just define a "flag" variable: while the note button is pressed, the flag variable is 1, otherwise it's 0 (the default). Now when you move the fader, a rule checks the flag. If it is 1, then the local variable with the controller number is changed to the alternate controller number.

    Here is an example:
    Code:
    Translator 1: Note press (release)
    Options: stop=true
    Incoming: MIDI 90 48 pp
    Rules:
    ga=1
    if pp==0 then ga=0
    Outgoing: (none)

    Translator 2: Note Off message
    Options: stop=true
    Incoming: MIDI 80 48 pp
    Rules:
    ga=0
    Outgoing: (none)

    Translator 3: Map Controller 18
    Options: stop=true
    Incoming: MIDI B0 12 qq
    Rules:
    pp=18
    if ga>=1 then pp=20
    Outgoing: MIDI B0 pp qq

    This example uses Note 0x48 (hex) as the "Shift" note. The first translator entry is triggered by this note. It sets the flag variable ga to 1. If the velocity parameter of the note on message is 0, it actually means Note Off, so the flag is cleared then. Just for the case that your device sends actual Note Off message (with status 0x80), the second translator entry will clear the flag upon this message.
    The third Translator entry is triggered by the fader controller, in the example fader 0x12, which is 18 decimal. A local variable pp is set to the default mapped controller (18, but you can set it to any other number, too), and then the rules examine the ga flag: if it is 1, then pp is changed to the alternative controller number, in the example 20. The Outgoing Action then sends the patched MIDI message with pp as controller number and the original value qq from the incoming action.

    Numerous variations of this can be thought of, e.g. you could use the flag as a number to be added to all faders. Then you could formulate Translator 3 as incoming trigger "B0 pp qq" and the rules would just add the flag to the controller number: "pp = pp + ga". Like this you'd have a universal way to use the note as a shift for all controllers at once.

    Let us know how it works!
    so i kinda understand what it is saying to do but i am a little lost on how to tailor those rules to the key i want to use.

    using midi hack, when i press the key i want to use it says "90 00 7F Note On, channel 1, C-1, velocity = 127"

    when i release the key it says "90 00 00 Note On, channel 1, C-1, velocity = 0"

    so does it become MIDI 90 00 pp in the rules?

    where does that info go in the rules above?

    thanks so much, newbie midi head here.

    one more question, i'm trying to control both decks in deckadance and asked the on their forums: http://forum.image-line.com/viewtopic.php?t=26454

    You cannot switch deck focus with the XP5 by the moment, apologies. I'm going to try to add a key modififer or XP5/10 button to do it. There is one method to switch between decks actually but it's not very comfortable. If you open the "XP5 midi agent" program/window then you will be able to change the default midi channel output of the XP5, if the channel is "1" then you will control deck A and if the chanel is "2" then you will control deck B. Well, the design of the native support for the XP5/10 series was done thinking in the use of 2 devices.
    this does work but i have to open the xp5 midi agent, make the change, save, and then unclick and reclick the xp5 in DD for it to switch. is it possible to setup bomes to make a shift key that would trigger midi commands to be sent on channel 2 so i could avoid having to do all those other steps?

    once again, thanks a ton for info.
    Last edited by charo; 11-25-2008 at 07:01 PM.

  2. #2
    Dr. Bento BentoSan's Avatar
    Join Date
    Mar 2008
    Location
    Perth, Australia
    Posts
    6,383

    Default

    This is what you want, 2 translators.


    Translator one:


    Incomming-
    90 00 7F

    Rules-
    if g0==1 then Goto "DeckA"
    if g0==0 then Goto "DeckB"
    Label "DeckA"
    g0=1
    exit rules, skip Outgoing Action
    Label "DeckB"
    g0=0

    Outgoing-
    None


    Translator two:

    Incomming-
    rr qq pp

    Rules-
    if g0==0 then exit rules, execute Outgoing Action
    if g0==1 then rr=rr+1

    Outgoing-
    rr qq pp
    Last edited by BentoSan; 11-25-2008 at 08:59 PM.

  3. #3
    Dr. Bento BentoSan's Avatar
    Join Date
    Mar 2008
    Location
    Perth, Australia
    Posts
    6,383

    Default

    Oh wait you want to make it so its when you hold it, if thats the case translator one should look like this --

    Incomming-
    90 00 pp

    Rules-
    if pp==0 then Goto "DeckA"
    if pp==127 then Goto "DeckB"
    Label "DeckA"
    g0=1
    exit rules, skip Outgoing Action
    Label "DeckB"
    g0=0

    Outgoing-
    None


    Edit: for the record this isnt how i do my shift functions, personally i use presets. While presets take slightly longer to write the code is alot tidier and easier to read when you have numerous shift functions all over the place controlling small sections of the midi device.
    Last edited by BentoSan; 11-25-2008 at 08:59 PM.

  4. #4
    Tech Guru charo's Avatar
    Join Date
    Sep 2008
    Location
    i AM the cookie
    Posts
    947

    Default

    thank you for your responses, you helped me in understanding what is what in midiLand.

    some good news, i had been playing around with bomes further and searching the web for more info. i decided to look at the eks midi agent further and discovered you could add modifiers right in the program. the cool thing is you can choose what channel you want the modified midi button push to occur on. so i tested it with the ptich fader. when i don't push the eject button, the pitch fader controls deck A pitch fading (channel one in DD). when i push and hold the eject button the pitch fader controls deck B pitch fading (channel two in DD).

    thanks for your tip on the channels.

    now i have some assigning to do....

    hope this helps someone else maybe down the line looking for info on the same setup.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •