summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-08-10 20:21:18 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-08-10 20:21:18 +0000
commit98934548a2a5a1476e8b48cd7544d45119d21167 (patch)
tree5d0b5893606bf36226a74cbbe9f6220c03645f89
parent0a07cca64c5699faca7bd8984718f5b90c513513 (diff)
don't use MIDI tracks when adding internal sends to auxes; no varispeed when recording and the corollary - no recording when varispeeding
git-svn-id: svn://localhost/ardour2/branches/3.0@9974 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--libs/ardour/session.cc7
-rw-r--r--libs/ardour/session_transport.cc4
2 files changed, 6 insertions, 5 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index e735eca8e7..e2a69d1a08 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -985,8 +985,8 @@ Session::handle_locations_changed (Locations::LocationList& locations)
void
Session::enable_record ()
{
- if (_transport_speed < 0.0) {
- /* no recording in reverse */
+ if (_transport_speed != 0.0 || _transport_speed != 1.0) {
+ /* no recording at anything except normal speed */
return;
}
@@ -2113,7 +2113,8 @@ Session::globally_add_internal_sends (boost::shared_ptr<Route> dest, Placement p
boost::shared_ptr<RouteList> t (new RouteList);
for (RouteList::iterator i = r->begin(); i != r->end(); ++i) {
- if (include_buses || boost::dynamic_pointer_cast<Track>(*i)) {
+ /* no MIDI sends because there are no MIDI busses yet */
+ if (include_buses || boost::dynamic_pointer_cast<AudioTrack>(*i)) {
t->push_back (*i);
}
}
diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc
index ca6b4da319..8c1bc6ff90 100644
--- a/libs/ardour/session_transport.cc
+++ b/libs/ardour/session_transport.cc
@@ -958,8 +958,8 @@ Session::set_transport_speed (double speed, bool abort, bool clear_state)
return;
}
- if (actively_recording() && speed < 0.0) {
- /* no reverse during recording */
+ if (actively_recording() && speed != 1.0 && speed != 0.0) {
+ /* no varispeed during recording */
return;
}