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@0: #include "PlayParameters.h" Chris@0: Chris@29: #include Chris@29: Chris@314: #include Chris@314: Chris@284: void Chris@284: PlayParameters::copyFrom(const PlayParameters *pp) Chris@284: { Chris@391: bool changed = false; Chris@391: Chris@391: if (m_playMuted != pp->isPlayMuted()) { Chris@391: m_playMuted = pp->isPlayMuted(); Chris@391: emit playMutedChanged(m_playMuted); Chris@391: emit playAudibleChanged(!m_playMuted); Chris@391: changed = true; Chris@391: } Chris@391: Chris@391: if (m_playPan != pp->getPlayPan()) { Chris@391: m_playPan = pp->getPlayPan(); Chris@391: emit playPanChanged(m_playPan); Chris@391: changed = true; Chris@391: } Chris@391: Chris@391: if (m_playGain != pp->getPlayGain()) { Chris@391: m_playGain = pp->getPlayGain(); Chris@391: emit playGainChanged(m_playGain); Chris@391: changed = true; Chris@391: } Chris@391: Chris@866: if (m_playClipId != pp->getPlayClipId()) { Chris@866: m_playClipId = pp->getPlayClipId(); Chris@866: emit playClipIdChanged(m_playClipId); Chris@391: changed = true; Chris@391: } Chris@391: Chris@391: if (changed) emit playParametersChanged(); Chris@284: } Chris@284: Chris@314: void Chris@314: PlayParameters::toXml(QTextStream &stream, Chris@314: QString indent, Chris@314: QString extraAttributes) const Chris@81: { Chris@314: stream << indent; Chris@866: stream << QString("\n"; Chris@865: Chris@866: if (m_playClipId != "") { Chris@865: // for backward compatibility Chris@865: stream << indent << " "; Chris@865: stream << QString("\n") Chris@865: .arg("sample_player") Chris@866: .arg(m_playClipId); Chris@865: } Chris@865: Chris@865: stream << indent << "\n"; Chris@81: } Chris@81: Chris@0: void Chris@0: PlayParameters::setPlayMuted(bool muted) Chris@0: { Chris@843: // cerr << "PlayParameters: setPlayMuted(" << muted << ")" << endl; Chris@391: if (m_playMuted != muted) { Chris@391: m_playMuted = muted; Chris@391: emit playMutedChanged(muted); Chris@391: emit playAudibleChanged(!muted); Chris@391: emit playParametersChanged(); Chris@391: } Chris@0: } Chris@0: Chris@29: void Chris@29: PlayParameters::setPlayAudible(bool audible) Chris@29: { Chris@843: // cerr << "PlayParameters(" << this << "): setPlayAudible(" << audible << ")" << endl; Chris@29: setPlayMuted(!audible); Chris@29: } Chris@0: Chris@0: void Chris@0: PlayParameters::setPlayPan(float pan) Chris@0: { Chris@57: if (m_playPan != pan) { Chris@57: m_playPan = pan; Chris@57: emit playPanChanged(pan); Chris@57: emit playParametersChanged(); Chris@57: } Chris@0: } Chris@0: Chris@0: void Chris@0: PlayParameters::setPlayGain(float gain) Chris@0: { Chris@57: if (m_playGain != gain) { Chris@57: m_playGain = gain; Chris@57: emit playGainChanged(gain); Chris@57: emit playParametersChanged(); Chris@57: } Chris@0: } Chris@0: Chris@57: void Chris@866: PlayParameters::setPlayClipId(QString id) Chris@57: { Chris@866: if (m_playClipId != id) { Chris@866: m_playClipId = id; Chris@866: emit playClipIdChanged(id); Chris@57: emit playParametersChanged(); Chris@57: } Chris@57: }