コード例 #1
0
ファイル: PlayManager.cs プロジェクト: jwiesler/TS3AudioBot
        private void OnAudioResourceUpdated(object sender, AudioResourceUpdatedEventArgs e)
        {
            if (e.QueueItem.MetaData.ContainingPlaylistId == null)
            {
                return;
            }

            lock (Lock) {
                Log.Info("AudioResource was changed by loader, saving containing playlist");

                E <LocalStr> modifyR;
                lock (playlistManager.Lock) {
                    var listId      = e.QueueItem.MetaData.ContainingPlaylistId;
                    var newResource = e.Resource;
                    var oldResource = e.QueueItem.AudioResource;
                    if (playlistManager.TryGetIndexOf(listId, oldResource, out var index))
                    {
                        modifyR = playlistManager.ChangeItemAtDeep(listId, index, newResource);
                    }
                    else
                    {
                        Log.Error($"Could not find resource {e.Resource} in playlist {listId}");
                        modifyR = new LocalStr("See above");
                    }
                }
                if (!modifyR.Ok)
                {
                    Log.Warn($"Failed to save playlist {e.QueueItem.MetaData.ContainingPlaylistId}: {modifyR.Error}");
                }
            }
        }
コード例 #2
0
 public LoadFailureTaskEventArgs(LocalStr error, QueueItem queueItem, bool isCurrentResource) :
     base(error, queueItem)
 {
     IsCurrentResource = isCurrentResource;
 }
コード例 #3
0
 public LoadFailureEventArgs(LocalStr error)
 {
     Error = error;
 }
コード例 #4
0
 public LoadFailureEventArgs(LocalStr error, QueueItem queueItem)
 {
     Error     = error;
     QueueItem = queueItem;
 }