Beispiel #1
0
 /// <summary>
 /// Requests the listening mode.
 /// </summary>
 /// <param name="mode">The mode.</param>
 public void RequestListeningMode(ListeningMode mode)
 {
     if (ListeningModeCommands.TryGetValue(mode, out var command))
     {
         this.SendCommand("0" + command + "SR");
     }
 }
Beispiel #2
0
 public void SetParameters(string name, string computerName, ListeningMode listeningMode)
 {
     try
     {
         this.Name             = name;
         this.SetComputerName  = computerName;
         this.GetListeningMode = listeningMode;
     }
     catch (Exception e)
     {
         throw new InvalidOperationException("Error: unable to set parameters to Leap device :" + e);
     }
 }
Beispiel #3
0
        /// <summary>
        /// Handles the ReceivedData event of the mConnection control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="ReceivedDataEventArgs"/> instance containing the event data.</param>
        private void Connection_ReceivedData(object sender, ReceivedDataEventArgs e)
        {
            var line = e.Data;

            if (string.IsNullOrEmpty(line))
            {
                return;
            }

            Trace.WriteLine("Got data " + line);

            //parse the received line and update the internal state accordingly...
            if (line.StartsWith("PWR"))
            {
                switch (line[3])
                {
                case '0':
                    this.MasterPowerState = PowerState.On;
                    break;

                case '1':
                    this.MasterPowerState = PowerState.Off;
                    break;

                default:
                    this.MasterPowerState = PowerState.Unknown;
                    break;
                }
            }
            else if (line.StartsWith("VOL"))
            {
                if (int.TryParse(line.Substring(3, 3), out var volume))
                {
                    if (volume == 0) //this is _mute
                    {
                        Volume = float.NaN;
                    }
                    else
                    {
                        Volume = (volume / 2f) + -80.5f;
                    }
                }
                else
                {
                    throw new Exception("Could not parse '" + line.Substring(3, 3) + "' ");
                }
            }
            else if (line.StartsWith("MUT"))
            {
                switch (line[3])
                {
                case '0':
                    this.Mute = PowerState.On;
                    break;

                case '1':
                    this.Mute = PowerState.Off;
                    break;

                default:
                    this.Mute = PowerState.Unknown;
                    break;
                }
            }
            else if (line.StartsWith("FN"))
            {
                var function = line.Substring(2, 2);
                {
                    foreach (var mode in InputModeCommands)
                    {
                        if (mode.Value == function)
                        {
                            this.InputMode = mode.Key;
                            break;
                        }
                    }
                }
            }
            else if (line.StartsWith("TR"))
            {
                if (!int.TryParse(line.Substring(2, 2), out var treble))
                {
                    throw new Exception("Could not parse " + line);
                }

                Treble = treble;
            }
            else if (line.StartsWith("BA"))
            {
                if (!int.TryParse(line.Substring(2, 2), out var bass))
                {
                    throw new Exception("Could not parse " + line);
                }

                Bass = bass;
            }
            else if (line.StartsWith("TO"))
            {
                if (!int.TryParse(line.Substring(2, 2), out var tone))
                {
                    throw new Exception("Could not parse " + line);
                }

                switch (tone)
                {
                case 0:
                    ToneStatus = Tone.Bypass;
                    break;

                case 1:
                    ToneStatus = Tone.On;
                    break;

                default:
                    ToneStatus = Tone.Unknown;
                    break;
                }
            }
            else if (line.StartsWith("SR0"))
            {
                var listenMode = line.Substring(3, 3);
                foreach (var mode in ListeningModeCommands)
                {
                    if (mode.Value == listenMode)
                    {
                        this.ListenMode = mode.Key;
                        break;
                    }
                }
            }

            OnStatusChanged();
        }
 private void btnAction_Click(object sender, EventArgs e)
 {
   if (m_mode == ListeningMode.NotListening)
   {
     btnAction.Text = "Stop";
     m_mode = ListeningMode.Listening;
     m_lastClicked = null;
     m_range.Clear();
   }
   else // am already listening
   {
     btnAction.Text = "Start";
     m_mode = ListeningMode.NotListening;
     rebuild();
   }
 }
Beispiel #5
0
 public ListeningModeSet(ListeningMode mode)
 {
     parameters.Add(mode.ToString("X").PadLeft(4, '0'));
 }