annotate base/PlayParameters.h @ 297:c022976d18e8

* Merge from sv-match-alignment branch (excluding alignment-specific document). - add aggregate wave model (not yet complete enough to be added as a true model in a layer, but there's potential) - add play solo mode - add alignment model -- unused in plain SV - fix two plugin leaks - add m3u playlist support (opens all files at once, potentially hazardous) - fix retrieval of pre-encoded URLs - add ability to resample audio files on import, so as to match rates with other files previously loaded; add preference for same - add preliminary support in transform code for range and rate of transform input - reorganise preferences dialog, move dark-background option to preferences, add option for temporary directory location
author Chris Cannam
date Fri, 28 Sep 2007 13:56:38 +0000
parents 41d64b873d87
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