Re: [ecasound] ecs-files

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

Subject: Re: [ecasound] ecs-files
From: Kai Vehmanen (k_AT_eca.cx)
Date: Thu Oct 18 2001 - 00:44:52 EEST


On Fri, 14 Sep 2001, janne halttunen wrote:

> One sleepless night, I thought about an XML-representation of the setup,
> something in the lines of:
[...]
> <CHAINSETUP>
> <NAME>example</NAME>
> <BUFFER>1024</BUFFER>
> <SR>44100</SR>

Xml would indeed fit nicely for describing chainsetups. But at least for
now, I've wanted to keep ecasound xml-free. The bad side of xml is that
you need a parser for it --> a new dependency for ecasound.

But nothing stops from using external tools. For instance it would be
quite easy to write a python app that parses xml-chainsetup files, and
writes ecasound .ecs files as the output. This could be made transparent
to users with something like:

ecasoundxml some_chainsetup.xml -c
        - conversion to some_chainsetup.ecs
        - exec 'ecasound some_chainsetup.ecs -c'

> ..but I don't think it would be that useful. What would, instead, be of use
> in XML, is the cop-registers:
[...]
> <EFFECT type='internal'>
> <NAME>Amplify</NAME>
> <DESC>Amplifies signal by amplify-% percent.</DESC>
[...]
> I think this would be quite useful to application developers. I am half
> there myself, bar the param descriptions.
> What would be the best way to start gathering that info about effects'
> parameters?

Actually this is not necessary for internal effects, as all the required
information can already specified in the source code. Same applies to
LADSPA-plugins (you can check the information with the 'analyseplugin'
tool that comes with LADSPA_SDK).

But for describing ecasound's effect presets the above would be really
useful. Edi-3 actually deals with this issue, although not xml-based:

(edi-3) Extra parameters for effect presets describing its parameters,
        author, etc
        - submitted: kaiv, 17.08.2001

I've been thinking about adding new preset-specific options. Something
like:

- pd* (preset description)
    - descripton: -pd:"A more verbose description of the preset."
- pp* (preset parameter information)
    - upper bounds: -ppu:200,1.2,-,-
    - lower bounds: -ppl:100,-1.0,0,-
    - default values: -ppd:150,0,0,0
    - type flags: -ppt:-,log,int,toggle

The above matches with hint information provided by LADSPA plugins and
ecasound's internal effects (libecasound/eca-operator.h). Let's try to
compose a complete example

two_filters = -efl:800 -ea:%lowgain | -efh:800 -ea:%highgain \
              -pd:"Parallel highpass and lowpass filters." \
              -ppu:-,- \
              -ppl:0,0 \
              -ppd:100,100 \
              -ppt:-,-

This would set the default for %lowgain and %highgain to 100, and
low-bound them to positive values. As no type flags are specified, the
parameters are to be treated as normal floating-point values.

With this information, internal effects, presets and LADSPA plugins would
look equal to users and applications like ecamegapedal which use this
hint-information for building user-intefaces.

-- 
 http://www.eca.cx
 Audio software for Linux!

-- To unsubscribe send message 'unsubscribe' in the body of the message to <ecasound-list-request_AT_wakkanet.fi>.


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

This archive was generated by hypermail 2b28 : Thu Oct 18 2001 - 00:41:32 EEST