This is a quick report back from the LADSPA bird-of-a-feather session that
happened on Friday morning at the LA Conference. Attendees of the session
can expand on any details that aren't clear here once they recover :)
The atendees signed off on the text that has unanimous agreement, but not
on the open question IIRC.
Date 2004-04-30 10:00
Duration 3:30
Present 11 people (dont have a list of names, sorry)
Users 10
Plugin devels 3
Host devels 6
Unanimous agreement was reached on a number of pointsdditions, these are:
Momentary hint: additional hint (requires toggle) - indicates that control
(UI) shouldn't latch the control.
Port paths: '/' should be used as a port path component divider. No
leading slash will be used. This is for grouping related controls
in UIs and to allow more natural reflection of LADSPA port names
into OSC or HTTP, for example.
Zero pointer buffer values: if hint bit is set then the buffer pointer can
be NULL to indicate that the port is not connected.
There will be a LADSPA 2.0 which will differ from the 1.0 series only in
enforcing all metadata to be represented externally. No features over what
was agreed here will be added. Design work will start as soon as the
conference finishes. Estimates for time to completion are on the order of
2 months.
Open Questions
There is the possibility of an interrim 1.2 ladspa.h version that will add
the momentary hint, port paths, zero pointer buffer values and port name
extension enumerations, and will be deprecated by 2.0. It was decided to
leave it to the LADSPA devleoper community to vote if this was
desirable, as there was no consensus.
- Steve
Disposable Soft Synth Interface (DSSI, pronounced "dizzy") is a
proposal for a plugin API for software instruments (soft synths) with
user interfaces, permitting them to be hosted in-process by audio
applications. Think of it as LADSPA-for-instruments, or something
comparable to a simpler version of VSTi. It's intended to be simple,
easy to write plugins for, GUI-toolkit-agnostic, and slightly biased
towards familiarity with MIDI, and is proposed as an interim measure
until bigger and better things come along: hence "disposable".
The proposal consists of an RFC, which describes the background and
defines part of the proposed standard, plus a documented header file
(dssi.h) which defines the remainder. The distribution also contains
a handful of public-domain example files including an almost complete
(but not pretty) host implementation and a simple synth plugin with a
GUI. The API itself is licensed under the LGPL.
The full RFC may be read here:
http://dssi.sourceforge.net/RFC.txt
The header file is here:
http://dssi.sourceforge.net/dssi.h.txt
The 0.1 distribution containing RFC, header and examples may be
downloaded from SourceForge: see http://dssi.sourceforge.net/ and
http://sourceforge.net/project/showfiles.php?group_id=104230 .
This proposal was constructed by Steve Harris and Chris Cannam.
Comments to LAD please! (Steve will be at ZKM, as those of you who've
seen the schedule thingy will know; I can't make it there myself, so
I'd quite like to see some feedback here.)
Chris
Hi!
Apparently our mailsever has been blacklisted by all-day-breakfast ...
Damned script-kiddies :(
So, since this discussion is kind of relevant here, I try get the
message thru anyway. Sorry Chris!
On tor, 2004-04-29 at 16:11, Chris Cannam wrote:
> On Thursday 29 Apr 2004 2:19 pm, Jens M Andreasen wrote:
> > I think I will not be really, totally happy before I see something
> > like:
> >
> > void (*midi_msg)(LADSPA_Handle instance,
> > unsigned byte msg[4]);
>
> This would be exactly equivalent to the existing run_synth(), would it
> not?
Mmm .. This would replace, I think, all of your considerations on how to
extend LADSPA. It is (probably?) the only extension really needed. MIDI
is a very powerful protocol, and the beuty is that the client needs only
to implement those parts it needs to get going.
For a synthesizer one can ignore start, stop and pause as well as SMPTE,
but for a sequencer or arpeggiator timing would be the name of the game.
As a synthesizer developer I *could*, if I wished so, implement
running-status and thus discover that I have been disconnected, but it
is not required ...
mvh // Jens M andreasen
> Chris
>
Hi,
Have a play. Please. I know it might not be the most exciting app
in the world, but feedback would be good. This is the first time
I've written anything non-trivial in Linux.
The spectrum analyser is back, now as a toggleable X window.
Resizing to follow.
One annoying bug - when the SA window pops up, it steals focus. If
anyone knows how to create an unfocused window, preferably using only
xlib, or something else ubiquitous, please please tell me.
http://dis-dot-dat.net/code/sauditor/
James
Hi,
for those who can't get enough Linux Audio in their diet:
The Linux Audio Mini-Conf @ LCA2005 will be held before linux.conf.au,
Australia's national Linux conference, in April 2005 at the Australian
National University in Canberra, Australia.
More details, including the call for technical presentations and an
archive of the previous year's miniconf, is at:
http://www.metadecks.org/events/lca2005/
Conrad.
Hi,
TAP-plugins 0.5.0 released today, featuring:
* New plugin: TAP Dynamics,
a versatile tool for changing the dynamic content of your tracks.
Currently supports 15 dynamics transfer functions, among which there
are compressors, limiters, expanders and noise gates.
* Ardour (the recommended host for these plugins) now supports drop-down
lists in plugin GUIs, so there are no more long port labels.
* Minor fixes, improvements, new screenshots ;-)
Homepage: http://tap-plugins.sf.net
Enjoy,
Tom
sauditor is a simple, fast, sample auditor that outputs through jack
and has a curses interface.
http://dis-dot-dat.net/code/sauditor/
Changes:
It doesn't (or shouldn't) break anymore.
The spectrum analyser has been removed for now, until I get around to
writing a new one.
Doesn't show files/dirs starting with "." by default anymore - use the
-a option to turn them back on.
The brain-damaged directory traversal is fixed.
Plenty of tidying up done.
James
Hi, as you may know I'm the author of simsam (http://simsam.sf.net) and I'm
a little stuck with some typical audio application design problems.
So far I've been using an Observer pattern to have the GUI updated as soon as
a parameter changes. Thus any operation setting a parameter can trigger one
or several Widgets to be redrawn. Since so far I only set parameters from the
GUI thread, the resulting GUI updates also run in the GUI thread, so no problem
there.
One problem however is that access to the parameters isn't synchronized and
therefore concurrency problems exist. The same problem exists between MIDI and
audio thread, as MIDI events are currently handled entirely in the MIDI thread.
The obvious answer is to use mutexes to synchronize the parameters, but then
of course they aren't rt-safe.
The next obvious answer would be to use a lock free FIFO. I've seen some code
passing MIDI events to an audio thread that way. Thus the state is only
maintained in the audio thread. But what about GUI events? And GUI callbacks?
Surely one doesn't want the audio thread to execute widget redraws. So one has
to de-couple these mechanisms, for example by defining event and update
messages and passing those around by FIFOs instead of direct parameter
manipulation / direct GUI callbacks. Now this would totally break my app and I
would therefore like to hear some thoughts on the whole issue before I start
messing things up (even worse ;-P).
Thanks
Christian Henz
CheeseTracker is a mature,versatile and extremely full-featured application
that works as an all-in-one sequencer/sampler/sample editor/fx processor. It
allows for the creation of professional sounding multitrack mixes.
It includes examples and docummentation, as well as on-line help.
It can be obtained at http://cheesetronic.sf.net
Sorry for the delay, even though this was ready some months ago, I didnt have
time to fix up a proper release..
Changes for this version follow:
-New (still scons-based) build system, should be easier to use..
-Fixed OSS detection for REAL
-Disabled RtAudio, must reenable it at least for OSX, but that will be
version 1.0.0
-All engine converted to floating point, may be a bit slower on pre p4/athlon
computers, though a bit more accurate
-Old FX core deprecated, sorry, this wont load effects on pre-9.9 songs,
though it will keep the routes.
-Added shift-f6, play pattern from cursor
-Added sample-being-played notification in sample screen.
-Fixed wave-loading bug, should work until i get libaudiofile working
-Fixed ugly bug in GXX introduced in 0.9.1
-More resamplers (FM/Cosine/Cubic Spline).
-Doubled filter range.
-Managed to reduce the source file size a bit
-NEW FILTERS!!! rewrote the filters, they are MUCH better now.. choose
between lowpass/bandpass/hipass/notch
-New Effect: Multiband (6/10/21/31) equalizer.
-New effect!: Distortion (with many distortion modes)
-New effect! Pitch Shifter (not amazing, but very tweakeable)
-New effect! Stereo FX (kickass post-production helper)
-New bugs! report them please!
Enjoy!
Juan Linietsky
Re-,
Erik de Castro Lopo wrote:
> You expect a reply to your message within an HOUR ???????? Sometimes the
> lag in the mail servers is longer than that.
Bad forum user habit... ,-)
> You also forget that this is an international list. The person you were
> corresponding might go to bed at just the time you send your email.
> In that case, the very soonest you could reasonably expect an reply
> would be 8 hours later.
That's why I write my posts when most wake up. ;-)
Eric Dantan Rzewnicki wrote:
> Probably not worth mentioning ... but I think he meant that he had
> spent an hour writing the message. Which I'm sure doesn't even come
> close to being compared with the time you've spent on libsamplerate and
> libsndfile. :)
Not that I can't write properly...
I understand my low contribution isn't that important, bearing in mind it's long
and boring sometimes, but I don't like efforts when worth nothing (what I would
have concluded if no one had answered)!
Erik de Castro Lopo wrote:
> Oh well. Sorry. But still noone OWES him a response and shouting and
> attitude definitely won't help his cause.
Let's assume it was hard times for me, everything falling apart around me... My
apologies!
Cheers!
Christian