summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/editor.cc')
-rw-r--r--gtk2_ardour/editor.cc82
1 files changed, 81 insertions, 1 deletions
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc
index 7da62d743f..952e5b098a 100644
--- a/gtk2_ardour/editor.cc
+++ b/gtk2_ardour/editor.cc
@@ -368,6 +368,7 @@ Editor::Editor ()
build_cursors ();
setup_toolbar ();
+ setup_midi_toolbar ();
edit_cursor_clock.ValueChanged.connect (mem_fun(*this, &Editor::edit_cursor_clock_changed));
@@ -667,7 +668,8 @@ Editor::Editor ()
edit_pane.signal_size_allocate().connect (bind (mem_fun(*this, &Editor::pane_allocation_handler), static_cast<Paned*> (&edit_pane)));
- top_hbox.pack_start (toolbar_frame, true, true);
+ top_hbox.pack_start (toolbar_frame, false, true);
+ top_hbox.pack_start (midi_toolbar_frame, false, true);
HBox *hbox = manage (new HBox);
hbox->pack_start (edit_pane, true, true);
@@ -2575,6 +2577,84 @@ Editor::setup_toolbar ()
toolbar_frame.add (toolbar_base);
}
+
+void
+Editor::setup_midi_toolbar ()
+{
+ string pixmap_path;
+
+ /* Mode Buttons (tool selection) */
+
+ vector<ToggleButton *> midi_tool_buttons;
+
+ midi_tool_select_button.add (*(manage (new Image (::get_icon("midi_tool_select")))));
+ midi_tool_select_button.set_relief(Gtk::RELIEF_NONE);
+ midi_tool_buttons.push_back (&midi_tool_select_button);
+ midi_tool_pencil_button.add (*(manage (new Image (::get_icon("midi_tool_pencil")))));
+ midi_tool_pencil_button.set_relief(Gtk::RELIEF_NONE);
+ midi_tool_buttons.push_back (&midi_tool_pencil_button);
+ midi_tool_erase_button.add (*(manage (new Image (::get_icon("midi_tool_erase")))));
+ midi_tool_erase_button.set_relief(Gtk::RELIEF_NONE);
+ midi_tool_buttons.push_back (&midi_tool_erase_button);
+
+ midi_tool_select_button.set_active(true);
+
+ midi_tool_button_set = new GroupedButtons (midi_tool_buttons);
+
+ midi_tool_button_box.set_border_width (2);
+ midi_tool_button_box.set_spacing(4);
+ midi_tool_button_box.set_spacing(1);
+ midi_tool_button_box.pack_start(midi_tool_select_button, true, true);
+ midi_tool_button_box.pack_start(midi_tool_pencil_button, true, true);
+ midi_tool_button_box.pack_start(midi_tool_erase_button, true, true);
+ midi_tool_button_box.set_homogeneous(true);
+
+ midi_tool_select_button.set_name ("MouseModeButton");
+ midi_tool_pencil_button.set_name ("MouseModeButton");
+ midi_tool_erase_button.set_name ("MouseModeButton");
+
+ ARDOUR_UI::instance()->tooltips().set_tip (midi_tool_select_button, _("Select/Move Notes"));
+ ARDOUR_UI::instance()->tooltips().set_tip (midi_tool_pencil_button, _("Add/Move/Stretch Notes"));
+ ARDOUR_UI::instance()->tooltips().set_tip (midi_tool_erase_button, _("Erase Notes"));
+
+ midi_tool_select_button.unset_flags (CAN_FOCUS);
+ midi_tool_pencil_button.unset_flags (CAN_FOCUS);
+ midi_tool_erase_button.unset_flags (CAN_FOCUS);
+
+
+ /* Pack everything in... */
+
+ midi_tools_tearoff = new TearOff (midi_tool_button_box);
+ midi_tools_tearoff->set_name ("MouseModeBase");
+
+ /*
+ midi_tools_tearoff->Detach.connect (bind (mem_fun(*this, &Editor::detach_tearoff), static_cast<Box*>(&midi_toolbar_hbox),
+ &midi_tools_tearoff->tearoff_window()));
+ midi_tools_tearoff->Attach.connect (bind (mem_fun(*this, &Editor::reattach_tearoff), static_cast<Box*> (&midi_toolbar_hbox),
+ &midi_tools_tearoff->tearoff_window(), 0));
+ midi_tools_tearoff->Hidden.connect (bind (mem_fun(*this, &Editor::detach_tearoff), static_cast<Box*>(&midi_toolbar_hbox),
+ &midi_tools_tearoff->tearoff_window()));
+ midi_tools_tearoff->Visible.connect (bind (mem_fun(*this, &Editor::reattach_tearoff), static_cast<Box*> (&midi_toolbar_hbox),
+ &midi_tools_tearoff->tearoff_window(), 0));
+ */
+
+ midi_toolbar_hbox.set_spacing (10);
+ midi_toolbar_hbox.set_border_width (1);
+
+ midi_toolbar_hbox.pack_start (*midi_tools_tearoff, false, true);
+
+ midi_tool_button_box.show_all ();
+ midi_toolbar_hbox.show_all();
+ midi_tools_tearoff->show_all();
+
+ midi_toolbar_base.set_name ("ToolBarBase");
+ midi_toolbar_base.add (midi_toolbar_hbox);
+
+ midi_toolbar_frame.set_shadow_type (SHADOW_OUT);
+ midi_toolbar_frame.set_name ("BaseFrame");
+ midi_toolbar_frame.add (midi_toolbar_base);
+}
+
int
Editor::convert_drop_to_paths (vector<ustring>& paths,
const RefPtr<Gdk::DragContext>& context,