Esempio n. 1
0
        void lstMarkers_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            try
            {
                FrequencyMarker marker = GetSelected();

                Tuner tuner = GetTuner();

                if (marker != null && tuner != null)
                {
                    tuner.SetFrequency(marker.Frequency);
                }
            }
            catch (Exception)
            {
            }
        }
Esempio n. 2
0
        public bool SetFrequency(long frequency)
        {
            long freqMaster = frequency;
            long freqSlave  = MasterTuner.IntermediateFrequency;

            if (MasterTunerFreqSteps > 0)
            {
                freqMaster = (frequency / MasterTunerFreqSteps) * MasterTunerFreqSteps;
            }

            long delta = frequency - freqMaster;

            if (MasterTuner.InvertedSpectrum)
            {
                freqSlave -= delta;
            }
            else
            {
                freqSlave += delta;
            }

            Log.AddMessage("-> " + frequency + "  = M: " + freqMaster + " S: " + (freqSlave + MasterTuner.IntermediateFrequency));

            if (!SlaveTuner.SetFrequency(freqSlave))
            {
                return(false);
            }
            if (!MasterTuner.SetFrequency(freqMaster))
            {
                return(false);
            }

            CurrentFrequency = frequency;

            return(true);
        }
Esempio n. 3
0
        void lstMarkers_MouseClick(object sender, System.Windows.Forms.MouseEventArgs e)
        {
            try
            {
                switch (e.Button)
                {
                case MouseButtons.Right:
                    FrequencyMarker marker = GetSelected();
                    Tuner           tuner  = GetTuner();

                    if (marker != null)
                    {
                        ContextMenu contextMenu = new ContextMenu();
                        MenuItem    menuItem;
                        menuItem         = new MenuItem("Marker: " + marker.Label);
                        menuItem.Enabled = false;
                        contextMenu.MenuItems.Add(menuItem);

                        menuItem         = new MenuItem("-");
                        menuItem.Enabled = false;
                        contextMenu.MenuItems.Add(menuItem);

                        menuItem         = new MenuItem("Jump to");
                        menuItem.Enabled = (tuner == null);
                        menuItem.Click  += (object s, EventArgs a) =>
                        {
                            tuner.SetFrequency(marker.Frequency);
                        };
                        contextMenu.MenuItems.Add(menuItem);

                        menuItem         = new MenuItem("-");
                        menuItem.Enabled = false;
                        contextMenu.MenuItems.Add(menuItem);

                        menuItem        = new MenuItem("Edit...");
                        menuItem.Click += (object s, EventArgs a) =>
                        {
                            MarkerDetailsDialog dlg = new MarkerDetailsDialog(marker);
                            dlg.ShowDialog();
                            UpdateMarkerList();
                        };
                        contextMenu.MenuItems.Add(menuItem);

                        menuItem        = new MenuItem("Delete");
                        menuItem.Click += (object s, EventArgs a) =>
                        {
                            MarkerList.Remove(marker);
                            UpdateMarkerList();
                        };
                        contextMenu.MenuItems.Add(menuItem);

                        menuItem         = new MenuItem("-");
                        menuItem.Enabled = false;
                        contextMenu.MenuItems.Add(menuItem);


                        bool              demodulation = MainScreen.MarkerDemodulators.ContainsKey(marker);
                        AudioDemodulator  Demod        = null;
                        DemodulationState DemodState   = null;

                        if (demodulation)
                        {
                            Demod      = MainScreen.MarkerDemodulators[marker];
                            DemodState = Demod.DemodState;

                            menuItem         = new MenuItem("Demodulate");
                            menuItem.Checked = true;
                            menuItem.Click  += (object s, EventArgs a) =>
                            {
                                if (DemodState.Dialog != null)
                                {
                                    DemodState.Dialog.Close();
                                    DemodState.Dialog = null;
                                }
                                Demod.Stop();
                                Demod.Close();

                                MainScreen.MarkerDemodulators.Remove(marker);
                            };
                            contextMenu.MenuItems.Add(menuItem);

                            menuItem         = new MenuItem("Demodulation Options...");
                            menuItem.Checked = (DemodState.Dialog != null);
                            menuItem.Click  += (object s, EventArgs a) =>
                            {
                                if (DemodState.Dialog != null)
                                {
                                    DemodState.Dialog.Close();
                                    DemodState.Dialog = null;
                                }
                                else
                                {
                                    DemodState.Dialog = new DemodulationDialog(DemodState);
                                    DemodState.Dialog.FrequencyFixed = true;
                                    DemodState.Dialog.Show();
                                }
                            };

                            contextMenu.MenuItems.Add(menuItem);
                        }
                        else
                        {
                            menuItem        = new MenuItem("Demodulate");
                            menuItem.Click += (object s, EventArgs a) =>
                            {
                                Demod      = new AudioDemodulator();
                                DemodState = Demod.DemodState;
                                DemodState.BaseFrequency = tuner.GetFrequency();
                                DemodState.DemodulationFrequencyMarker = marker.Frequency;
                                DemodState.Description = marker.Label;

                                MainScreen.MarkerDemodulators.Add(marker, Demod);

                                DemodState.Dialog = new DemodulationDialog(DemodState);
                                DemodState.Dialog.FrequencyFixed = true;
                                DemodState.Dialog.Show();
                                DemodState.Dialog.UpdateInformation();

                                Demod.Start(MainScreen.AudioShmem);
                            };

                            contextMenu.MenuItems.Add(menuItem);

                            menuItem         = new MenuItem("Demodulation Options...");
                            menuItem.Enabled = false;
                            contextMenu.MenuItems.Add(menuItem);
                        }

                        Point popupPos = this.PointToClient(MousePosition);

                        popupPos.X -= 20;
                        popupPos.Y -= 20;
                        contextMenu.Show(this, popupPos);
                    }
                    break;
                }
            }
            catch (Exception)
            {
            }
        }