kwave
18.07.70
|
#include <MultiPlaybackSink.h>
Public Member Functions | |
MultiPlaybackSink (unsigned int tracks, Kwave::PlayBackDevice *device) | |
virtual | ~MultiPlaybackSink () |
![]() | |
MultiTrackSink (unsigned int tracks, QObject *parent=Q_NULLPTR) | |
virtual | ~MultiTrackSink () Q_DECL_OVERRIDE |
virtual bool | done () const Q_DECL_OVERRIDE |
virtual unsigned int | tracks () const Q_DECL_OVERRIDE |
virtual Kwave::PlaybackSink * | at (unsigned int track) const |
virtual Kwave::PlaybackSink * | operator[] (unsigned int track) Q_DECL_OVERRIDE |
virtual bool | insert (unsigned int track, Kwave::PlaybackSink *sink) |
virtual void | clear () |
![]() | |
SampleSink (QObject *parent=Q_NULLPTR) | |
virtual | ~SampleSink () |
![]() | |
StreamObject (QObject *parent=Q_NULLPTR) | |
virtual | ~StreamObject () |
virtual unsigned int | tracksOfPort (const char *port) const |
virtual Kwave::StreamObject * | port (const char *port, unsigned int track) |
virtual unsigned int | blockSize () const |
void | setAttribute (const char *attribute, const QVariant &value) |
Private Slots | |
void | input (unsigned int track, Kwave::SampleArray data) |
Private Attributes | |
unsigned int | m_tracks |
Kwave::PlayBackDevice * | m_device |
QVector< Kwave::SampleArray > | m_in_buffer |
QBitArray | m_in_buffer_filled |
Kwave::SampleArray | m_out_buffer |
QMutex | m_lock |
Additional Inherited Members | |
![]() | |
void | attributeChanged (const QVariant value) |
![]() | |
static void | setInteractive (bool interactive) |
Definition at line 36 of file MultiPlaybackSink.h.
Kwave::MultiPlaybackSink::MultiPlaybackSink | ( | unsigned int | tracks, |
Kwave::PlayBackDevice * | device | ||
) |
Constructor
tracks | number of tracks for playback |
device | a PlayBackDevice |
Definition at line 31 of file MultiPlaybackSink.cpp.
References Kwave::connect(), input(), Kwave::MultiTrackSink< Kwave::PlaybackSink, false >::insert(), m_in_buffer, m_in_buffer_filled, and m_tracks.
|
virtual |
Destructor
Definition at line 53 of file MultiPlaybackSink.cpp.
References Kwave::MultiTrackSink< Kwave::PlaybackSink, false >::clear(), Kwave::PlayBackDevice::close(), m_device, and m_in_buffer.
|
privateslot |
receives data from one of the tracks
track | index of the track [0...tracks-1] |
data | sample data for the given track |
Definition at line 72 of file MultiPlaybackSink.cpp.
References m_device, m_in_buffer, m_in_buffer_filled, m_lock, m_out_buffer, m_tracks, Kwave::SampleArray::size(), and Kwave::PlayBackDevice::write().
Referenced by MultiPlaybackSink().
|
private |
device used for playback
Definition at line 66 of file MultiPlaybackSink.h.
Referenced by input(), and ~MultiPlaybackSink().
|
private |
list of input buffers
Definition at line 69 of file MultiPlaybackSink.h.
Referenced by input(), MultiPlaybackSink(), and ~MultiPlaybackSink().
|
private |
"filled"-flags for input buffers
Definition at line 72 of file MultiPlaybackSink.h.
Referenced by input(), and MultiPlaybackSink().
|
private |
mutex for locking against reentrance
Definition at line 78 of file MultiPlaybackSink.h.
Referenced by input().
|
private |
output buffer for all samples
Definition at line 75 of file MultiPlaybackSink.h.
Referenced by input().
|
private |
number of tracks
Definition at line 63 of file MultiPlaybackSink.h.
Referenced by input(), and MultiPlaybackSink().