Ardour  9.0-pre0-386-g96ef4d20f2
slot_properties_box.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2021 Paul Davis <paul@linuxaudiosystems.com>
3  * Copyright (C) 2021 Ben Loftis <ben@harrisonconsoles.com>
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 along
16  * with this program; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18  */
19 
20 #pragma once
21 
22 #include <map>
23 
24 #include <gtkmm/box.h>
25 #include <gtkmm/label.h>
26 #include "gtkmm/sizegroup.h"
27 #include <gtkmm/table.h>
28 
29 #include "ardour/ardour.h"
30 #include "ardour/session_handle.h"
31 
32 #include "widgets/ardour_button.h"
35 
36 #include "gtkmm2ext/cairo_packer.h"
37 
38 #include "patch_change_widget.h"
39 #include "trigger_ui.h"
40 
41 namespace ARDOUR {
42  class Session;
43  class Location;
44 }
45 
49 class MidiCueEditor;
50 class ClipEditorBox;
51 
52 class SlotPropertyTable : public TriggerUI, public Gtk::Table
53 {
54  public:
57 
58  virtual void on_trigger_set ();
59 
60  Glib::RefPtr<Gtk::SizeGroup> _follow_size_group;
61 
64 
66 
69 
73 
77 
80 
84 
89 
92 
96 
99 
105 
107 
109 
111 
113 
116  void set_follow_action (ARDOUR::FollowAction const &, uint64_t);
117 
119 
123 
125 
127 
130 
133 
135 
136 private:
138 
140 };
141 
143 {
144  public:
147 
148  private:
150 };
151 
153 {
154 public:
157 
159 
161 
162 private:
164 
166 
168 };
169 
170 /* XXX probably for testing only */
171 
173 {
174  public:
176 
179 
184 };
SlotPropertyWidget * _triggerwidget
void set_session(ARDOUR::Session *)
void set_slot(ARDOUR::TriggerReference)
void velocity_adjusted()
Gtk::SpinButton _gain_spinner
Gtk::Label _right_probability_label
Gtk::Adjustment _follow_count_adjustment
Gtk::Adjustment _follow_probability_adjustment
void set_follow_action(ARDOUR::FollowAction const &, uint64_t)
ArdourWidgets::ArdourButton _isolate_button
Gtk::Label _left_probability_label
void on_trigger_changed(PBD::PropertyChange const &)
bool legato_button_event(GdkEvent *)
ArdourWidgets::ArdourDropdown _follow_left
ArdourWidgets::ArdourButton _color_button
void set_quantize(Temporal::BBT_Offset)
ArdourWidgets::ArdourButton _patch_button
Glib::RefPtr< Gtk::SizeGroup > _follow_size_group
Gtk::Adjustment _follow_length_adjustment
ArdourWidgets::ArdourButton _legato_button
void follow_count_event()
bool use_follow_length_event(GdkEvent *)
Gtk::SpinButton _follow_count_spinner
void set_launch_style(ARDOUR::Trigger::LaunchStyle)
Gtk::Label _follow_length_label
ArdourWidgets::ArdourDropdown _launch_style_button
void follow_length_event()
PatchChangeTriggerWindow _patch_change_window
void gain_change_event()
ArdourWidgets::ArdourButton _allow_button
Gtk::Label _launch_quant_label
bool allow_button_event(GdkEvent *)
Gtk::Adjustment _velocity_adjustment
Gtk::Label _launch_style_label
ArdourWidgets::ArdourDropdown _follow_right
ArdourWidgets::HSliderController _follow_probability_slider
bool isolate_button_event(GdkEvent *)
virtual void on_trigger_set()
Gtk::Label _follow_count_label
Gtk::SpinButton _follow_length_spinner
ArdourWidgets::ArdourDropdown _quantize_button
ArdourWidgets::HSliderController _velocity_slider
void probability_adjusted()
ArdourWidgets::ArdourButton _load_button
ArdourWidgets::ArdourButton _use_follow_length_button
void patch_button_event()
Gtk::Adjustment _gain_adjustment
SlotPropertyTable * ui
void set_trigger(ARDOUR::TriggerReference tr) const
bool on_key_press_event(GdkEventKey *)
This is a default handler for the signal signal_key_press_event().
TriggerPropertiesBox * _trig_box
ClipEditorBox * _trim_box
RegionOperationsBox * _ops_box
bool on_key_release_event(GdkEventKey *)
This is a default handler for the signal signal_key_release_event().
MidiCueEditor * _midi_editor
SlotPropertyWindow(ARDOUR::TriggerReference)
void set_trigger(ARDOUR::TriggerReference)