summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-03-02 17:05:16 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-03-02 17:05:16 +0000
commit5e431d1d5806e8f617b9bfa10c5c8766e0b1a4ce (patch)
tree2561e389524a2348eb2c0f8f9ed6462c3220a593 /libs/ardour/ardour
parent488d54a341b2d4f6bb23f8801d293356f664a96a (diff)
remove entire "stub" file concept; open new audio and MIDI files on demand (at first write); could be a few gotchas with some corner case scenarios, but apparently works OK
git-svn-id: svn://localhost/ardour2/branches/3.0@9038 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r--libs/ardour/ardour/directory_names.h1
-rw-r--r--libs/ardour/ardour/file_source.h9
-rw-r--r--libs/ardour/ardour/midi_source.h2
-rw-r--r--libs/ardour/ardour/session.h7
-rw-r--r--libs/ardour/ardour/session_directory.h18
-rw-r--r--libs/ardour/ardour/smf_source.h4
6 files changed, 9 insertions, 32 deletions
diff --git a/libs/ardour/ardour/directory_names.h b/libs/ardour/ardour/directory_names.h
index 0d330cd5a5..db87d347aa 100644
--- a/libs/ardour/ardour/directory_names.h
+++ b/libs/ardour/ardour/directory_names.h
@@ -19,7 +19,6 @@ extern const char* const templates_dir_name;
extern const char* const route_templates_dir_name;
extern const char* const surfaces_dir_name;
extern const char* const user_config_dir_name;
-extern const char* const stub_dir_name;
extern const char* const panner_dir_name;
};
diff --git a/libs/ardour/ardour/file_source.h b/libs/ardour/ardour/file_source.h
index 23b8b8f8c8..01fa6adb74 100644
--- a/libs/ardour/ardour/file_source.h
+++ b/libs/ardour/ardour/file_source.h
@@ -48,12 +48,6 @@ public:
const std::string& path() const { return _path; }
- int unstubify ();
- void stubify ();
- bool is_stub () const;
-
- static bool is_stub_path (const std::string& path);
-
virtual bool safe_file_extension (const std::string& path) const = 0;
int move_to_trash (const std::string& trash_dir_name);
@@ -104,7 +98,8 @@ protected:
uint16_t _channel;
bool _within_session;
std::string _origin;
-
+ bool _open;
+
void prevent_deletion ();
};
diff --git a/libs/ardour/ardour/midi_source.h b/libs/ardour/ardour/midi_source.h
index 4cfba10930..a1738a2aa9 100644
--- a/libs/ardour/ardour/midi_source.h
+++ b/libs/ardour/ardour/midi_source.h
@@ -78,7 +78,7 @@ class MidiSource : virtual public Source, public boost::enable_shared_from_this<
virtual framecnt_t length (framepos_t pos) const;
virtual void update_length (framepos_t pos, framecnt_t cnt);
- virtual void mark_streaming_midi_write_started (NoteMode mode, framepos_t start_time);
+ virtual void mark_streaming_midi_write_started (NoteMode mode);
virtual void mark_streaming_write_started ();
virtual void mark_streaming_write_completed ();
void mark_write_starting_now ();
diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h
index bf3df2f0a8..c7a72a4e63 100644
--- a/libs/ardour/ardour/session.h
+++ b/libs/ardour/ardour/session.h
@@ -187,7 +187,7 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
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 as_stub = false);
+ std::string new_source_path_from_name (DataType type, const std::string&);
RouteList new_route_from_template (uint32_t how_many, const std::string& template_path);
void process (pframes_t nframes);
@@ -543,10 +543,10 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
static PBD::Signal0<int> AskAboutPendingState;
boost::shared_ptr<AudioFileSource> create_audio_source_for_session (
- size_t, std::string const &, uint32_t, bool destructive, bool as_stub = false);
+ size_t, std::string const &, uint32_t, bool destructive);
boost::shared_ptr<MidiSource> create_midi_source_for_session (
- Track*, std::string const &, bool as_stub = false);
+ Track*, std::string const &);
boost::shared_ptr<Source> source_by_id (const PBD::ID&);
boost::shared_ptr<Source> source_by_path_and_channel (const std::string&, uint16_t);
@@ -1472,7 +1472,6 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
void add_session_range_location (framepos_t, framepos_t);
void setup_midi_machine_control ();
- void cleanup_stubfiles ();
void route_order_key_changed ();
diff --git a/libs/ardour/ardour/session_directory.h b/libs/ardour/ardour/session_directory.h
index b7de1c8f0f..49ef879ea1 100644
--- a/libs/ardour/ardour/session_directory.h
+++ b/libs/ardour/ardour/session_directory.h
@@ -53,17 +53,6 @@ public:
/**
* @return the absolute path to the directory in which
- * the session stores STUB audio files.
- *
- * If the session is an older session with an existing
- * "sounds" directory then it will return a path to that
- * directory otherwise it will return the new location
- * of root_path()/interchange/session_name/audiofiles/.stubs
- */
- const PBD::sys::path sound_stub_path () const;
-
- /**
- * @return the absolute path to the directory in which
* the session stores MIDI files, ie
* root_path()/interchange/session_name/midifiles
*/
@@ -71,13 +60,6 @@ public:
/**
* @return the absolute path to the directory in which
- * the session stores STUB MIDI files, ie
- * root_path()/interchange/session_name/midifiles/.stubs
- */
- const PBD::sys::path midi_stub_path () const;
-
- /**
- * @return the absolute path to the directory in which
* the session stores MIDNAM patch files, ie
* root_path()/interchange/session_name/patchfiles
*/
diff --git a/libs/ardour/ardour/smf_source.h b/libs/ardour/ardour/smf_source.h
index 32163551a0..b0186d690d 100644
--- a/libs/ardour/ardour/smf_source.h
+++ b/libs/ardour/ardour/smf_source.h
@@ -54,7 +54,7 @@ public:
void append_event_unlocked_beats (const Evoral::Event<Evoral::MusicalTime>& ev);
void append_event_unlocked_frames (const Evoral::Event<framepos_t>& ev, framepos_t source_start);
- void mark_streaming_midi_write_started (NoteMode mode, framepos_t start_time);
+ void mark_streaming_midi_write_started (NoteMode mode);
void mark_streaming_write_completed ();
XMLNode& get_state ();
@@ -73,6 +73,8 @@ public:
void set_path (const std::string& newpath);
private:
+ int open_for_write ();
+
framecnt_t read_unlocked (Evoral::EventSink<framepos_t>& dst,
framepos_t position,
framepos_t start,