private void SetSamplerMarkers() { if (Wave == null) { return; } for (var i = 1; i <= 2000; i++) { Wave.RemoveMarker("S" + i + "S"); Wave.RemoveMarker("S" + i + "E"); } if (Samples != null) { for (var i = 1; i <= Samples.Count; i++) { var sample = Samples[i - 1]; if (sample == CurrentSample) { continue; } if (sample.Start == 0 && sample.Length == 0) { continue; } Wave.AddMarker("S" + i + "S", sample.Start); Wave.AddMarker("S" + i + "E", sample.Start + sample.Length); } } Wave.RemoveMarker("CSS"); Wave.RemoveMarker("CSE"); Wave.RemoveMarker("CSO"); if (CurrentSample == null) { return; } Wave.AddMarker("CSS", CurrentSample.Start); if (CurrentSample.Offset != 0D) { Wave.AddMarker("CSO", CurrentSample.Offset); } Wave.AddMarker("CSE", CurrentSample.Start + CurrentSample.Length); }
private void SetShufflerMarkers() { if (Wave == null) { return; } Wave.RemoveMarker("PFI"); Wave.RemoveMarker("FIS"); Wave.RemoveMarker("FIE"); Wave.RemoveMarker("FOS"); Wave.RemoveMarker("FOE"); Wave.RemoveMarker("SKS"); Wave.RemoveMarker("SKE"); var attributes = AutomationAttributesHelper.GetAutomationAttributes(BassTrack.Description); foreach (var trigger in attributes.TrackFXTriggers) { Wave.RemoveMarker("TS" + attributes.TrackFXTriggers.IndexOf(trigger)); Wave.RemoveMarker("TE" + attributes.TrackFXTriggers.IndexOf(trigger)); } for (var i = 1; i <= 2000; i++) { Wave.RemoveMarker("S" + i + "S"); Wave.RemoveMarker("S" + i + "E"); } Wave.AddMarker("PFI", BassTrack.SamplesToSeconds(BassTrack.PreFadeInStart)); Wave.AddMarker("FIS", BassTrack.SamplesToSeconds(BassTrack.FadeInStart)); Wave.AddMarker("FIE", BassTrack.SamplesToSeconds(BassTrack.FadeInEnd)); Wave.AddMarker("FOS", BassTrack.SamplesToSeconds(BassTrack.FadeOutStart)); Wave.AddMarker("FOE", BassTrack.SamplesToSeconds(BassTrack.FadeOutEnd)); if (BassTrack.HasSkipSection) { Wave.AddMarker("SKS", BassTrack.SamplesToSeconds(BassTrack.SkipStart)); Wave.AddMarker("SKE", BassTrack.SamplesToSeconds(BassTrack.SkipEnd)); } if (TrackSamples != null) { for (var i = 1; i <= TrackSamples.Count; i++) { var trackSample = TrackSamples[i - 1]; if (trackSample.Start == 0 && trackSample.Length == 0) { continue; } Wave.AddMarker("S" + i + "S", trackSample.Start); Wave.AddMarker("S" + i + "E", trackSample.Start + trackSample.Length); } } if (!ShowTrackFx) { return; } foreach (var trackFx in attributes.TrackFXTriggers) { Wave.AddMarker("TS" + attributes.TrackFXTriggers.IndexOf(trackFx), trackFx.Start); Wave.AddMarker("TE" + attributes.TrackFXTriggers.IndexOf(trackFx), trackFx.Start + trackFx.Length); } }