om-synth
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Om-synth] issues with om


From: James McDermott
Subject: Re: [Om-synth] issues with om
Date: Fri, 16 Dec 2005 09:37:00 +0000

> >>1) When I load alot (one tune has 7 sounds for instance) of medium
> >>complex sounds un-nice things start to happen: Audio breaks up
> >>(sometimes, not all the time), even though top only shows om using < 70%
> >>cpu.
> >>
> >>
> >
> >This is the fault of whatever plugins you're using.  I don't currently
> >check the realtime safe flags of the plugins (I should, yeah).

Just piping up here: it's true that this is the fault of the plugins,
but it doesn't necessarily follow that it's because they're not
realtime-safe, in the LADSPA sense. Heavy cpu-eaters, even
realtime-safe ones, can still cause this kind of problem - right?

Also, let's remember that the writer of the plugin is the one who is
effectively making a claim on behalf of his plugin - so just because
the flag is set, doesn't make it true.

James


From ladspa.h:

/* Property LADSPA_PROPERTY_HARD_RT_CAPABLE indicates that the plugin
   is capable of running not only in a conventional host but also in a
   `hard real-time' environment. To qualify for this the plugin must
   satisfy all of the following:

   (1) The plugin must not use malloc(), free() or other heap memory
   management within its run() or run_adding() functions. All new
   memory used in run() must be managed via the stack. These
   restrictions only apply to the run() function.

   (2) The plugin will not attempt to make use of any library
   functions with the exceptions of functions in the ANSI standard C
   and C maths libraries, which the host is expected to provide.

   (3) The plugin will not access files, devices, pipes, sockets, IPC
   or any other mechanism that might result in process or thread
   blocking.

   (4) The plugin will take an amount of time to execute a run() or
   run_adding() call approximately of form (A+B*SampleCount) where A
   and B depend on the machine and host in use. This amount of time
   may not depend on input signals or plugin state. The host is left
   the responsibility to perform timings to estimate upper bounds for
   A and B. */
#define LADSPA_PROPERTY_HARD_RT_CAPABLE 0x4

reply via email to

[Prev in Thread] Current Thread [Next in Thread]