| Chris@49 | 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */ | 
| Chris@0 | 2 | 
| Chris@0 | 3 /* | 
| Chris@52 | 4     Sonic Visualiser | 
| Chris@52 | 5     An audio file viewer and annotation editor. | 
| Chris@52 | 6     Centre for Digital Music, Queen Mary, University of London. | 
| Chris@52 | 7     This file copyright 2006 Chris Cannam. | 
| Chris@0 | 8 | 
| Chris@52 | 9     This program is free software; you can redistribute it and/or | 
| Chris@52 | 10     modify it under the terms of the GNU General Public License as | 
| Chris@52 | 11     published by the Free Software Foundation; either version 2 of the | 
| Chris@52 | 12     License, or (at your option) any later version.  See the file | 
| Chris@52 | 13     COPYING included with this distribution for more information. | 
| Chris@0 | 14 */ | 
| Chris@0 | 15 | 
| Chris@28 | 16 #ifndef _PLAY_PARAMETERS_H_ | 
| Chris@28 | 17 #define _PLAY_PARAMETERS_H_ | 
| Chris@0 | 18 | 
| Chris@0 | 19 #include <QObject> | 
| Chris@0 | 20 | 
| Chris@81 | 21 #include "XmlExportable.h" | 
| Chris@81 | 22 | 
| Chris@81 | 23 class PlayParameters : public QObject, public XmlExportable | 
| Chris@0 | 24 { | 
| Chris@0 | 25     Q_OBJECT | 
| Chris@0 | 26 | 
| Chris@0 | 27 public: | 
| Chris@0 | 28     PlayParameters() : m_playMuted(false), m_playPan(0.0), m_playGain(1.0) { } | 
| Chris@0 | 29 | 
| Chris@0 | 30     virtual bool isPlayMuted() const { return m_playMuted; } | 
| Chris@0 | 31     virtual float getPlayPan() const { return m_playPan; } // -1.0 -> 1.0 | 
| Chris@0 | 32     virtual float getPlayGain() const { return m_playGain; } | 
| Chris@0 | 33 | 
| Chris@57 | 34     virtual QString getPlayPluginId() const { return m_playPluginId; } | 
| Chris@57 | 35     virtual QString getPlayPluginConfiguration() const { return m_playPluginConfiguration; } | 
| Chris@57 | 36 | 
| Chris@81 | 37     virtual QString toXmlString(QString indent = "", | 
| Chris@81 | 38                                 QString extraAttributes = "") const; | 
| Chris@81 | 39 | 
| Chris@29 | 40 public slots: | 
| Chris@29 | 41     virtual void setPlayMuted(bool muted); | 
| Chris@29 | 42     virtual void setPlayAudible(bool nonMuted); | 
| Chris@29 | 43     virtual void setPlayPan(float pan); | 
| Chris@29 | 44     virtual void setPlayGain(float gain); | 
| Chris@57 | 45     virtual void setPlayPluginId(QString id); | 
| Chris@57 | 46     virtual void setPlayPluginConfiguration(QString configuration); | 
| Chris@0 | 47 | 
| Chris@30 | 48 signals: | 
| Chris@30 | 49     void playParametersChanged(); | 
| Chris@30 | 50     void playMutedChanged(bool); | 
| Chris@30 | 51     void playAudibleChanged(bool); | 
| Chris@30 | 52     void playPanChanged(float); | 
| Chris@30 | 53     void playGainChanged(float); | 
| Chris@57 | 54     void playPluginIdChanged(QString); | 
| Chris@57 | 55     void playPluginConfigurationChanged(QString); | 
| Chris@30 | 56 | 
| Chris@0 | 57 protected: | 
| Chris@0 | 58     bool m_playMuted; | 
| Chris@0 | 59     float m_playPan; | 
| Chris@0 | 60     float m_playGain; | 
| Chris@57 | 61     QString m_playPluginId; | 
| Chris@57 | 62     QString m_playPluginConfiguration; | 
| Chris@0 | 63 }; | 
| Chris@0 | 64 | 
| Chris@0 | 65 #endif | 
| Chris@0 | 66 | 
| Chris@0 | 67 | 
| Chris@0 | 68 | 
| Chris@0 | 69 |