annotate base/PlayParameters.cpp @ 863:1f98e28f70c6 tonioni

Toward using a sample mixer (with arbitrary frequency target) instead of dssi player plugin
author Chris Cannam
date Tue, 07 Jan 2014 10:57:28 +0000
parents e802e550a1f2
children 9196cff56abe
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@391 25 bool changed = false;
Chris@391 26
Chris@391 27 if (m_playMuted != pp->isPlayMuted()) {
Chris@391 28 m_playMuted = pp->isPlayMuted();
Chris@391 29 emit playMutedChanged(m_playMuted);
Chris@391 30 emit playAudibleChanged(!m_playMuted);
Chris@391 31 changed = true;
Chris@391 32 }
Chris@391 33
Chris@391 34 if (m_playPan != pp->getPlayPan()) {
Chris@391 35 m_playPan = pp->getPlayPan();
Chris@391 36 emit playPanChanged(m_playPan);
Chris@391 37 changed = true;
Chris@391 38 }
Chris@391 39
Chris@391 40 if (m_playGain != pp->getPlayGain()) {
Chris@391 41 m_playGain = pp->getPlayGain();
Chris@391 42 emit playGainChanged(m_playGain);
Chris@391 43 changed = true;
Chris@391 44 }
Chris@391 45
Chris@863 46 if (m_playSampleId != pp->getPlaySampleId()) {
Chris@863 47 m_playSampleId = pp->getPlaySampleId();
Chris@863 48 emit playSampleIdChanged(m_playSampleId);
Chris@391 49 changed = true;
Chris@391 50 }
Chris@391 51
Chris@391 52 if (changed) emit playParametersChanged();
Chris@284 53 }
Chris@284 54
Chris@314 55 void
Chris@314 56 PlayParameters::toXml(QTextStream &stream,
Chris@314 57 QString indent,
Chris@314 58 QString extraAttributes) const
Chris@81 59 {
Chris@314 60 stream << indent;
Chris@863 61 stream << QString("<playparameters mute=\"%1\" pan=\"%2\" gain=\"%3\" sampleId=\"%4\" %6")
Chris@81 62 .arg(m_playMuted ? "true" : "false")
Chris@81 63 .arg(m_playPan)
Chris@81 64 .arg(m_playGain)
Chris@863 65 .arg(m_playSampleId)
Chris@81 66 .arg(extraAttributes);
Chris@863 67 stream << "/>\n";
Chris@81 68 }
Chris@81 69
Chris@0 70 void
Chris@0 71 PlayParameters::setPlayMuted(bool muted)
Chris@0 72 {
Chris@843 73 // cerr << "PlayParameters: setPlayMuted(" << muted << ")" << endl;
Chris@391 74 if (m_playMuted != muted) {
Chris@391 75 m_playMuted = muted;
Chris@391 76 emit playMutedChanged(muted);
Chris@391 77 emit playAudibleChanged(!muted);
Chris@391 78 emit playParametersChanged();
Chris@391 79 }
Chris@0 80 }
Chris@0 81
Chris@29 82 void
Chris@29 83 PlayParameters::setPlayAudible(bool audible)
Chris@29 84 {
Chris@843 85 // cerr << "PlayParameters(" << this << "): setPlayAudible(" << audible << ")" << endl;
Chris@29 86 setPlayMuted(!audible);
Chris@29 87 }
Chris@0 88
Chris@0 89 void
Chris@0 90 PlayParameters::setPlayPan(float pan)
Chris@0 91 {
Chris@57 92 if (m_playPan != pan) {
Chris@57 93 m_playPan = pan;
Chris@57 94 emit playPanChanged(pan);
Chris@57 95 emit playParametersChanged();
Chris@57 96 }
Chris@0 97 }
Chris@0 98
Chris@0 99 void
Chris@0 100 PlayParameters::setPlayGain(float gain)
Chris@0 101 {
Chris@57 102 if (m_playGain != gain) {
Chris@57 103 m_playGain = gain;
Chris@57 104 emit playGainChanged(gain);
Chris@57 105 emit playParametersChanged();
Chris@57 106 }
Chris@0 107 }
Chris@0 108
Chris@57 109 void
Chris@863 110 PlayParameters::setPlaySampleId(QString id)
Chris@57 111 {
Chris@863 112 if (m_playSampleId != id) {
Chris@863 113 m_playSampleId = id;
Chris@863 114 emit playSampleIdChanged(id);
Chris@57 115 emit playParametersChanged();
Chris@57 116 }
Chris@57 117 }
Chris@0 118
Chris@57 119 void
Chris@57 120 PlayParameters::setPlayPluginConfiguration(QString configuration)
Chris@57 121 {
Chris@863 122 //!!! need to parse out sample id from e.g. configuration ==
Chris@863 123 //!!! <plugin program="piano"/>
Chris@863 124 /*
Chris@57 125 if (m_playPluginConfiguration != configuration) {
Chris@57 126 m_playPluginConfiguration = configuration;
Chris@843 127 // cerr << "PlayParameters(" << this << "): setPlayPluginConfiguration to \"" << configuration << "\"" << endl;
Chris@57 128 emit playPluginConfigurationChanged(configuration);
Chris@57 129 emit playParametersChanged();
Chris@57 130 }
Chris@863 131 */
Chris@57 132 }
Chris@57 133
Chris@57 134