Mercurial > hg > svcore
diff rdf/RDFTransformFactory.cpp @ 987:a51781b11dd4
Scary warning if transform RDF fails to use XSD duration format
author | Chris Cannam |
---|---|
date | Wed, 01 Oct 2014 09:20:24 +0100 |
parents | 06579b8ffb7b |
children | 8c9c425b4958 |
line wrap: on
line diff
--- a/rdf/RDFTransformFactory.cpp Mon Sep 29 13:27:13 2014 +0100 +++ b/rdf/RDFTransformFactory.cpp Wed Oct 01 09:20:24 2014 +0100 @@ -241,11 +241,14 @@ } else if (optional == "sample_rate") { transform.setSampleRate(onode.value.toFloat()); } else if (optional == "start") { - transform.setStartTime - (RealTime::fromXsdDuration(onode.value.toStdString())); + RealTime start = RealTime::fromXsdDuration(onode.value.toStdString()); + transform.setStartTime(start); } else if (optional == "duration") { - transform.setDuration - (RealTime::fromXsdDuration(onode.value.toStdString())); + RealTime duration = RealTime::fromXsdDuration(onode.value.toStdString()); + transform.setDuration(duration); + if (duration == RealTime::zeroTime) { + cerr << "\nRDFTransformFactory: WARNING: Duration is specified as \"" << onode.value << "\" in RDF file,\n but this evaluates to zero when parsed as an xsd:duration datatype.\n The duration property will therefore be ignored.\n To specify start time and duration use the xsd:duration format,\n for example \"PT2.5S\"^^xsd:duration (for 2.5 seconds).\n\n"; + } } else { cerr << "RDFTransformFactory: ERROR: Inconsistent optionals lists (unexpected optional \"" << optional << "\"" << endl; }