comparison src/Analyser.cpp @ 132:2abff42be385

Remember state of visibility & audibility between runs
author Chris Cannam
date Thu, 09 Jan 2014 17:20:15 +0000
parents eae80729b665
children c3b53a10c920
comparison
equal deleted inserted replaced
131:eae80729b665 132:2abff42be385
144 PlayParameters *params = flexiNoteLayer->getPlayParameters(); 144 PlayParameters *params = flexiNoteLayer->getPlayParameters();
145 if (params) params->setPlayPan(0); 145 if (params) params->setPlayPan(0);
146 } 146 }
147 } 147 }
148 148
149 loadState(Audio);
150 loadState(PitchTrack);
151 loadState(Notes);
152
149 emit layersChanged(); 153 emit layersChanged();
154 }
155
156 void
157 Analyser::saveState(Component c) const
158 {
159 bool v = isVisible(c);
160 bool a = isAudible(c);
161 QSettings settings;
162 settings.beginGroup("Analyser");
163 settings.setValue(QString("Visibility %1").arg(int(c)), v);
164 settings.setValue(QString("Audibility %1").arg(int(c)), a);
165 settings.endGroup();
166 }
167
168 void
169 Analyser::loadState(Component c)
170 {
171 QSettings settings;
172 settings.beginGroup("Analyser");
173 bool v = settings.value(QString("Visibility %1").arg(int(c)), true).toBool();
174 bool a = settings.value(QString("Audibility %1").arg(int(c)), true).toBool();
175 settings.endGroup();
176 setVisible(c, v);
177 setAudible(c, a);
150 } 178 }
151 179
152 void 180 void
153 Analyser::setIntelligentActions(bool on) 181 Analyser::setIntelligentActions(bool on)
154 { 182 {
175 Analyser::setVisible(Component c, bool v) 203 Analyser::setVisible(Component c, bool v)
176 { 204 {
177 if (m_layers[c]) { 205 if (m_layers[c]) {
178 m_layers[c]->setLayerDormant(m_pane, !v); 206 m_layers[c]->setLayerDormant(m_pane, !v);
179 m_pane->layerParametersChanged(); 207 m_pane->layerParametersChanged();
208 saveState(c);
180 } 209 }
181 } 210 }
182 211
183 bool 212 bool
184 Analyser::isAudible(Component c) const 213 Analyser::isAudible(Component c) const
185 { 214 {
186 if (m_layers[c]) { 215 if (m_layers[c]) {
187
188 PlayParameters *params = m_layers[c]->getPlayParameters(); 216 PlayParameters *params = m_layers[c]->getPlayParameters();
189 if (!params) return false; 217 if (!params) return false;
190
191 return params->isPlayAudible(); 218 return params->isPlayAudible();
192 } else { 219 } else {
193 return false; 220 return false;
194 } 221 }
195 } 222 }
196 223
197 void 224 void
198 Analyser::setAudible(Component c, bool a) 225 Analyser::setAudible(Component c, bool a)
199 { 226 {
200 if (m_layers[c]) { 227 if (m_layers[c]) {
201
202 PlayParameters *params = m_layers[c]->getPlayParameters(); 228 PlayParameters *params = m_layers[c]->getPlayParameters();
203 if (!params) return; 229 if (!params) return;
204
205 params->setPlayAudible(a); 230 params->setPlayAudible(a);
206 } 231 saveState(c);
207 } 232 }
208 233 }
234