annotate base/PlayParameters.cpp @ 319:3ff8f571da09

* Hoist alignment model set/query up to Model, so any models can be aligned * Add Model::aboutToDelete and aboutToBeDeleted for management of models that are contained by or referred to by other models instead of only the document
author Chris Cannam
date Wed, 24 Oct 2007 15:21:38 +0000
parents 70a232b1f12a
children 5858cc462d0a
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@0 16 #include "PlayParameters.h"
Chris@0 17
Chris@29 18 #include <iostream>
Chris@29 19
Chris@314 20 #include <QTextStream>
Chris@314 21
Chris@284 22 void
Chris@284 23 PlayParameters::copyFrom(const PlayParameters *pp)
Chris@284 24 {
Chris@284 25 m_playMuted = pp->isPlayMuted();
Chris@284 26 m_playPan = pp->getPlayPan();
Chris@284 27 m_playGain = pp->getPlayGain();
Chris@284 28 m_playPluginId = pp->getPlayPluginId();
Chris@284 29 m_playPluginConfiguration = pp->getPlayPluginConfiguration();
Chris@284 30 }
Chris@284 31
Chris@314 32 void
Chris@314 33 PlayParameters::toXml(QTextStream &stream,
Chris@314 34 QString indent,
Chris@314 35 QString extraAttributes) const
Chris@81 36 {
Chris@314 37 stream << indent;
Chris@314 38 stream << QString("<playparameters mute=\"%1\" pan=\"%2\" gain=\"%3\" pluginId=\"%4\" %6")
Chris@81 39 .arg(m_playMuted ? "true" : "false")
Chris@81 40 .arg(m_playPan)
Chris@81 41 .arg(m_playGain)
Chris@81 42 .arg(m_playPluginId)
Chris@81 43 .arg(extraAttributes);
Chris@81 44 if (m_playPluginConfiguration != "") {
Chris@314 45 stream << ">\n " << indent << m_playPluginConfiguration
Chris@314 46 << "\n" << indent << "</playparameters>\n";
Chris@81 47 } else {
Chris@314 48 stream << "/>\n";
Chris@81 49 }
Chris@81 50 }
Chris@81 51
Chris@0 52 void
Chris@0 53 PlayParameters::setPlayMuted(bool muted)
Chris@0 54 {
Chris@117 55 // std::cerr << "PlayParameters: setPlayMuted(" << muted << ")" << std::endl;
Chris@0 56 m_playMuted = muted;
Chris@29 57 emit playMutedChanged(muted);
Chris@30 58 emit playAudibleChanged(!muted);
Chris@0 59 emit playParametersChanged();
Chris@0 60 }
Chris@0 61
Chris@29 62 void
Chris@29 63 PlayParameters::setPlayAudible(bool audible)
Chris@29 64 {
Chris@117 65 // std::cerr << "PlayParameters(" << this << "): setPlayAudible(" << audible << ")" << std::endl;
Chris@29 66 setPlayMuted(!audible);
Chris@29 67 }
Chris@0 68
Chris@0 69 void
Chris@0 70 PlayParameters::setPlayPan(float pan)
Chris@0 71 {
Chris@57 72 if (m_playPan != pan) {
Chris@57 73 m_playPan = pan;
Chris@57 74 emit playPanChanged(pan);
Chris@57 75 emit playParametersChanged();
Chris@57 76 }
Chris@0 77 }
Chris@0 78
Chris@0 79 void
Chris@0 80 PlayParameters::setPlayGain(float gain)
Chris@0 81 {
Chris@57 82 if (m_playGain != gain) {
Chris@57 83 m_playGain = gain;
Chris@57 84 emit playGainChanged(gain);
Chris@57 85 emit playParametersChanged();
Chris@57 86 }
Chris@0 87 }
Chris@0 88
Chris@57 89 void
Chris@57 90 PlayParameters::setPlayPluginId(QString id)
Chris@57 91 {
Chris@57 92 if (m_playPluginId != id) {
Chris@57 93 m_playPluginId = id;
Chris@57 94 emit playPluginIdChanged(id);
Chris@57 95 emit playParametersChanged();
Chris@57 96 }
Chris@57 97 }
Chris@0 98
Chris@57 99 void
Chris@57 100 PlayParameters::setPlayPluginConfiguration(QString configuration)
Chris@57 101 {
Chris@57 102 if (m_playPluginConfiguration != configuration) {
Chris@57 103 m_playPluginConfiguration = configuration;
Chris@117 104 // std::cerr << "PlayParameters(" << this << "): setPlayPluginConfiguration to \"" << configuration.toStdString() << "\"" << std::endl;
Chris@57 105 emit playPluginConfigurationChanged(configuration);
Chris@57 106 emit playParametersChanged();
Chris@57 107 }
Chris@57 108 }
Chris@57 109
Chris@57 110