diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2014-07-08 00:53:06 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2014-07-08 00:53:13 -0400 |
commit | fcabd5d8ee172e9d27423864448902ad99634ac5 (patch) | |
tree | 5c20f5dd6cc3c285bd4eb5f849796b95665f0243 /libs/ardour/ardour | |
parent | d3e3f5f0058f45825b46abf731ece39fc416efa0 (diff) |
initial implementation of "bring all media into session folder". Incomplete but basically functional for audio files
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r-- | libs/ardour/ardour/file_source.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/session.h | 6 | ||||
-rw-r--r-- | libs/ardour/ardour/sndfilesource.h | 2 |
3 files changed, 10 insertions, 0 deletions
diff --git a/libs/ardour/ardour/file_source.h b/libs/ardour/ardour/file_source.h index 8b8adfeb66..8cbbfed0d9 100644 --- a/libs/ardour/ardour/file_source.h +++ b/libs/ardour/ardour/file_source.h @@ -89,6 +89,8 @@ public: */ int rename (const std::string& name); + virtual void release_descriptor () {} + protected: FileSource (Session& session, DataType type, const std::string& path, diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index 430c0d7a8c..53215af2b6 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -196,11 +196,16 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop std::string peak_path (std::string) const; std::string peak_path_from_audio_path (std::string) const; + bool audio_source_name_is_unique (const std::string& name, uint32_t chan); + std::string format_audio_source_name (const std::string& legalized_base, uint32_t nchan, uint32_t chan, bool destructive, bool take_required, uint32_t cnt, bool related_exists); + std::string new_audio_source_path_for_embedded (const std::string& existing_path); std::string new_audio_source_path (const std::string&, uint32_t nchans, uint32_t chan, bool destructive, bool take_required); std::string new_midi_source_path (const std::string&); RouteList new_route_from_template (uint32_t how_many, const std::string& template_path, const std::string& name); std::vector<std::string> get_paths_for_new_sources (bool allow_replacing, const std::string& import_file_path, uint32_t channels); + int bring_all_sources_into_session (boost::function<void(uint32_t,uint32_t,std::string)> callback); + void process (pframes_t nframes); BufferSet& get_silent_buffers (ChanCount count = ChanCount::ZERO); @@ -863,6 +868,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop std::vector<std::string> source_search_path(DataType) const; void ensure_search_path_includes (const std::string& path, DataType type); + void remove_dir_from_search_path (const std::string& path, DataType type); std::list<std::string> unknown_processors () const; diff --git a/libs/ardour/ardour/sndfilesource.h b/libs/ardour/ardour/sndfilesource.h index 831f8db5f7..99fb9f4d09 100644 --- a/libs/ardour/ardour/sndfilesource.h +++ b/libs/ardour/ardour/sndfilesource.h @@ -75,6 +75,8 @@ class LIBARDOUR_API SndFileSource : public AudioFileSource { static int get_soundfile_info (const std::string& path, SoundFileInfo& _info, std::string& error_msg); + void release_descriptor (); + protected: void set_path (const std::string& p); void set_header_timeline_position (); |