summaryrefslogtreecommitdiff
path: root/src/powerlist.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/powerlist.cc')
-rw-r--r--src/powerlist.cc20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/powerlist.cc b/src/powerlist.cc
index 4f02892..cf843a3 100644
--- a/src/powerlist.cc
+++ b/src/powerlist.cc
@@ -168,16 +168,22 @@ void PowerList::finalise()
master->load();
float power = 0;
- size_t s = 0;
- for(; s < SIZE && s < master->size; s++) {
- power += master->data[s] * master->data[s];
- }
+ if(sample->power == -1) { // Power not defined. Calculate it!
+ DEBUG(powerlist, "Calculating power\n");
+ size_t s = 0;
+ for(; s < SIZE && s < master->size; s++) {
+ power += master->data[s] * master->data[s];
+ }
- power = sqrt(power);
+ power = sqrt(power);
- if(power > power_max) power_max = power;
+ if(power > power_max) power_max = power;
- item.power = power;
+ item.power = power;
+ } else { // Power defined in xml
+ DEBUG(powerlist, "Using power from xml\n");
+ power = sample->power;
+ }
DEBUG(rand, " - power: %f\n", power);