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>.
This archive was generated by hypermail 2b28 : Thu Oct 18 2001 - 00:41:32 EEST