Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Nick Lanham <nick@...>
Cc: <linux-audio-dev@...>
Date: Tuesday, February 14, 2012 - 7:33 pm

On Tue, 2012-02-14 at 12:52 +0100, Nick Lanham wrote:
[...]

Too many thoughts, as usual :)

Right, dynmanifest can't really do things like this for an instantiated
plugins, it's only a discovery time thing.

There are two ways to go about getting this: "dynamic ports" and doing
all control via messages (so we don't need a port for every control).

Dynamic ports we don't really have yet. There is dynparam, but this is
not widely supported. I don't particularly like it because it's not
very extensible, doesn't really mesh with the RDF data, adds too much
API, and has some other issues; but these mainly stem from it pre-dating
a lot of needed extensions and established best practises. Something
similar to / based on it with a more modern take could be alright.

That said... I am increasingly becoming convinced that ports are
particularly awful for control (if not everything). Among other
problems, they are too static, which is your problem. Doing everything
via messages (e.g. "set gain to 1.6") that all travel in/out one
designated port (as events) keeps things completely dynamic, and breaks
free of the whole "single float per run()" thing so we could have
time-stamped control ramps and such.

The actual data types, logistics, etc. of this are being hammered out as
we speak, but mainly intended for "load this file" type uses (i.e.
things we can't do at all, currently). Nothing yet for using it for
control parameters, basically what needs figuring out there is how to
describe controls, add/remove them, announce new ones, etc. I will
consider making another example plugin that tinkers with this stuff.

The real win of a message-based approach is that *everything* happens
via meaningful events (which travel via ports), which means it's all
serialisable and network transparent and all that - including creating
and/or inspecting new parameters. This means UIs can do it. This is
not true of an API-based approach like dynparams. In general I think it
is an extremely bad idea to have UI<->plugin or plugin<->plugin
communication limited by explicit host support; it holds everything
back.

If anyone has an ideas for a very simple (no samples and threads and
such) example plugin with a reasonable use for multiple parameters, do
tell. I thought a multi-point envelope would be a neat one, but there's
too much UI work there.

-dr

_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[LAD] DrMr: a new lv2 sampler/drum machine plugin, Nick Lanham, (Mon Feb 13, 4:21 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, Alexandre Prokoudine, (Tue Feb 14, 9:58 am)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, Albert Graef, (Tue Feb 14, 10:22 am)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, Alexandre Prokoudine, (Tue Feb 14, 1:23 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, Nick Lanham, (Tue Feb 14, 1:51 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, Sebastian Moors, (Tue Feb 14, 2:22 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, Alexandre Prokoudine, (Tue Feb 14, 6:39 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, thijs van severen, (Tue Feb 14, 5:49 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, Nick Lanham, (Fri Feb 17, 3:53 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, Sebastian Moors, (Fri Feb 17, 5:01 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, Albert Graef, (Fri Feb 17, 7:53 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, m.wolkstein@gmx.de, (Fri Feb 17, 11:05 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, Albert Graef, (Sat Feb 18, 1:10 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, Nick Lanham, (Tue Feb 14, 11:24 am)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, Dave Phillips, (Tue Feb 14, 12:18 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, Nick Lanham, (Tue Feb 14, 2:57 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, Albert Graef, (Tue Feb 14, 7:21 am)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, Jeremy Jongepier, (Mon Feb 13, 8:59 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, Rui Nuno Capela, (Mon Feb 13, 9:27 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, David Robillard, (Mon Feb 13, 9:30 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, Rui Nuno Capela, (Mon Feb 13, 9:48 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, David Robillard, (Mon Feb 13, 10:06 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, David Robillard, (Tue Feb 14, 6:48 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, Jeremy Jongepier, (Mon Feb 13, 9:39 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, Albert Graef, (Mon Feb 13, 8:18 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, Nick Lanham, (Mon Feb 13, 4:46 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, Filipe Lopes, (Mon Feb 13, 5:02 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, David Robillard, (Mon Feb 13, 9:05 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, Nick Lanham, (Tue Feb 14, 11:53 am)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, David Robillard, (Tue Feb 14, 7:33 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, Nick Lanham, (Wed Feb 15, 11:28 am)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, David Robillard, (Wed Feb 15, 7:30 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, Paul Giblock, (Tue Feb 14, 7:44 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, David Robillard, (Tue Feb 14, 8:03 pm)
Re: [LAD] DrMr: a new lv2 sampler/drum machine plugin, Nick Lanham, (Mon Feb 13, 5:11 pm)