private void OnNewPreset(object o, EventArgs args) { EqualizerSetting eq = new EqualizerSetting(Catalog.GetString("New Preset")); EqualizerManager.Instance.Add(eq); eq_preset_combo.ActiveEqualizer = eq; eq_preset_combo.Entry.SelectRegion(0, eq_preset_combo.Entry.Text.Length); }
private bool GetIterForEqualizerSetting(EqualizerSetting eq, out TreeIter iter) { for (int i = 0, n = store.IterNChildren(); i < n; i++) { if (store.IterNthChild(out iter, i) && store.GetValue(iter, 1) == eq) { return(true); } } iter = TreeIter.Zero; return(false); }
private void HandleStateChange(PlayerEventStateChangeArgs args) { if (args.Current == PlayerState.Loaded && CurrentTrack != null) { active_engine.Volume = (ushort)VolumeSchema.Get(); MetadataService.Instance.Lookup(CurrentTrack); } else if (args.Current == PlayerState.Ready) { // Enable our preferred equalizer if it exists and was enabled last time. if (SupportsEqualizer && EqualizerSetting.EnabledSchema.Get()) { string name = EqualizerSetting.PresetSchema.Get(); if (!String.IsNullOrEmpty(name)) { // Don't use EqualizerManager.Instance - used by the eq dialog window. EqualizerManager manager = new EqualizerManager(EqualizerManager.Instance.Path); manager.Load(); EqualizerSetting equalizer = null; foreach (EqualizerSetting eq in manager) { if (eq.Name == name) { equalizer = eq; break; } } if (equalizer != null) { Log.DebugFormat("Enabling equalizer preset: {0}", equalizer.Name); manager.Enable(equalizer); } } } if (pending_playback_for_not_ready != null) { OpenCheck(pending_playback_for_not_ready, pending_playback_for_not_ready_play); pending_playback_for_not_ready = null; pending_playback_for_not_ready_play = false; } } DBusPlayerStateHandler dbus_handler = dbus_state_changed; if (dbus_handler != null) { dbus_handler(args.Current.ToString().ToLower()); } }
private void RemoveEqualizerSetting(EqualizerSetting eq) { TreeIter iter; if (GetIterForEqualizerSetting(eq, out iter)) { store.Remove(ref iter); } if (!ActivateFirstEqualizer()) { active_eq = null; if (Entry != null) { Entry.Text = String.Empty; } } }
private void AddEqualizerSetting(EqualizerSetting eq) { if (!eq.IsReadOnly) { user_count++; if (separator_iter.Equals(TreeIter.Zero)) { // FIXME: Very strange bug if (null, null) is stored // here regarding RowSeparatorFunc - not sure where the // bug might be, but I'm 99% sure this is a bug in GTK+ // or Gtk#. I demand answers! Thanks to Sandy Armstrong // for thinking outside of his box. separator_iter = store.AppendValues(String.Empty, null); } } store.AppendValues(eq.Name, eq); }
protected override void OnChanged() { EqualizerSetting eq = ActiveEqualizer; if (eq != null) { active_eq = eq; } else if (eq == null && active_eq == null) { base.OnChanged(); return; } else if (eq == null) { eq = active_eq; } if (Entry == null) { return; } eq.Name = Entry.Text; TreeIter iter; if (GetIterForEqualizerSetting(eq, out iter)) { store.SetValue(iter, 0, eq.Name); } if (eq != ActiveEqualizer) { ActiveEqualizer = eq; base.OnChanged(); } }
private void RemoveEqualizerSetting(EqualizerSetting eq) { TreeIter iter; if (GetIterForEqualizerSetting(eq, out iter)) { if (!eq.IsReadOnly && --user_count <= 0) { user_count = 0; store.Remove(ref separator_iter); separator_iter = TreeIter.Zero; } store.Remove(ref iter); } if (!ActivateFirstEqualizer()) { active_eq = null; if (Entry != null) { Entry.Text = String.Empty; } } }
private void AddEqualizerSetting(EqualizerSetting eq) { store.AppendValues(eq.Name, eq); }
public bool ActivateFirstEqualizer() { TreeIter iter; if (store.IterNthChild (out iter, 0)) { ActiveEqualizer = GetEqualizerSettingForIter (iter); return true; } return false; }
private void RemoveEqualizerSetting(EqualizerSetting eq) { TreeIter iter; if (GetIterForEqualizerSetting (eq, out iter)) { if (!eq.IsReadOnly && --user_count <= 0) { user_count = 0; store.Remove (ref separator_iter); separator_iter = TreeIter.Zero; } store.Remove (ref iter); } if (!ActivateFirstEqualizer ()) { active_eq = null; if (Entry != null) { Entry.Text = String.Empty; } } }
private bool GetIterForEqualizerSetting(EqualizerSetting eq, out TreeIter iter) { for (int i = 0, n = store.IterNChildren (); i < n; i++) { if (store.IterNthChild (out iter, i) && store.GetValue (iter, 1) == eq) { return true; } } iter = TreeIter.Zero; return false; }
private void AddEqualizerSetting(EqualizerSetting eq) { if (!eq.IsReadOnly) { user_count++; if (separator_iter.Equals (TreeIter.Zero)) { // FIXME: Very strange bug if (null, null) is stored // here regarding RowSeparatorFunc - not sure where the // bug might be, but I'm 99% sure this is a bug in GTK+ // or Gtk#. I demand answers! Thanks to Sandy Armstrong // for thinking outside of his box. separator_iter = store.AppendValues (String.Empty, null); } } store.AppendValues (eq.Name, eq); }
protected override void OnChanged() { EqualizerSetting eq = ActiveEqualizer; if (eq != null) { active_eq = eq; } else if (eq == null && active_eq == null) { base.OnChanged (); return; } else if (eq == null) { eq = active_eq; } if (Entry == null || eq.IsReadOnly) { return; } eq.Name = Entry.Text; TreeIter iter; if (GetIterForEqualizerSetting (eq, out iter)) { store.SetValue (iter, 0, eq.Name); } if (eq != ActiveEqualizer) { ActiveEqualizer = eq; base.OnChanged (); } }