_dt_play(0.0),
_dt_stop(0.0),
_delay(0.0),
- _stopping(0.0)
+ _stopping(0.0),
+ _initialized(false)
{
}
void
SGXmlSound::init(SGPropertyNode *root, SGPropertyNode *node,
SGSampleGroup *sgrp, SGSampleGroup *avionics,
- const string &path)
+ const SGPath& currentDir)
{
//
} else {
_sgrp = sgrp;
}
- _sample = new SGSoundSample( path.c_str(), node->getStringValue("path", ""));
+ _sample = new SGSoundSample(node->getStringValue("path", ""), currentDir);
if (!_sample->file_path().exists()) {
throw sg_io_exception("XML sound: couldn't find file: " + _sample->file_path().str());
}
if (_property)
curr_value = _property->getDoubleValue();
+ if (!_initialized)
+ {
+ // update initial value before detecting changes
+ _prev_value = curr_value;
+ _initialized = true;
+ }
+
// If a condition is defined, test whether it is FALSE,
// else
// if a property is defined then test if it's value is FALSE