Re: [linux-audio-dev] LADSPA Writing Tutorial [was: tracker with midi input]

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

Subject: Re: [linux-audio-dev] LADSPA Writing Tutorial [was: tracker with midi input]
From: Steve Harris (S.W.Harris_AT_ecs.soton.ac.uk)
Date: Tue Feb 12 2002 - 18:40:26 EET


On Tue, Feb 12, 2002 at 05:17:03 +0100, Frank Barknecht wrote:
>
> While we're at the subject of LADSPA, I would like to ask, if there's
> somewhere a real beginner's tutorial for writing ladspa plugins. I
> just started coding in C++. I have read several C++-books, but I only
> have real programming practice in Perl and Python.

There is some documentation that comes with the SDK, which is how I
started.
 
> externals. It's just, that a beginner like me can not learn how to code
> a plugin by just looking at the header file. So a step-by-step guide,
> going line by line through a simple plugin like the mixer, then on to
> something more complicated like an analogue osc, would be so helpful. PD
> has it, in LADSPA it seems missing.

Yes, it would be a good thing. It's pretty easy if you've done any
programming before, and have reasonable maths skills.

The problem is that there are lots of languages you can use to build
LADSPA plugins. They are all doing a similar thing but the source looks
very different.

You've seen how I do it, write it in XML wrapped C, then use perl to
generate the raw C source. I think it saves a lot of grunt work, but it
won't be to everyones taste. I would be happy to write a tutorial if
anyone else is interested in coding that way. It would also encourage me
to rewrite the perl code, which really needs doing.

NB saying starting with a mixer and then go on to an analogue oscilator is
a bit like saying, start with "hello world" and then go on to a web
browser ;) One of the oddities of DSP programming is how some aparently
simple things actually have nasty implementation problems, and some things
that seem hard, are actually very simple. A comb filter might be a better
example for step 2.

- Steve

PS The analogue oscilator that I used to distrubte was very very bad. It's
removed in the current release. I will write another when I have a good
understanding of band-limited oscilators.


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

This archive was generated by hypermail 2b28 : Tue Feb 12 2002 - 18:29:43 EET