will VSTs require a universal binary as well?

Discuss music production with Ableton Live.
Post Reply
robtronik
Posts: 1185
Joined: Wed Jul 06, 2005 1:16 am
Location: City Of Angels
Contact:

will VSTs require a universal binary as well?

Post by robtronik » Wed Jan 11, 2006 11:17 pm

or do those stand outside of typical executable applications in the Mactel world?

This makes a difference too right about how quickly we can and should move over to these new machines once Live goes universal binary.

rob.

bizack
Posts: 30
Joined: Fri Nov 18, 2005 10:59 pm

Post by bizack » Wed Jan 11, 2006 11:31 pm

Yes, they will need to be recompiled for the Intel Macintoshes.

robtronik
Posts: 1185
Joined: Wed Jul 06, 2005 1:16 am
Location: City Of Angels
Contact:

Post by robtronik » Wed Jan 11, 2006 11:52 pm

bizack wrote:Yes, they will need to be recompiled for the Intel Macintoshes.
oh, dizamn.

;)

rob.

buzzcock
Posts: 401
Joined: Fri Jul 30, 2004 3:13 pm
Location: Brooklyn NYC.

Post by buzzcock » Thu Jan 12, 2006 12:21 am

i guess a more improtant question would be can plug-ins run on Rosetta while hosts run native? Anyone know?

I'm guessing ableton will eventually get a Universal binary out, but many small plug-in companies will never get around to it. :(
MBP C2D 2.33GHz---Metric Halo MIO 2882

bizack
Posts: 30
Joined: Fri Nov 18, 2005 10:59 pm

Post by bizack » Thu Jan 12, 2006 12:56 am

I don't think that would even work. A plug-in needs a host. The host and the plug-in need to be compiled for the same architecture. If you think of an O.S. as being a 'host' for applications, you'll see how this makes sense.

Most plug-ins will just need a recompile. If they make use of altivec code, they'll need to be wrapped in the newer Xcode library that encapsulates vectorized code (SSE vs. Altivec). A lot of work involved with software ports is the GUI. Since the O.S. hasn't changed, that work is already done for us. The developers will have to concentrate on architecture dependent code (memory addressing on a PPC chip vs. an Intel chip is completely different). I can't imagine that much change in most plug-ins. But 'apps as plug-ins' like Plogue Bidule or some of the Cycling 74 stuff will require a good deal of work. But both of these companies for example already have MS Windows and Mac OS X versions. So most, if not all of the code is already there. It's just a matter of cross pollination (kinda).

Besides, I wouldn't trust Rosetta to translate anything fast enough for real-time performance. In the best case scenario you'll have Rosetta running on one Core translating code, and the translated code residing on the second Core ready to be executed. I don't even know if this is guaranteed.


buzzcock wrote:i guess a more improtant question would be can plug-ins run on Rosetta while hosts run native? Anyone know?

I'm guessing ableton will eventually get a Universal binary out, but many small plug-in companies will never get around to it. :(

sweetjesus
Posts: 8803
Joined: Wed Mar 31, 2004 3:12 pm
Location: www.fridge.net.au
Contact:

Post by sweetjesus » Thu Jan 12, 2006 1:02 am

good on apple for screwing with their developers for the second time in 6 or so years

Angstrom
Posts: 14987
Joined: Mon Oct 04, 2004 2:22 pm
Contact:

Post by Angstrom » Thu Jan 12, 2006 1:06 am

an application that expects/makes use of PPC instructions will trigger rosetta, I cant find the link right now - but the idea is that if you have any VSTi in your folder that are PPC then the whole host (Ableton) will run emulated.

[edit]
OK, this one will do
http://www.createdigitalmusic.com/index ... &Itemid=44

[/edit]

muthafunka
Posts: 2251
Joined: Fri Jan 10, 2003 5:28 pm
Location: Tokyo

Post by muthafunka » Thu Jan 12, 2006 1:11 am

Could be talking out my pipe here but maybe someone will be able to fashion a wrapper a la vst2au?

Angstrom
Posts: 14987
Joined: Mon Oct 04, 2004 2:22 pm
Contact:

Post by Angstrom » Thu Jan 12, 2006 1:24 am

muthafunka wrote:Could be talking out my pipe here but maybe someone will be able to fashion a wrapper a la vst2au?
you realise that translator would effectively need to be rosetta (but for VSTi), it would need to contain libraries of translations of all the PPC / Altivec instructions a VSTi might use.

It would slow that plugin down a lot, these translators are slow.

bizack
Posts: 30
Joined: Fri Nov 18, 2005 10:59 pm

Post by bizack » Thu Jan 12, 2006 1:32 am

VST2AU is just wrapping the interface. The difference between a VST and an AudioUnit is the interface with the host (from what I know). VST2AU is probably running the VST as usual, and piping it through an AudioUnit interface. Notice that VST2AU creates virtual AudioUnits. It doesn't do a strict translation.

The host and the application _have_ to be compiled for the same architecture.

Once you write the high level code and compile it, the compiler generates processor specific machine code. That machine code gets loaded into memory, and is executed on the processor. It's not a matter of wrapping the code. It's a matter of translating it. Either by hand (i.e. rewriting the code) or dynamically by machine (i.e. Rosetta).

You guys (and girls) are just gonna have to wait. And trust me, I know it's difficult. I've got a 500 MHz Titanium PowerBook and enough money to buy a new machine. I think I'm going to just get a G5 iMac and wait for the Intel Macs to 'settle.'
muthafunka wrote:Could be talking out my pipe here but maybe someone will be able to fashion a wrapper a la vst2au?

Post Reply