summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/smf_source.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-05-31 21:37:20 +0000
committerDavid Robillard <d@drobilla.net>2007-05-31 21:37:20 +0000
commit0f2f4d8efc7f3e1144c6f51fd17c1ab309056c3e (patch)
tree5f3b9c752aafcd9874ae55197d678d4b17bbc442 /libs/ardour/ardour/smf_source.h
parent52a8242a1158426caeed4757bbc3f7f71091e351 (diff)
Rewrote MidiRingBuffer to more efficiently pack data (flat pack stamps, sizes, and event data into a single buffer).
Eliminate a double-copy on MIDI playback (MidiRingBuffer -> MidiBuffer). Various MIDI diskstream/source/SMF fixes (only write when appropriate, handle transport locates, etc). Fix MIDI rec region size/offset problems. Code cleanups. git-svn-id: svn://localhost/ardour2/trunk@1934 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/smf_source.h')
-rw-r--r--libs/ardour/ardour/smf_source.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/libs/ardour/ardour/smf_source.h b/libs/ardour/ardour/smf_source.h
index d422a8af9e..6ab81a2ac3 100644
--- a/libs/ardour/ardour/smf_source.h
+++ b/libs/ardour/ardour/smf_source.h
@@ -86,6 +86,8 @@ class SMFSource : public MidiSource {
XMLNode& get_state ();
int set_state (const XMLNode&);
+ void seek_to(nframes_t time);
+
private:
int init (string idstr, bool must_exist);
@@ -96,9 +98,9 @@ class SMFSource : public MidiSource {
bool find (std::string path, bool must_exist, bool& is_new);
bool removable() const;
bool writable() const { return _flags & Writable; }
-
+
int open();
-
+
void write_chunk_header(char id[4], uint32_t length);
void write_chunk(char id[4], uint32_t length, void* data);
size_t write_var_len(uint32_t val);