private void ForcePlayTrack(Track track)
        {
            _doNotBind = true;

            BassPlayer.ForcePlay(track.Filename);

            _doNotBind = false;

            grdPlaylist.InvalidateDisplayedRows();
        }
        /// <summary>
        ///     Plays the previous track.
        /// </summary>
        public void PlayPreviousTrack()
        {
            var track = GetPreviousTrack();

            if (track == null)
            {
                return;
            }
            var currentIndex = GetCurrentTrackIndex();

            TrackModels[currentIndex].IsCurrent     = false;
            TrackModels[currentIndex - 1].IsCurrent = true;
            BassPlayer.ForcePlay(track.Filename);
        }
        /// <summary>
        ///     Plays the next track.
        /// </summary>
        public void PlayNextTrack()
        {
            var track = GetNextTrack();

            if (track != null)
            {
                var currentIndex = GetCurrentTrackIndex();
                if (currentIndex != -1)
                {
                    TrackModels[currentIndex].IsCurrent = false;
                }
                TrackModels[currentIndex + 1].IsCurrent = true;
                BassPlayer.ForcePlay(track.Filename);
            }
        }
        /// <summary>
        ///     Handles the CellContentDoubleClick event of the grdPlaylist control.
        /// </summary>
        public void ReplayMix()
        {
            var previousTrack = GetPreviousTrack();

            if (previousTrack == null)
            {
                return;
            }

            var index = GetCurrentTrackIndex() - 1;

            SetCurrentTrack(index);

            _doNotBind = true;
            BassPlayer.ForcePlay(previousTrack.Filename);
            BassPlayer.SkipToFadeOut();
            BassPlayer.Play();

            _doNotBind = false;

            //BindData();
            grdPlaylist.InvalidateDisplayedRows();
        }
        /// <summary>
        ///     Handles the Click event of the mnuPlay control.
        /// </summary>
        private void mnuPlay_Click(object sender, EventArgs e)
        {
            var track = GetSelectedTrack();

            BassPlayer.ForcePlay(track.Filename);
        }