8519677a24
fix potentially crash-inducing race condition by removing event loops' x-thread channel from an event loop when it is destroyed
2016-10-17 14:48:15 -04:00
157253c2c6
remove debug output
2016-10-17 13:41:22 -04:00
9a3c1dbfe7
fix thinko in d2835bc80
(re-enables mute, solo and likely other automation controls)
2016-10-17 13:20:03 -04:00
5b22e67387
add more DEBUG_TRACE statements for port/destruction debugging
2016-10-17 11:16:07 -04:00
2c2ce7aa55
convert cerr<< to DEBUG_TRACE
2016-10-17 11:16:07 -04:00
1fd7ec58cd
use existing method rather than inline code for pending port deletions
2016-10-17 11:16:07 -04:00
nick_m
46d137414b
Initialize TempoMetric _pulse in sonstructor.
2016-10-18 02:14:15 +11:00
nick_m
0585393989
Music locked regions stay positive after tempo map change.
2016-10-18 02:12:33 +11:00
466141229f
ignore send buffers for which there's no return
...
This fixes an issue with Audio+Midi sends feeding into an audio only return.
2016-10-17 00:33:02 +02:00
d2835bc802
improved and hopefully correct fix for "setting AutomationControl marks session dirty even when it should not, if in playback mode"
...
Hopefully comment is more explanatory as well.
2016-10-16 15:51:50 -04:00
nick_m
92920307ae
Tempo curve cleanup, now also works on optimized builds.
2016-10-17 01:28:33 +11:00
f52443e17e
Increase range of a-comp release time.
...
This facilitates ducking music for voice-overs w/o hold-time.
2016-10-15 21:27:29 +02:00
07ee9b6164
Source and AudioSource Lua bindings
2016-10-15 21:27:29 +02:00
nick_m
8ae0c1b36c
Minor cleanup (don't set pulse twice in Region::set_position()).
2016-10-16 03:50:14 +11:00
nick_m
3a0a628a75
Rework duration clock and TempoMap::insert_time to include meter at offset.
...
- should fix 7072
- also fixes scroll behavior over multiple tempi.
2016-10-16 02:33:49 +11:00
102547089b
remove debug output
2016-10-14 11:50:27 -04:00
9066dd731b
much simpler implementation of fix originally in c104c9d472
: don't call Session::set_dirty() or emit Changed() unless AutomationControl actually changes value
2016-10-14 11:42:41 -04:00
92f1eb6be9
Revert "change return type of AutomationControl::actually_set_value() from void to bool, to indicate if value was changed."
...
This reverts commit c104c9d472
.
2016-10-14 11:42:41 -04:00
c21a0760a4
allow feedback (loops) from internal sends
...
This facilitates custom "Echo" chains:
Bus 1 [FX] [aux-send to Bus 2] -> master
Bus 2 [FX] -> Bus 2
2016-10-14 15:06:49 +02:00
88dedfcbdb
fix math ambiguity & OSX compilation
...
cc121.cc: In member function 'void ArdourSurface::CC121::encoder_handler(MIDI::Parser&, MIDI::EventTwoBytes*)':
cc121.cc:413: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
/usr/include/architecture/i386/math.h:343: note: candidate 1: double pow(double, double)
/usr/include/c++/4.2.1/cmath:357: note: candidate 2: float std::pow(float, float)
2016-10-13 23:41:49 +02:00
8f9a9523d2
new scheme for managing port deletion
...
shared_ptr<Port> now uses a deleter functor which pushes Port* to a lock-free FIFO so that the Port is
always deleted (and thus unregistered with the PortEngine/backend) in a safe context w.r.t. various
callbacks in the host. Currently the auto_connect_thread in Session has been tasked with doing these
deletions.
2016-10-13 17:18:54 -04:00
1552547f65
stop using gkd_pango_context_get() in ArdourCanvas::Canvas and require concrete instances to supply a Pango::Context; do this for GtkCanvas and Push2Canvas
2016-10-13 17:18:54 -04:00
228556ab9c
fix panner reset when switching to aux-sends -- fixes #6893
2016-10-13 19:57:50 +02:00
W.P. van Paassen
279b19258b
Small improvement and change to comply with coding standard
2016-10-13 12:10:39 -04:00
W.P. van Paassen
5a3fe4aa20
Inital support for Steinberg's CC121 control surface
2016-10-13 12:10:39 -04:00
Michiel de Roo
bbb20272d5
OSC added plugin activate/deactivate
2016-10-13 12:08:31 -04:00
215d88ac87
Allow a LV2 plugin to mark the session dirty
...
If some plugin-internal state changes (GUI <> Plugin e.g. load a sample)
no ports change and the host does not know that the plugin state has
changed. The session may be closed without save.
This is a prototype using an ardour.org URI, pending upstream lv2plug.in
2016-10-13 16:04:28 +02:00
nick_m
c09e467595
Improve check in tempoAtPulseTest
2016-10-13 14:26:54 +11:00
nick_m
d824e696c0
Fix ramp test, add tempoAtPulseTest.
2016-10-13 14:14:27 +11:00
eae567bd9e
Allow opening sessions with files embedded from removable drives
...
Otherwise Windows shows a critical error for files embedded from
removable devices.
2016-10-13 02:07:34 +02:00
c104c9d472
change return type of AutomationControl::actually_set_value() from void to bool, to indicate if value was changed.
...
Don't call Session::set_dirty() when no change occurs
2016-10-12 17:26:46 -04:00
Nathan Stewart
0df00465fd
Fixed array index out of bounds in Push2Menu::set_active()
2016-10-12 14:50:03 -04:00
Nathan Stewart
ca98c7a051
map::clear() calls erase. Cleans up cpp check warning 'iterator used after element has been erased'
2016-10-12 14:50:02 -04:00
0b51d760ad
cleaner version of feed9648
-- fixes #7067
2016-10-11 22:57:38 +02:00
6c933c7789
Revert "Allow loading sessions with missing external files #7067 "
...
This reverts commit feed9648e1
.
2016-10-11 22:54:21 +02:00
feed9648e1
Allow loading sessions with missing external files #7067
...
The issue was introduced in dbf86a495b
, forcing must_exist = true
for *all* files that have a absolute _origin, including stub
SilentFileSources.
If an external file is no longer available and a user chooses to
"ignore, skip" an SilentFile is created instead of the actual source,
The SilentFileSource has the same XML state which includes _origin.
ARDOUR::SilentFileSource::SilentFileSource () c'tor calls
AudioFileSource::AudioFileSource (,.., must_exit = false)
but since the file has an absolute _origin, the AudioFileSource c'tor sets
must_exist = true; throws and the session cannot be loaded.
2016-10-11 22:05:27 +02:00
c60b4ff4cb
add missing symbol for windows compile
2016-10-11 19:55:35 +02:00
78fef4a253
cater for Note translations. e.g. "Ré ♯" UTF-8
2016-10-11 14:09:54 +02:00
74ba1b2691
Hide Dummy backend from optimized release builds
...
Prepare to bundle session-utils with releases.
Session-utils use libardour which needs an Engine. "Dummy" is the only
engine that always works
2016-10-11 00:29:56 +02:00
b997232aad
skip Push2 unit-test for now:
...
The test segfaults due to missing screen and prevents other libardour
unit tests from running.
2016-10-11 00:05:08 +02:00
99e9382cdb
Unit-tests to check Lua session+DSP scripts
2016-10-11 00:00:52 +02:00
2eb58913e8
add const'ness (allowing LuaScriptList::const_iterator)
2016-10-10 23:49:19 +02:00
0517e186c7
Add Lua-bindings for inter-processor communication
2016-10-10 17:34:18 +02:00
b9791aa63c
Forward "owner" from Processor to Plugin
2016-10-10 17:34:18 +02:00
4f8fdf0af7
Allow to get a route reference from SessionObject*
...
The motivation is to allow a Processor (here Lua) to get a pointer
to the owning Route without resorting to iterative lookup.
2016-10-10 17:34:18 +02:00
8d710a5f8a
Wrong iterator used with IDSortedList
2016-10-10 14:10:39 +01:00
de24d3fddf
add missing #include
2016-10-10 14:37:03 +02:00
cdded19b9f
convert VST parameter names to UTF8
...
Another fix for "µ-iness" (ec8cf4e4f5
, d121e6bf15
, 57b9dab27c
)
this time for Windows.
2016-10-10 14:06:32 +02:00
f8a098f3dc
Fix order of Playlist XML nodes changing on Session save, bug #7053
...
Playlists in SessionPlaylists are sorted by pointer/address which means the
order they are written in the Session XML file usually changes the first time
the Session is re-saved.
Sort the Playlists by PBD::ID before iterating and writing XML so that
playlists are always written in the same order.
2016-10-10 11:00:35 +10:00
66d29e8ca8
Fix indentation in SessionPlaylists::add_state()
2016-10-10 11:00:34 +10:00