Mercurial > hg > svapp
changeset 616:7d3a6357ce64 avoid-pointer-keys
Use model IDs
author | Chris Cannam |
---|---|
date | Mon, 13 Aug 2018 16:45:52 +0100 |
parents | 755fc02a1565 |
children | e98a42e94d90 |
files | audio/AudioGenerator.cpp audio/AudioGenerator.h framework/Document.h |
diffstat | 3 files changed, 24 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/audio/AudioGenerator.cpp Mon Aug 13 14:13:38 2018 +0100 +++ b/audio/AudioGenerator.cpp Mon Aug 13 16:45:52 2018 +0100 @@ -141,7 +141,7 @@ ClipMixer *mixer = makeClipMixerFor(model); if (mixer) { QMutexLocker locker(&m_mutex); - m_clipMixerMap[model] = mixer; + m_clipMixerMap[model->getId()] = mixer; return willPlay; } } @@ -150,7 +150,7 @@ ContinuousSynth *synth = makeSynthFor(model); if (synth) { QMutexLocker locker(&m_mutex); - m_continuousSynthMap[model] = synth; + m_continuousSynthMap[model->getId()] = synth; return willPlay; } } @@ -169,12 +169,14 @@ return; } - if (m_clipMixerMap.find(model) == m_clipMixerMap.end()) return; + if (m_clipMixerMap.find(model->getId()) == m_clipMixerMap.end()) { + return; + } ClipMixer *mixer = makeClipMixerFor(model); if (mixer) { QMutexLocker locker(&m_mutex); - m_clipMixerMap[model] = mixer; + m_clipMixerMap[model->getId()] = mixer; } } @@ -279,10 +281,12 @@ QMutexLocker locker(&m_mutex); - if (m_clipMixerMap.find(sodm) == m_clipMixerMap.end()) return; + if (m_clipMixerMap.find(sodm->getId()) == m_clipMixerMap.end()) { + return; + } - ClipMixer *mixer = m_clipMixerMap[sodm]; - m_clipMixerMap.erase(sodm); + ClipMixer *mixer = m_clipMixerMap[sodm->getId()]; + m_clipMixerMap.erase(sodm->getId()); delete mixer; } @@ -307,7 +311,8 @@ cerr << "AudioGenerator::reset()" << endl; #endif - for (ClipMixerMap::iterator i = m_clipMixerMap.begin(); i != m_clipMixerMap.end(); ++i) { + for (ClipMixerMap::iterator i = m_clipMixerMap.begin(); + i != m_clipMixerMap.end(); ++i) { if (i->second) { i->second->reset(); } @@ -522,7 +527,7 @@ sv_frame_t startFrame, sv_frame_t frames, float **buffer, float gain, float pan) { - ClipMixer *clipMixer = m_clipMixerMap[model]; + ClipMixer *clipMixer = m_clipMixerMap[model->getId()]; if (!clipMixer) return 0; int blocks = int(frames / m_processingBlockSize); @@ -550,7 +555,7 @@ ClipMixer::NoteStart on; ClipMixer::NoteEnd off; - NoteOffSet ¬eOffs = m_noteOffs[model]; + NoteOffSet ¬eOffs = m_noteOffs[model->getId()]; float **bufferIndexes = new float *[m_targetChannelCount]; @@ -681,7 +686,7 @@ float gain, float pan) { - ContinuousSynth *synth = m_continuousSynthMap[model]; + ContinuousSynth *synth = m_continuousSynthMap[model->getId()]; if (!synth) return 0; // only type we support here at the moment
--- a/audio/AudioGenerator.h Mon Aug 13 14:13:38 2018 +0100 +++ b/audio/AudioGenerator.h Mon Aug 13 16:45:52 2018 +0100 @@ -13,10 +13,9 @@ COPYING included with this distribution for more information. */ -#ifndef _AUDIO_GENERATOR_H_ -#define _AUDIO_GENERATOR_H_ +#ifndef SV_AUDIO_GENERATOR_H +#define SV_AUDIO_GENERATOR_H -class Model; class NoteModel; class FlexiNoteModel; class DenseTimeValueModel; @@ -33,6 +32,7 @@ #include <vector> #include "base/BaseTypes.h" +#include "data/model/Model.h" class AudioGenerator : public QObject { @@ -140,12 +140,12 @@ }; - typedef std::map<const Model *, ClipMixer *> ClipMixerMap; + typedef std::map<const ModelId, ClipMixer *> ClipMixerMap; typedef std::multiset<NoteOff, NoteOff::Comparator> NoteOffSet; - typedef std::map<const Model *, NoteOffSet> NoteOffMap; + typedef std::map<const ModelId, NoteOffSet> NoteOffMap; - typedef std::map<const Model *, ContinuousSynth *> ContinuousSynthMap; + typedef std::map<const ModelId, ContinuousSynth *> ContinuousSynthMap; QMutex m_mutex;
--- a/framework/Document.h Mon Aug 13 14:13:38 2018 +0100 +++ b/framework/Document.h Mon Aug 13 16:45:52 2018 +0100 @@ -13,8 +13,8 @@ COPYING included with this distribution for more information. */ -#ifndef _DOCUMENT_H_ -#define _DOCUMENT_H_ +#ifndef SV_DOCUMENT_H +#define SV_DOCUMENT_H #include "layer/LayerFactory.h" #include "transform/Transform.h"