Commit Graph

14756 Commits

Author SHA1 Message Date
a53da91c46 Catch new sources created by bounce-range-to-source-list 2019-07-30 15:43:22 -05:00
8dea1a033d Recover Regions feature: WIP 2019-07-29 20:31:58 -05:00
b23be53514 Add forall_regions function, used by Region and Source lists. 2019-07-29 20:29:35 -05:00
e3b8a70cbb merge fixes 2019-07-29 20:29:35 -05:00
c5eeea95c4 Clean up the natural_position implementation (libardour part). 2019-07-29 20:29:34 -05:00
edc91f3546 RegionFactory should return an empty region here. 2019-07-29 20:29:34 -05:00
433f275c96 Region Tags (libardour part)
Rough-in: Region-Tags.

More correct implementation of tags property (libardour).

Region Tags (libardour part)
2019-07-29 20:29:34 -05:00
74dd35f4b9 Region List rewrite (libardour part)
Region List rewrite (libardour part)
2019-07-29 20:29:34 -05:00
bdf1b54093 Source List (libardour part) 2019-07-29 20:29:34 -05:00
ea9ea68c9d Take-ID: new (working) implementation. 2019-07-29 20:29:34 -05:00
b759fb883e
Launch pavucontrol as PA's control app 2019-07-26 04:43:56 +02:00
7cf68eaf72
Fix time_t <> long int ambiguity (OSX gcc builds)
This fixes an issue with
* XMLNode::get_property(const char*, T&)
* XMLNode::set_property(const char*, const T&)
resulting in
 string_convert.h:77: error: 'long int' is not a class,
 struct, or union type
2019-07-26 01:58:18 +02:00
d7454714ab
Fix PA: unlock mainloop on abort 2019-07-25 21:24:36 +02:00
384c97e12d
Puls der Zeit
Prototype a basic stereo-playback only pulseaudio backend.
2019-07-25 17:49:42 +02:00
771f2d2499
ALSA backend: fix play/capture device param detection 2019-07-24 16:40:40 +02:00
0fe3cba8b1
Fix ALSA available buffersize detection:
buffer-size = periods * period-size

Previously, buffersize was used for period-size.

This fixes an issue with a dedicated .asoundrc configuring a specific
period-size or buffer-size that has to be exact.
Ardour's device configuration failed in this case.

This has not been an issues since most hardware devices offer a wide
range: 8 < period-size < 262144 ; 16 < buffer-size < 524288.
Only a subset of which (32 .8192) is allowed by Ardour.
2019-07-24 16:40:32 +02:00
Nikolaus Gullotta
7d4f72174c Location timestamp changes - can now sort by location creation date: lib ardour part 2019-07-22 15:47:01 -05:00
b5a50821fc 'ARDOUR::LuaScripting::Sorter()' needs to be exportable (since it gets used outside of libardour) 2019-07-19 15:40:06 +01:00
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
ce7add1481 fix use of session-creation via template, when just template name is given 2019-07-18 12:27:16 -06:00
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