Exemple #1
0
		private void GablarskiDisconnected (object sender, DisconnectedEventArgs e)
		{
			if (this.shuttingDown)
			    return;

			if (e.Reason == DisconnectionReason.Unknown)
				this.reconnecting = true;

			bool finishedWithPlayback = true;

			if (e.Reason == DisconnectionReason.Unknown || (e.Reason == DisconnectionReason.Requested && !this.reconnecting))
			{
				KeyValuePair<ITextToSpeech, AudioSource> tts = this.speechSources.FirstOrDefault (kvp => kvp.Key.GetType().GetSimpleName() == Settings.TextToSpeech);
				if (!tts.Equals(default(KeyValuePair<ITextToSpeech, AudioSource>)) && this.audioPlayback != null)
				{
					finishedWithPlayback = false;
					this.audioPlayback.SourceFinished += (o, args) =>
					{
						if (args.Source == tts.Value)
							DisablePlayback();
					};

					this.audioPlayback.QueuePlayback (tts.Value, tts.Key.GetSpeech ("Disconnected"));
				}
			}

			ResetState();
			DisableInput();
			if (finishedWithPlayback)
				DisablePlayback();

			DisableVoiceCapture();

			if (this.IsDisposed || this.Disposing || this.shuttingDown)
				return;

			this.Invoke ((Action)delegate
			{
				if (this.IsDisposed || this.Disposing)
					return;

				if (TaskbarManager.IsPlatformSupported)
				{
					TaskbarManager.Instance.SetOverlayIcon (this.Handle, Resources.DisconnectImage.ToIcon (), "Disconnected");
				}

				this.users.Nodes.Clear();

				if (!this.reconnecting)
				{
					this.btnConnect.Image = Resources.DisconnectImage;
					this.btnConnect.Text = "Connect";
					this.btnConnect.ToolTipText = "Connect (Disconnected)";
				}
				else
				{
					this.btnConnect.Image = Resources.LoadingImage;
					this.btnConnect.Text = "Disconnect";
					this.btnConnect.ToolTipText = "Disconnect (Reconnecting)";
				}

				this.btnComment.Enabled = false;
				this.btnMute.Enabled = false;
				this.btnMuteMic.Enabled = false;
				this.btnAFK.Enabled = false;

				this.btnRegister.Visible = false;
			});
		}
Exemple #2
0
        private void GablarskiDisconnected(object sender, DisconnectedEventArgs e)
        {
            if (this.shuttingDown)
            {
                return;
            }

            if (e.Reason == DisconnectionReason.Unknown)
            {
                this.reconnecting = true;
            }

            bool finishedWithPlayback = true;

            if (e.Reason == DisconnectionReason.Unknown || (e.Reason == DisconnectionReason.Requested && !this.reconnecting))
            {
                KeyValuePair <ITextToSpeech, AudioSource> tts = this.speechSources.FirstOrDefault(kvp => kvp.Key.GetType().GetSimpleName() == Settings.TextToSpeech);
                if (!tts.Equals(default(KeyValuePair <ITextToSpeech, AudioSource>)) && this.audioPlayback != null)
                {
                    finishedWithPlayback = false;
                    this.audioPlayback.SourceFinished += (o, args) =>
                    {
                        if (args.Source == tts.Value)
                        {
                            DisablePlayback();
                        }
                    };

                    this.audioPlayback.QueuePlayback(tts.Value, tts.Key.GetSpeech("Disconnected"));
                }
            }

            ResetState();
            DisableInput();
            if (finishedWithPlayback)
            {
                DisablePlayback();
            }

            DisableVoiceCapture();

            if (this.IsDisposed || this.Disposing || this.shuttingDown)
            {
                return;
            }

            this.Invoke((Action) delegate
            {
                if (this.IsDisposed || this.Disposing)
                {
                    return;
                }

                if (TaskbarManager.IsPlatformSupported)
                {
                    TaskbarManager.Instance.SetOverlayIcon(this.Handle, Resources.DisconnectImage.ToIcon(), "Disconnected");
                }

                this.users.Nodes.Clear();

                if (!this.reconnecting)
                {
                    this.btnConnect.Image       = Resources.DisconnectImage;
                    this.btnConnect.Text        = "Connect";
                    this.btnConnect.ToolTipText = "Connect (Disconnected)";
                }
                else
                {
                    this.btnConnect.Image       = Resources.LoadingImage;
                    this.btnConnect.Text        = "Disconnect";
                    this.btnConnect.ToolTipText = "Disconnect (Reconnecting)";
                }

                this.btnComment.Enabled = false;
                this.btnMute.Enabled    = false;
                this.btnMuteMic.Enabled = false;
                this.btnAFK.Enabled     = false;

                this.btnRegister.Visible = false;
            });
        }