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; } }
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)); }