comparison MatchVampPlugin.cpp @ 25:e6a143e4e143

Add zonewidth parameter (setting the block time in the matcher) and rename the max run count to "gradient limit"
author Chris Cannam
date Fri, 17 Oct 2014 12:57:14 +0100
parents 64c4c0cf80c9
children 9f60d097f0b2
comparison
equal deleted inserted replaced
24:89929e9e54fb 25:e6a143e4e143
199 desc.defaultValue = m_defaultParams.useChromaFrequencyMap ? 1 : 0; 199 desc.defaultValue = m_defaultParams.useChromaFrequencyMap ? 1 : 0;
200 desc.isQuantized = true; 200 desc.isQuantized = true;
201 desc.quantizeStep = 1; 201 desc.quantizeStep = 1;
202 list.push_back(desc); 202 list.push_back(desc);
203 203
204 desc.identifier = "maxruncount"; 204 desc.identifier = "gradientlimit";
205 desc.name = "Max Run Count"; 205 desc.name = "Gradient Limit";
206 desc.description = "Limit of number of frames that will be accepted from one source without a frame from the other source being accepted"; 206 desc.description = "Limit of number of frames that will be accepted from one source without a frame from the other source being accepted";
207 desc.minValue = 1; 207 desc.minValue = 1;
208 desc.maxValue = 10; 208 desc.maxValue = 10;
209 desc.defaultValue = m_defaultParams.maxRunCount; 209 desc.defaultValue = m_defaultParams.maxRunCount;
210 desc.isQuantized = true; 210 desc.isQuantized = true;
211 desc.quantizeStep = 1; 211 desc.quantizeStep = 1;
212 list.push_back(desc);
213
214 desc.identifier = "zonewidth";
215 desc.name = "Search Zone Width";
216 desc.description = "Width of the search zone (error margin) either side of the ongoing match position, in seconds";
217 desc.minValue = 1;
218 desc.maxValue = 60;
219 desc.defaultValue = m_defaultParams.blockTime;
220 desc.isQuantized = true;
221 desc.quantizeStep = 1;
222 desc.unit = "s";
212 list.push_back(desc); 223 list.push_back(desc);
213 224
214 return list; 225 return list;
215 } 226 }
216 227
225 return (int)m_params.distanceNorm; 236 return (int)m_params.distanceNorm;
226 } else if (name == "usespecdiff") { 237 } else if (name == "usespecdiff") {
227 return m_params.useSpectralDifference ? 1.0 : 0.0; 238 return m_params.useSpectralDifference ? 1.0 : 0.0;
228 } else if (name == "usechroma") { 239 } else if (name == "usechroma") {
229 return m_params.useChromaFrequencyMap ? 1.0 : 0.0; 240 return m_params.useChromaFrequencyMap ? 1.0 : 0.0;
230 } else if (name == "maxruncount") { 241 } else if (name == "gradientlimit") {
231 return m_params.maxRunCount; 242 return m_params.maxRunCount;
243 } else if (name == "zonewidth") {
244 return m_params.blockTime;
232 } 245 }
233 246
234 return 0.0; 247 return 0.0;
235 } 248 }
236 249
245 m_params.distanceNorm = (Matcher::DistanceNormalisation)(int(value + 0.1)); 258 m_params.distanceNorm = (Matcher::DistanceNormalisation)(int(value + 0.1));
246 } else if (name == "usespecdiff") { 259 } else if (name == "usespecdiff") {
247 m_params.useSpectralDifference = (value > 0.5); 260 m_params.useSpectralDifference = (value > 0.5);
248 } else if (name == "usechroma") { 261 } else if (name == "usechroma") {
249 m_params.useChromaFrequencyMap = (value > 0.5); 262 m_params.useChromaFrequencyMap = (value > 0.5);
250 } else if (name == "maxruncount") { 263 } else if (name == "gradientlimit") {
251 m_params.maxRunCount = int(value + 0.1); 264 m_params.maxRunCount = int(value + 0.1);
265 } else if (name == "zonewidth") {
266 m_params.blockTime = value;
252 } 267 }
253 } 268 }
254 269
255 size_t 270 size_t
256 MatchVampPlugin::getPreferredStepSize() const 271 MatchVampPlugin::getPreferredStepSize() const