summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/ardour/source.h2
-rw-r--r--libs/ardour/source.cc6
2 files changed, 7 insertions, 1 deletions
diff --git a/libs/ardour/ardour/source.h b/libs/ardour/ardour/source.h
index 64dd88d094..3df5929a6d 100644
--- a/libs/ardour/ardour/source.h
+++ b/libs/ardour/ardour/source.h
@@ -79,7 +79,7 @@ class Source : public SessionObject
int set_state (const XMLNode&, int version);
bool destructive() const { return (_flags & Destructive); }
- bool writable () const { return (_flags & Writable); }
+ bool writable () const;
virtual bool set_destructive (bool /*yn*/) { return false; }
virtual bool length_mutable() const { return false; }
diff --git a/libs/ardour/source.cc b/libs/ardour/source.cc
index c299588f3c..409f3e1cdb 100644
--- a/libs/ardour/source.cc
+++ b/libs/ardour/source.cc
@@ -302,3 +302,9 @@ Source::dec_use_count ()
g_atomic_int_exchange_and_add (&_use_count, -1);
#endif
}
+
+bool
+Source::writable () const
+{
+ return (_flags & Writable) && _session.writable();
+}