예제 #1
0
        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);
        }
예제 #2
0
        /// <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;
        }