Chris@1338
|
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
|
Chris@1338
|
2
|
Chris@1338
|
3 /*
|
Chris@1338
|
4 Sonic Visualiser
|
Chris@1338
|
5 An audio file viewer and annotation editor.
|
Chris@1338
|
6 Centre for Digital Music, Queen Mary, University of London.
|
Chris@1338
|
7
|
Chris@1338
|
8 This program is free software; you can redistribute it and/or
|
Chris@1338
|
9 modify it under the terms of the GNU General Public License as
|
Chris@1338
|
10 published by the Free Software Foundation; either version 2 of the
|
Chris@1338
|
11 License, or (at your option) any later version. See the file
|
Chris@1338
|
12 COPYING included with this distribution for more information.
|
Chris@1338
|
13 */
|
Chris@1338
|
14
|
Chris@1338
|
15 #ifndef SV_AUDIO_RECORD_TARGET_H
|
Chris@1338
|
16 #define SV_AUDIO_RECORD_TARGET_H
|
Chris@1338
|
17
|
Chris@1338
|
18 #include "BaseTypes.h"
|
Chris@1338
|
19
|
Chris@1338
|
20 /**
|
Chris@1338
|
21 * The record target API used by the view manager. See also AudioPlaySource.
|
Chris@1338
|
22 */
|
Chris@1338
|
23 class AudioRecordTarget
|
Chris@1338
|
24 {
|
Chris@1338
|
25 public:
|
Chris@1338
|
26 virtual ~AudioRecordTarget() { }
|
Chris@1338
|
27
|
Chris@1338
|
28 /**
|
Chris@1338
|
29 * Return whether recording is currently happening.
|
Chris@1338
|
30 */
|
Chris@1338
|
31 virtual bool isRecording() const = 0;
|
Chris@1338
|
32
|
Chris@1338
|
33 /**
|
Chris@1338
|
34 * Return the approximate duration of the audio recording so far.
|
Chris@1338
|
35 */
|
Chris@1338
|
36 virtual sv_frame_t getRecordDuration() const = 0;
|
Chris@1338
|
37
|
Chris@1338
|
38 /**
|
Chris@1338
|
39 * Return the current (or thereabouts) input levels in the range
|
Chris@1338
|
40 * 0.0 -> 1.0, for metering purposes. Only valid while recording.
|
Chris@1338
|
41 * The values returned are peak values since the last call to this
|
Chris@1338
|
42 * function was made (i.e. calling this function also resets them).
|
Chris@1338
|
43 */
|
Chris@1338
|
44 virtual bool getInputLevels(float &left, float &right) = 0;
|
Chris@1338
|
45 };
|
Chris@1338
|
46
|
Chris@1338
|
47 #endif
|
Chris@1338
|
48
|
Chris@1338
|
49
|
Chris@1338
|
50
|