comparison vamp-support/PluginConfiguration.h @ 188:90c962b68d7f

Merge pull request #2 from piper-audio/dev/step-and-block-size Pull step & block size out into framing struct, return in config
author Chris Cannam <cannam@all-day-breakfast.com>
date Mon, 06 Feb 2017 12:04:25 +0000
parents 3eb00e5c76c4
children ad6025dc0b04
comparison
equal deleted inserted replaced
184:150cfa0c71e1 188:90c962b68d7f
43 #include <string> 43 #include <string>
44 44
45 namespace piper_vamp { 45 namespace piper_vamp {
46 46
47 /** 47 /**
48 * \struct Framing
49 *
50 * A structure bundling the processing step and block size.
51 */
52 struct Framing
53 {
54 Framing() : // invalid by default
55 stepSize(0), blockSize(0) { }
56
57 int stepSize;
58 int blockSize;
59 };
60
61 /**
48 * \class PluginConfiguration 62 * \class PluginConfiguration
49 * 63 *
50 * PluginConfiguration is a structure bundling together data that 64 * PluginConfiguration is a structure bundling together data that
51 * affect the configuration of a plugin: parameter values, programs, 65 * affect the configuration of a plugin: parameter values, programs,
52 * and initialisation settings. Although an interactive Vamp plugin 66 * and initialisation settings. Although an interactive Vamp plugin
57 * configuration settings together. 71 * configuration settings together.
58 */ 72 */
59 struct PluginConfiguration 73 struct PluginConfiguration
60 { 74 {
61 PluginConfiguration() : // invalid configuration by default 75 PluginConfiguration() : // invalid configuration by default
62 channelCount(0), stepSize(0), blockSize(0) { } 76 channelCount(0) { }
63 77
64 int channelCount; 78 int channelCount;
65 int stepSize; 79 Framing framing;
66 int blockSize;
67 typedef std::map<std::string, float> ParameterMap; 80 typedef std::map<std::string, float> ParameterMap;
68 ParameterMap parameterValues; 81 ParameterMap parameterValues;
69 std::string currentProgram; 82 std::string currentProgram;
70 83
71 static PluginConfiguration 84 static PluginConfiguration
75 int blockSize) { 88 int blockSize) {
76 89
77 PluginConfiguration c; 90 PluginConfiguration c;
78 91
79 c.channelCount = channelCount; 92 c.channelCount = channelCount;
80 c.stepSize = stepSize; 93 c.framing.stepSize = stepSize;
81 c.blockSize = blockSize; 94 c.framing.blockSize = blockSize;
82 95
83 Vamp::PluginBase::ParameterList params = p->getParameterDescriptors(); 96 Vamp::PluginBase::ParameterList params = p->getParameterDescriptors();
84 for (Vamp::PluginBase::ParameterList::const_iterator i = params.begin(); 97 for (Vamp::PluginBase::ParameterList::const_iterator i = params.begin();
85 i != params.end(); ++i) { 98 i != params.end(); ++i) {
86 std::string pid = i->identifier; 99 std::string pid = i->identifier;