Commit graph

14738 commits

Author SHA1 Message Date
Paul Davis
6f506962a7 Revert "fix use of session-creation via template, when just template name is given"
This reverts commit ce7add1481.
2019-07-18 13:38:43 -06:00
Paul Davis
ce7add1481 fix use of session-creation via template, when just template name is given 2019-07-18 12:27:16 -06:00
Robin Gareus
9748656a90
Sort Lua scripts case-insensitive and expose sort-struct 2019-07-18 15:52:29 +02:00
Robin Gareus
8d98dfe8fc
Remove debug output 2019-07-18 15:52:25 +02:00
Robin Gareus
214a92fcd5
Add Lua bindings to query&reset x-run count 2019-07-18 05:22:17 +02:00
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
929ecf622b
Add lock-free multiple producer multiple reader queue 2019-07-10 20:21:06 +02:00
Robin Gareus
57c3eaacf6
Fix process-thread naming 2019-07-10 20:20:44 +02:00
Robin Gareus
e85c10256b
Add Lua binding to set/create track playlists 2019-07-06 18:09:27 +02:00
Robin Gareus
e76e18af96
Use exit-status macros for compatibility 2/3 2019-07-04 22:21:35 +02:00
Robin Gareus
9cfcb0bd92
Mixbus uses K14 (not K20) master meter by default (see also 297ed001d) 2019-07-02 20:18:26 +02:00
Robin Gareus
db2ed6ade5
Remove unused API -- there is no default backend. 2019-07-02 20:16:56 +02:00
Robin Gareus
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
Robin Gareus
3630113414
LV2 support is not optional since 04ccd328dc 2019-06-24 21:52:27 +02:00
Damien Zammit
a3f8449595 Update to upstream ptformat 777686b (remove strndup && cleanup) 2019-06-24 22:54:45 +10:00
Damien Zammit
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
John Emmas
1a7a23a5ce Huh?? I can't believe that MSVC doesn't support strndup() !!! 2019-06-23 15:52:59 +01:00
Damien Zammit
675759c167 Update references to ptfformat -> ptformat && fix api calls 2019-06-22 17:26:05 +10:00
Damien Zammit
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
Robin Gareus
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
Robin Gareus
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
Paul Davis
fb2e65fd35 do not set MIDI CC values on locate if control/parameter is set to "Off" 2019-06-05 10:02:39 -06:00
Paul Davis
2c88055ef4 NOOP: whitespace/newline tweak 2019-06-05 10:02:39 -06:00
Robin Gareus
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
Robin Gareus
3e4f2d0f7a
Fix async peak-meter reset 2019-06-04 14:48:47 +02:00
Robin Gareus
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
Robin Gareus
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
Robin Gareus
8cce89664c
Fix a -Wmaybe-uninitialized (disk-reader, no audio) 2019-05-26 12:56:10 +02:00
Robin Gareus
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
Robin Gareus
d28dc9ee08
Shuttle Surface: request_factory and MSVC compatible struct 2019-05-25 16:49:19 +02:00
Robin Gareus
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
Robin Gareus
c97884d257
Add preference to hide LADSPA plugin if LV2 exists 2019-05-25 01:56:23 +02:00
Robin Gareus
02c698ed85
NO-OP: whitespace 2019-05-25 01:20:17 +02:00
Robin Gareus
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
Robin Gareus
344feccc31
Prefer dedicated c-pointer bindings (can be const) 2019-05-17 12:09:07 +02:00
Robin Gareus
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
Ben Loftis
3e7e89db8f Fix some actions that moved from Common to Editor. 2019-05-13 09:20:17 -05:00
Julien "_FrnchFrgg_" RIVAUD
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
Julien "_FrnchFrgg_" RIVAUD
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
Julien "_FrnchFrgg_" RIVAUD
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
Julien "_FrnchFrgg_" RIVAUD
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