Esempio n. 1
0
        private string GetMixRankDescription(AudioStream currentTrack, AudioStream nextTrack)
        {
            if (currentTrack == null || nextTrack == null)
            {
                return("");
            }

            var currentLibraryTrack = Library.GetTrackByFilename(currentTrack.Filename);
            var nextLibraryTrack    = Library.GetTrackByFilename(nextTrack.Filename);

            if (currentLibraryTrack == null || nextLibraryTrack == null)
            {
                return("");
            }

            var rank           = MixLibrary.GetMixLevel(currentLibraryTrack, nextLibraryTrack);
            var hasExtendedMix = MixLibrary.HasExtendedMix(currentLibraryTrack, nextLibraryTrack);

            var mixRankDescription = MixLibrary.GetRankDescription(rank);

            if (hasExtendedMix)
            {
                mixRankDescription += "*";
            }

            return(mixRankDescription);
        }
        /// <summary>
        ///     Binds the rank menu.
        /// </summary>
        private void BindMixRankMenu()
        {
            var currentMixRank = -1;

            if (GetSelectedTracks().Count == 1 && grdPlaylist.SelectedRows[0].Index > 0)
            {
                var track2  = GetSelectedTrack();
                var track1  = GetTrackByIndex(grdPlaylist.SelectedRows[0].Index - 1);
                var mixRank = MixLibrary.GetMixLevel(track1, track2);
                currentMixRank = mixRank;
            }
            for (var i = 0; i < 6; i++)
            {
                mnuMixRank.DropDownItems[i].Text = MixLibrary.GetRankDescription(5 - i);
                ((ToolStripMenuItem)mnuMixRank.DropDownItems[i]).Checked = 5 - i == currentMixRank;
            }
        }
Esempio n. 3
0
        private void SetConservativeFadeOutSettings()
        {
            if (!_useConservativeFadeOut)
            {
                return;
            }
            if (BassPlayer.CurrentTrack == null || BassPlayer.NextTrack == null)
            {
                return;
            }

            var track1         = Library.GetTrackByFilename(BassPlayer.CurrentTrack.Filename);
            var track2         = Library.GetTrackByFilename(BassPlayer.NextTrack.Filename);
            var mixRank        = MixLibrary.GetMixLevel(track1, track2);
            var hasExtendedMix = MixLibrary.HasExtendedMix(track1, track2);

            if (mixRank <= 2 && !hasExtendedMix)
            {
                BassPlayer.SetConservativeFadeOutSettings();
            }
        }
        public int GetCurrentMixRank()
        {
            if (BassPlayer.CurrentTrack == null)
            {
                return(1);
            }

            Track currentTrack = null;

            if (BassPlayer.CurrentTrack != null)
            {
                currentTrack = Library.GetTrackByFilename(BassPlayer.CurrentTrack.Filename);
            }

            var prevTrack = PlaylistControl.GetPreviousTrack();

            if (prevTrack == null)
            {
                return(1);
            }

            return(MixLibrary.GetMixLevel(prevTrack, currentTrack));
        }