On Wed, Feb 05, 2003 at 11:01:35 -0500, Paul Davis wrote:
you might be suprised to know that i agree with you :) thats partly
why i wrote LCP (the LADSPA Control Protocol), and am adding support
for it to Ardour as we speak. it doesn't avoid the IPC you fear
between the GUI and the DSP
On Wed, Feb 05, 2003 at 10:31:07 -0800, Tim Hockin wrote:
1) none - host can autogenerate from hints
2) layout - plugin provides XML or something suggesting it's UI, host draws
it
3) graphics+layout - plugin provides XML or something as well as graphics -
host is responsible
On Wed, Feb 05, 2003 at 08:21:06 +0100, David Olofson wrote:
It seems more obvious to me, though, that controls DO need to do
bounds checking for their inputs, or the host needs to do
snoop-and-fixup for every control.
Yeah, that's basically where I'm getting. I don't really like it,
On Wed, Feb 05, 2003 at 08:21:06 +0100, David Olofson wrote:
Yeah, that's basically where I'm getting. I don't really like it,
considering what it does to plugin code, but it's not *that* bad, and
it makes life a lot easier. The cost of having hosts do it would be
*much* higher, and you'd
On Wed, Feb 05, 2003 at 02:41:44 -0800, Tim Hockin wrote:
All XAP audio data is processed in 32-bit floating point form.
Values are normalized between -1.0 and 1.0, with 0.0 being silence.
I think normalized is the wrong term here, since it can't be more
than a 0 dB reference.
On Thu, Feb 06, 2003 at 01:27:39 -0500, Paul Davis wrote:
Again, I think we are speaking of slightly different things. I am talking
about the time when (for example) the synth at the head of the chain has
stopped playing notes. A reverb with this as it's input would be told 'your
input is
On Thu, 6 Feb 2003 10:40:30 +, Steve Harris wrote
On Thu, Feb 06, 2003 at 01:27:39 -0500, Paul Davis wrote:
Again, I think we are speaking of slightly different things. I am talking
about the time when (for example) the synth at the head of the chain has
stopped playing notes. A
Late reply, I was quite busy and english writing takes me
time. I commented various people quotes here. However I
haven't read recent posts yet, I'm a bit overhelmed by
the reply avalanche. :)
If you have only one plugin per binary, it doesn't matter much, but
single file plugin packs are
Erik de Castro Lopo wrote:
1) C++ is not the only solution.
2) OO can be done in Standard C.
3) Some people (me included) might prefer doing OO programing in C
rather than C++.
I agree, but partially. My opinion about OO in C vs C++ :
I think C++ adds (very useful)
At Wed, 05 Feb 2003 13:07:59 -0500,
Paul Davis wrote:
i wrote a small helper library which allows applications to change
their realtime-priority without having root privilege.
the method is similar like utempter library: the library forks and
execs the checker program which is set as
On Thu, Feb 06, 2003 at 12:18:47 +0100, Dave Griffiths wrote:
I had a vague attempt at doing something like this (after noticing that
filters filtering silence uses up a lot of cpu). Each sample buffer object
OT: Thats probably because the zeros weren't 0.0, they were probably
denormal numbers.
On Thu, 6 Feb 2003 14:07:06 +, Steve Harris wrote
On Thu, Feb 06, 2003 at 12:18:47 +0100, Dave Griffiths wrote:
I had a vague attempt at doing something like this (after noticing that
filters filtering silence uses up a lot of cpu). Each sample buffer object
OT: Thats probably because
Dave Griffiths wrote:
ahah, I was hoping for an explanation :) any ideas on how to combat this, what
the squashing threshold should be?
I wrote a paper on denormalized number issue, you can check
it here:
http://www.musicdsp.org/files/denormal.pdf
-- Laurent
[...]
i love C++. i think its one of the best things ever. but i happen to
agree with Erik. the solution proposed by martijn doesn't scale well,
and doesn't really address the issue in a comprehensive way. it
requires one pure virtual class per distinct set of private members,
for a start.
On Thu, Feb 06, 2003 at 03:59:31 +0100, Dave Griffiths wrote:
On Thu, 6 Feb 2003 14:07:06 +, Steve Harris wrote
On Thu, Feb 06, 2003 at 12:18:47 +0100, Dave Griffiths wrote:
I had a vague attempt at doing something like this (after noticing that
filters filtering silence uses up a lot
perfect!
On Thu, 06 Feb 2003 16:09:11 +0100, Laurent de Soras [Ohm Force] wrote
Dave Griffiths wrote:
ahah, I was hoping for an explanation :) any ideas on how to combat this, what
the squashing threshold should be?
I wrote a paper on denormalized number issue, you can check
it here:
On Thu, 6 Feb 2003 15:28:00 +, Steve Harris wrote
On Thu, Feb 06, 2003 at 03:59:31 +0100, Dave Griffiths wrote:
On Thu, 6 Feb 2003 14:07:06 +, Steve Harris wrote
On Thu, Feb 06, 2003 at 12:18:47 +0100, Dave Griffiths wrote:
I had a vague attempt at doing something like this
Hi all,
LADCCA, the session management system for jack and alsa sequencer
applications on linux is now at version 0.3. After about a month of
gentle fiddling, it now seems to work quite well. As an example, I
managed to run muse, 2 standalone copies of iiwusynth and 2 copies of
jack rack, save
On Thu, Feb 06, 2003 at 04:46:10 +0100, Dave Griffiths wrote:
Is this processor specific? I used to get it loads on my PII desktop, but I
haven't noticed it as much my PIII machine (might just be because it's twice
the speed).
It happens on all IEEE machines, though on some (eg. the PS2's
Martijn Sipkema wrote:
No, it requires a pure virtual class per distinct interface (abstract
class). And I don't see why this would not scale.
The sort of structure you're talking about is much like the way
interfaces work in Java. (Or of course in something like COM,
though that probably
[...]
i love C++. i think its one of the best things ever. but i happen to
agree with Erik. the solution proposed by martijn doesn't scale well,
and doesn't really address the issue in a comprehensive way. it
requires one pure virtual class per distinct set of private members,
for a start.
On Thu, 6 Feb 2003 16:15:46 +, Steve Harris wrote
On Thu, Feb 06, 2003 at 04:46:10 +0100, Dave Griffiths wrote:
Is this processor specific? I used to get it loads on my PII desktop, but I
haven't noticed it as much my PIII machine (might just be because it's twice
the speed).
It
Ugh, OT for sure, but I just cannot resist the temptation to reply to this
thread any longer. ;)
On Thu, 6 Feb 2003, Paul Davis wrote:
conceptually, i am not creating a distinct type of object - i want to
provide a particular set of objects with access to a limited set of
member functions
Paul Davis wrote:
conceptually, i am not creating a distinct type of object - i want to
provide a particular set of objects with access to a limited set of
member functions belonging to an otherwise unified object.
But one point with this pure-abstract-base-class-as-interface line
of thought
On Thursday 06 February 2003 06.11, Tim Hockin wrote:
The host struct is the plugin's interface to various host
provided resources. Unfortunately, making these resources
thread-safe would result in a major performance hit. (Consider
the event system, for example.)
The easy way to deal
[...]
No, it requires a pure virtual class per distinct interface (abstract
class). And I don't see why this would not scale.
you should try writing ardour :)
It might be me who won't scale :) I know writing large applications is
not easy.
A friend is just like a member function, i.e. it
On Thursday 06 February 2003 06.29, Tim Hockin wrote:
right, we only need to 'read' data we didn't write.
Actually, do we? Where would that data come from?
Internal.
Yes - but it has to come from somewhere, and it has to make sense
to write it back.
It comes from the
Correct. But perhaps you are misusing the friend concept. Are these
friend classes so closely related that they cannot use some public
interface?
as i said above, the interfaces are not public. they are intended to
be restricted just to the specified other classes.
This means that all these
On Thursday 06 February 2003 07.27, Paul Davis wrote:
Again, I think we are speaking of slightly different things. I am
talking about the time when (for example) the synth at the head
of the chain has stopped playing notes. A reverb with this as
it's input would be told 'your input is now
On Thursday 06 February 2003 07.50, Tim Hockin wrote:
[...Paul's k5000...]
The top-of-chain plugin (synth) will tell you when it is silent, of
course!
I think it can be a massive, coarse-grain optimization, if we can
make it work.
I think it'll be rather useless if done on the plugin level,
Steve Harris wrote:
seems to be a siuggestion in the PTAF document that host may have to be
responsibe for killing denormal numbers anyway, so they will have to snoop
controls in that case.
More exactly, there are properties telling the host if :
- Plug-in accepts denormalized incoming
On Thursday 06 February 2003 07.50, Tim Hockin wrote:
[...Paul's k5000...]
The top-of-chain plugin (synth) will tell you when it is silent, of
course!
I think it can be a massive, coarse-grain optimization, if we can
make it work.
I think it'll be rather useless if done on the
On Thursday 06 February 2003 12.58, Laurent de Soras [Ohm Force]
wrote:
Late reply, I was quite busy and english writing takes me
time. I commented various people quotes here. However I
haven't read recent posts yet, I'm a bit overhelmed by
the reply avalanche. :)
Well, we're crazy about
On Thursday 06 February 2003 16.28, Steve Harris wrote:
[...]
#define FLUSH_TO_ZERO(fv) (((*(unsigned
int*)(fv))0x7f80)==0)?0.0f:(fv) I think it came from the
music-dsp list.
There's a conditional in there, though.
Another method is to add noise or some other signal (beep at Nyqvist)
On Thursday 06 February 2003 16.17, Martijn Sipkema wrote:
[...classes with private stuff hidden...]
It doesn't work that way. You cannot create an class instance
without its full declaration. I don't see the problem of having the
private part of a class in the header. If you want to be
On Thursday 06 February 2003 22.56, Tim Hockin wrote:
[...]
Now, based on recent arguments, I am rethinking my otiginal idea.
I had originally put this at the plugin granularity, then moved it
to per-channel. This may be Good Enough, but not The Best.
I actually suspect that it might be
[...]
If you don't know *every* detail of
a struct, you can't create an instance of one, because you don't know
it's *size*.
And the offset of its members.
[...]
So, the basic problem is that it's not the constructor that allocates
memory for the instance; it's the code generated by the
David Olofson wrote:
On Thursday 06 February 2003 16.28, Steve Harris wrote:
[...]
#define FLUSH_TO_ZERO(fv) (((*(unsigned
int*)(fv))0x7f80)==0)?0.0f:(fv) I think it came from the
music-dsp list.
There's a conditional in there, though.
Another method is to add noise or some other
On Friday 07 February 2003 00.09, Martijn Sipkema wrote:
[...]
When dynamically linking C++ classes that imlement an interface you
can export create/destroy functions that return/take a pointer to a
instance. Note
that you should not use virtual destructors instead of a destroy
function since
On Friday 07 February 2003 01.22, Simon Jenkins wrote:
[...]
(IIRC:)
If a plugin has got denormals coming out of its outputs, its pretty
certain that its got them circulating around an internal feedback
loop also, since thats where denormals generally come from.
Killing denormals at the
On Thursday 06 February 2003 16.28, Steve Harris wrote:
[...]
#define FLUSH_TO_ZERO(fv) (((*(unsigned
int*)(fv))0x7f80)==0)?0.0f:(fv) I think it came from the
music-dsp list.
There's a conditional in there, though.
Another method is to add noise or some other signal (beep at
On Friday 07 February 2003 00.57, Tim Hockin wrote:
On Thursday 06 February 2003 16.28, Steve Harris wrote:
[...]
#define FLUSH_TO_ZERO(fv) (((*(unsigned
int*)(fv))0x7f80)==0)?0.0f:(fv) I think it came from the
music-dsp list.
There's a conditional in there, though.
Maybe a -200dB sine at 1Hz and Nyquist? But then a BP filter
screws you.
White noise is pretty good...
A very simple Denormal-Zapper plugin which injects white-noise at -200dB
(or lower) can be inerted anywhere in the chain. A Very Useful Plugin.
Tim
On Friday 07 February 2003 01.38, Tim Hockin wrote:
Maybe a -200dB sine at 1Hz and Nyquist? But then a BP filter
screws you.
White noise is pretty good...
A very simple Denormal-Zapper plugin which injects white-noise at
-200dB (or lower) can be inerted anywhere in the chain. A Very
David Olofson wrote:
On Friday 07 February 2003 01.38, Tim Hockin wrote:
Maybe a -200dB sine at 1Hz and Nyquist? But then a BP filter
screws you.
White noise is pretty good...
A very simple Denormal-Zapper plugin which injects white-noise at
-200dB (or lower) can be inerted
Hi.
I relased ZynAddSubFX 1.0.7 .
News:
- some settings (like samplerate) are set at runtime
(by comand line)
- added Distorsion effect
- added controllers, and NRPNs for changing all
effects parameters by midi
- bugs removed and other improovements
See at
On Thu, 6 Feb 2003, David Olofson wrote:
Would be interesting to know which ASCII values are valid inside
multibyte charatcers, BTW. Is there a risk you'll see false slashes,
colons and things like that in paths, if you don't parse the UTF-8
properly? (There isn't IIRC, but I'll have to read
Tim Hockin wrote:
Maybe a -200dB sine at 1Hz and Nyquist? But then a BP filter screws you.
Someone once suggested a slight DC offset, though I can't see how that would
solve things like a reverb, unless they preserve it and shift their 0.
I generally suggest to add random peaks here and
48 matches
Mail list logo