Mercurial > hg > svcore
annotate base/PlayParameters.h @ 29:8460b3bf8f04
* Implement play mute, level and pan controls and a layer visibility control
* Handle swapping the buffers in AudioCallbackPlaySource more gracefully, so
  that in many cases it can be done inaudibly.  Still gets it wrong when
  playing in a noncontiguous selection.
* Fix to SV file save for non-2d sparse models
* Fixes to LED button drawing and AudioDial mouse functionality
* Add progress bar for Ogg file import
* Reshuffle PropertyContainer and its subclasses so it can be a QObject
* Add layer dormancy (invisible layer permitted to free its cache space)
* Optimisations to SpectrogramLayer, removing locks when reading/writing
  individual pixels in the cache (should be unnecessary there) -- there's
  still an issue here as we need a lock when reading from the model in
  case the model is replaced, and we don't currently have one
* Several munlock() calls to make it harder to exhaust real memory if
  running in an RT mode with mlockall() active
| author | Chris Cannam | 
|---|---|
| date | Fri, 17 Feb 2006 18:04:26 +0000 | 
| parents | 4b16526b011b | 
| children | a6ef94ecbe74 | 
| 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@2 | 5 Chris Cannam, Queen Mary University of London, 2005-2006 | 
| Chris@0 | 6 | 
| Chris@0 | 7 This is experimental software. Not for distribution. | 
| Chris@0 | 8 */ | 
| Chris@0 | 9 | 
| Chris@28 | 10 #ifndef _PLAY_PARAMETERS_H_ | 
| Chris@28 | 11 #define _PLAY_PARAMETERS_H_ | 
| Chris@0 | 12 | 
| Chris@0 | 13 #include <QObject> | 
| Chris@0 | 14 | 
| Chris@29 | 15 class PlayParameters : public QObject | 
| Chris@0 | 16 { | 
| Chris@0 | 17 Q_OBJECT | 
| Chris@0 | 18 | 
| Chris@0 | 19 public: | 
| Chris@0 | 20 PlayParameters() : m_playMuted(false), m_playPan(0.0), m_playGain(1.0) { } | 
| Chris@0 | 21 | 
| Chris@0 | 22 virtual bool isPlayMuted() const { return m_playMuted; } | 
| Chris@0 | 23 virtual float getPlayPan() const { return m_playPan; } // -1.0 -> 1.0 | 
| Chris@0 | 24 virtual float getPlayGain() const { return m_playGain; } | 
| Chris@0 | 25 | 
| Chris@0 | 26 signals: | 
| Chris@0 | 27 void playParametersChanged(); | 
| Chris@29 | 28 void playMutedChanged(bool); | 
| Chris@29 | 29 void playPanChanged(float); | 
| Chris@29 | 30 void playGainChanged(float); | 
| Chris@29 | 31 | 
| Chris@29 | 32 public slots: | 
| Chris@29 | 33 virtual void setPlayMuted(bool muted); | 
| Chris@29 | 34 virtual void setPlayAudible(bool nonMuted); | 
| Chris@29 | 35 virtual void setPlayPan(float pan); | 
| Chris@29 | 36 virtual void setPlayGain(float gain); | 
| Chris@0 | 37 | 
| Chris@0 | 38 protected: | 
| Chris@0 | 39 bool m_playMuted; | 
| Chris@0 | 40 float m_playPan; | 
| Chris@0 | 41 float m_playGain; | 
| Chris@0 | 42 }; | 
| Chris@0 | 43 | 
| Chris@0 | 44 #endif | 
| Chris@0 | 45 | 
| Chris@0 | 46 | 
| Chris@0 | 47 | 
| Chris@0 | 48 | 
