/// <summary> /// Returns true if a preset pre-exists with a given frequency /// </summary> /// <param name="freq">frequency to check for</param> /// <returns>true if found, false if not</returns> private bool HasPresetWithFrequency(int freq) { foreach (UserPresetItem i in frequencyPresets) { MicrowaveFrequencyPreset p = i as MicrowaveFrequencyPreset; if (p != null) { if (p.Frequency == freq) { return(true); } } } return(false); }
void scanner_ScanCompleted(object sender, ScanCompleteEvent e) { AppLogger.Message("MicrowaveControlService scanner_ScanCompleted"); ChannelScanCompleteEventArgs argsToClient = new ChannelScanCompleteEventArgs(); argsToClient.Cancelled = !scanInProgress; argsToClient.ChannelsFound = e.PeakDictionary.Count; scanInProgress = false; FireChannelScanCompleted(argsToClient); lock (_userLock) { AppLogger.Message(" removing old scan presets"); List <Guid> autoGeneratedIDs = new List <Guid>(); foreach (UserPresetItem i in frequencyPresets) { if (i is MicrowaveFrequencyPreset) { if (((MicrowaveFrequencyPreset)i).AutoGenerated) { autoGeneratedIDs.Add(i.ID); } } } foreach (Guid id in autoGeneratedIDs) { frequencyPresets.Remove(id); } AppLogger.Message(" adding new presets"); foreach (MicrowaveTuning freq in e.PeakDictionary.Keys) { if (!HasPresetWithFrequency((int)freq.FrequencyMHz)) { MicrowaveFrequencyPreset p = new MicrowaveFrequencyPreset((int)freq.FrequencyMHz); p.AutoGenerated = true; frequencyPresets.Add(p); } } } FirePresetsChanged(); }
public UserPresetItem SavePreset() { lock (_userLock) { AppLogger.Message("MicrowaveControlService.SavePreset"); try { MicrowaveFrequencyPreset item = new MicrowaveFrequencyPreset((int)microwaveReceiver.GetTuning().FrequencyMHz); frequencyPresets.Add(item); return(item); } catch (Exception exc) { AppLogger.Dump(exc); return(null); } } }
public void RestorePreset(Guid id) { MicrowaveFrequencyPreset item = null; lock (_userLock) { AppLogger.Message("MicrowaveControlService.RestorePreset " + id); try { item = frequencyPresets[id] as MicrowaveFrequencyPreset; } catch (Exception exc) { AppLogger.Dump(exc); } } if (item != null) { this.SetFrequency(item.Frequency); } }