Csound Csound-dev Csound-tekno Search About

[CSOUND-DEV:5037] Re: vst4cs

Date2004-07-19 15:12
From"gogins@pipeline.com"
Subject[CSOUND-DEV:5037] Re: vst4cs
I have thought about vstnote/vstplug in the same or different instruments
versus polyphony. I have a hack so that vstplug waits to output until the
last instance of the containing instrument is called. This requires vstnote
and vstout to be in the same instr as vstplug. If you use the earlier code
without the hack, they not only can be in separate instrs, they have to be.
But you then need to create an indefinite note for the vstplug instr. 

Which approach is best? I think Steven Yi and I faced the same issues with
our different versions of the Fluidsynth oopcodes. Steven?

Original Message:
-----------------
From:  acabrera@teleset.com.co
Date: Mon, 19 Jul 2004 07:47:29 -0500
To: csound-dev@eartha.mills.edu
Subject: [CSOUND-DEV:5035] Re: vst4cs


>What's the current status of vst4cs?

As Michael said, it's fully working, both with vst instruments and vst
plugins
(a few complex ones like Absynth 2, still give trouble). vst4cs features:

-sending and receiving parameter data to and from the plugin (vstpsend and
vstpret)
-sending MIDI information (controller, pitchbend, aftertouch,etc) to the
plugin.
(vstout)
-sending note messages with definite duration to the plugin. (vstnote)
-loading of .fxb effect banks (vstbload)
-sending a program change message (vstprogset)
-opening the plugins gui for realtime tweaking (vstedit)
-vst processing of audio (vstplug)

This is what it's supposed to do, and what it seems to be doing, but it
still
needs testing. The only issue so far (apart from some plugins not loading)
is
that vstnote has to be in the same instrument as vstplug.
Take it for a spin, and let us know how it goes. There is a list of free vst
plugins included in the documentation.

Andres


--------------------------------------------------------------------
mail2web - Check your email from the web at
http://mail2web.com/ .

Date2004-07-19 17:16
From"Josep MComajuncosas"
Subject[CSOUND-DEV:5041] Re: vst4cs
What about sort of...making VST.GUIs operative through FLTK...does it
make sense?

Date2004-07-19 17:32
Fromacabrera@teleset.com.co
Subject[CSOUND-DEV:5042] Re: vst4cs
Hola Josep,
They're already operative with the opcode vstedit. The opcode opens the gui for
the plugin.

Cheers,
Andres

Date2004-07-19 18:11
Fromacabrera@teleset.com.co
Subject[CSOUND-DEV:5049] Re: vst4cs
The latest version is in cvs, but I think I read Michael will be adding it to...
somewhere I can't remember...
Anyway, getting csoudn to build is no problem, you only need to download all the
dependecied, follow the instructions in csound.pdf and you should have no problem.
There's an old version at:
www.geocities.com/mantaray36
but I recommend you get the latest version.

Andres

Date2004-07-19 18:13
From"Josep MComajuncosas"
Subject[CSOUND-DEV:5045] Re: vst4cs
Wow
Wow


-----Mensaje original-----
De: owner-csound-dev@eartha.mills.edu
[mailto:owner-csound-dev@eartha.mills.edu] En nombre de
acabrera@teleset.com.co
Enviado el: lunes, 19 de julio de 2004 18:33
Para: Csound Developers Discussion List
Asunto: [CSOUND-DEV:5042] Re: vst4cs

Hola Josep,
They're already operative with the opcode vstedit. The opcode opens the
gui for
the plugin.

Cheers,
Andres

Date2004-07-19 18:22
From"Josep MComajuncosas"
Subject[CSOUND-DEV:5048] Re: vst4cs
I lost the link ... where was vst4cs available?

Josep M Comajuncosas

Date2004-07-19 20:53
Fromsteven yi
Subject[CSOUND-DEV:5057] Re: vst4cs
Hi Michael and Andres,

What I've done with fluid is to have a number of opcodes, the main ones 
being:

fluidEngine 	- creates a fluidEngine, returns a number for the engine

fluidLoad	- loads a soundfont, takes a string for the file to load and 
an engine number for what engine to load into

fluidPlay	- plays a note on an engine's channel, takes an engine number, 
channel number, midi note, and midi velocity

fluidOut	- the output of that fluidEngine, takes in a fluidEngine 
number and outputs stereo


I haven't looked at the vst opcodes yet, but I imagine the analog to 
what I'm doing with the fluid stuff would be something like:

vstLoad		- load a vst instrument, return an number for the vst instrument

vstNote		- initiate a note for that instrument

vstOut		- the output of that vst, taking in a number assigned from vstLoad


I put all of my fluidEngine and fluidLoading in instrument 0, and the 
instruments that end up having the fluidOut are in instruments I keep 
always on and at a higher number than the fluidPlay instrument.  The 
scheme as I imagine would have vstOut calling the tick function of the 
vstInstrument that is loaded.

Sorry I haven't been too involved in this thread, so hopefully this 
isn't exactly what's already implemented!

steven

p.s. - I think I'm going to rename fluidPlay to fluidNote in just a 
moment as it's a better name for the opcode; if anyone is using this 
fluid wrapping of mine besides me, this is just a heads up.  Thanks!


gogins@pipeline.com wrote:

> I have thought about vstnote/vstplug in the same or different instruments
> versus polyphony. I have a hack so that vstplug waits to output until the
> last instance of the containing instrument is called. This requires vstnote
> and vstout to be in the same instr as vstplug. If you use the earlier code
> without the hack, they not only can be in separate instrs, they have to be.
> But you then need to create an indefinite note for the vstplug instr. 
> 
> Which approach is best? I think Steven Yi and I faced the same issues with
> our different versions of the Fluidsynth oopcodes. Steven?
> 
> Original Message:
> -----------------
> From:  acabrera@teleset.com.co
> Date: Mon, 19 Jul 2004 07:47:29 -0500
> To: csound-dev@eartha.mills.edu
> Subject: [CSOUND-DEV:5035] Re: vst4cs
> 
> 
> 
>>What's the current status of vst4cs?
> 
> 
> As Michael said, it's fully working, both with vst instruments and vst
> plugins
> (a few complex ones like Absynth 2, still give trouble). vst4cs features:
> 
> -sending and receiving parameter data to and from the plugin (vstpsend and
> vstpret)
> -sending MIDI information (controller, pitchbend, aftertouch,etc) to the
> plugin.
> (vstout)
> -sending note messages with definite duration to the plugin. (vstnote)
> -loading of .fxb effect banks (vstbload)
> -sending a program change message (vstprogset)
> -opening the plugins gui for realtime tweaking (vstedit)
> -vst processing of audio (vstplug)
> 
> This is what it's supposed to do, and what it seems to be doing, but it
> still
> needs testing. The only issue so far (apart from some plugins not loading)
> is
> that vstnote has to be in the same instrument as vstplug.
> Take it for a spin, and let us know how it goes. There is a list of free vst
> plugins included in the documentation.
> 
> Andres
> 
> 
> --------------------------------------------------------------------
> mail2web - Check your email from the web at
> http://mail2web.com/ .
> 
> 
> 
> 

Date2004-07-19 22:44
FromAndres Cabrera
Subject[CSOUND-DEV:5058] Re: vst4cs
Hi Steven,
vst4cs works in a similar way. What you describe was my original 
implementation, but Michael proposed a different usage (which is 
currently in cvs), which also makes sense, so probably vst4cs will have 
two ways of working. and there will be 2 vstnotes 2 vstouts and 2 
vstplugs to handle them.
And actually there's no vstload. there's vstinit equivalent to 
fluidEngine and vstbload to load .fxb bank files.

Andrés

steven yi wrote:

> Hi Michael and Andres,
>
> What I've done with fluid is to have a number of opcodes, the main 
> ones being:
>
> fluidEngine     - creates a fluidEngine, returns a number for the engine
>
> fluidLoad    - loads a soundfont, takes a string for the file to load 
> and an engine number for what engine to load into
>
> fluidPlay    - plays a note on an engine's channel, takes an engine 
> number, channel number, midi note, and midi velocity
>
> fluidOut    - the output of that fluidEngine, takes in a fluidEngine 
> number and outputs stereo
>
>
> I haven't looked at the vst opcodes yet, but I imagine the analog to 
> what I'm doing with the fluid stuff would be something like:
>
> vstLoad        - load a vst instrument, return an number for the vst 
> instrument
>
> vstNote        - initiate a note for that instrument
>
> vstOut        - the output of that vst, taking in a number assigned 
> from vstLoad
>
>
> I put all of my fluidEngine and fluidLoading in instrument 0, and the 
> instruments that end up having the fluidOut are in instruments I keep 
> always on and at a higher number than the fluidPlay instrument.  The 
> scheme as I imagine would have vstOut calling the tick function of the 
> vstInstrument that is loaded.
>
> Sorry I haven't been too involved in this thread, so hopefully this 
> isn't exactly what's already implemented!
>
> steven
>
> p.s. - I think I'm going to rename fluidPlay to fluidNote in just a 
> moment as it's a better name for the opcode; if anyone is using this 
> fluid wrapping of mine besides me, this is just a heads up.  Thanks!
>