From fcabd5d8ee172e9d27423864448902ad99634ac5 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 8 Jul 2014 00:53:06 -0400 Subject: initial implementation of "bring all media into session folder". Incomplete but basically functional for audio files --- libs/ardour/ardour/file_source.h | 2 ++ libs/ardour/ardour/session.h | 6 ++++++ libs/ardour/ardour/sndfilesource.h | 2 ++ 3 files changed, 10 insertions(+) (limited to 'libs/ardour/ardour') 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 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 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 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 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 (); -- cgit v1.2.3