22 #include <QMutexLocker> 34 m_tracks(tracks), m_device(device), m_in_buffer(tracks),
35 m_in_buffer_filled(tracks),
36 m_out_buffer(tracks), m_lock()
41 for (
unsigned int track = 0; track <
m_tracks; track++) {
48 Qt::DirectConnection);
75 QMutexLocker lock(&
m_lock);
85 unsigned int samples = data.
size();
89 for (
unsigned int t = 0; t <
m_tracks; t++)
95 for (
unsigned int sample = 0; sample < samples; sample++) {
96 for (
unsigned int t = 0; t <
m_tracks; t++) {
virtual int write(const Kwave::SampleArray &samples)=0
Kwave::SampleArray m_out_buffer
QVector< Kwave::SampleArray > m_in_buffer
void input(unsigned int track, Kwave::SampleArray data)
QBitArray m_in_buffer_filled
bool connect(Kwave::StreamObject &source, const char *output, Kwave::StreamObject &sink, const char *input)
MultiPlaybackSink(unsigned int tracks, Kwave::PlayBackDevice *device)
virtual ~MultiPlaybackSink()
virtual bool insert(unsigned int track, Kwave::PlaybackSink *sink)
Kwave::PlayBackDevice * m_device
unsigned int size() const