Robin Gareus
3e32a00a52
fast region export -- don't call process()
2016-10-17 21:35:00 +02:00
Paul Davis
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
Paul Davis
157253c2c6
remove debug output
2016-10-17 13:41:22 -04:00
Paul Davis
9a3c1dbfe7
fix thinko in d2835bc80 (re-enables mute, solo and likely other automation controls)
2016-10-17 13:20:03 -04:00
Paul Davis
5b22e67387
add more DEBUG_TRACE statements for port/destruction debugging
2016-10-17 11:16:07 -04:00
Paul Davis
2c2ce7aa55
convert cerr<< to DEBUG_TRACE
2016-10-17 11:16:07 -04:00
Paul Davis
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
Robin Gareus
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
Paul Davis
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
Robin Gareus
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
Robin Gareus
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
Paul Davis
102547089b
remove debug output
2016-10-14 11:50:27 -04:00
Paul Davis
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
Paul Davis
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
Robin Gareus
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
Robin Gareus
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
Paul Davis
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
Paul Davis
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
Robin Gareus
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
Robin Gareus
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
Robin Gareus
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
Paul Davis
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
Robin Gareus
0b51d760ad
cleaner version of feed9648 -- fixes #7067
2016-10-11 22:57:38 +02:00
Robin Gareus
6c933c7789
Revert "Allow loading sessions with missing external files #7067 "
...
This reverts commit feed9648e1 .
2016-10-11 22:54:21 +02:00
Robin Gareus
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
Robin Gareus
c60b4ff4cb
add missing symbol for windows compile
2016-10-11 19:55:35 +02:00
Robin Gareus
78fef4a253
cater for Note translations. e.g. "Ré ♯" UTF-8
2016-10-11 14:09:54 +02:00
Robin Gareus
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
Robin Gareus
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
Robin Gareus
99e9382cdb
Unit-tests to check Lua session+DSP scripts
2016-10-11 00:00:52 +02:00
Robin Gareus
2eb58913e8
add const'ness (allowing LuaScriptList::const_iterator)
2016-10-10 23:49:19 +02:00
Robin Gareus
0517e186c7
Add Lua-bindings for inter-processor communication
2016-10-10 17:34:18 +02:00
Robin Gareus
b9791aa63c
Forward "owner" from Processor to Plugin
2016-10-10 17:34:18 +02:00
Robin Gareus
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
John Emmas
8d710a5f8a
Wrong iterator used with IDSortedList
2016-10-10 14:10:39 +01:00
Robin Gareus
de24d3fddf
add missing #include
2016-10-10 14:37:03 +02:00
Robin Gareus
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
Tim Mayberry
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