- f.close ();
- boost::filesystem::rename (tmp, filename);
-}
-
-float
-AudioAnalysis::smooth (list<float> const & data, AudioPoint::Type t)
-{
- float val;
-
- switch (t) {
- case AudioPoint::PEAK:
- /* XXX: fall-off, or something...? */
- val = -200;
- for (list<float>::const_iterator i = data.begin(); i != data.end(); ++i) {
- val = max (val, *i);
- }
- return val;
- case AudioPoint::RMS:
- val = 0;
- for (list<float>::const_iterator i = data.begin(); i != data.end(); ++i) {
- val += pow (*i, 2);
- }
- return sqrt (val / data.size());
- default:
- assert (false);
+ if (_peak) {
+ root->add_child("Peak")->add_child_text (raw_convert<string> (_peak.get ()));
+ root->add_child("PeakTime")->add_child_text (raw_convert<string> (_peak_time.get().get ()));