Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
This only affects the meter-bridge, toolbar and editor track-header
(Mixbus' mixer is always using DPM, which is always enabled).
|
|
|
|
|
|
This reverts commit 1a7a23a5cea844431a85fa49933b5ea345bf3896.
|
|
|
|
|
|
|
|
|
|
The meter-type is now implicit set by route/meter-processor, common
to all UIs.
|
|
In theory different UIs can show different meter-types, so it
can make sense to maintain the type in different places.
MeterType is a bit-set and PeakMeter implementation provides for this.
However, this is not being used, and the current implementation
was rather fragmented, cross-connected signals to keep types in sync,
allowed inconsistent meter-types in GUI and backend.
MeterType is now kept by meter itself, however it is still
saved/restored as part of the Route state.
N.B. This change breaks the API, various methods have been renamed
for consistency.
|
|
|
|
|
|
This fixes an issue when a device has more than one
playback sub-device, but only a single capture sub-device (or vice
versa).
|
|
|
|
This changes fan-out to prefer stereo tarcks unless specified otherwise
by a plugin (LV2 port-groups, or AU busses)
|
|
Previously Ardour only listed the first audio sub-device in the
for ALSA and JACK backend device selection dialog.
|
|
Do proper bounds checks and force the use of operator[] () const
|
|
... and add proper bounds checks.
|
|
|
|
For .dll, all references need to be defined at compile/link time
(not runtime). ie. `ld -zdefs`
|
|
|
|
This also fixes C++ compat: no forward declaration of friend classes
(OSX compilation) and C++98 compat (enums are not classes e.g. ActiveState)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* ::jump_by_beats()
* request transport to keep rolling after jump
|
|
|
|
Shared pointer reference accessors can't be const
|
|
|
|
Instead of uniformly demote configurations with a non-matching audio
input count (using a penalty offset of 1000), also grade the
impreciseness of the configuration so that those with the nearest input
count are preferred. As for outputs, give a slightly higher handicap to
configuration with too many inputs with regard to the actual audio
inputs that can be fed to the plugin.
POLICY CHANGE: when only imprecise configurations are found the actually
selected one can be different (better) than before this commit.
|
|
Just make the code responsible for possible_in > 0 also handle
possible_in == 0 since it nearly does the same thing.
The only difference is that the possible_in == 0 case, by using
FOUNDCFG(), acted as if possible_in was audio_in. The consolidated code
uses FOUNDCFG_IMPRECISE which will add some penalty to the
configurations where desired_in == possible_in != audio_in.
There is thus a small POLICY CHANGE, but the selected configuration will
stay the same unless a better matching configuration is available.
|
|
This relieves exact matches of the need to duplicate the bookeeping done
by FOUNDCFG()
|
|
Still no policy change, since when a configuration is chosen that would
have belonged to the second pass, then its penalty will be increased by
1000 and it will be selected only as last recourse.
|
|
It enables only setting the imprecise audio channel count if the
configuration is indeed selected.
|
|
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.
No policy change
|
|
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.
|
|
Since previous line just asserted that possible_in > 0, it is
necessarily non-null and the test is always true.
|
|
To match the actual type used by ChanCount. Keep the int type in the
structure passed in by the Audio Unit, because we have no control over
it.
|
|
The reverb and chorus states in the fluidsynth object need to be initialized to
0 (false) in accordance with the initial state of a-fluidsynth's
v_port[...]. Otherwise they are not updated in the first run() and remain to
fluidsynth's default state 1 (true) even though the plugin's state requires 0.
|
|
The backend will replace the information in the last bracket (IO)
of the name with (In/Out) when creating pretty port-names from the
device-name. -- see replace_name_io().
This fixes an issue with device-name number suffixes in brackets.
|
|
Add support for smoothing, ignore message when controllers are
not in sync to avoid discontinuous jumps.
This is mainly useful for Mackie-like devices that use pitch-bend
messages for faders.
see also https://discourse.ardour.org/t/feature-lazy-sliders/100961
|
|
|
|
|
|
The engine setup identifies devices by name (device list is a map<>
with the device-name as key). To support multiple devices with the
same name, the name needs to be unique.
So far this is achieved by simply adding a number suffix starting with
the 2nd device (this allows to re-use configurations).
Ideally we'd use UUIDs or unique device IDs to handle this, and also
somehow clarify which device is which...
|