"Intermediary midi mapping" software *discussion thread* (Traktor mapping is a pain) - Page 31
Page 31 of 44 FirstFirst ... 2127282930313233343541 ... LastLast
Results 301 to 310 of 433
  1. #301
    Tech Guru zestoi's Avatar
    Join Date
    Mar 2011
    Location
    UK, Ukraine, Romania
    Posts
    2,836

    Default

    porting to osx... all going to plan i'll be getting a macbook pro next week or the week after, so then i'll ofc be porting midimasher to osx

    i'll probably also check+build it on linux while i'm at it, tho i'm not sure anyone would really need a linux version.

    trickiest bit after that will be building/testing on each platform for each release tho i presume i'll be able to ssh into the macbook from my windows laptop and automate the build at least
    11mba / 13mbp / tsp2 / live9 / audio10 / 2x reloop rp7000gold / 2x xdj1000 / 2x d2
    maschine mk2 / x1 mk2 / z1 / f1 / midifighter / lpd8 / 2x launchpad / launchkontrol xl
    Quote Originally Posted by derschaich
    "wohoo, i'm touched, turn on the FX"

  2. #302
    Tech Guru zestoi's Avatar
    Join Date
    Mar 2011
    Location
    UK, Ukraine, Romania
    Posts
    2,836

    Default HID Support

    just added hid/gamepad support... only have a 14 button gamepad here to test with but seems to work well. for most purposes a hid device is treated just like a midi controller. quick example that maps my start and select buttons to cue+play in traktor:

    Code:
    open_midi_device("traktor", "traktor", "Traktor to MM", "MM to Traktor")
    open_hid_device("gp", "gamepad", "USB Gamepad")
    
    toggle("gp", "start", 0, ON, OFF, "traktor", "play_a")
    button("gp", "select", 0, ON, OFF, "traktor", "cue_a")
    creating the hid devices files is a bit more fun than midi ones, tho i have created a hidlearn.exe and hiddump.exe to help. "fader" type controls need a manual edit atm afterwards. this is the config for my gamepad, which afaik should work on most. will just need to add in some extra lines to make it work on a gamepad with more controls:

    Code:
    --
    -- direction buttons act as faders even on digital gamepads
    --
    
    add_hid_control("left_right", "fader", 3, 0xff)
    add_hid_control("up_down", "fader", 4, 0xff)
    
    --
    -- bit masks for the rest of the buttons
    --
    
    add_hid_control("select", "button", 6, 0x10)
    add_hid_control("start", "button", 6, 0x20)
    
    add_hid_control("button1", "button", 5, 0x10)
    add_hid_control("button2", "button", 5, 0x20)
    add_hid_control("button3", "button", 5, 0x40)
    add_hid_control("button4", "button", 5, 0x80)
    
    --
    -- the 4 buttons on the back of a gamepad
    --
    
    add_hid_control("left1", "button", 6, 0x01)
    add_hid_control("right1", "button", 6, 0x02)
    add_hid_control("left2", "button", 6, 0x04)
    add_hid_control("right2", "button", 6, 0x08)
    edit: anyone with a 16 button gamepad could then ofc just use the builtin mdimasher normal or 4banks mode midifighter emulation... from basically a 3 line config file
    11mba / 13mbp / tsp2 / live9 / audio10 / 2x reloop rp7000gold / 2x xdj1000 / 2x d2
    maschine mk2 / x1 mk2 / z1 / f1 / midifighter / lpd8 / 2x launchpad / launchkontrol xl
    Quote Originally Posted by derschaich
    "wohoo, i'm touched, turn on the FX"

  3. #303
    Tech Guru zestoi's Avatar
    Join Date
    Mar 2011
    Location
    UK, Ukraine, Romania
    Posts
    2,836

    Default 4banks midifighter from a gamepad

    for anyone wanting a simple way to try out the instant grat tsi from a cheapo gamepad this little config works fine:

    Code:
    open_hid_device("gp", "gamepad", "USB Gamepad")
    open_midi_device("mf1", "generic", "MidiFighter1 Input", "MidiFighter1 Output")
    virtual_midifighter_4banks("gp", 0, "mf1", 0, 0)
    ofc you'll need my latest (unreleased) version. my gamepad only has 12 buttons. start+stop, directional buttons, 4 right hand buttons and 4 shoulder buttons so this maps the start+stop to the first "row" of the grid, leaving the next 3 rows full. this means i can use the instant grat on decks A+B but not C+D as i don't have buttons for those midi fignter banks. buttons can be rearranged very easily by editting the devices/gamepad.lua file i created and/or more controls added for gamepads that have more...
    11mba / 13mbp / tsp2 / live9 / audio10 / 2x reloop rp7000gold / 2x xdj1000 / 2x d2
    maschine mk2 / x1 mk2 / z1 / f1 / midifighter / lpd8 / 2x launchpad / launchkontrol xl
    Quote Originally Posted by derschaich
    "wohoo, i'm touched, turn on the FX"

  4. #304
    Tech Guru zestoi's Avatar
    Join Date
    Mar 2011
    Location
    UK, Ukraine, Romania
    Posts
    2,836

    Default

    new version 20120208 u can grab from http://midimasher.djism.com/downloads/

    * fix to the new delayed message queue code
    * new hid (input) support
    * new apps hiddump.exe and hidlearn.exe
    * included a config gamepad_midifighter_4banks.lua that turns a 12button gamepad into a 4banks midifighter (tho only 2 banks really as it only has 12 buttons )

    since the delayed message queuing fully works now u can set up auto-repeat for buttons. i haven't worked out how best to fit it into the existing functions but this is essentially what it will do. this example causes that action to be repeated every 100ms until the button is released:

    Code:
    capture("gp", "0,0", ALL, 0, function(d,e,v,p)
        if v > 0 then
            print "do something..."
            create(d,e,v,p,100)
        else
            clear(d, e)
        end
    end)
    it basically just queues up another instance of the button press 100ms in the future and on release clears the last one it queued up. very simple but works fine...

    in theory the hid support should be much more responsive and efficient than using something like glovepie. glovepie processes your entire script approx 20 times a second (so once every 50ms) and performs any actions needed.

    midimasher doesn't do anything until u actually press a button/fader on your hid controller and then just runs the code needed for that individual control.

    i fancy the idea of adding some kind of sequencer next... i could really use some kind of real time rhythm recorder where i can add/delete individual beats, select quantize etc. i don't think that will overlap with whatever NI has planned for 2.5. some kind of clips launching/relaunching might also be cool - so then i can just use some external sample player or something without relying on a full blown ableton live and/or what NI does put in 2.5...

    i think maybe it's time for me to finally put together a decent launchpad config and create a new thread for it with images etc will probably wait until i have the mac port done tho.
    11mba / 13mbp / tsp2 / live9 / audio10 / 2x reloop rp7000gold / 2x xdj1000 / 2x d2
    maschine mk2 / x1 mk2 / z1 / f1 / midifighter / lpd8 / 2x launchpad / launchkontrol xl
    Quote Originally Posted by derschaich
    "wohoo, i'm touched, turn on the FX"

  5. #305
    Tech Guru zestoi's Avatar
    Join Date
    Mar 2011
    Location
    UK, Ukraine, Romania
    Posts
    2,836

    Default 10 banks mode midi fighter?

    i figured i'd use my midi fighter a lot more if it just had more banks... with the 4 buttons in various combos you could have a heap of banks, tho if just using those with adjacent buttons it gives you 10 which is plenty and the 10th one (where u have to hold down all 4) is a bit much anyway... still 9 useful ones

    then the normal 4 ones could be configured to send the usual 4banks messages direct to traktor (for instant grat etc) leaving the rest (5 or 6) for other stuff...

    the led's stay lit to tell u which bank you're in so u have decent feedback. not sure i'd ever use as much as 10 but a couple more than the standard 4 seem pretty handy anyway...

    code will be in the next release if anyone is interested...
    11mba / 13mbp / tsp2 / live9 / audio10 / 2x reloop rp7000gold / 2x xdj1000 / 2x d2
    maschine mk2 / x1 mk2 / z1 / f1 / midifighter / lpd8 / 2x launchpad / launchkontrol xl
    Quote Originally Posted by derschaich
    "wohoo, i'm touched, turn on the FX"

  6. #306
    Tech Student
    Join Date
    Dec 2011
    Posts
    4

    Default

    I like that idea, more banks are always good.

  7. #307
    Tech Guru zestoi's Avatar
    Join Date
    Mar 2011
    Location
    UK, Ukraine, Romania
    Posts
    2,836

    Default

    Quote Originally Posted by JimE3 View Post
    I like that idea, more banks are always good.
    i think there's times when u just need everything available in a single layer (ish) so u can get to it in a split second when u need to - but i do like layers... esp if it means i can just keep my midifighter plugged in by my laptop and have access to anything i need at all times
    11mba / 13mbp / tsp2 / live9 / audio10 / 2x reloop rp7000gold / 2x xdj1000 / 2x d2
    maschine mk2 / x1 mk2 / z1 / f1 / midifighter / lpd8 / 2x launchpad / launchkontrol xl
    Quote Originally Posted by derschaich
    "wohoo, i'm touched, turn on the FX"

  8. #308
    Tech Guru zestoi's Avatar
    Join Date
    Mar 2011
    Location
    UK, Ukraine, Romania
    Posts
    2,836

    Default midimasher ported to mac osx

    wasn't all that tricky to do, as i hoped. mostly due to developing on cygwin for windows i guess.

    will probably release in a day or so, was thinking about maybe adding some more controls to my launchpad mapping and then creating a new thread with info on that and download links for mac and windows

    edit: hid input support in midimasher for mac osx is even better than the windows version. in the windows version i couldn't get blocking i/o to work so it just processes any hid input every 1ms which could be fixable, might be due to me compiling under cygwin. all fine on the osx version so midimasher just processes any input as soon as u use them. i don't think a 1ms delay is any big deal for gamepad inputs anyway but i do hope to fix that in the windows version too. the windows version still should have less latency than something like glovepie tho in theory.
    Last edited by zestoi; 02-11-2012 at 09:50 PM.
    11mba / 13mbp / tsp2 / live9 / audio10 / 2x reloop rp7000gold / 2x xdj1000 / 2x d2
    maschine mk2 / x1 mk2 / z1 / f1 / midifighter / lpd8 / 2x launchpad / launchkontrol xl
    Quote Originally Posted by derschaich
    "wohoo, i'm touched, turn on the FX"

  9. #309
    Tech Guru zestoi's Avatar
    Join Date
    Mar 2011
    Location
    UK, Ukraine, Romania
    Posts
    2,836

    Default

    this all seems a bit too easy... but here's output from midimasher running on osx with a midifighter classic and gamepad for input.

    i used the builtin iac midi driver which prepends "IAC Driver " to the start of each port name, so after first looking for the full name midimasher strips off that and looks again when opening ports. similar to having to strip off stuff like "1- " on windows when u connect a controller to different usb ports.

    only thing now i'm on macosx is i realise how important usb hubs are when a macbook pro only has 2

    Code:
    bash-3.2$ ./mm -f debug.lua
    midimasher: build 20120212
    midi: scan devices...
    midi.in.0: IAC Driver Bus 1
    midi.in.1: Midi Fighter Classic
    midi.in.2: IAC Driver MM to Traktor
    midi.in.3: IAC Driver Traktor to MM
    midi.in.4: IAC Driver MidiFighter1 Input
    midi.in.5: IAC Driver MidiFighter1 Output
    midi.out.0: IAC Driver Bus 1
    midi.out.1: Midi Fighter Classic
    midi.out.2: IAC Driver MM to Traktor
    midi.out.3: IAC Driver Traktor to MM
    midi.out.4: IAC Driver MidiFighter1 Input
    midi.out.5: IAC Driver MidiFighter1 Output
    hid: scan devices...
    hid.0: Apple IR 
    hid.1: Apple Internal Keyboard / Trackpad 
    hid.2: Apple Internal Keyboard / Trackpad 
    hid.3: USB Gamepad  
    hid.4: Apple Mikey HID Driver 
    hid.5: Apple Internal Keyboard / Trackpad 
    hid.6: Apple Internal Keyboard / Trackpad 
    lua: register functions...
    lua: run embedded lua...
    loading: lib/startup.lua
    loading: config/debug.lua
    traktor: open midi.in.3: Traktor to MM
    traktor: open midi.out.2: MM to Traktor
    loading: devices/traktor.lua
    loading: lib/traktor.lua
    gp: open hid.3: USB Gamepad
    loading: devices/gamepad_12btn.lua
    mf1: open midi.in.4: MidiFighter1 Input
    mf1: open midi.out.5: MidiFighter1 Output
    running... <ctrl>-<c> to quit.
    i'll still be using windows (as well as linux for that matter) so will be building windows versions each time i build a macosx one. could also build linux ones probably if anyone is interested but i suspect not...
    11mba / 13mbp / tsp2 / live9 / audio10 / 2x reloop rp7000gold / 2x xdj1000 / 2x d2
    maschine mk2 / x1 mk2 / z1 / f1 / midifighter / lpd8 / 2x launchpad / launchkontrol xl
    Quote Originally Posted by derschaich
    "wohoo, i'm touched, turn on the FX"

  10. #310
    Tech Mentor
    Join Date
    Nov 2010
    Location
    Fanta Se, NM
    Posts
    311

    Default !!!

    Quote Originally Posted by zestoi View Post
    ...could also build linux ones probably if anyone is interested but i suspect not...
    Funny you should mention it...
    I just had a serious little issue with Win7 and have totally switched to Linux (Ubuntu Studio)

    I was going to try MM out in Wine, but if a native Linux version could be available... :eek:


    Edit
    Also, I am happy to test Linux versions out.

    I'll shoot you a pm

Posting Permissions

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