1 /*
2 * Copyright (C) 2012-2016 Paul Davis <paul@linuxaudiosystems.com>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program; if not, write to the Free Software Foundation, Inc.,
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17 */
18
19 #include <gtkmm/stock.h>
20
21 #include "midi_velocity_dialog.h"
22
23 #include "pbd/i18n.h"
24
25 using namespace Gtk;
26
MidiVelocityDialog(uint8_t current_velocity)27 MidiVelocityDialog::MidiVelocityDialog (uint8_t current_velocity)
28 : ArdourDialog (X_("Note Velocity"), true)
29 , adjustment (current_velocity, 0, 127, 1, 16)
30 , spinner (adjustment)
31 , label (_("New velocity"))
32 {
33 spinner.show ();
34 label.show ();
35 packer.show ();
36
37 packer.pack_start (label, false, false);
38 packer.pack_start (spinner, false, false);
39
40 get_vbox()->pack_start (packer);
41
42 add_button (Stock::CANCEL, RESPONSE_CANCEL);
43 add_button (Stock::OK, RESPONSE_OK);
44
45 spinner.signal_activate().connect (sigc::bind (sigc::mem_fun (*this, &MidiVelocityDialog::response), Gtk::RESPONSE_OK));
46 }
47
48 uint8_t
velocity() const49 MidiVelocityDialog::velocity () const
50 {
51 return (uint8_t) adjustment.get_value();
52 }
53