projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add a convenient lua forward mapped buffers method
[ardour.git]
/
libs
/
ardour
/
ardour
/
source.h
diff --git
a/libs/ardour/ardour/source.h
b/libs/ardour/ardour/source.h
index 78b3cfaa2110f369f80fc2b336fe996e55f7e30a..eb204715a1fefb7a349a4bd1e3a11cbd082fadc6 100644
(file)
--- a/
libs/ardour/ardour/source.h
+++ b/
libs/ardour/ardour/source.h
@@
-47,9
+47,13
@@
class LIBARDOUR_API Source : public SessionObject
RemovableIfEmpty = 0x10,
RemoveAtDestroy = 0x20,
NoPeakFile = 0x40,
RemovableIfEmpty = 0x10,
RemoveAtDestroy = 0x20,
NoPeakFile = 0x40,
- Destructive = 0x80
+ Destructive = 0x80,
+ Empty = 0x100, /* used for MIDI only */
+ RF64_RIFF = 0x200,
};
};
+ typedef Glib::Threads::Mutex::Lock Lock;
+
Source (Session&, DataType type, const std::string& name, Flag flags=Flag(0));
Source (Session&, const XMLNode&);
Source (Session&, DataType type, const std::string& name, Flag flags=Flag(0));
Source (Session&, const XMLNode&);
@@
-68,8
+72,8
@@
class LIBARDOUR_API Source : public SessionObject
void mark_for_remove();
void mark_for_remove();
- virtual void mark_streaming_write_started () {}
- virtual void mark_streaming_write_completed () = 0;
+ virtual void mark_streaming_write_started (
const Lock& lock
) {}
+ virtual void mark_streaming_write_completed (
const Lock& lock
) = 0;
virtual void session_saved() {}
virtual void session_saved() {}
@@
-108,6
+112,9
@@
class LIBARDOUR_API Source : public SessionObject
bool used() const { return use_count() > 0; }
uint32_t level() const { return _level; }
bool used() const { return use_count() > 0; }
uint32_t level() const { return _level; }
+ std::string ancestor_name() { return _ancestor_name.empty() ? name() : _ancestor_name; }
+ void set_ancestor_name(const std::string& name) { _ancestor_name = name; }
+
protected:
DataType _type;
Flag _flags;
protected:
DataType _type;
Flag _flags;
@@
-118,6
+125,7
@@
class LIBARDOUR_API Source : public SessionObject
mutable Glib::Threads::Mutex _analysis_lock;
gint _use_count; /* atomic */
uint32_t _level; /* how deeply nested is this source w.r.t a disk file */
mutable Glib::Threads::Mutex _analysis_lock;
gint _use_count; /* atomic */
uint32_t _level; /* how deeply nested is this source w.r.t a disk file */
+ std::string _ancestor_name;
private:
void fix_writable_flags ();
private:
void fix_writable_flags ();