factor out shuttle controller to its own class, new design
[ardour2.git] / gtk2_ardour / patch_change_dialog.h
blob02eb311d484f529304d2afd97e25b1fed259a2af
1 /*
2 Copyright (C) 2010 Paul Davis
3 Author: Carl Hetherington <cth@carlh.net>
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.
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.
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.
21 #include <gtkmm/spinbutton.h>
22 #include "evoral/PatchChange.hpp"
23 #include "ardour_dialog.h"
24 #include "audio_clock.h"
26 namespace ARDOUR {
27 class BeatsFramesConverter;
28 class Session;
31 class PatchChangeDialog : public ArdourDialog
33 public:
34 PatchChangeDialog (
35 const ARDOUR::BeatsFramesConverter *,
36 ARDOUR::Session *,
37 Evoral::PatchChange<Evoral::MusicalTime> const &,
38 const Gtk::BuiltinStockID &
41 Evoral::PatchChange<Evoral::MusicalTime> patch () const;
43 private:
44 const ARDOUR::BeatsFramesConverter* _time_converter;
45 AudioClock _time;
46 Gtk::SpinButton _channel;
47 Gtk::SpinButton _program;
48 Gtk::SpinButton _bank;