235c1f9adb
infrastructure for save/restore of MIDI port user-provided information
2016-10-20 16:34:52 -04:00
12c558f62e
tweak logic for MIDI input follows selection
2016-10-20 16:34:52 -04:00
8ac97d55c9
slight improvements in logic for midi-input-follows-selection
2016-10-19 23:17:39 -04:00
72c8ab0103
add PortManager::disconnect (std::string const&)
2016-10-19 23:17:08 -04:00
f96b698234
infrastructure for MIDI-input-follows-selection
2016-10-19 17:49:35 -04:00
0a8ab08e5f
basics of following MIDI track selection and rewiring input
2016-10-19 17:49:35 -04:00
d0b2767856
NOOP: whitespacing tweak
2016-10-19 17:49:35 -04:00
8c911234e6
basics of managing a list of port names for MIDI-input-follows-selection
2016-10-19 17:49:35 -04:00
1cc561bf74
Use official LV2 state:StateChanged URI
...
http://lv2plug.in/git/cgit.cgi/lv2.git/commit/?id=dbb18d82136d43eec435e321bffa835ba5776d6e
2016-10-19 19:45:53 +02:00
56711b99c9
Work around OSX MIDI devices that send no timestamps
2016-10-19 19:45:53 +02:00
d29d93f4cd
fix retrieval of port properties (metadata) when the value has no type
2016-10-18 16:46:33 -04:00
nick_m
715b178130
Improve bbt ruler drawing performance for large time ranges.
...
- when the timeline displays many bars, zoom/autoscroll
speed is improved by calculating the bbt ruler scale first
then requesting a suitably scaled grid.
2016-10-19 03:56:43 +11:00
208cb967e5
Warn about skipped MIDI events
...
This can occur when the MIDI readahead time is too low and events get
pushed into the MidiRingBuffer after the corresponding read. In this
case, skip_to() gets called (as it does before every read) and the
events are silently dropped.
This is a Very Bad Thing(TM), so warn about it. I am not sure which
other scenarios can skip events that aren't problematic, but there's
probably some. A more sophisticated detection/reporting (or maybe even
dynamic reconfiguration) scheme would be nice here, but some false
positive messages are at least better than silently failing to play
notes and the like.
2016-10-17 20:22:26 -04:00
94f8b7b8f2
Clean up MIDI debugging output
2016-10-17 20:22:26 -04:00
69cbcb84a6
spelling corrections from Jaromír Mikeš <mira.mikes@seznam.cz>
...
Corresponds to https://anonscm.debian.org/cgit/pkg-multimedia/ardour.git/tree/debian/patches/0070-spelling.patch
2016-10-17 17:57:39 -04:00
c43046320b
reset peak meters used in push2 when stripable goes away
2016-10-17 15:58:39 -04:00
687ac2d294
remove unused variable
2016-10-17 15:58:39 -04:00
Nathan Stewart
84c66c75db
Initialize uninitialized member variables in ctor - warning suppression
2016-10-17 15:58:39 -04:00
3e32a00a52
fast region export -- don't call process()
2016-10-17 21:35:00 +02:00
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