summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/smf_source.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-08-11 06:17:42 +0000
committerDavid Robillard <d@drobilla.net>2007-08-11 06:17:42 +0000
commit5156998e6e2536c9c713974d3ae719a5d2ef5c7f (patch)
tree6223846321fe3f611b952b2c2e77c349d0b7072f /libs/ardour/ardour/smf_source.h
parent861181d7421012486e36327c464b957ec08e396b (diff)
Saving of edited MIDI data to disk (on session save).
Seems to be a pretty random problem with note duration restoring though... git-svn-id: svn://localhost/ardour2/trunk@2290 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/smf_source.h')
-rw-r--r--libs/ardour/ardour/smf_source.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/libs/ardour/ardour/smf_source.h b/libs/ardour/ardour/smf_source.h
index fde91ed946..c852266e9c 100644
--- a/libs/ardour/ardour/smf_source.h
+++ b/libs/ardour/ardour/smf_source.h
@@ -57,9 +57,9 @@ class SMFSource : public MidiSource {
// FIXME and thus are useless for MIDI.. but make MidiDiskstream compile easier! :)
virtual nframes_t last_capture_start_frame() const { return 0; }
- virtual void mark_capture_start (nframes_t) {}
- virtual void mark_capture_end () {}
- virtual void clear_capture_marks() {}
+ virtual void mark_capture_start (nframes_t) {}
+ virtual void mark_capture_end () {}
+ virtual void clear_capture_marks() {}
bool set_name (const std::string& newname) { return (set_source_name(newname, false) == 0); }
int set_source_name (string newname, bool destructive);
@@ -69,9 +69,12 @@ class SMFSource : public MidiSource {
void set_allow_remove_if_empty (bool yn);
void mark_for_remove();
- int update_header (nframes_t when, struct tm&, time_t);
+ void append_event_unlocked(const MidiEvent& ev);
+
int flush_header ();
int flush_footer ();
+
+ void flush() { flush_header(); flush_footer(); }
int move_to_trash (const string trash_dir_name);
@@ -120,7 +123,6 @@ class SMFSource : public MidiSource {
Flag _flags;
string _take_id;
bool _allow_remove_if_empty;
- uint64_t _timeline_position;
FILE* _fd;
double _last_ev_time; // last frame time written, relative to source start
uint32_t _track_size;