diff options
Diffstat (limited to 'gtk2_ardour/editor.cc')
-rw-r--r-- | gtk2_ardour/editor.cc | 194 |
1 files changed, 97 insertions, 97 deletions
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index a0dc2ffb09..dcf97ffaa8 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -420,35 +420,35 @@ Editor::Editor () tempo_label.set_padding (5,0); tempo_label.hide(); tempo_label.set_no_show_all(); - + meter_label.set_name ("EditorTimeButton"); meter_label.set_size_request (-1, (int)timebar_height); meter_label.set_alignment (1.0, 0.5); meter_label.set_padding (5,0); meter_label.hide(); meter_label.set_no_show_all(); - + mark_label.set_name ("EditorTimeButton"); mark_label.set_size_request (-1, (int)timebar_height); mark_label.set_alignment (1.0, 0.5); mark_label.set_padding (5,0); mark_label.hide(); mark_label.set_no_show_all(); - + cd_mark_label.set_name ("EditorTimeButton"); cd_mark_label.set_size_request (-1, (int)timebar_height); cd_mark_label.set_alignment (1.0, 0.5); cd_mark_label.set_padding (5,0); cd_mark_label.hide(); cd_mark_label.set_no_show_all(); - + range_mark_label.set_name ("EditorTimeButton"); range_mark_label.set_size_request (-1, (int)timebar_height); range_mark_label.set_alignment (1.0, 0.5); range_mark_label.set_padding (5,0); range_mark_label.hide(); range_mark_label.set_no_show_all(); - + transport_mark_label.set_name ("EditorTimeButton"); transport_mark_label.set_size_request (-1, (int)timebar_height); transport_mark_label.set_alignment (1.0, 0.5); @@ -458,14 +458,14 @@ Editor::Editor () initialize_rulers (); initialize_canvas (); - + _summary = new EditorSummary (this); selection->TimeChanged.connect (sigc::mem_fun(*this, &Editor::time_selection_changed)); selection->TracksChanged.connect (sigc::mem_fun(*this, &Editor::track_selection_changed)); - + editor_regions_selection_changed_connection = selection->RegionsChanged.connect (sigc::mem_fun(*this, &Editor::region_selection_changed)); - + selection->PointsChanged.connect (sigc::mem_fun(*this, &Editor::point_selection_changed)); selection->MarkersChanged.connect (sigc::mem_fun(*this, &Editor::marker_selection_changed)); @@ -491,10 +491,10 @@ Editor::Editor () ArdourCanvas::Canvas* time_pad = manage(new ArdourCanvas::Canvas()); ArdourCanvas::SimpleLine* pad_line_1 = manage(new ArdourCanvas::SimpleLine(*time_pad->root(), 0.0, 1.0, 100.0, 1.0)); - + pad_line_1->property_color_rgba() = 0xFF0000FF; pad_line_1->show(); - + time_pad->show(); time_canvas_vbox.set_size_request (-1, (int)(timebar_height * visible_timebars) + 2); @@ -567,12 +567,12 @@ Editor::Editor () summary_arrows_left_left->add (*manage (new Arrow (ARROW_LEFT, SHADOW_NONE))); summary_arrows_left_left->signal_pressed().connect (sigc::hide_return (sigc::bind (sigc::mem_fun (*this, &Editor::scroll_press), LEFT))); summary_arrows_left_left->signal_released().connect (sigc::mem_fun (*this, &Editor::scroll_release)); - + Button* summary_arrows_left_right = manage (new Button); summary_arrows_left_right->add (*manage (new Arrow (ARROW_RIGHT, SHADOW_NONE))); summary_arrows_left_right->signal_pressed().connect (sigc::hide_return (sigc::bind (sigc::mem_fun (*this, &Editor::scroll_press), RIGHT))); summary_arrows_left_right->signal_released().connect (sigc::mem_fun (*this, &Editor::scroll_release)); - + VBox* summary_arrows_left = manage (new VBox); summary_arrows_left->pack_start (*summary_arrows_left_left); summary_arrows_left->pack_start (*summary_arrows_left_right); @@ -581,26 +581,26 @@ Editor::Editor () summary_arrows_right_up->add (*manage (new Arrow (ARROW_UP, SHADOW_NONE))); summary_arrows_right_up->signal_pressed().connect (sigc::hide_return (sigc::bind (sigc::mem_fun (*this, &Editor::scroll_press), UP))); summary_arrows_right_up->signal_released().connect (sigc::mem_fun (*this, &Editor::scroll_release)); - + Button* summary_arrows_right_down = manage (new Button); summary_arrows_right_down->add (*manage (new Arrow (ARROW_DOWN, SHADOW_NONE))); summary_arrows_right_down->signal_pressed().connect (sigc::hide_return (sigc::bind (sigc::mem_fun (*this, &Editor::scroll_press), DOWN))); summary_arrows_right_down->signal_released().connect (sigc::mem_fun (*this, &Editor::scroll_release)); - + VBox* summary_arrows_right = manage (new VBox); summary_arrows_right->pack_start (*summary_arrows_right_up); summary_arrows_right->pack_start (*summary_arrows_right_down); Frame* summary_frame = manage (new Frame); summary_frame->set_shadow_type (Gtk::SHADOW_ETCHED_IN); - + summary_frame->add (*_summary); summary_frame->show (); _summary_hbox.pack_start (*summary_arrows_left, false, false); _summary_hbox.pack_start (*summary_frame, true, true); _summary_hbox.pack_start (*summary_arrows_right, false, false); - + editor_summary_pane.pack2 (_summary_hbox); edit_pane.pack1 (editor_summary_pane, true, true); @@ -703,7 +703,7 @@ Editor::Editor () ControlProtocol::ZoomOut.connect (*this, invalidator (*this), boost::bind (&Editor::temporal_zoom_step, this, true), gui_context()); ControlProtocol::ScrollTimeline.connect (*this, invalidator (*this), ui_bind (&Editor::control_scroll, this, _1), gui_context()); BasicUI::AccessAction.connect (*this, invalidator (*this), ui_bind (&Editor::access_action, this, _1, _2), gui_context()); - + /* problematic: has to return a value and thus cannot be x-thread */ Session::AskAboutPlaylistDeletion.connect_same_thread (*this, boost::bind (&Editor::playlist_deletion_dialog, this, _1)); @@ -1157,11 +1157,11 @@ Editor::set_session (Session *t) Location* loc = _session->locations()->auto_loop_location(); if (loc == 0) { loc = new Location (*_session, 0, _session->current_end_frame(), _("Loop"),(Location::Flags) (Location::IsAutoLoop | Location::IsHidden)); - + if (loc->start() == loc->end()) { loc->set_end (loc->start() + 1); } - + _session->locations()->add (loc, false); _session->set_auto_loop_location (loc); } else { @@ -1170,14 +1170,14 @@ Editor::set_session (Session *t) } loc = _session->locations()->auto_punch_location(); - + if (loc == 0) { loc = new Location (*_session, 0, _session->current_end_frame(), _("Punch"), (Location::Flags) (Location::IsAutoPunch | Location::IsHidden)); - + if (loc->start() == loc->end()) { loc->set_end (loc->start() + 1); } - + _session->locations()->add (loc, false); _session->set_auto_punch_location (loc); } else { @@ -1202,7 +1202,7 @@ Editor::set_session (Session *t) super_rapid_screen_update_connection = ARDOUR_UI::instance()->SuperRapidScreenUpdate.connect ( sigc::mem_fun (*this, &Editor::super_rapid_screen_update) ); - + switch (_snap_type) { case SnapToRegionStart: case SnapToRegionEnd: @@ -1268,10 +1268,10 @@ Editor::popup_fade_context_menu (int button, int32_t time, ArdourCanvas::Item* i items.push_back (SeparatorElem()); if (Profile->get_sae()) { - + items.push_back (MenuElem (_("Linear"), sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_in_shape), FadeLinear))); items.push_back (MenuElem (_("Slowest"), sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_in_shape), FadeFast))); - + } else { items.push_back ( @@ -1290,34 +1290,34 @@ Editor::popup_fade_context_menu (int button, int32_t time, ArdourCanvas::Item* i *_fade_in_images[FadeFast], sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_in_shape), FadeFast) )); - + dynamic_cast<ImageMenuItem*>(&items.back())->set_always_show_image (); - + items.push_back ( ImageMenuElem ( _("Slow"), *_fade_in_images[FadeLogB], sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_in_shape), FadeLogB) )); - + dynamic_cast<ImageMenuItem*>(&items.back())->set_always_show_image (); - + items.push_back ( ImageMenuElem ( _("Fast"), *_fade_in_images[FadeLogA], sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_in_shape), FadeLogA) )); - + dynamic_cast<ImageMenuItem*>(&items.back())->set_always_show_image (); - + items.push_back ( ImageMenuElem ( _("Fastest"), *_fade_in_images[FadeSlow], sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_in_shape), FadeSlow) )); - + dynamic_cast<ImageMenuItem*>(&items.back())->set_always_show_image (); } @@ -1354,34 +1354,34 @@ Editor::popup_fade_context_menu (int button, int32_t time, ArdourCanvas::Item* i *_fade_out_images[FadeFast], sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_out_shape), FadeSlow) )); - + dynamic_cast<ImageMenuItem*>(&items.back())->set_always_show_image (); - + items.push_back ( ImageMenuElem ( _("Slow"), *_fade_out_images[FadeLogB], sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_out_shape), FadeLogA) )); - + dynamic_cast<ImageMenuItem*>(&items.back())->set_always_show_image (); - + items.push_back ( ImageMenuElem ( _("Fast"), *_fade_out_images[FadeLogA], sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_out_shape), FadeLogB) )); - + dynamic_cast<ImageMenuItem*>(&items.back())->set_always_show_image (); - + items.push_back ( ImageMenuElem ( _("Fastest"), *_fade_out_images[FadeSlow], sigc::bind (sigc::mem_fun (*this, &Editor::set_fade_out_shape), FadeFast) )); - + dynamic_cast<ImageMenuItem*>(&items.back())->set_always_show_image (); } @@ -1744,13 +1744,13 @@ void Editor::add_region_context_items (Menu_Helpers::MenuList& edit_items, boost::shared_ptr<Track> track) { using namespace Menu_Helpers; - + /* OK, stick the region submenu at the top of the list, and then add the standard items. */ RegionSelection rs = get_regions_from_selection_and_entered (); - + string::size_type pos = 0; string menu_item_name = (rs.size() == 1) ? rs.front()->region()->name() : _("Selected Regions"); @@ -1775,7 +1775,7 @@ Editor::add_region_context_items (Menu_Helpers::MenuList& edit_items, boost::sha dialogue. If we use the edit point it gets a bit messy because the user still has to click over *some* region in order to get the region context menu stuff to be displayed at all. */ - + framepos_t mouse; bool ignored; mouse_frame (mouse, ignored); @@ -1816,7 +1816,7 @@ Editor::add_selection_context_items (Menu_Helpers::MenuList& edit_items) sigc::bind (sigc::mem_fun (*this, &Editor::move_range_selection_start_or_end_to_region_boundary), false, true) ) ); - + edit_items.push_back ( MenuElem ( _("Move Range End to Previous Region Boundary"), @@ -1830,7 +1830,7 @@ Editor::add_selection_context_items (Menu_Helpers::MenuList& edit_items) sigc::bind (sigc::mem_fun (*this, &Editor::move_range_selection_start_or_end_to_region_boundary), true, true) ) ); - + edit_items.push_back (SeparatorElem()); edit_items.push_back (MenuElem (_("Convert to Region In-Place"), mem_fun(*this, &Editor::separate_region_from_selection))); edit_items.push_back (MenuElem (_("Convert to Region in Region List"), sigc::mem_fun(*this, &Editor::new_region_from_selection))); @@ -2190,7 +2190,7 @@ Editor::set_state (const XMLNode& node, int /*version*/) set_default_size (g.base_width, g.base_height); move (x, y); - + if (_session && (prop = node.property ("playhead"))) { framepos_t pos; sscanf (prop->value().c_str(), "%" PRIi64, &pos); @@ -2198,7 +2198,7 @@ Editor::set_state (const XMLNode& node, int /*version*/) } else { playhead_cursor->set_position (0); } - + if ((prop = node.property ("mixer-width"))) { editor_mixer_strip_width = Width (string_2_enum (prop->value(), editor_mixer_strip_width)); } @@ -2292,7 +2292,7 @@ Editor::set_state (const XMLNode& node, int /*version*/) } } } - + if ((prop = node.property ("region-list-sort-type"))) { RegionListSortType st; _regions->reset_sort_type ((RegionListSortType) string_2_enum (prop->value(), st), true); @@ -2311,9 +2311,9 @@ Editor::set_state (const XMLNode& node, int /*version*/) Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic(act); bool yn = string_is_affirmative (prop->value()); - + /* do it twice to force the change */ - + tact->set_active (!yn); tact->set_active (yn); } @@ -2325,9 +2325,9 @@ Editor::set_state (const XMLNode& node, int /*version*/) Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic(act); bool yn = string_is_affirmative (prop->value()); - + /* do it twice to force the change */ - + tact->set_active (!yn); tact->set_active (yn); } @@ -2445,13 +2445,13 @@ Editor::get_state () XMLNode* bb = new XMLNode (X_("Buttons")); button_bindings->save (*bb); node->add_child_nocopy (*bb); - } + } node->add_property (X_("show-marker-lines"), _show_marker_lines ? "yes" : "no"); node->add_child_nocopy (selection->get_state ()); node->add_child_nocopy (_regions->get_state ()); - + return *node; } @@ -2849,7 +2849,7 @@ Editor::setup_toolbar () _zoom_box.pack_start (zoom_out_full_button, false, false); _zoom_box.pack_start (zoom_focus_selector); - + /* Track zoom buttons */ tav_expand_button.set_name ("TrackHeightButton"); tav_expand_button.set_size_request (-1, 20); @@ -2865,7 +2865,7 @@ Editor::setup_toolbar () _zoom_box.pack_start (tav_shrink_button); _zoom_box.pack_start (tav_expand_button); - + _zoom_tearoff = manage (new TearOff (_zoom_box)); _zoom_tearoff->Detach.connect (sigc::bind (sigc::mem_fun(*this, &Editor::detach_tearoff), static_cast<Box*>(&toolbar_hbox), @@ -2876,7 +2876,7 @@ Editor::setup_toolbar () &_zoom_tearoff->tearoff_window())); _zoom_tearoff->Visible.connect (sigc::bind (sigc::mem_fun(*this, &Editor::reattach_tearoff), static_cast<Box*> (&toolbar_hbox), &_zoom_tearoff->tearoff_window(), 0)); - + snap_box.set_spacing (1); snap_box.set_border_width (2); @@ -2918,7 +2918,7 @@ Editor::setup_toolbar () _tools_tearoff = manage (new TearOff (*hbox)); _tools_tearoff->set_name ("MouseModeBase"); _tools_tearoff->tearoff_window().signal_key_press_event().connect (sigc::bind (sigc::ptr_fun (relay_key_press), &_tools_tearoff->tearoff_window()), false); - + if (Profile->get_sae()) { _tools_tearoff->set_can_be_torn_off (false); } @@ -2959,7 +2959,7 @@ Editor::setup_toolbar () toolbar_frame.set_shadow_type (SHADOW_OUT); toolbar_frame.set_name ("BaseFrame"); toolbar_frame.add (_toolbar_viewport); - + DPIReset.connect (sigc::mem_fun (*this, &Editor::resize_text_widgets)); } @@ -3032,7 +3032,7 @@ Editor::convert_drop_to_paths ( if (_session == 0) { return -1; } - + vector<string> uris = data.get_uris(); if (uris.empty()) { @@ -3478,7 +3478,7 @@ Editor::edit_controls_button_release (GdkEventButton* ev) } else if (ev->button == 1) { selection->clear_tracks (); } - + return true; } @@ -3534,7 +3534,7 @@ Editor::pane_allocation_handler (Allocation &alloc, Paned* which) }; static Pane done; - + XMLNode* geometry; width = default_width; @@ -3582,7 +3582,7 @@ Editor::pane_allocation_handler (Allocation &alloc, Paned* which) } done = (Pane) (done | Horizontal); - + } else if (which == static_cast<Paned*> (&editor_summary_pane)) { if (done & Vertical) { @@ -3941,7 +3941,7 @@ Editor::control_layout_scroll (GdkEventScroll* ev) void Editor::session_state_saved (string) { - update_title (); + update_title (); _snapshots->redisplay (); } @@ -3964,7 +3964,7 @@ Editor::maximise_editing_space () if (post_maximal_vertical_pane_position == 0) { post_maximal_vertical_pane_position = editor_summary_pane.get_height(); } - + fullscreen (); if (post_maximal_editor_width) { @@ -4003,7 +4003,7 @@ Editor::restore_editing_space () if (post_maximal_vertical_pane_position != editor_summary_pane.get_position()) { post_maximal_vertical_pane_position = editor_summary_pane.get_position(); } - + unfullscreen(); _mouse_mode_tearoff->set_visible (true); @@ -4612,7 +4612,7 @@ RegionSelection Editor::get_regions_from_selection_and_edit_point () { RegionSelection regions; - + if (_edit_point == EditAtMouse && entered_regionview && !selection->regions.contains (entered_regionview)) { regions.add (entered_regionview); } else { @@ -4629,14 +4629,14 @@ Editor::get_regions_from_selection_and_edit_point () edit-activated route group as one of our regions. */ for (RegionSelection::iterator i = regions.begin (); i != regions.end(); ++i) { - + RouteGroup* g = (*i)->get_time_axis_view().route_group (); - + if (g && g->is_active() && g->is_edit()) { tracks.add (axis_views_from_routes (g->route_list())); } } - + if (!tracks.empty()) { /* now find regions that are at the edit position on those tracks */ framepos_t const where = get_preferred_edit_position (); @@ -4655,7 +4655,7 @@ RegionSelection Editor::get_regions_from_selection_and_entered () { RegionSelection regions = selection->regions; - + if (regions.empty() && entered_regionview) { regions.add (entered_regionview); } @@ -4918,7 +4918,7 @@ Editor::timeaxisview_deleted (TimeAxisView *tv) ENSURE_GUI_THREAD (*this, &Editor::timeaxisview_deleted, tv); RouteTimeAxisView* rtav = dynamic_cast<RouteTimeAxisView*> (tv); - + _routes->route_removed (tv); if (tv == entered_track) { @@ -4946,7 +4946,7 @@ Editor::timeaxisview_deleted (TimeAxisView *tv) if (rtav) { route = rtav->route (); - } + } if (current_mixer_strip && current_mixer_strip->route() == route) { @@ -4959,18 +4959,18 @@ Editor::timeaxisview_deleted (TimeAxisView *tv) } else { next_tv = (*i); } - - + + if (next_tv) { set_selected_mixer_strip (*next_tv); } else { /* make the editor mixer strip go away setting the * button to inactive (which also unticks the menu option) */ - + ActionManager::uncheck_toggleaction ("<Actions>/Editor/show-editor-mixer"); } - } + } } void @@ -4981,19 +4981,19 @@ Editor::hide_track_in_display (TimeAxisView* tv, bool apply_to_selection) TrackSelection::iterator j = i; ++j; - + hide_track_in_display (*i, false); - + i = j; } } else { RouteTimeAxisView* rtv = dynamic_cast<RouteTimeAxisView*> (tv); - + if (rtv && current_mixer_strip && (rtv->route() == current_mixer_strip->route())) { // this will hide the mixer strip set_selected_mixer_strip (*tv); } - + _routes->hide_track_in_display (*tv); } } @@ -5132,7 +5132,7 @@ bool Editor::scroll_press (Direction dir) { ++_scroll_callbacks; - + if (_scroll_connection.connected() && _scroll_callbacks < 5) { /* delay the first auto-repeat */ return true; @@ -5162,7 +5162,7 @@ Editor::scroll_press (Direction dir) _scroll_connection = Glib::signal_timeout().connect ( sigc::bind (sigc::mem_fun (*this, &Editor::scroll_press), dir), 100 ); - + _scroll_callbacks = 0; } @@ -5184,15 +5184,15 @@ Editor::reset_x_origin_to_follow_playhead () if (frame < leftmost_frame || frame > leftmost_frame + current_page_frames()) { if (_session->transport_speed() < 0) { - + if (frame > (current_page_frames() / 2)) { center_screen (frame-(current_page_frames()/2)); } else { center_screen (current_page_frames()/2); } - + } else { - + if (frame < leftmost_frame) { /* moving left */ framepos_t l = 0; @@ -5203,11 +5203,11 @@ Editor::reset_x_origin_to_follow_playhead () /* not rolling: end up with the playhead 3/4 of the way along the page */ l = frame - (3 * current_page_frames() / 4); } - + if (l < 0) { l = 0; } - + center_screen_internal (l + (current_page_frames() / 2), current_page_frames ()); } else { /* moving right */ @@ -5276,12 +5276,12 @@ Editor::super_rapid_screen_update () } } else { - + /* don't do continuous scroll till the new position is in the rightmost quarter of the editor canvas */ -#if 0 - // FIXME DO SOMETHING THAT WORKS HERE - this is 2.X code +#if 0 + // FIXME DO SOMETHING THAT WORKS HERE - this is 2.X code double target = ((double)frame - (double)current_page_frames()/2.0) / frames_per_unit; if (target <= 0.0) { target = 0.0; @@ -5291,12 +5291,12 @@ Editor::super_rapid_screen_update () } else { /* relax */ } - + current = target; set_horizontal_position (current); #endif } - + } } @@ -5309,7 +5309,7 @@ Editor::session_going_away () _session_connections.drop_connections (); super_rapid_screen_update_connection.disconnect (); - + selection->clear (); cut_buffer->clear (); @@ -5388,7 +5388,7 @@ void Editor::change_region_layering_order () { framepos_t const position = get_preferred_edit_position (); - + if (!clicked_routeview) { if (layering_order_editor) { layering_order_editor->hide (); @@ -5407,7 +5407,7 @@ Editor::change_region_layering_order () if (!pl) { return; } - + if (layering_order_editor == 0) { layering_order_editor = new RegionLayeringOrderEditor(*this); } @@ -5447,7 +5447,7 @@ Editor::action_menu_item (std::string const & name) { Glib::RefPtr<Action> a = editor_actions->get_action (name); assert (a); - + return *manage (a->create_menu_item ()); } @@ -5460,7 +5460,7 @@ Editor::resize_text_widgets () set_size_request_to_display_given_text (snap_mode_selector, snap_mode_strings, COMBO_FUDGE+10, 15); set_size_request_to_display_given_text (edit_point_selector, edit_point_strings, COMBO_FUDGE+10, 15); } - + void Editor::add_notebook_page (string const & name, Gtk::Widget& widget) { |