X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fsession.h;h=e327a9c1134fddd4a1875e84b9d40c97e8dde116;hb=c4a7d25b34aec71ab7d594af50f7b522518e0221;hp=a7ca2d00eec719a0384869e7ae9cfc504749e18e;hpb=8df35b35ba8cbc7e662f867e47325e2af5cf9262;p=ardour.git diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index a7ca2d00ee..e327a9c113 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -196,10 +196,15 @@ 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; - std::string new_audio_source_name (const std::string&, uint32_t nchans, uint32_t chan, bool destructive); - std::string new_midi_source_name (const std::string&); - std::string new_source_path_from_name (DataType type, const std::string&); + 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); @@ -225,8 +230,8 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop return routes.reader (); } + boost::shared_ptr get_tracks() const; boost::shared_ptr get_routes_with_internal_returns() const; - boost::shared_ptr get_routes_with_regions_at (framepos_t const) const; uint32_t nroutes() const { return routes.reader()->size(); } @@ -500,8 +505,10 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop /* Time */ framepos_t transport_frame () const {return _transport_frame; } + framepos_t record_location () const {return _last_record_location; } framepos_t audible_frame () const; framepos_t requested_return_frame() const { return _requested_return_frame; } + void set_requested_return_frame(framepos_t return_to); enum PullupFormat { pullup_Plus4Plus1, @@ -549,8 +556,6 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop boost::shared_ptr find_whole_file_parent (boost::shared_ptr) const; - std::string path_from_region_name (DataType type, std::string name, std::string identifier); - boost::shared_ptr XMLRegionFactory (const XMLNode&, bool full); boost::shared_ptr XMLAudioRegionFactory (const XMLNode&, bool full); boost::shared_ptr XMLMidiRegionFactory (const XMLNode&, bool full); @@ -765,6 +770,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop /* ranges */ void request_play_range (std::list*, bool leave_rolling = false); + void request_cancel_play_range (); bool get_play_range () const { return _play_range; } void maybe_update_session_range (framepos_t, framepos_t); @@ -863,6 +869,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; @@ -1120,8 +1127,8 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop friend class StateProtector; gint _suspend_save; /* atomic */ volatile bool _save_queued; + Glib::Threads::Mutex save_state_lock; - void auto_save(); int load_options (const XMLNode&); int load_state (std::string snapshot_name); @@ -1485,7 +1492,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop bool no_questions_about_missing_files; - std::string get_best_session_directory_for_new_source (); + std::string get_best_session_directory_for_new_audio (); mutable gint _playback_load; mutable gint _capture_load;