Logic Pro plugin to access other tracks and write midi

dorien

New Member
I am looking for a way to read information (midi) from ALL tracks, and then modify one or more existing tracks. (really modify them, not just how they sound).

I am guessing this is too complex for the scripter. Is there some way around this? Writing a different kind of plugin or decompressing the project file or so?

Thanks!
 
Thank you. But what I want to do is the following:

Read all the midis from other tracks (can I do that from the scripter?).

Feed them to my c++ program > call myprogram(all the info) from the scripter.

which will return an array of new midi values, these should replace all the notes from the current track.

I was just wondering if the scripter will allow this amount of access. Otherwise, I will have to move my research project to lmms. I am not asking for specific methods now. I am just evaluating if I will have enough power to do this on this platform.
 
Upvote 0
Read all the midis from other tracks (can I do that from the scripter?).
The Scripter can not do that. If I understand correctly you need to group all MIDI from all tracks and send it outside Logic. In this scenario you do not need Scripter (cause it can not send MIDI out of Logic).
Note: Scripter or any MIDI FX plugin MIDI can be send outside Logic via the Logic "External Instrument Plugin". In your scenario the External Instrument plugin must be set to IAC port.

As you see it is not you want yet because the Scripter ot the External Instrument Plugin can not Sum the MIDI from all tracks.
As I mentioned before you need some Environment cabling and Standard Instrument objects which are set to Ch.ALL, IAC.

It is supposed that many musicians have more than 16 tracks. Some composers use 100-150 tracks templates etc. You have organize/cable 16 tracks pairs to Standard Instrument objects labeled as IAC Bus 1, IAC Bus 2, etc and enable the correspondent IAC Buses in the Mac AMS to send the Global MIDI to your app.
As a whole it is very complicated and is locked to some specific Song Template - I guess it is not you want?
 
Upvote 0
I am just evaluating if I will have enough power to do this on this platform.
Power for what?

If you want to grab all running MIDI data and send them to a certain MIDI destination, you can do this in the Logic Environment by directly cabling all instrument channelstrips to output objects. This way you get notes and controller data to your application where you can manipulate and send them back to Logic. Probably to other tracks which may play instead or together with the original data. Plus some latency of course. There is no "power" required, it's simple MIDI routing.

If you want to grab all existing data of a project at once, then no, Logic cannot do this. At least I do not know a way to extract MIDI data from the project file:

Code:
<key>automat-tldata</key>
    <dict>
        <key>struct</key>
        <data>
        AAAACQAAAAAAAAAAP4AAAAAAAAAAAAAAAAAADz+AAAAAAAARAAAAAAAAAEAA
        AAAAPwAAAD2AAAA/MPvFPgAAAD9agno+QAAAP3ZBrz6AAAA/gAAAPqAAAD92
        Qa8+wAAAP1qCej7gAAA/MPvFPwAAAD8AAAA/EAAAPp4IdT8gAAA+FfYaPzAA
        AD0b5Qw/QAAAAAAAAD9QAAA9G+UMP2AAAD4V9ho/cAAAPp4IdT+AAAA/AAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Doesn't look encouraging ...
 
Upvote 0
Back
Top