Mercurial > hg > svcore
comparison base/PlayParameters.cpp @ 391:5858cc462d0a
* Fix #1628781 changes to layer visibility and mute should use a command
* Also use a command for changes to layer playback pan, gain, plugin settings
* Refactor PlayParameterRepository to remove dependency on audioio from base
* Fix failure to save play parameters for main model in session file
| author | Chris Cannam |
|---|---|
| date | Thu, 13 Mar 2008 14:06:03 +0000 |
| parents | 70a232b1f12a |
| children | b4a8d8221eaf |
comparison
equal
deleted
inserted
replaced
| 390:21e79997e80f | 391:5858cc462d0a |
|---|---|
| 20 #include <QTextStream> | 20 #include <QTextStream> |
| 21 | 21 |
| 22 void | 22 void |
| 23 PlayParameters::copyFrom(const PlayParameters *pp) | 23 PlayParameters::copyFrom(const PlayParameters *pp) |
| 24 { | 24 { |
| 25 m_playMuted = pp->isPlayMuted(); | 25 bool changed = false; |
| 26 m_playPan = pp->getPlayPan(); | 26 |
| 27 m_playGain = pp->getPlayGain(); | 27 if (m_playMuted != pp->isPlayMuted()) { |
| 28 m_playPluginId = pp->getPlayPluginId(); | 28 m_playMuted = pp->isPlayMuted(); |
| 29 m_playPluginConfiguration = pp->getPlayPluginConfiguration(); | 29 emit playMutedChanged(m_playMuted); |
| 30 emit playAudibleChanged(!m_playMuted); | |
| 31 changed = true; | |
| 32 } | |
| 33 | |
| 34 if (m_playPan != pp->getPlayPan()) { | |
| 35 m_playPan = pp->getPlayPan(); | |
| 36 emit playPanChanged(m_playPan); | |
| 37 changed = true; | |
| 38 } | |
| 39 | |
| 40 if (m_playGain != pp->getPlayGain()) { | |
| 41 m_playGain = pp->getPlayGain(); | |
| 42 emit playGainChanged(m_playGain); | |
| 43 changed = true; | |
| 44 } | |
| 45 | |
| 46 if (m_playPluginId != pp->getPlayPluginId()) { | |
| 47 m_playPluginId = pp->getPlayPluginId(); | |
| 48 emit playPluginIdChanged(m_playPluginId); | |
| 49 changed = true; | |
| 50 } | |
| 51 | |
| 52 if (m_playPluginConfiguration != pp->getPlayPluginConfiguration()) { | |
| 53 m_playPluginConfiguration = pp->getPlayPluginConfiguration(); | |
| 54 emit playPluginConfigurationChanged(m_playPluginConfiguration); | |
| 55 changed = true; | |
| 56 } | |
| 57 | |
| 58 if (changed) emit playParametersChanged(); | |
| 30 } | 59 } |
| 31 | 60 |
| 32 void | 61 void |
| 33 PlayParameters::toXml(QTextStream &stream, | 62 PlayParameters::toXml(QTextStream &stream, |
| 34 QString indent, | 63 QString indent, |
| 51 | 80 |
| 52 void | 81 void |
| 53 PlayParameters::setPlayMuted(bool muted) | 82 PlayParameters::setPlayMuted(bool muted) |
| 54 { | 83 { |
| 55 // std::cerr << "PlayParameters: setPlayMuted(" << muted << ")" << std::endl; | 84 // std::cerr << "PlayParameters: setPlayMuted(" << muted << ")" << std::endl; |
| 56 m_playMuted = muted; | 85 if (m_playMuted != muted) { |
| 57 emit playMutedChanged(muted); | 86 m_playMuted = muted; |
| 58 emit playAudibleChanged(!muted); | 87 emit playMutedChanged(muted); |
| 59 emit playParametersChanged(); | 88 emit playAudibleChanged(!muted); |
| 89 emit playParametersChanged(); | |
| 90 } | |
| 60 } | 91 } |
| 61 | 92 |
| 62 void | 93 void |
| 63 PlayParameters::setPlayAudible(bool audible) | 94 PlayParameters::setPlayAudible(bool audible) |
| 64 { | 95 { |
