Mercurial > hg > svcore
diff base/PlayParameterRepository.cpp @ 28:4b16526b011b
* Add LED button
* Add note model playback (currently assuming that value == MIDI pitch)
* Reorganise PlayParameters and move repository from ViewManager to new
PlayParameterRepository class
author | Chris Cannam |
---|---|
date | Wed, 15 Feb 2006 17:58:35 +0000 |
parents | |
children | 8460b3bf8f04 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/base/PlayParameterRepository.cpp Wed Feb 15 17:58:35 2006 +0000 @@ -0,0 +1,45 @@ +/* -*- c-basic-offset: 4 -*- vi:set ts=8 sts=4 sw=4: */ + +/* + A waveform viewer and audio annotation editor. + Chris Cannam, Queen Mary University of London, 2005-2006 + + This is experimental software. Not for distribution. +*/ + +#include "PlayParameterRepository.h" +#include "PlayParameters.h" + +PlayParameterRepository * +PlayParameterRepository::m_instance = new PlayParameterRepository; + +PlayParameterRepository * +PlayParameterRepository::instance() +{ + return m_instance; +} + +PlayParameterRepository::~PlayParameterRepository() +{ +} + +PlayParameters * +PlayParameterRepository::getPlayParameters(const Model *model) +{ + if (m_playParameters.find(model) == m_playParameters.end()) { + // Give all models the same type of play parameters for the moment + m_playParameters[model] = new PlayParameters; + } + + return m_playParameters[model]; +} + +void +PlayParameterRepository::clear() +{ + while (!m_playParameters.empty()) { + delete m_playParameters.begin()->second; + m_playParameters.erase(m_playParameters.begin()); + } +} +