Audacity 3.2.0
AudioIOListener.h
Go to the documentation of this file.
1/**********************************************************************
2
3 Audacity: A Digital Audio Editor
4
5 AudioIOListener.h
6
7 Dominic Mazzoni
8
9 Use the PortAudio library to play and record sound
10
11**********************************************************************/
12#ifndef __AUDACITY_AUDIO_IO_LISTENER__
13#define __AUDACITY_AUDIO_IO_LISTENER__
14
15#include <memory>
16#include <vector>
17
19using RecordableSequences = std::vector<std::shared_ptr<RecordableSequence>>;
20
21class AUDIO_IO_API AudioIOListener /* not final */ {
22public:
25
26 // Pass 0 when audio stops, positive when it starts:
27 virtual void OnAudioIORate(int rate) = 0;
28
29 virtual void OnAudioIOStartRecording() = 0;
30 virtual void OnAudioIOStopRecording() = 0;
31 virtual void OnAudioIONewBlocks(const RecordableSequences &sequences) = 0;
32
33 // Commit the addition of temporary recording tracks into the project
34 virtual void OnCommitRecording() = 0;
35
36 // During recording, the threshold for sound activation has been crossed
37 // in either direction
38 virtual void OnSoundActivationThreshold() = 0;
39
40};
41
42#endif
std::vector< std::shared_ptr< RecordableSequence > > RecordableSequences
Monitors record play start/stop and new sample blocks. Has callbacks for these events.
virtual void OnAudioIORate(int rate)=0
virtual void OnSoundActivationThreshold()=0
virtual void OnAudioIOStopRecording()=0
virtual void OnAudioIOStartRecording()=0
virtual ~AudioIOListener()
virtual void OnCommitRecording()=0
virtual void OnAudioIONewBlocks(const RecordableSequences &sequences)=0