X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fsmf_source.h;h=84c45f9b3cf342be199c2e552c58daa74c715f12;hb=0622a0cc3068a06d328119e90b7d9c5f5a84df32;hp=82e6252b4507748e6b4da3e58536ec8dd05b64b1;hpb=36c233fe6ce570ce85224626ce7aba4a2607537f;p=ardour.git diff --git a/libs/ardour/ardour/smf_source.h b/libs/ardour/ardour/smf_source.h index 82e6252b45..84c45f9b3c 100644 --- a/libs/ardour/ardour/smf_source.h +++ b/libs/ardour/ardour/smf_source.h @@ -36,9 +36,11 @@ template class MidiRingBuffer; /** Standard Midi File (Type 0) Source */ class LIBARDOUR_API SMFSource : public MidiSource, public FileSource, public Evoral::SMF { public: + /** Constructor for new internal-to-session files */ + SMFSource (Session& session, const std::string& path, Source::Flag flags); + /** Constructor for existing external-to-session files */ - SMFSource (Session& session, const std::string& path, - Source::Flag flags = Source::Flag(0)); + SMFSource (Session& session, const std::string& path); /** Constructor for existing in-session files */ SMFSource (Session& session, const XMLNode&, bool must_exist = false); @@ -49,8 +51,6 @@ public: return safe_midi_file_extension(path); } - bool set_name (const std::string& newname) { return (set_source_name(newname, false) == 0); } - void append_event_unlocked_beats (const Evoral::Event& ev); void append_event_unlocked_frames (const Evoral::Event& ev, framepos_t source_start); @@ -68,6 +68,9 @@ public: void ensure_disk_file (); static bool safe_midi_file_extension (const std::string& path); + static bool valid_midi_file (const std::string& path); + + void prevent_deletion (); protected: void set_path (const std::string& newpath);