[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-multimedia
Subject:    Re: arts filters
From:       Stefan Westerfeld <stefan () space ! twc ! de>
Date:       2001-07-22 20:36:48
[Download RAW message or body]

   Hi!

On Fri, Jul 20, 2001 at 02:39:56PM +0100, degs wrote:
> I'm trying to write some plug-ins for aRts and I have a couple of quick 
> questions.
> 
> The sort of things I had in mind to implement would be useful for recording 
> applications - e.g. EQ/filtering, compression (as in dynamic range reduction, 
> not data compression), distortion, modulation/delay effects etc. I've done a 
> bit of this sort of thing before in Windows and I know a bit about DSP but I 
> don't know much about aRts.

Great - well, writing plugins for aRts is quite easy actually, have a look at
very simple ones (such as kdelibs/arts/flow/synth_add_impl.cc). A brief
step-by-step description is also in kdemultimedia/arts/modules/README.modules.

> I realize arts includes some of this stuff already but it seems more aimed at 
> modular synthesis than the DAW sort of thing I'm thinking of.
> 
> My questions are:
> - Is the plug-in API stable enough yet to make this viable now or should I 
> wait?

The API is stable, that is, every plugin you write that works with any
official released version of KDE2 will continue working in all higher
versions.

There are two things to say, however:
 * everything that is in kdemultimedia (such as the gui stuff) is still
   subject to change - especially guis might be relevant for you

   I don't intend to change major issues, however the details of how guis
   work might still be changed

 * I am currently planning a new multithreaded engine for evaluating the
   modules (should be in KDE2.3), which will be able to do things like taking
   advantage of multiprocessor CPUs.

   However, the engine will only add the capability to write modules in a
   really hard realtime capable, and multiprocessor safe way. "Normal"
   modules will continue working as ever, and enhancing existing modules
   to the new capabilities of the engine should not be too hard.

So in short: just start ;).

> - what existing plug-in might be a good starting point as a template to copy, 
> i.e. is simple, up to date, uses the API correctly, and is a simple filter, 
> in that it takes a stereo stream of samples and produces a stereo sample 
> stream result.

A simple example might be Arts::StereoVolumeControl (as implemented in
kdelibs/arts/flow/stereovolumecontrol_impl.cc), or Arts::Synth_FREEVERB
(kdemultimedia/arts/modules/synth_freeverb_impl.cc).

However, I just noticed that the freeverb doesn't emit change notifications,
but I think you can think that on your own. You can also see how the GUI
layer works in freeverb.

   Cu... Stefan
-- 
  -* Stefan Westerfeld, stefan@space.twc.de (PGP!), Hamburg/Germany
     KDE Developer, project infos at http://space.twc.de/~stefan/kde *-         
_______________________________________________
Kde-multimedia mailing list
Kde-multimedia@master.kde.org
http://master.kde.org/mailman/listinfo/kde-multimedia

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic