summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorHans Baier <hansfbaier@googlemail.com>2009-01-21 10:20:27 +0000
committerHans Baier <hansfbaier@googlemail.com>2009-01-21 10:20:27 +0000
commit5309c327ec96de33838e45ddb1489a632c2a4c68 (patch)
tree78cbc9083966e2a42cb8d6a15b0053e6681e9572 /gtk2_ardour
parent33852a0728d081864b83e74e900802be7ab6f2aa (diff)
* make MIDI-specific menu show up on all MIDI lanes
* style guide, comments and a little refactoring (remove duplication) git-svn-id: svn://localhost/ardour2/branches/3.0@4422 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/automation_line.cc12
-rw-r--r--gtk2_ardour/automation_line.h29
-rw-r--r--gtk2_ardour/automation_time_axis.cc14
-rw-r--r--gtk2_ardour/midi_time_axis.cc6
4 files changed, 33 insertions, 28 deletions
diff --git a/gtk2_ardour/automation_line.cc b/gtk2_ardour/automation_line.cc
index f06cbee510..102a3fd29c 100644
--- a/gtk2_ardour/automation_line.cc
+++ b/gtk2_ardour/automation_line.cc
@@ -116,8 +116,9 @@ AutomationLine::queue_reset ()
void
AutomationLine::show ()
{
- if (_interpolation != AutomationList::Discrete)
+ if (_interpolation != AutomationList::Discrete) {
line->show();
+ }
if (points_visible) {
for (vector<ControlPoint*>::iterator i = control_points.begin(); i != control_points.end(); ++i) {
@@ -629,8 +630,9 @@ AutomationLine::determine_visible_control_points (ALPoints& points)
line->property_points() = line_points;
- if (_visible && _interpolation != AutomationList::Discrete)
+ if (_visible && _interpolation != AutomationList::Discrete) {
line->show();
+ }
}
@@ -1201,8 +1203,9 @@ AutomationLine::show_all_control_points ()
void
AutomationLine::hide_all_but_selected_control_points ()
{
- if (alist->interpolation() == AutomationList::Discrete)
+ if (alist->interpolation() == AutomationList::Discrete) {
return;
+ }
points_visible = false;
@@ -1216,8 +1219,9 @@ AutomationLine::hide_all_but_selected_control_points ()
void
AutomationLine::track_entered()
{
- if (alist->interpolation() != AutomationList::Discrete)
+ if (alist->interpolation() != AutomationList::Discrete) {
show_all_control_points();
+ }
}
void
diff --git a/gtk2_ardour/automation_line.h b/gtk2_ardour/automation_line.h
index 3444de3cb2..6cf3b5ade6 100644
--- a/gtk2_ardour/automation_line.h
+++ b/gtk2_ardour/automation_line.h
@@ -106,8 +106,8 @@ class AutomationLine : public sigc::trackable, public PBD::StatefulThingWithGoin
string get_verbose_cursor_string (double) const;
string fraction_to_string (double) const;
double string_to_fraction (string const &) const;
- void view_to_model_y (double&) const;
- void model_to_view_y (double&) const;
+ void view_to_model_y (double&) const;
+ void model_to_view_y (double&) const;
void set_list(boost::shared_ptr<ARDOUR::AutomationList> list);
boost::shared_ptr<ARDOUR::AutomationList> the_list() const { return alist; }
@@ -129,23 +129,24 @@ class AutomationLine : public sigc::trackable, public PBD::StatefulThingWithGoin
protected:
- string _name;
- guint32 _height;
- uint32_t _line_color;
+ string _name;
+ guint32 _height;
+ uint32_t _line_color;
+
boost::shared_ptr<ARDOUR::AutomationList> alist;
- bool _visible : 1;
- bool _uses_gain_mapping : 1;
+ bool _visible : 1;
+ bool _uses_gain_mapping : 1;
bool terminal_points_can_slide : 1;
- bool update_pending : 1;
- bool no_draw : 1;
- bool points_visible : 1;
+ bool update_pending : 1;
+ bool no_draw : 1;
+ bool points_visible : 1;
bool did_push;
- ArdourCanvas::Group& _parent_group;
- ArdourCanvas::Group* group;
- ArdourCanvas::Line* line; /* line */
- ArdourCanvas::Points line_points; /* coordinates for canvas line */
+ ArdourCanvas::Group& _parent_group;
+ ArdourCanvas::Group* group;
+ ArdourCanvas::Line* line; /* line */
+ ArdourCanvas::Points line_points; /* coordinates for canvas line */
std::vector<ControlPoint*> control_points; /* visible control points */
struct ALPoint {
diff --git a/gtk2_ardour/automation_time_axis.cc b/gtk2_ardour/automation_time_axis.cc
index b7ed914926..e3b5ee9f4c 100644
--- a/gtk2_ardour/automation_time_axis.cc
+++ b/gtk2_ardour/automation_time_axis.cc
@@ -349,24 +349,27 @@ AutomationTimeAxisView::interpolation_changed ()
}
}
- if (_line)
+ if (_line) {
_line->set_interpolation(style);
+ }
}
void
AutomationTimeAxisView::set_interpolation (AutomationList::InterpolationStyle style)
{
_control->list()->set_interpolation(style);
- if (_line)
+ if (_line) {
_line->set_interpolation(style);
+ }
}
void
AutomationTimeAxisView::clear_clicked ()
{
_session.begin_reversible_command (_("clear automation"));
- if (_line)
+ if (_line) {
_line->clear ();
+ }
_session.commit_reversible_command ();
}
@@ -524,8 +527,9 @@ AutomationTimeAxisView::build_display_menu ()
items.push_back (MenuElem (_("State"), *auto_state_menu));
/* mode menu */
-
- if (_control->parameter().type() == MidiCCAutomation) {
+
+ if ( EventTypeMap::instance().is_midi_parameter(_control->parameter()) ) {
+
Menu* auto_mode_menu = manage (new Menu);
auto_mode_menu->set_name ("ArdourContextMenu");
MenuList& am_items = auto_mode_menu->items();
diff --git a/gtk2_ardour/midi_time_axis.cc b/gtk2_ardour/midi_time_axis.cc
index 9f3da122c5..c482c744cf 100644
--- a/gtk2_ardour/midi_time_axis.cc
+++ b/gtk2_ardour/midi_time_axis.cc
@@ -469,11 +469,7 @@ MidiTimeAxisView::add_cc_track()
void
MidiTimeAxisView::add_parameter_track(const Evoral::Parameter& param)
{
- if ( param.type() != MidiCCAutomation &&
- param.type() != MidiPgmChangeAutomation &&
- param.type() != MidiPitchBenderAutomation &&
- param.type() != MidiChannelPressureAutomation
- ) {
+ if ( !EventTypeMap::instance().is_midi_parameter(param) ) {
error << "MidiTimeAxisView: unknown automation child "
<< ARDOUR::EventTypeMap::instance().to_symbol(param) << endmsg;
return;