annotate base/PlayParameters.h @ 1752:6d09d68165a4 by-id

Further review of ById: make IDs only available when adding a model to the ById store, not by querying the item directly. This means any id encountered in the wild must have been added to the store at some point (even if later released), which simplifies reasoning about lifecycles
author Chris Cannam
date Fri, 05 Jul 2019 15:28:07 +0100
parents 52705a328b34
children
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@1580 16 #ifndef SV_PLAY_PARAMETERS_H
Chris@1580 17 #define SV_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@391 31 virtual bool isPlayAudible() const { return !m_playMuted; }
Chris@0 32 virtual float getPlayPan() const { return m_playPan; } // -1.0 -> 1.0
Chris@0 33 virtual float getPlayGain() const { return m_playGain; }
Chris@0 34
Chris@866 35 virtual QString getPlayClipId() const { return m_playClipId; }
Chris@57 36
Chris@284 37 virtual void copyFrom(const PlayParameters *);
Chris@284 38
Chris@1580 39 void toXml(QTextStream &stream,
Chris@1742 40 QString indent = "",
Chris@1742 41 QString extraAttributes = "") const override;
Chris@81 42
Chris@29 43 public slots:
Chris@29 44 virtual void setPlayMuted(bool muted);
Chris@29 45 virtual void setPlayAudible(bool nonMuted);
Chris@29 46 virtual void setPlayPan(float pan);
Chris@29 47 virtual void setPlayGain(float gain);
Chris@866 48 virtual void setPlayClipId(QString id);
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@866 56 void playClipIdChanged(QString);
Chris@30 57
Chris@0 58 protected:
Chris@0 59 bool m_playMuted;
Chris@0 60 float m_playPan;
Chris@0 61 float m_playGain;
Chris@866 62 QString m_playClipId;
Chris@284 63
Chris@284 64 private:
Chris@284 65 PlayParameters(const PlayParameters &);
Chris@284 66 PlayParameters &operator=(const PlayParameters &);
Chris@0 67 };
Chris@0 68
Chris@0 69 #endif
Chris@0 70
Chris@0 71
Chris@0 72
Chris@0 73