Banshee.PlayQueue.PlayQueueSource.SetAsPlaybackSourceUnlessPlaying C# (CSharp) Method

SetAsPlaybackSourceUnlessPlaying() private method

private SetAsPlaybackSourceUnlessPlaying ( ) : void
return void
        private void SetAsPlaybackSourceUnlessPlaying ()
        {
            if (current_track != null && ServiceManager.PlaybackController.Source != this) {
                bool set_source = !ServiceManager.PlayerEngine.IsPlaying ();
                if (!set_source) {
                    long view_order = ServiceManager.DbConnection.Query<long> (@"
                        SELECT ViewOrder
                        FROM CorePlaylistEntries
                        WHERE PlaylistID = ? AND EntryID = ?",
                        DbId, Convert.ToInt64 (current_track.CacheEntryId));
                    long nongenerated = ServiceManager.DbConnection.Query<long> (@"
                        SELECT COUNT(*)
                        FROM CorePlaylistEntries
                        WHERE PlaylistID = ? AND ViewOrder >= ? AND Generated = 0",
                        DbId, view_order);
                    set_source = nongenerated > 0;
                }

                if (set_source) {
                    PriorSource = ServiceManager.PlaybackController.Source;
                    ServiceManager.PlaybackController.NextSource = this;
                }
            }
        }