void ExportBusTracks(XmlElement parent, BusTracks busTracks) { XmlElement elt = AddChild(parent, "BusTracks"); elt.SetAttribute("Count", busTracks.Count.ToString(myNumberFormat)); foreach (BusTrack busTrack in busTracks) { ExportBusTrack(elt, busTrack); } }
void ImportBusTracks(XmlElement parent, BusTracks busTracks) { XmlElement elt = parent["BusTracks"]; if (null == elt) { return; } foreach (XmlElement child in elt) { ImportBusTrack(child, busTracks); } }
void ImportBusTrack(XmlElement parent, BusTracks busTracks) { BusTrack busTrack = null; AudioBusTrack audioBusTrack = null; VideoBusTrack videoBusTrack = null; String busName = ChildString(parent, "Name"); if (parent.Name == "AudioBusTrack") { if ((busName == "Master") || (busName == "Surround Master")) { audioBusTrack = (AudioBusTrack)busTracks[1]; } else { audioBusTrack = new AudioBusTrack(); busTracks.Add(audioBusTrack); if (audioBusTrack.Name != busName) { throw new ApplicationException("bad audio bus track order"); } } busTrack = (BusTrack)audioBusTrack; try { busTrack.Description = ChildString(parent, "Description"); } catch {} try { audioBusTrack.Mute = ChildBoolean(parent, "Mute"); } catch {} try { audioBusTrack.Solo = ChildBoolean(parent, "Solo"); } catch {} try { audioBusTrack.PanType = ChildPanType(parent, "PanType"); } catch {} ImportEffects(parent, busTrack.Effects, myVegas.AudioFX); } else if (parent.Name == "VideoBusTrack") { videoBusTrack = (VideoBusTrack)busTracks[0]; busTrack = (BusTrack)videoBusTrack; ImportEffects(parent, busTrack.Effects, myVegas.VideoFX); } ImportEnvelopes(parent, busTrack.Envelopes); }