summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;
}