Subject: Re: [linux-audio-dev] Wrappers and LAAGA
From: Karl MacMillan (karlmac_AT_peabody.jhu.edu)
Date: Fri Jul 27 2001 - 19:31:40 EEST
On Friday 27 July 2001 11:37, you wrote:
> On Fri, Jul 27, 2001 at 03:40:24PM +0100, Ellis Breen wrote:
> > I was wondering whether it was possible to implement LADSPA on non-Linux
> > OSes, and if so, whether it has been done? For example, without breaking
> > any licenses (by clever dynamic linking if necessary) could a DirectX,
> > VST, MAS or TDM wrapper/adapter be written for it (if any of these
> > provide a superset
>
> I think it would be possibel to write a VST wrapper for example (I don't
> know enough about the others), but you would loose functionality, and the
> plugins would have to be recompiled.
>
I am currently working on a project (with my colleague Michael Droettboom) to
do this type of 'wrapping' automatically. The general idea is that you can
write a C++ object, add special comments, and code will be generated for a
variety of plugin systems. We currently have VST, DirectX, PD, and Max/MSP
working. Ladspa is one of the targets we would like to support soon. To give
you an idea of the interface here is an object that generates random numbers
(white noise):
class Rand : public RATL::UgenProducer<Rand> {
public:
//@ inlet("inlet_one")
void inlet_one(float x) { std::cout << "Got data << x << std::endl;
outlet(x); } // send to the outlet
//@ outlet("outlet_one")
void outlet(float x);
//@ tick(1, 0)
sample tick() { return (float)(rand()/(float)RAND_MAX); }
};
This is all that is required to generate all of the target plugins (plus
makefiles/project files for compilation). The features of the system are:
* Automatic conversion of single sample based processing to block processing
(with no virtual function overhead)
* Handles run_replacing and run_adding automatically
* Handles in and out of place processing automatically
* Handles deinterleaving automatically (without copying the data)
* Code generation is based on a powerful preprocessor and is easily extensible
* Generates lots of tedious code for you :)
There is a paper about this here:
http://mambo.peabody.jhu.edu/~karlmac/publications.php3
Anyone that wants to contribute to this is certainly welcome.
> anyone whow what licence pd is
> under?
>
BSD like license.
Karl
---------------------
Karl W. MacMillan
Computer Music Department
Peabody Institute of the Johns Hopkins University
karlmac_AT_peabody.jhu.edu
mambo.peabody.jhu.edu/~karlmac
This archive was generated by hypermail 2b28 : Fri Jul 27 2001 - 19:34:39 EEST