13
0
Commit Graph

14736 Commits

Author SHA1 Message Date
9748656a90
Sort Lua scripts case-insensitive and expose sort-struct 2019-07-18 15:52:29 +02:00
8d98dfe8fc
Remove debug output 2019-07-18 15:52:25 +02:00
214a92fcd5
Add Lua bindings to query&reset x-run count 2019-07-18 05:22:17 +02:00
45f1220aa5
Fix deadlock when removing routes (initialization issues)
_setup_chain needs to point to the unused graph-chain, and not
_current_chain. Otherwise Graph::clear_other_chain() waits forever.
2019-07-15 00:55:51 +02:00
c6740b7cb0
Prevent adding a 2nd MIDI input/output port
Ardour's Tracks/Routes are not capable of handing more than one
MIDI port per per route properly. Most Plugin standards don't support
this either.

However, at this point in time IO::ensure_ports_locked() is not
limited by this restriction!

It is still possible to indirectly add a 2nd MIDI data-buffer
and output-port via plugin pin-management, or simply plugins with
two MIDI output ports when using flexible I/O.
2019-07-11 22:57:34 +02:00
b7369f421f
Re-work process-graph to use lock-free queues
This removes the trigger_mutex which was used for exclusive access
of the work-queue for concurrent processing.
2019-07-10 20:39:27 +02:00
929ecf622b
Add lock-free multiple producer multiple reader queue 2019-07-10 20:21:06 +02:00
57c3eaacf6
Fix process-thread naming 2019-07-10 20:20:44 +02:00
e85c10256b
Add Lua binding to set/create track playlists 2019-07-06 18:09:27 +02:00
e76e18af96
Use exit-status macros for compatibility 2/3 2019-07-04 22:21:35 +02:00
9cfcb0bd92
Mixbus uses K14 (not K20) master meter by default (see also 297ed001d) 2019-07-02 20:18:26 +02:00
db2ed6ade5
Remove unused API -- there is no default backend. 2019-07-02 20:16:56 +02:00
297ed001d0
Mixbus/master is always using K20 by default
This only affects the meter-bridge, toolbar and editor track-header
(Mixbus' mixer is always using DPM, which is always enabled).
2019-07-02 16:12:06 +02:00
3630113414
LV2 support is not optional since 04ccd328dc 2019-06-24 21:52:27 +02:00
a3f8449595 Update to upstream ptformat 777686b (remove strndup && cleanup) 2019-06-24 22:54:45 +10:00
0a62d70a43 Revert "Huh?? I can't believe that MSVC doesn't support strndup() !!!"
This reverts commit 1a7a23a5ce.
2019-06-24 22:52:46 +10:00
1a7a23a5ce Huh?? I can't believe that MSVC doesn't support strndup() !!! 2019-06-23 15:52:59 +01:00
675759c167 Update references to ptfformat -> ptformat && fix api calls 2019-06-22 17:26:05 +10:00
f5524ddf37 ptformat: Update lib from legacy parser to new parser 6240b87 2019-06-22 17:26:05 +10:00
Johannes Mueller
9ddc47204a Some more frame -> sample changes (luabindings.cc) 2019-06-16 01:28:38 +02:00
43fe5c0487
Update Push2 level-meter display (use new API)
The meter-type is now implicit set by route/meter-processor, common
to all UIs.
2019-06-09 19:56:33 +02:00
cd5b0819bf
Consolidate meter-type state and API
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.
2019-06-09 19:56:15 +02:00
fb2e65fd35 do not set MIDI CC values on locate if control/parameter is set to "Off" 2019-06-05 10:02:39 -06:00
2c88055ef4 NOOP: whitespace/newline tweak 2019-06-05 10:02:39 -06:00
34b671911c
Skip name-suffix for first ALSA sub-device
This fixes an issue when a device has more than one
playback sub-device, but only a single capture sub-device (or vice
versa).
2019-06-04 19:20:26 +02:00
3e4f2d0f7a
Fix async peak-meter reset 2019-06-04 14:48:47 +02:00
dba3ff5236
Assume default plugin bussing is stereo
This changes fan-out to prefer stereo tarcks unless specified otherwise
by a plugin (LV2 port-groups, or AU busses)
2019-06-03 16:28:10 +02:00
f777d8389d
List available ALSA sub-devices
Previously Ardour only listed the first audio sub-device in the
for ALSA and JACK backend device selection dialog.
2019-06-01 15:49:46 +02:00
Johannes Mueller
af875e0edc Potential fix for a race.
Do proper bounds checks and force the use of operator[] () const
2019-05-30 17:33:36 +02:00
Johannes Mueller
16d6791566 Make ContourdesignControlProtocol::_button_actions private again ...
... and add proper bounds checks.
2019-05-30 17:09:33 +02:00
8cce89664c
Fix a -Wmaybe-uninitialized (disk-reader, no audio) 2019-05-26 12:56:10 +02:00
203b249135
Shuttle Surface: fix linking .dll
For .dll, all references need to be defined at compile/link time
(not runtime). ie. `ld -zdefs`
2019-05-26 12:46:37 +02:00
d28dc9ee08
Shuttle Surface: request_factory and MSVC compatible struct 2019-05-25 16:49:19 +02:00
3546a7291b
Shuttle Surface: Fix C++ style: use accessor/setter methods
This also fixes C++ compat: no forward declaration of friend classes
(OSX compilation) and C++98 compat (enums are not classes e.g. ActiveState)
2019-05-25 16:49:15 +02:00
c97884d257
Add preference to hide LADSPA plugin if LV2 exists 2019-05-25 01:56:23 +02:00
02c698ed85
NO-OP: whitespace 2019-05-25 01:20:17 +02:00
ce8740cf5e
Fix LADSPA author name (remove padding) 2019-05-24 23:58:00 +02:00
Johannes Mueller
e61c4b692b Use ActionModel also in ContourDesign surface 2019-05-19 16:43:48 +02:00
Johannes Mueller
0c3112aed1 Some frame -> sample changes in UCS2400 2019-05-18 16:36:49 +02:00
Johannes Mueller
b8349069f1 Add support for contourdesign ShuttlePRO v2 and ShuttleXpress 2019-05-18 14:04:38 +02:00
Johannes Mueller
89f39d14f2 Add some options for surfaces to jump in the timeline
* ::jump_by_beats()
* request transport to keep rolling after jump
2019-05-18 13:27:49 +02:00
344feccc31
Prefer dedicated c-pointer bindings (can be const) 2019-05-17 12:09:07 +02:00
bed2eb2e33
Fix std::list<hared_ptr<>> front/back methods
Shared pointer reference accessors can't be const
2019-05-17 12:09:07 +02:00
3e7e89db8f Fix some actions that moved from Common to Editor. 2019-05-13 09:20:17 -05:00
a4474e95a4 Make the configuration penalty subtler about inputs
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.
2019-05-12 22:32:10 +02:00
fe4d0f67e4 Remove ad-hoc handling of possible_in == 0
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.
2019-05-12 22:32:10 +02:00
3bff40b5b3 Enable overriding the configuration penalty
This relieves exact matches of the need to duplicate the bookeeping done
by FOUNDCFG()
2019-05-12 22:32:10 +02:00
7a6daab642 Merge input-imprecise pass into the main pass
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.
2019-05-12 22:32:10 +02:00
b5218fa38b Introduce a macro for imprecise configurations
It enables only setting the imprecise audio channel count if the
configuration is indeed selected.
2019-05-12 22:32:10 +02:00
0e0c55c6b5 Merge some cases to avoid duplicated logic
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
2019-05-12 22:32:10 +02:00