Example #1
0
    public MainWindow() : base(Gtk.WindowType.Toplevel)
    {
        Build();
        _conv = new EqualTemperedConverter();
        foreach (var letter in Enum.GetValues(typeof(NoteLetter)))
        {
            cmbNote.AppendText(letter.ToString());
            cmbAnchorNote.AppendText(letter.ToString());
        }
        for (int i = 0; i < 9; ++i)
        {
            cmbOctave.AppendText(i.ToString());
            cmbAnchorOctave.AppendText(i.ToString());
        }
        SetCurrentFrequency(440.0);
        SetCurrentNote(CalculateNote(440.0));
        cmbAnchorNote.Active    = (int)NoteLetter.A;
        cmbAnchorOctave.Active  = 4;
        entAnchorFrequency.Text = "440";
        _conv.Anchor            = ReadAnchorNote();
        _anchorJustChanged      = false;

        hscFrequency.ChangeValue   += OnHscFrequencyValueChanged;
        entFrequency.Changed       += OnEntFrequencyChanged;
        cmbOctave.Changed          += OnNoteChanged;
        cmbNote.Changed            += OnNoteChanged;
        cmbAnchorNote.Changed      += OnAnchorNoteChanged;
        cmbAnchorOctave.Changed    += OnAnchorNoteChanged;
        entAnchorFrequency.Changed += OnAnchorNoteChanged;
        MotionNotifyEvent          += delegate {
            _anchorJustChanged = false;
        };
    }
Example #2
0
 public void Init()
 {
     conv         = new EqualTemperedConverter();
     notesToCheck = Support.CreateNotesCheckListForA440();
 }