Creating external for VST/AU plugin integration?

Ernest's icon

Since the demise of the Pluggo interface and the focus on Ableton Live, I've been a bit uncertain how to proceed next, because I was planning to make generic VST/AU plugins with Max/Msp.

I am wondering about creating an external object so that a standalone Max/MSP application could run concurrently with a host recording environment, and the host could access and control the Max/Msp patch. That is, it would be a small wedge that could be inserted into Cubase or Logic as an instrument or effect, and pass data streams to and from Max/MSP.

The first thing I guess I would ask is whether anyone would be interested in such a plugin. Secondly, whether anyone would be interested in working with me to create it.

KaaKaa's icon

thats a very great idea! unfortunatally i`m unaware of creating such externals.

Ernest's icon

I have no idea what the demand would be for such a component. What would be the best way to find out?

KaaKaa's icon
Ernest's icon

Well, that's partly why I am looking for a partner. My own designs only need a MIDI interface, and the AU protocol doesn't support MIDI I/0. I am happy to combine forces with someone who wants to make a more complete interface.

Exit Only's icon

If you are using Logic you could achieve this kind of control through a combination of the Logic Environment, soundflower and Max.

Logic has a plugin called I/O which creates a send/receive pair of audio inputs and outputs. With soundflower 16ch, I can set the I/O output to something like 3/4 and the input (return) to 5/6. I can then set up an [adc~ 3 4] and a [dac~ 5 6] in max and the circuit is complete. After that I can insert whatever I want in the signal chain in max.

For the midi control, I can go into the Logic environment and route the midi output of the audio/audio intrument track to a new 'instrument' object whose port is set to 'max msp 1'. Now I can write (old fashioned) region automation data and it will go to max and I can do whatever I want with it.

The Logic song preferences can also be used to set up sending midi realtime messages and song position info so I can sync all of my max stuff to Logic. Can anyone see why I'm not too upset about Pluggo dying?

Obviously, this is a bit of work and no other commercial DAW I know of is flexible enough to make this work so well. But its easier than developing a new application.

That being said, if you can come up with a plugin that will interface with max, and the price is right (low), I'm sure there will be some takers. The supercollider au plugin is pretty cool and works in a similar fashion.

PhiDjee's icon

Ernest wrote on Wed, 10 June 2009 19:50the AU protocol doesn't support MIDI I/0

Sorry, but that's not true. MIDI I/O works good inside an AU.
Look at MIDIServices.h inside CoreMIDI.framework

Ernest's icon

Gee, I guess there must be a limitation in Logic then, at least the last time I looked, I think October last year. I guess I'd need to learn some more about what hosts implement what parts of the AU standard.

Ernest's icon

Ah. Now as I understand it, Logic can pass MIDI between hosts in the same AU slot, that is, one first loads something that can pass MIDI around inside it, then one loads things into that. I was told about Bidule for that purpose. Is that how the Soundflower configuration works?

pencilina's icon

A little brainstorming here...

The Bidule plug in can indeed send midi to all the usual places (IAC/PC virtual MIDI cables) and HW ports. Why not just use the host's rewire or IAC out???

I know this doesn't solve getting audio into and out of max but the best way to do this might just be via looping back hardware i/o. I think I remember that Soundflower makes every app have to route through it so you have to re-assign all your SW to use soundflower as a device (and then you assign your HW to soundflower). I don't think I was able to use assign soundflower in addition my usual hardware in Digital Performer which was a drag. Or I had to assign through soundflower. Too much of a PITA for me as I use a lot of ins and outs.

Jack for OSX or wormhole might be a better bet but that's always been a nightmare for me to deal with.

I agree, it would be great if somebody came up with some solution as a lot of use set in our DAWS will probably never use Live....

best

B

Exit Only's icon

Using Logic, soundflower, Logic's I/O plugin and an instrument object in the environment isn't really dependent on the midi spec.
Its just a way to emulate 'max as a plugin', without actually having a max based plugin.

Logic has this nice feature that in the Environment, each audio or instrument channel has a little 'outlet' at the top which outputs all of the midi and (internal to Logic) fader data passing through the channel.

So if I make a region and write some midi controller data, that data is passed through the outlet where I can route it to max. It can get a little confusing because some midi controller/channel combinations (all of them on channel 1, i think) actually control the audio/instrument channel.

Anyway... its just an alternative I'm throwing out there. I would still be very interested in seeing what you come up with!

PhiDjee's icon

Bradford Reed wrote on Thu, 11 June 2009 11:53just use the host's rewire or IAC out

IAC I/O are really handy for MIDI.
Optionally, adding one (or several) custom MIDI bus inside a plug-in is very easy.

Soundflower: it's also possible to start from its code to create a custom audio router, if necessary.
Otherwise, just use some aggregate devices.

Quote:it would be great if somebody came up with some solution as a lot of use set in our DAWS will probably never use Live

The best solution would be to get the source code of the Pluggo Runtime... ?

pencilina's icon

Thanks for the info. If I'm understanding you corrctly that's really cool. So basically you assign soundflower to an aggregate device and it will show up alongside your usual hardware options as audio i/o in your software. Yes? Sorry, I'm very busy right now so I'm asking and not experimenting.

Best

B

johnpitcairn's icon

Bradford Reed wrote on Fri, 12 June 2009 06:53So basically you assign soundflower to an aggregate device and it will show up alongside your usual hardware options as audio i/o in your software. Yes?

Yes. This used to be one of my workarounds to record one audio track directly to another in Logic 7 or earlier (the other was a sidechained gate on an audio input object, monitoring the sidechain only).

pencilina's icon

brilliant!
Now if I only had a machine that could rock DP and max 5 at the same time.

sredmore's icon

Is it a matter of performance (max/msp + DP) or something else (I'm asking cuz I'm a DP user who'd like to do some max/msp work)