Chris@49: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ Chris@0: Chris@0: /* Chris@52: Sonic Visualiser Chris@52: An audio file viewer and annotation editor. Chris@52: Centre for Digital Music, Queen Mary, University of London. Chris@52: This file copyright 2006 Chris Cannam. Chris@0: Chris@52: This program is free software; you can redistribute it and/or Chris@52: modify it under the terms of the GNU General Public License as Chris@52: published by the Free Software Foundation; either version 2 of the Chris@52: License, or (at your option) any later version. See the file Chris@52: COPYING included with this distribution for more information. Chris@0: */ Chris@0: Chris@1580: #ifndef SV_PLAY_PARAMETERS_H Chris@1580: #define SV_PLAY_PARAMETERS_H Chris@0: Chris@0: #include Chris@0: Chris@81: #include "XmlExportable.h" Chris@81: Chris@81: class PlayParameters : public QObject, public XmlExportable Chris@0: { Chris@0: Q_OBJECT Chris@0: Chris@0: public: Chris@0: PlayParameters() : m_playMuted(false), m_playPan(0.0), m_playGain(1.0) { } Chris@0: Chris@0: virtual bool isPlayMuted() const { return m_playMuted; } Chris@391: virtual bool isPlayAudible() const { return !m_playMuted; } Chris@0: virtual float getPlayPan() const { return m_playPan; } // -1.0 -> 1.0 Chris@0: virtual float getPlayGain() const { return m_playGain; } Chris@0: Chris@866: virtual QString getPlayClipId() const { return m_playClipId; } Chris@57: Chris@284: virtual void copyFrom(const PlayParameters *); Chris@284: Chris@1580: void toXml(QTextStream &stream, Chris@1742: QString indent = "", Chris@1742: QString extraAttributes = "") const override; Chris@81: Chris@29: public slots: Chris@29: virtual void setPlayMuted(bool muted); Chris@29: virtual void setPlayAudible(bool nonMuted); Chris@29: virtual void setPlayPan(float pan); Chris@29: virtual void setPlayGain(float gain); Chris@866: virtual void setPlayClipId(QString id); Chris@0: Chris@30: signals: Chris@30: void playParametersChanged(); Chris@30: void playMutedChanged(bool); Chris@30: void playAudibleChanged(bool); Chris@30: void playPanChanged(float); Chris@30: void playGainChanged(float); Chris@866: void playClipIdChanged(QString); Chris@30: Chris@0: protected: Chris@0: bool m_playMuted; Chris@0: float m_playPan; Chris@0: float m_playGain; Chris@866: QString m_playClipId; Chris@284: Chris@284: private: Chris@284: PlayParameters(const PlayParameters &); Chris@284: PlayParameters &operator=(const PlayParameters &); Chris@0: }; Chris@0: Chris@0: #endif Chris@0: Chris@0: Chris@0: Chris@0: