annotate audioio/AudioCallbackPlayTarget.h @ 0:db6fcbd4405c

initial import
author Chris Cannam
date Tue, 10 Jan 2006 16:33:16 +0000
parents
children 97c69acdcb82
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_CALLBACK_PLAY_TARGET_H_
Chris@0 11 #define _AUDIO_CALLBACK_PLAY_TARGET_H_
Chris@0 12
Chris@0 13 #include <QObject>
Chris@0 14
Chris@0 15 class AudioCallbackPlaySource;
Chris@0 16
Chris@0 17 class AudioCallbackPlayTarget : public QObject
Chris@0 18 {
Chris@0 19 Q_OBJECT
Chris@0 20
Chris@0 21 public:
Chris@0 22 AudioCallbackPlayTarget(AudioCallbackPlaySource *source);
Chris@0 23 virtual ~AudioCallbackPlayTarget();
Chris@0 24
Chris@0 25 virtual bool isOK() const = 0;
Chris@0 26
Chris@0 27 float getOutputGain() const {
Chris@0 28 return m_outputGain;
Chris@0 29 }
Chris@0 30
Chris@0 31 public slots:
Chris@0 32 /**
Chris@0 33 * Set the playback gain (0.0 = silence, 1.0 = levels unmodified)
Chris@0 34 */
Chris@0 35 virtual void setOutputGain(float gain);
Chris@0 36
Chris@0 37 virtual void sourceModelReplaced() = 0;
Chris@0 38
Chris@0 39 protected:
Chris@0 40 AudioCallbackPlaySource *m_source;
Chris@0 41 float m_outputGain;
Chris@0 42 };
Chris@0 43
Chris@0 44 #endif
Chris@0 45