Re: [linux-audio-dev] Different Plug In API's

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

Subject: Re: [linux-audio-dev] Different Plug In API's
From: David Olofson (david_AT_gardena.net)
Date: Thu Feb 14 2002 - 18:04:04 EET


On Wednesday 13 February 2002 17.26, Joachim Backhaus wrote:
[...]
> I see no reason that Windows and DOS exist!

Well, you know, some people just *got* to make money by charging for
taking people's right away... ;-)

> > >Wouldn't it be much more efficient to bundle
> > >the power to one superb API?
> > >
> > >E.g. I have found LADSPA, MAIA and OX_API.
> >
> > MAIA does not exist.
>
> What is this: http://www.linuxdj.com/mucos/ ?

It's what ended up on-line when I was trying design a plugin API. In
it's current form, tt's useless for any practical purposes, and I
haven't touched it for several months.

I decided I don't have the time and motivation required to get an API
that complex right, without actually *using* it in a real project of
my own - so I put MAIA on hold, and started thinking about something
sensible to do, where it could fit in.

Meanwhile, I happened to browse the KDE menues of a Mandrake system,
and found the old X game XKobo by Akira Higuchi - and was instantly
hooked! It's a 2D shooter that's every bit as playable, addictive and
durable as the best of the classics - and this one's GPLed. :-)

In a few days, I had it using SDL (http://libsdl.org) for graphics
(primarily to get fullscreen modes and remove the X dependency), and
a few days later, the game + Masanao Izumo's sound engine was running
on Linux and Win32. (That's the only platforms I test on myself.) The
port was initially called "SKobo", but eventually, the name was
changed to "Kobo Deluxe".

Since then, I've added loads of features and tweaks, such as OpenGL
rendering and radar "follow mode" scrolling. I've received hints and
patches to make the game build and run on Mac OS X, FreeBSD and
various Solaris variants (x86 and SPARC). The latest versions can be
found at:

        http://olofson.net/skobo

Latest snapshots at:

        http://olofson.net/download

"So what!?!"

Well, hacking away on the audio engine of that game, the circle was
inevitably beginning to close - and Masanao Izumo's original 8 kHz
sound effect player was turning into something more like a full-blown
software synthesizer.

Although it's primarily designed to scale from very low end machines
and up, running in parallel with a game, the latest versions do
include a channel/bus mixing architecture, insert effect plugins, a
scriptable "waveform construction API", a rudimentary MIDI
implementation and some other fun stuff.

(Sorry, no interesting stuff done with the Kobo Deluxe audio engine
as of the current versions - although you could activate the MIDI
input code at configure time if you want to play around with it. The
MIDI file reader/player is "in place" and will be used in a version
released Real Soon Now. :-)

The plan is that I'll eventually return to MAIA - or rather, keep the
useful parts and start over. Some design ideas from the "Kobo Deluxe
Audio Engine" (like the state machine interface for plugin
open/init/prepare/start etc) will most probably be dragged in.

The focus will *probably* shift from MAIA as a stand-alone plugin API
towards MAIA as an "event toolkit" that could be used in conjunction
with other APIs or frameworks, such as JACK. Remains to see if that
still makes sense when I get there.

//David

.- M A I A -------------------------------------------------.
| Multimedia Application Integration Architecture |
| A Free/Open Source Plugin API for Professional Multimedia |
`----------------------> http://www.linuxaudiodev.com/maia -'
.- David Olofson -------------------------------------------.
| Audio Hacker - Open Source Advocate - Singer - Songwriter |
`-------------------------------------> http://olofson.net -'


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

This archive was generated by hypermail 2b28 : Thu Feb 14 2002 - 19:22:56 EET