Age | Commit message (Collapse) | Author |
|
This is useful for exact matches that would otherwise need to duplicate
the bookeeping done by FOUNDCFG()
|
|
It enables only setting the imprecise audio channel count if the
configuration is indeed selected.
|
|
So that it can depend on the actual configuration selected.
|
|
Instead of setting \imprecise at the end of the loop if a configuration
was found (which clobbered valuable information, see dae2406187), set it
each time a new configuration is chosen.
In the second loop that tries harder, resetting \imprecise also avoids a
previous "imprecise->set(AUDIO, 0)" to last even if another
configuration is chosen later.
Last but not least, it will enable correctly setting the midi input
count hoped for by the configuration.
|
|
Merge the cases in == -1 and in == -2 since those are both wildcards,
almost symmetric in the AU spec, and handled completely symmetrically by
the code here considering it accepts invalid or unspecified demands.
Also merge the cases in > 0 and in < -2 since they are handled exactly
the same as far as outputs are concerned.
|
|
That code modifies \imprecise if it is not NULL, but
- if a configuration is found, \imprecise will be set to in, clobbering
the tentative changes done here;
- if a configuration is not found, a last-resort loop will be run that
will set the same member of \imprecise, also clobbering our changes.
Remove it since it does nothing that is looked at before being
forgotten. A way to get the intended outcome will be introduced later.
|
|
...to later enable that condition truthiness to depend on the
loop iteration. The goal here is to prepare for the upcoming rewrite,
without introducing any policy change for now.
There is no behavior change because if all loop iterations are skipped,
then \found will be false, and with \imprecise being null the last
attempt will be skipped and we will return false.
|
|
Instead of doing an initial loop for detection of exact matches, then
letting the following loop set \audio_out yet ignore its value, merge
the two loops but give exact matches a negative penalty so that the
\audio_out value they set won't change afterwards.
No policy change.
|
|
|
|
|
|
|
|
There is no code that read the set value in between the removed line and
its exact counterpart below. There is no similar duplicate in the
AudioUnit code due to the way AudioUnit handles midi.
|
|
So that the plugin knows that a preset has been loaded, and can send the
signal accordingly.
|
|
That caused truncation of parameters to int when the decimal separator
is not a period in the user's locale.
|
|
|
|
|
|
..since memory-size and segmentation increased.
(large sizes favor TLSF, smaller segments are in favor realloc-pool)
|
|
|
|
|
|
Ardour takes the closest pin/port match yet still offers a plugin with
variable i/o access to all port-buffers.
the "reported" (user visible) pin-count now defaults to the actual
selected configuration (precise) and lua_dsp_configure() can
override it.
|
|
|
|
|
|
lua C++ bindings require ~400KB worth of tables now; so bump memory
available to rt-safe scripts (full interpreter) to 2MB.
Also switch to incremental GC.
|
|
|
|
|
|
Pass current (latency compensated) cycle times to plugin.
This fixes time-reporting to plugins and also fixes automation
and when bouncing (the session->transport* is not valid) etc.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* extend plugin API (query IO ports)
* collect possible variable plugin configurations (AU, Lua)
* prepare semi-automatic configuration (presets: mono, stereo, N)
|
|
|
|
|
|
|
|
|
|
..in case of outright errors (e.g. data format mismatch)
or non-implemented edge-cases e.g. midi generators
(no audio in, no midi in, no audio-out) or control-data filters (only
control ports).
|
|
|
|
|
|
This prevents concurrent access to the lua interpreter to query them
|
|
This reverts commit 8f3a13d998e812e1c997bd8485b0d5c7b7ff9809.
|
|
ToDo: localize parameter descriptor in init()
|
|
|
|
|
|
|