Mercurial > hg > svcore
diff base/PlayParameterRepository.cpp @ 284:41d64b873d87
* continue to pick "new" colours for coloured layers even when all colours
have been used at least once, rather than sticking on the last one
* some messing about with application palette settings
* when replacing an audio file, retain the previous playback settings for
any layers that depended on the old file
* re-check plugin program setting when a parameter changes -- so a plugin
can decide to reset the program if the parameters no longer match those
for the current program
* fix failure to update check-boxes for toggled plugin parameters when their
parameters are changed by program changes
author | Chris Cannam |
---|---|
date | Thu, 09 Aug 2007 14:40:03 +0000 |
parents | 4b2ea82fd0ed |
children | 1dc99b430d2a |
line wrap: on
line diff
--- a/base/PlayParameterRepository.cpp Thu Aug 09 10:06:02 2007 +0000 +++ b/base/PlayParameterRepository.cpp Thu Aug 09 14:40:03 2007 +0000 @@ -85,8 +85,22 @@ m_playParameters.erase(model); } +void +PlayParameterRepository::copyParameters(const Model *from, const Model *to) +{ + if (!getPlayParameters(from)) { + std::cerr << "ERROR: PlayParameterRepository::copyParameters: source model unknown" << std::endl; + return; + } + if (!getPlayParameters(to)) { + std::cerr << "WARNING: PlayParameterRepository::copyParameters: target model unknown, adding it now" << std::endl; + addModel(to); + } + getPlayParameters(to)->copyFrom(getPlayParameters(from)); +} + PlayParameters * -PlayParameterRepository::getPlayParameters(const Model *model) const +PlayParameterRepository::getPlayParameters(const Model *model) { if (m_playParameters.find(model) == m_playParameters.end()) return 0; return m_playParameters.find(model)->second;