On Sun, 25 Jan 2004 00:17:29 +0100
Jan Weil <Jan.Weil(a)web.de> wrote:
On Sat, 2004-01-24 at 23:09, Tom Szilagyi wrote:
Hi all,
TAP (Tom's Audio Plugins) 0.1-0 is released.
Currently four LADSPA plugins are available.
You can check them out at:
http://www.hszk.bme.hu/~st444/tap/tap.html
Hi Tom,
nice work!
I tested your plugins with Visecas (i. e. Ecasound) and I just wanted
to let you know that the way you set the MODE port_name for your TAP
Reverberator (as long as _SHOW_PRESET_NAMES_IN_GUI_ is defined)
confuses Ecasound's map-ladspa-list. (Without the #define there was no
problem)
I had a look at ladspa.h and it doesn't say anything about newlines in
port names so I must suppose it is 'officially correct'.
Nevertheless I'd guess that there are other LADSPA hosts which
implicitly assume that port names do not contain newlines (maybe I'm
wrong here, though).
Which leads to a for more interesting question:
Is this the way to deal with LADSPA presets?
For those of you who did not have a look at Tom's screenshots:
His TAP Reverberator has a port which makes it possible to select a
builtin preset.
While this is obviously possible I feel a little uncomfortable seeing
this.
After all many LADSPA hosts come with their own presets system
(Ardour, Ecasound, ...).
At least Tom's way makes sure that his presets can be used by all of
them. :)
So once more (I know this has been talked over before on this list):
Wouldn't it be very cool if all LADSPA hosts spoke the same language
with respect to effects presets?
There already is, in the form of liblrdf (
http://plugin.org.uk/lrdf).
This provides a way of:
* Arranging plugins into a hierarchy (Simulators/Reverbs, Time/Delays,
Frequency/Filters/Low Pass and so on)
* Defaults and Presets
* Labelling of port values (as in the TAP Reverb Presets port)
Host support of the hierarchy is fairly extensive, but the other featues
aren't AFAIK.
An example of how that Preset port could be expressed:
<ladspa:ReverbPlugin rdf:about="&ladspa;2412">
<dc:title>TAP Reverberator</dc:title>
<ladspa:hasPort>
...
</ladspa:hasPort>
<ladspa:hasPort>
<ladspa:InputControlPort rdf:about="&ladspa;2142.7"
ladspa:hasLabel="Presets">
<ladspa:hasScale>
<ladspa:Scale>
<ladspa:hasPoint>
<ladspa:Point rdf:value="0" ladspa:hasLabel="AfterBurn
(Short)" />
</ladspa:hasPoint>
<ladspa:hasPoint>
<ladspa:Point rdf:value="1" ladspa:hasLabel="AfterBurn
(Long)" />
</ladspa:hasPoint>
<ladspa:hasPoint>
<ladspa:Point rdf:value="2" ladspa:hasLabel="Drum
Chamber"
/>
</ladspa:hasPoint>
<ladspa:hasPoint>
<ladspa:Point rdf:value="3" ladspa:hasLabel="Garage"
/>
</ladspa:hasPoint>
...
</ladspa:Scale>
</ladspa:hasScale>
</ladspa:InputControlPort>
</ladspa:hasPort>
</ladspa:SimulatorPlugin>
A host could read in each of the Point values, and present them in a
drop-down list for example.
-
Myk