ardour
patch_change_dialog.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2010 Paul Davis
3  Author: Carl Hetherington <cth@carlh.net>
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; either version 2 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program; if not, write to the Free Software
17  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 
19 */
20 
21 #include <gtkmm/spinbutton.h>
22 #include <gtkmm/comboboxtext.h>
23 
24 #include "evoral/PatchChange.hpp"
25 #include "ardour_dialog.h"
26 #include "audio_clock.h"
27 
28 namespace ARDOUR {
29  class BeatsFramesConverter;
30  class Session;
31  class InstrumentInfo;
32 }
33 
34 namespace MIDI {
35  namespace Name {
36  class PatchBank;
37  }
38 }
39 
41 {
42 public:
48  const Gtk::BuiltinStockID &,
49  bool allow_delete = false
50  );
51 
53 
54 private:
55  void fill_bank_combo ();
56  void set_active_bank_combo ();
57  void fill_patch_combo ();
58  void set_active_patch_combo ();
59  void bank_combo_changed ();
60  void patch_combo_changed ();
61  void channel_changed ();
62  void bank_changed ();
63  void program_changed ();
64 
68  Gtk::SpinButton _channel;
69  Gtk::SpinButton _program;
70  Gtk::SpinButton _bank;
71  Gtk::ComboBoxText _bank_combo;
72  Gtk::ComboBoxText _patch_combo;
73 
76 
79 };
Gtk::SpinButton _bank
const ARDOUR::BeatsFramesConverter * _time_converter
Gtk::SpinButton _channel
boost::shared_ptr< MIDI::Name::PatchBank > _current_patch_bank
Evoral::PatchChange< Evoral::Beats > patch() const
Definition: amp.h:29
Gtk::ComboBoxText _bank_combo
Gtk::SpinButton _program
ARDOUR::InstrumentInfo & _info
Gtk::ComboBoxText _patch_combo
PBD::ScopedConnection _info_changed_connection
PatchChangeDialog(const ARDOUR::BeatsFramesConverter *, ARDOUR::Session *, Evoral::PatchChange< Evoral::Beats > const &, ARDOUR::InstrumentInfo &, const Gtk::BuiltinStockID &, bool allow_delete=false)
Definition: ardour.h:41