void SaveDeclarationSamples (const SoundDeclaration& declaration) { XmlWriter::Scope scope (writer, "samples"); writer.WriteAttribute ("count", declaration.SamplesCount ()); for (size_t i=0; i<declaration.SamplesCount (); i++) writer.WriteData (declaration.Sample (i)); }
void SaveDeclaration (const char* name, const SoundDeclaration& declaration) { XmlWriter::Scope scope (writer, "declaration"); //сохранение базовых атрибутов writer.WriteAttribute ("id", name); writer.WriteAttribute ("name", declaration.Name ()); writer.WriteAttribute ("type", declaration.Type ()); writer.WriteAttribute ("looping", declaration.Looping ()); //сохранение параметров SaveDeclarationParams (declaration); //сохранение сэмплов SaveDeclarationSamples (declaration); }
void SaveDeclarationParams (const SoundDeclaration& declaration) { XmlWriter::Scope scope (writer, "params"); writer.WriteAttribute ("gain", declaration.Param (SoundParam_Gain)); writer.WriteAttribute ("min_gain", declaration.Param (SoundParam_MinimumGain)); writer.WriteAttribute ("max_gain", declaration.Param (SoundParam_MaximumGain)); writer.WriteAttribute ("inner_angle", declaration.Param (SoundParam_InnerAngle)); writer.WriteAttribute ("outer_angle", declaration.Param (SoundParam_OuterAngle)); writer.WriteAttribute ("outer_gain", declaration.Param (SoundParam_OuterGain)); writer.WriteAttribute ("reference_distance", declaration.Param (SoundParam_ReferenceDistance)); writer.WriteAttribute ("maximum_distance", declaration.Param (SoundParam_MaximumDistance)); writer.WriteAttribute ("cull_distance", declaration.Param (SoundParam_CullDistance)); }