comparison framework/SVFileReader.h @ 629:10046d544e76

Further work on #1773 "Loading a session with features extracted from multiplexed inputs". Re-read the aggregate wave models from the session file; also re-order the way they are written so as to improve the likelihood of successfully re-reading them (! - as it stood before, there was some chance involved)
author Chris Cannam
date Mon, 15 Oct 2018 15:50:39 +0100
parents b23bebfdfaba
children 163573a73ebe
comparison
equal deleted inserted replaced
628:b936872faff2 629:10046d544e76
227 bool readPluginForPlayback(const QXmlAttributes &); 227 bool readPluginForPlayback(const QXmlAttributes &);
228 bool readTransform(const QXmlAttributes &); 228 bool readTransform(const QXmlAttributes &);
229 bool readParameter(const QXmlAttributes &); 229 bool readParameter(const QXmlAttributes &);
230 bool readSelection(const QXmlAttributes &); 230 bool readSelection(const QXmlAttributes &);
231 bool readMeasurement(const QXmlAttributes &); 231 bool readMeasurement(const QXmlAttributes &);
232
233 void makeAggregateModels();
232 void addUnaddedModels(); 234 void addUnaddedModels();
233 235
234 bool haveModel(int id) { 236 bool haveModel(int id) {
235 return (m_models.find(id) != m_models.end()) && m_models[id]; 237 return (m_models.find(id) != m_models.end()) && m_models[id];
236 } 238 }
237 239
240 struct PendingAggregateRec {
241 QString name;
242 sv_samplerate_t sampleRate;
243 std::vector<int> components;
244 };
245
238 Document *m_document; 246 Document *m_document;
239 SVFileReaderPaneCallback &m_paneCallback; 247 SVFileReaderPaneCallback &m_paneCallback;
240 QString m_location; 248 QString m_location;
241 Pane *m_currentPane; 249 Pane *m_currentPane;
242 std::map<int, Layer *> m_layers; 250 std::map<int, Layer *> m_layers;
243 std::map<int, Model *> m_models; 251 std::map<int, Model *> m_models;
244 std::set<Model *> m_addedModels; 252 std::set<Model *> m_addedModels;
253 std::map<int, PendingAggregateRec> m_pendingAggregates;
245 std::map<int, int> m_awaitingDatasets; // map dataset id -> model id 254 std::map<int, int> m_awaitingDatasets; // map dataset id -> model id
246 Layer *m_currentLayer; 255 Layer *m_currentLayer;
247 Model *m_currentDataset; 256 Model *m_currentDataset;
248 Model *m_currentDerivedModel; 257 Model *m_currentDerivedModel;
249 int m_currentDerivedModelId; 258 int m_currentDerivedModelId;