I’m working on a project on Windows where I’m trying to have my Juce based application spot an audio file to Pro Tools.
The idea is that a user in my app would trigger “spotting” to occur and the audio file would be placed in the Pro Tools timeline. I know several applications out there do this.
I think the “spot to Pro Tools” is something that is independent of AudioSuite and the other plugin formats, more like some kind of a message another application can send into Pro Tools to tell what file to use and where to place it on the timeline. It is probably something that needs to be queried about from Avid directly, even if someone here knows how it works, it probably couldn’t be revealed publicly.
I know, we use it in our product, however, I wasn’t near the actual implementation yet.
It works through the AAXLibrary, not the streaming processor that JUCE implements.
I haven’t looked up exactly, but as I understand it, CHostProcessor is the main entry for communication for AudioSuite. I don’t have more details though.
Ouch, so it also requires developing an Audiosuite/AAX plugin now? I think back in the day it was a feature that could work without that. (Probably implemented via some kind of interprocess communication/OS message mechanism.)
Pro Tools uses proprietary chunks in the audio files to store the UMID and time stamps. I reverse engineered the chunks about 20 or so years ago. It’s not documented anywhere.
I think the original poster is looking for this kind of workflow : insert a file (or a time selection from a file) into Pro Tools from an external application. (I don’t know if a separate AAX/AudioSuite plugin is required to accomplish this these days, but it seems this kind of thing should be possible using only some interprocess message mechanism.)
If I remember correctly there’s a SDK for that. It’s separated from the AAX one and it’s legacy. I’ve never used it and not sure how much it’s maintained or supported. Use Avid’s developer forums to ask about it while maintaining Avid’s NDA.
Other approach used by some tools is using Apple’s accessibility API. But that’s less cross platform.
There is a SpotAPI SDK available from Avid(contact Ed.Grey at Avid), however be warned, it hasn’t been updated in like 15 + years! I hate it! lol (I don’t think its any secret it uses Apple Events on Mac and a PostMessage with all the UAC limits that go with it on WIndows)