Re: [linux-audio-dev] [ardour] custom graphics + MIDI control for LADSPA plugins

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] [ardour] custom graphics + MIDI control for LADSPA plugins
From: David Olofson (david_AT_gardena.net)
Date: Fri Dec 01 2000 - 02:20:21 EET


On Thursday 30 November 2000 15:28, Steve Harris wrote:
> On Thu, Nov 30, 2000 at 03:50:07AM +0100, David Olofson wrote:
> > > LADSPA has the advantage, on top of all the obvious ones, of
> > > existing.
> >
> > Yep... However, two usable APIs are better than one broken API.
>
> Oh yes, absoloutly, I'm with you all the way that we need an
> additional, more generic plugin API.
>
> > But the main reason why MAIA will support multiple data types has
> > nothing to do with performance on certain target platforms, but
> > is actually something that should be obvious by looking at the
> > name:
> >
> > Multimedia Application Integration Architecture
> > ^^^^^^^^^^
>
> OK, *that* is a decent reason, I'l shut up about it now ;), as long
> as I can write float audio plugins with a minuimum of cruft.

Plugins are the easy part; the Data Type Descriptors are physically
just 32 bit integers (*), and the basic types, such as float32/64,
int8/16/24/32 with various 0 dB levels etc etc, will be constants
defined in the 1.0 API spec.

That is, just fill in MAIA_TYPE_FLOAT32 for all your audio ports and
properties, and worry no more! :-)

For hosts (which you shouldn't really write that many of anyway, if
me and Benno + other lowlatency freaks gets our way), you have to
compare these datatype fields when connecting plugins, and take some
action if they're different. If you don't want to deal with it
directly, there will be a handy tool library that takes two Data Type
Descriptors and returns a "micro plugin" - actually just a struct
with a pointer to a conversion function (takes two buffer pointers
and a count argument), the size of one sample of each of the formats,
and some other handy info.

Real MAIA plugins will have to be used for special formats such as
variable rate compression formats and the like, but that's another
story, as those formats also require an extended streaming protocol.
(I'm not messing the normal "streaming" protocol up with that stuff.)

//David

.- M u C o S -------------------------. .- David Olofson --------.
| A Free/Open Source | | Audio Hacker |
| Plugin and Integration Standard | | Linux Advocate |
| for | | Open Source Advocate |
| Professional and Consumer | | Singer |
| Multimedia | | Songwriter |
`-----> http://www.linuxdj.com/mucos -' `---> david_AT_linuxdj.com -'


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Fri Dec 01 2000 - 03:38:10 EET