| 262 | } |
| 263 | |
| 264 | void PluginDescriptor::WriteXML(XMLWriter& writer) const |
| 265 | { |
| 266 | writer.StartTag(XMLNodeName); |
| 267 | writer.WriteAttr(AttrID, GetID()); |
| 268 | writer.WriteAttr(AttrType, static_cast<int>(GetPluginType())); |
| 269 | writer.WriteAttr(AttrEnabled, IsEnabled()); |
| 270 | writer.WriteAttr(AttrValid, IsValid()); |
| 271 | writer.WriteAttr(AttrProviderID, GetProviderID()); |
| 272 | writer.WriteAttr(AttrPath, GetPath()); |
| 273 | writer.WriteAttr(AttrName, GetSymbol().Internal()); |
| 274 | writer.WriteAttr(AttrVendor, GetVendor()); |
| 275 | writer.WriteAttr(AttrVersion, GetUntranslatedVersion()); |
| 276 | if(GetPluginType() == PluginTypeEffect) |
| 277 | { |
| 278 | writer.WriteAttr(AttrEffectFamily, GetEffectFamily()); |
| 279 | writer.WriteAttr(AttrEffectType, GetEffectType()); |
| 280 | writer.WriteAttr(AttrEffectDefault, IsEffectDefault()); |
| 281 | writer.WriteAttr(AttrEffectRealtime, SerializeRealtimeSupport()); |
| 282 | writer.WriteAttr(AttrEffectAutomatable, IsEffectAutomatable()); |
| 283 | writer.WriteAttr(AttrEffectInteractive, IsEffectInteractive()); |
| 284 | } |
| 285 | writer.EndTag(XMLNodeName); |
| 286 | } |
| 287 | |
| 288 | bool PluginDescriptor::HandleXMLTag(const std::string_view& tag, const AttributesList& attrs) |
| 289 | { |