+ int update_header (nframes_t when, struct tm&, time_t);
+ int flush_header ();
+
+ nframes_t natural_position () const;
+
+ nframes_t last_capture_start_frame() const;
+ void mark_capture_start (nframes_t);
+ void mark_capture_end ();
+ void clear_capture_marks();
+
+ bool set_destructive (bool yn);
+
+ bool one_of_several_channels () const;
+
+ static void setup_standard_crossfades (nframes_t sample_rate);
+ static const AudioFileSource::Flag default_writable_flags;
+
+ static int get_soundfile_info (const Glib::ustring& path, SoundFileInfo& _info, string& error_msg);
+
+ protected:
+ void set_header_timeline_position ();
+
+ nframes_t read_unlocked (Sample *dst, nframes_t start, nframes_t cnt) const;
+ nframes_t write_unlocked (Sample *dst, nframes_t cnt);
+
+ nframes_t write_float (Sample* data, nframes_t pos, nframes_t cnt);