comparison audioio/AudioCoreAudioTarget.h @ 0:db6fcbd4405c

initial import
author Chris Cannam
date Tue, 10 Jan 2006 16:33:16 +0000
parents
children df5923e33d01
comparison
equal deleted inserted replaced
-1:000000000000 0:db6fcbd4405c
1 /* -*- c-basic-offset: 4 -*- vi:set ts=8 sts=4 sw=4: */
2
3 /*
4 A waveform viewer and audio annotation editor.
5 Chris Cannam, Queen Mary University of London, 2005
6
7 This is experimental software. Not for distribution.
8 */
9
10 #ifndef _AUDIO_CORE_AUDIO_TARGET_H_
11 #define _AUDIO_CORE_AUDIO_TARGET_H_
12
13 #ifdef HAVE_COREAUDIO
14
15 #include <jack/jack.h>
16 #include <vector>
17
18 #include <CoreAudio/CoreAudio.h>
19 #include <CoreAudio/CoreAudioTypes.h>
20 #include <AudioUnit/AUComponent.h>
21 #include <AudioUnit/AudioUnitProperties.h>
22 #include <AudioUnit/AudioUnitParameters.h>
23 #include <AudioUnit/AudioOutputUnit.h>
24
25 #include "AudioCallbackPlayTarget.h"
26
27 class AudioCallbackPlaySource;
28
29 class AudioCoreAudioTarget : public AudioCallbackPlayTarget
30 {
31 Q_OBJECT
32
33 public:
34 AudioCoreAudioTarget(AudioCallbackPlaySource *source);
35 ~AudioCoreAudioTarget();
36
37 virtual bool isOK() const;
38
39 public slots:
40 virtual void sourceModelReplaced();
41
42 protected:
43 OSStatus process(void *data,
44 AudioUnitRenderActionFlags *flags,
45 const AudioTimeStamp *timestamp,
46 unsigned int inbus,
47 unsigned int inframes,
48 AudioBufferList *ioData);
49
50 int m_bufferSize;
51 int m_sampleRate;
52 int m_latency;
53 };
54
55 #endif /* HAVE_COREAUDIO */
56
57 #endif
58