Mercurial > hg > silvet
comparison src/LiveInstruments.cpp @ 299:a4216826f01c livemode
Re-normalise
author | Chris Cannam |
---|---|
date | Fri, 28 Nov 2014 10:31:59 +0000 |
parents | ebe5e0942bb8 |
children | ba5f3b084466 |
comparison
equal
deleted
inserted
replaced
298:ebe5e0942bb8 | 299:a4216826f01c |
---|---|
33 t.highestNote = i->highestNote; | 33 t.highestNote = i->highestNote; |
34 t.data.resize(i->data.size()); | 34 t.data.resize(i->data.size()); |
35 | 35 |
36 for (int j = 0; j < int(i->data.size()); ++j) { | 36 for (int j = 0; j < int(i->data.size()); ++j) { |
37 t.data[j].resize(SILVET_TEMPLATE_HEIGHT/5); | 37 t.data[j].resize(SILVET_TEMPLATE_HEIGHT/5); |
38 float sum = 0.f; | |
38 for (int k = 0; k < SILVET_TEMPLATE_HEIGHT/5; ++k) { | 39 for (int k = 0; k < SILVET_TEMPLATE_HEIGHT/5; ++k) { |
39 t.data[j][k] = i->data[j][k * 5 + 2 - SILVET_TEMPLATE_MAX_SHIFT]; | 40 t.data[j][k] = i->data[j][k * 5 + 2 - SILVET_TEMPLATE_MAX_SHIFT]; |
41 sum += t.data[j][k]; | |
40 } | 42 } |
43 // re-normalise | |
44 for (int k = 0; k < (int)t.data[j].size(); ++k) { | |
45 t.data[j][k] *= 1.f / sum; | |
46 } | |
41 } | 47 } |
48 | |
42 templates.push_back(t); | 49 templates.push_back(t); |
43 } | 50 } |
44 | 51 |
45 InstrumentPack live(original.lowestNote, | 52 InstrumentPack live(original.lowestNote, |
46 original.highestNote, | 53 original.highestNote, |