summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/smf_source.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2009-02-19 04:12:54 +0000
committerDavid Robillard <d@drobilla.net>2009-02-19 04:12:54 +0000
commit0f71728a925eb8f16c14c74f0dae9fdd53406a20 (patch)
tree01e056fde9fdcbe90c9bccdc03dce57b4bc043f9 /libs/ardour/ardour/smf_source.h
parent8f572c3d3f79a86e6b86ccb71f9bee772e6fe738 (diff)
Interpret tempo time based on read position (not source timeline position which is more or less meaningless).
Move time conversion into the region view rather than the source. Adapt MIDI (including controllers) regions to the destination tempo when moved (e.g. dragging a region to a location with half the tempo will make the notes twice as long). git-svn-id: svn://localhost/ardour2/branches/3.0@4635 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, 6 insertions, 6 deletions
diff --git a/libs/ardour/ardour/smf_source.h b/libs/ardour/ardour/smf_source.h
index 259328c5fa..7942a118af 100644
--- a/libs/ardour/ardour/smf_source.h
+++ b/libs/ardour/ardour/smf_source.h
@@ -52,7 +52,7 @@ public:
bool set_name (const std::string& newname) { return (set_source_name(newname, false) == 0); }
void append_event_unlocked_beats (const Evoral::Event<double>& ev);
- void append_event_unlocked_frames (const Evoral::Event<nframes_t>& ev);
+ void append_event_unlocked_frames (const Evoral::Event<nframes_t>& ev, nframes_t position);
void mark_streaming_midi_write_started (NoteMode mode, nframes_t start_time);
void mark_streaming_write_completed ();
@@ -70,15 +70,15 @@ public:
static bool safe_midi_file_extension (const Glib::ustring& path);
private:
- nframes_t read_unlocked (
- MidiRingBuffer<nframes_t>& dst,
+ nframes_t read_unlocked (MidiRingBuffer<nframes_t>& dst,
+ nframes_t position,
nframes_t start,
- nframes_t cn,
+ nframes_t cnt,
nframes_t stamp_offset,
nframes_t negative_stamp_offset) const;
- nframes_t write_unlocked (
- MidiRingBuffer<nframes_t>& src,
+ nframes_t write_unlocked (MidiRingBuffer<nframes_t>& src,
+ nframes_t position,
nframes_t cnt);
void set_default_controls_interpolation ();