-/** All stamps in audio frames */
-framecnt_t
-SMFSource::read_unlocked (Evoral::EventSink<framepos_t>& destination,
- framepos_t const source_start,
- framepos_t start,
- framecnt_t duration,
- MidiStateTracker* tracker) const
+void
+SMFSource::close ()
+{
+ /* nothing to do: file descriptor is never kept open */
+}
+
+/** All stamps in audio samples */
+samplecnt_t
+SMFSource::read_unlocked (const Lock& lock,
+ Evoral::EventSink<samplepos_t>& destination,
+ samplepos_t const source_start,
+ samplepos_t start,
+ samplecnt_t duration,
+ Evoral::Range<samplepos_t>* loop_range,
+ MidiStateTracker* tracker,
+ MidiChannelFilter* filter) const