Mercurial > hg > svapp
annotate audioio/AudioPortAudioTarget.h @ 0:db6fcbd4405c
initial import
author | Chris Cannam |
---|---|
date | Tue, 10 Jan 2006 16:33:16 +0000 |
parents | |
children | df5923e33d01 |
rev | line source |
---|---|
Chris@0 | 1 /* -*- c-basic-offset: 4 -*- vi:set ts=8 sts=4 sw=4: */ |
Chris@0 | 2 |
Chris@0 | 3 /* |
Chris@0 | 4 A waveform viewer and audio annotation editor. |
Chris@0 | 5 Chris Cannam, Queen Mary University of London, 2005 |
Chris@0 | 6 |
Chris@0 | 7 This is experimental software. Not for distribution. |
Chris@0 | 8 */ |
Chris@0 | 9 |
Chris@0 | 10 #ifndef _AUDIO_PORT_AUDIO_TARGET_H_ |
Chris@0 | 11 #define _AUDIO_PORT_AUDIO_TARGET_H_ |
Chris@0 | 12 |
Chris@0 | 13 #ifdef HAVE_PORTAUDIO |
Chris@0 | 14 |
Chris@0 | 15 #include <portaudio.h> |
Chris@0 | 16 #include <vector> |
Chris@0 | 17 |
Chris@0 | 18 #include "AudioCallbackPlayTarget.h" |
Chris@0 | 19 |
Chris@0 | 20 class AudioCallbackPlaySource; |
Chris@0 | 21 |
Chris@0 | 22 class AudioPortAudioTarget : public AudioCallbackPlayTarget |
Chris@0 | 23 { |
Chris@0 | 24 Q_OBJECT |
Chris@0 | 25 |
Chris@0 | 26 public: |
Chris@0 | 27 AudioPortAudioTarget(AudioCallbackPlaySource *source); |
Chris@0 | 28 virtual ~AudioPortAudioTarget(); |
Chris@0 | 29 |
Chris@0 | 30 virtual bool isOK() const; |
Chris@0 | 31 |
Chris@0 | 32 public slots: |
Chris@0 | 33 virtual void sourceModelReplaced(); |
Chris@0 | 34 |
Chris@0 | 35 protected: |
Chris@0 | 36 int process(void *input, void *output, unsigned long frames, |
Chris@0 | 37 PaTimestamp outTime); |
Chris@0 | 38 |
Chris@0 | 39 static int processStatic(void *, void *, unsigned long, |
Chris@0 | 40 PaTimestamp, void *); |
Chris@0 | 41 |
Chris@0 | 42 PortAudioStream *m_stream; |
Chris@0 | 43 |
Chris@0 | 44 int m_bufferSize; |
Chris@0 | 45 int m_sampleRate; |
Chris@0 | 46 int m_latency; |
Chris@0 | 47 }; |
Chris@0 | 48 |
Chris@0 | 49 #endif /* HAVE_PORTAUDIO */ |
Chris@0 | 50 |
Chris@0 | 51 #endif |
Chris@0 | 52 |