[linux-audio-dev] defending simplicity

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

Subject: [linux-audio-dev] defending simplicity
From: Kai Vehmanen (k_AT_eca.cx)
Date: Mon Mar 27 2000 - 10:14:03 EEST


Here's a few random thoughts about simplicity:

1. It's not about genericity, it's about focus.

Anyone remember the old Unix guide-line - "make your program do
one thing well"? Of course we could go on forever making the
API generic. Everything is just a stream of bytes, that shouldn't
be a suprise to anyone. Why don't we just define a generic
API for transmitting the bytes and a single format string. I
want to write a Tetris for LADSPA.

2. KISS - Keep It Small and Simple

We all know that there isn't much code reuse happening in the
linux-audio-dev world. For general audio tasks, we have *MANY*
large libraries (OpenAL, Open Source Audio Library, SPKit, DMS,
PSL, SDL, SEAL, SonicFlow, etc) - and many applications that offer
library APIs (libecasound, aRts, Quasimodo, Mustajuuri and plenty
of others).

These are open and generic projects, but new audio apps aren't
using them. But let's take another kind of example: libaudiofile.
Although the development has been slow recently, it's working
and focused package that does one thing well. And it definitely
is used by many apps: ecasound, Mustajuuri, ESD, SoundTracker,
Greenbox, gAlan, AlsaPlayer, Electric Ears, etc etc ...

Most open-source developers just aren't interested in these large
APIs. It takes time to understand how they work, and even more
time to see whether they are good enough for task you want to do.

And if LADSPA doesn't become popular, why use it? Another fact
is that nearly all audio apps written in C have their own
plugin APIs.

3. Obscure coding

I don't want to scare of the non-hacker types. It just might be,
that the most interesting plugins come from people who spend
more time making music than writing C-code. Every
hack/feature/whatever we add to the API will make it harder
to understand.

-- 
Kai Vehmanen <k_AT_eca.cx> ---------------- CS, University of Turku .
 . audio software for linux ...	http://www.eca.cx 		 .
 . armchair-tunes mp3/wav/ra .. http://www.wakkanet.fi/sculpcave .


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

This archive was generated by hypermail 2b28 : Mon Mar 27 2000 - 10:58:51 EEST