projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
set + store signal chain latency for all processors; DiskWriter sets its capture_offs...
[ardour.git]
/
libs
/
ardour
/
ardour
/
source.h
diff --git
a/libs/ardour/ardour/source.h
b/libs/ardour/ardour/source.h
index afb6430242b7404ce33755d388c0fd4da75dff77..275fe7c11aa80b0c8911160c8e5eb6e085bf96f8 100644
(file)
--- a/
libs/ardour/ardour/source.h
+++ b/
libs/ardour/ardour/source.h
@@
-49,8
+49,11
@@
class LIBARDOUR_API Source : public SessionObject
NoPeakFile = 0x40,
Destructive = 0x80,
Empty = 0x100, /* used for MIDI only */
NoPeakFile = 0x40,
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&);
@@
-69,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() {}
@@
-79,7
+82,7
@@
class LIBARDOUR_API Source : public SessionObject
bool destructive() const { return (_flags & Destructive); }
bool writable () const;
bool destructive() const { return (_flags & Destructive); }
bool writable () const;
- virtual bool set_destructive (bool /*yn*/) { return false; }
+
virtual bool length_mutable() const { return false; }
static PBD::Signal1<void,Source*> SourceCreated;
virtual bool length_mutable() const { return false; }
static PBD::Signal1<void,Source*> SourceCreated;
@@
-109,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;
@@
-119,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 ();