private string FadeOutDescription(Track track, Track nextTrack) { if (track == null) { return(""); } var standardEndLength = BpmHelper.GetFullEndLoopLengthAdjustedToMatchAnotherTrack(track, nextTrack); var looped = track.EndLoopCount > 1; var powerDown = track.PowerDownOnEnd; var description = "Fade Out: "; if (powerDown) { description = "PowerDown"; } else { description += GetFormattedSeconds(standardEndLength); } var hasExtendedMix = BassPlayer.HasExtendedMixAttributes(track, nextTrack); if (hasExtendedMix) { var extendedFadeType = BassPlayer.GetExtendedFadeType(track, nextTrack); if (extendedFadeType == ExtendedFadeType.Default) { var extendedEndLength = BassPlayer.GetExtendedFadeOutLength(track, nextTrack); description += " (" + GetFormattedSeconds(extendedEndLength) + "*)"; } else { description += " (" + extendedFadeType + "*)"; } } if (looped) { description += " looped"; } description += " " + track.EndBpm.ToString("00.00") + "BPM"; return(description); }
/// <summary> /// Binds the data. /// </summary> private void BindData() { _binding = true; lblPreviousTitle.Text = PreviousTrack == null ? "" : PreviousTrack.Description; lblPreviousFadeDetails.Text = FadeOutDescription(PreviousTrack, CurrentTrack) + @" " + GetMixRankDescription(PreviousTrack, CurrentTrack); lblCurrentTitle.Text = CurrentTrack == null ? "" : CurrentTrack.Description; lblCurrentFadeDetails.Text = (FadeInDescription(PreviousTrack, CurrentTrack) + @" " + FadeOutDescription(CurrentTrack, NextTrack)).Trim(); lblNextTitle.Text = NextTrack == null ? "" : NextTrack.Description; lblNextFadeDetails.Text = FadeInDescription(CurrentTrack, NextTrack) + @" " + GetMixRankDescription(CurrentTrack, NextTrack); chkManualFading.Checked = BassPlayer.IsManualMixMode; sldFader.Enabled = chkManualFading.Checked; btnPreviousPowerOff.Enabled = chkManualFading.Checked; btnPreviousPause.Enabled = chkManualFading.Checked; btnPreviousPause.Visible = true; cmbFadeOutType.Enabled = chkManualFading.Checked; if (chkManualFading.Checked) { cmbFadeOutType.SelectedIndex = (int)BassPlayer.CurrentManualExtendedFadeType; } else { cmbFadeOutType.SelectedIndex = (int)BassPlayer.GetExtendedFadeType(CurrentTrack, NextTrack); } _binding = false; }