Chris@28: /* -*- c-basic-offset: 4 -*- vi:set ts=8 sts=4 sw=4: */ Chris@28: Chris@28: /* Chris@28: A waveform viewer and audio annotation editor. Chris@28: Chris Cannam, Queen Mary University of London, 2005-2006 Chris@28: Chris@28: This is experimental software. Not for distribution. Chris@28: */ Chris@28: Chris@28: #include "PlayParameterRepository.h" Chris@28: #include "PlayParameters.h" Chris@28: Chris@29: #include Chris@29: Chris@28: PlayParameterRepository * Chris@28: PlayParameterRepository::m_instance = new PlayParameterRepository; Chris@28: Chris@28: PlayParameterRepository * Chris@28: PlayParameterRepository::instance() Chris@28: { Chris@28: return m_instance; Chris@28: } Chris@28: Chris@28: PlayParameterRepository::~PlayParameterRepository() Chris@28: { Chris@28: } Chris@28: Chris@28: PlayParameters * Chris@28: PlayParameterRepository::getPlayParameters(const Model *model) Chris@28: { Chris@28: if (m_playParameters.find(model) == m_playParameters.end()) { Chris@28: // Give all models the same type of play parameters for the moment Chris@29: std::cerr << "Creating new PlayParameters for model " << model << std::endl; Chris@28: m_playParameters[model] = new PlayParameters; Chris@29: connect(m_playParameters[model], SIGNAL(playParametersChanged()), Chris@29: this, SLOT(playParametersChanged())); Chris@28: } Chris@28: Chris@28: return m_playParameters[model]; Chris@28: } Chris@28: Chris@28: void Chris@29: PlayParameterRepository::playParametersChanged() Chris@29: { Chris@29: emit playParametersChanged(dynamic_cast(sender())); Chris@29: } Chris@29: Chris@29: void Chris@28: PlayParameterRepository::clear() Chris@28: { Chris@28: while (!m_playParameters.empty()) { Chris@28: delete m_playParameters.begin()->second; Chris@28: m_playParameters.erase(m_playParameters.begin()); Chris@28: } Chris@28: } Chris@28: