X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Faudio_buffers.h;h=bcf5d5928ee1330758573cf4d8a7417f46d76e56;hb=e60bb3e51bd1508b149e6b8f6608f09b5196ae26;hp=51488c39a45dff7e83445f2ede7d0dbce5b1a2a5;hpb=308488324dbc4d8b709d3fb1dc9fee0479346c21;p=dcpomatic.git diff --git a/src/lib/audio_buffers.h b/src/lib/audio_buffers.h index 51488c39a..bcf5d5928 100644 --- a/src/lib/audio_buffers.h +++ b/src/lib/audio_buffers.h @@ -39,12 +39,15 @@ public: AudioBuffers & operator= (AudioBuffers const &); + boost::shared_ptr clone () const; + boost::shared_ptr channel (int) const; + void ensure_size (int); float** data () const { return _data; } - + float* data (int) const; int channels () const { @@ -64,6 +67,7 @@ public: void apply_gain (float); void copy_from (AudioBuffers const * from, int frames_to_copy, int read_offset, int write_offset); + void copy_channel_from (AudioBuffers const * from, int from_channel, int to_channel); void move (int from, int to, int frames); void accumulate_channel (AudioBuffers const * from, int from_channel, int to_channel, float gain = 1); void accumulate_frames (AudioBuffers const *, int read_offset, int write_offset, int frames); @@ -71,7 +75,7 @@ public: private: void allocate (int, int); void deallocate (); - + /** Number of channels */ int _channels; /** Number of frames (where a frame is one sample across all channels) */