Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 22

Thread: Getting isolated MIDI back from Logic

  1. #11
    ::facepalm::

    in my defense, the interstitial page that says "your download will begin shortly, if not, click here" was just a *little* confusing...

    So I have the plugin installed, logic control surface setup is working great, and I see dozens of new controls in Osculator for all the logic control surface commands! This will obviously make integrating our own control-surface-style templates MUCH easier!

    However, while I can see how you've made it possible for "control" commands from logic to Osculator, I'm not sure if this new plugin actually supports *MIDI* data output from logic. This is central to the original purpose I had in mind - where my TouchOSC template sent MIDI CC data to be recorded on a given track, and then to somehow "hear" that same MIDI CC data upon playback so that my OSC faders would visually update with the current MIDI CC values.

    Is there something not mentioned in your documentation?

  2. #12
    Could you describe what "data" you would like to map?
    Is it a plugin parameter? I guess it would not be a problem to generate MIDI from a OSC message coming back from Logic.
    Also, the plugin may need some adjustments to do what you need, if at all possible.
    If you can explain what you have in mind, I will try to see how that could be done.

  3. #13
    Plain MIDI data. Not a plugin parameter or Logic control. My osc template is setup to translate incoming OSC messages (from ipad, wiimote, etc) to MIDI CC and program change data. That part works great, and gives me a consistent method of controlling various software instruments and samplers (orchestral scoring in particular). I "play" my faders, buttons in realtime and they get recorded to the tracks in Logic as MIDI data.

    The quest to get bi-directional communication from logic, for me, came from the difficulty of getting that same MIDI data I generated with my virtual faders *back out of logic* and to my iPad so that my faders actually respond to the current values (of MIDI CC and program change data) being played back. This way, the faders would be not just "dumb" inputs, but actively show the current value (and even animate in real-time).

    A common example is CC#1 (modwheel), which is frequently used for dynamics changes. I use it to "conduct" a sampled instrument's dynamics levels, completely separate from the *mixer track* level. Osculator does a great job translating my OSC data to MIDI CC data and passing it along to Logic. But I need to route the same CC#1 data back out from Logic thru OSCulator and out to my iPad (running touchOSC).

    The really big catch, however, is that the *only* data I want to be routed back to touchOSC is the currently selected and active track in Logic. This is similar behavior to the "Channel Strip" tab view in touchOSC's LogicPad layout - where the screen reflects only the currently selected track. My MIDI controller layout is designed to only control one instrument at a time, with all commands being automatically routed by logic (regardless of MIDI channel) to the currently selected track. Thus the returning MIDI data needs to reflect only one track as well.

    Another example is with MIDI program changes. I would like to have a text field that displays the string value of the currently active program change - which can change over time throughout a song. I have a grid of buttons to send MIDI program changes, but I have no visual feedback to show me which program is current when I jump around in the song or simply play it through.

    I really don't know if it's at all possible to tap into the actual MIDI events being played back on a given track with the plugin architecture you're using. You've done a great job accessing Logic's "track based automation", which handles mixer faders, pan, even insert sends. I'm just hoping you can go just a bit further and route the MIDI events too...

  4. #14
    A simpler way of describing what I'm after:

    - Osculator currently allows me to input OSC messages, translates them to MIDI event data (notes, CC, program), and passes them along to Logic for recording.
    - I need to reverse this flow: listen for MIDI event data being played back in Logic and translate it to OSC messages, which can be passed along to touch OSC objects for visual feedback.

  5. #15
    Thank you for the details.
    Unfortunately the Logic plugin will not allow to do exactly this. It is designed to display Logic as a Control Surface that speaks OSC.

    - Osculator currently allows me to input OSC messages, translates them to MIDI event data (notes, CC, program), and passes them along to Logic for recording.
    ok, this is working for you, right?

    - I need to reverse this flow: listen for MIDI event data being played back in Logic and translate it to OSC messages, which can be passed along to touch OSC objects for visual feedback.
    Does Logic sends the MIDI data being played back?
    If so, OSCulator should see it as a MIDI input, and therefore automatically create an OSC routing back to TouchOSC. This what happens when using Live. I am really sorry but again I am not exactly sure to undersand what you need.

  6. #16
    Quote Originally Posted by camille View Post
    Unfortunately the Logic plugin will not allow to do exactly this. It is designed to display Logic as a Control Surface that speaks OSC.
    I understand. Yes, this function is working great for me.

    Quote Originally Posted by camille View Post
    Does Logic sends the MIDI data being played back?
    If so, OSCulator should see it as a MIDI input, and therefore automatically create an OSC routing back to TouchOSC.
    This is the problem - Logic does *not* send the MIDI data out unless I manually create an environment object (external instrument) whose output is assigned to the MIDI "port" of Osculator. This mostly works (except program changes, which don't seem to get passed). And when I do create such an object, it requires specific static routing from a single object within Logic to Osculator - there is no way to specify and cable the output of whichever track happens to be currently selected and active (dynamic routing?).

    This is a limitation of Logic itself - the default behavior is to SUM all of your MIDI source inputs, from any port and any channel, and use any/all of them as the input for whatever track is currently selected. In the environment, this magical object is called "to Recording & Thru" - but there is no similar object for the sequencer output, that would perform the reverse function - taking whatever track we're on, no matter what channel and port and send it out of Logic.

    This, again, is only a MIDI issue. In the scope of "control surface" parameters, there is such a function - Logic outputs data values for a "bank" of 8 channelstrips [/logic/mixer/track/4], as well as just the "current" track [logic/track], no matter which that is. This makes it possible to create a control layout that shows much detail, more than you could cram onto a screen if you had to display all the parameters of all the tracks, all the time.

    My original hope was that if you could somehow tap into the stream of data for *just the selected track*, you could somehow get around the Logic's missing selective MIDI output functionality...

  7. #17
    I have an idea about how to get around the MIDI output limitation of logic, by using "control surface" functions instead. Currently, the osculator logic plugin supports a certain set of Logic events, which correspond to most of what you can adjust on a mixer channelstrip (level, pan, sends, a few insert generic insert parameters, etc). When a software instrument or audio channelstrip is used, this allows control of many functions (all of which are logic parameters - fader events? - not MIDI events).

    However, on a purely MIDI instrument channelstrip, the controls are a bit different. You can see this by creating a new "instrument" or "multi-instrument" environment object. These objects can't hold software instrument or even insert audio plugins. When used as tracks they simply capture and record midi data, and it has to be routed to an instrument elsewhere - either a software instrument or an outboard device via MIDI interface. These objects display similar, yet notably different controls in the mixer, as shown in my screenshot. The wider strips are software instruments, and the narrower strips are MIDI-only multi-instruments. From my testing, OSCulator does receive messages for level, pan and mute, just like the normal channelstrips (orange markers). But the "pots" above aren't really audio bus sends - they display the value of MIDI CC data (you can pick which to show), and the topmost button allows display and selection of MIDI program change messages (pink markers). These "pots" provide control and live visual feedback of the MIDI event data being played back on a track. *IF* it is possible, if Logic actually generates and listens to control surface data for these controls, it would permit me to do exactly what I wanted - communicate back thru OSC to touchOSC the current value of a given control - which in this case would represent MIDI CC data values!

    Any chance you could sniff around and see if those pink controls can be tweaked via OSC?


  8. #18
    Ok, now I get it, sorry it took me so long.
    Let me see what I can do with what the plugin SDK offers.

  9. #19
    Somatic,
    When I thought I found the solution I discovered it was not working.
    I can ask Logic to create a control surface assignment for the currently selected track (I used MIDI controller 1 = modulation for a test).
    I have no clue why I can't get it to work so I've asked the person in charge of the Logic plugin SDK to help me, we'll see if there is a solution.

  10. #20
    Bad news, I just got the answer that "There is no way to send MIDI controllers or program changes via assignments."
    Which means that you can't program the Logic Plug-in SDK to communicate these values.


    Best,
    Cam

Page 2 of 3 FirstFirst 123 LastLast

Tags for this Thread

Bookmarks

Posting Permissions

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