/// <summary> /// Mutes the track FX. /// </summary> public void StopTrackFxSend() { if (CurrentTrack == null || LastTrackFxTrigger == null || LastTrackFxTriggerTrack == null) { return; } // DebugHelper.WriteLine("Start StopTrackFXSend"); _trackSendMixer.SetVolume(0); // DebugHelper.WriteLine("Calculate TrackFXSend Length"); var position = AudioStreamHelper.GetPosition(LastTrackFxTriggerTrack); var positionSeconds = LastTrackFxTriggerTrack.SamplesToSeconds(position); var length = positionSeconds - LastTrackFxTrigger.Start; if (length <= 0 || position >= LastTrackFxTriggerTrack.FadeOutStart) { length = LastTrackFxTriggerTrack.SamplesToSeconds(LastTrackFxTriggerTrack.FadeOutStart) - LastTrackFxTrigger.Start; } LastTrackFxTrigger.Length = length; // DebugHelper.WriteLine("End StopTrackFXSend"); }
/// <summary> /// Silences the track FX. /// </summary> public void StartTrackFxSend() { _trackSendMixer.SetVolume(50M); if (CurrentTrack == null) { return; } LastTrackFxTriggerTrack = CurrentTrack; var position = AudioStreamHelper.GetPosition(LastTrackFxTriggerTrack); LastTrackFxTrigger = new TrackFXTrigger { Start = LastTrackFxTriggerTrack.SamplesToSeconds(position), DelayNotes = TrackSendFxDelayNotes }; _trackSendMixer.SetPluginBpm(); }