annotate base/PlayParameters.h @ 284:41d64b873d87

* continue to pick "new" colours for coloured layers even when all colours have been used at least once, rather than sticking on the last one * some messing about with application palette settings * when replacing an audio file, retain the previous playback settings for any layers that depended on the old file * re-check plugin program setting when a parameter changes -- so a plugin can decide to reset the program if the parameters no longer match those for the current program * fix failure to update check-boxes for toggled plugin parameters when their parameters are changed by program changes
author Chris Cannam
date Thu, 09 Aug 2007 14:40:03 +0000
parents f277a171749d
children 70a232b1f12a
rev   line source
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@284 37 virtual void copyFrom(const PlayParameters *);
Chris@284 38
Chris@81 39 virtual QString toXmlString(QString indent = "",
Chris@81 40 QString extraAttributes = "") const;
Chris@81 41
Chris@29 42 public slots:
Chris@29 43 virtual void setPlayMuted(bool muted);
Chris@29 44 virtual void setPlayAudible(bool nonMuted);
Chris@29 45 virtual void setPlayPan(float pan);
Chris@29 46 virtual void setPlayGain(float gain);
Chris@57 47 virtual void setPlayPluginId(QString id);
Chris@57 48 virtual void setPlayPluginConfiguration(QString configuration);
Chris@0 49
Chris@30 50 signals:
Chris@30 51 void playParametersChanged();
Chris@30 52 void playMutedChanged(bool);
Chris@30 53 void playAudibleChanged(bool);
Chris@30 54 void playPanChanged(float);
Chris@30 55 void playGainChanged(float);
Chris@57 56 void playPluginIdChanged(QString);
Chris@57 57 void playPluginConfigurationChanged(QString);
Chris@30 58
Chris@0 59 protected:
Chris@0 60 bool m_playMuted;
Chris@0 61 float m_playPan;
Chris@0 62 float m_playGain;
Chris@57 63 QString m_playPluginId;
Chris@57 64 QString m_playPluginConfiguration;
Chris@284 65
Chris@284 66 private:
Chris@284 67 PlayParameters(const PlayParameters &);
Chris@284 68 PlayParameters &operator=(const PlayParameters &);
Chris@0 69 };
Chris@0 70
Chris@0 71 #endif
Chris@0 72
Chris@0 73
Chris@0 74
Chris@0 75