diff options
-rw-r--r-- | libs/ardour/ardour/source.h | 2 | ||||
-rw-r--r-- | libs/ardour/source.cc | 6 |
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(); +} |