From ad4919ce920a1a588c9ecd3d822dacfb93d74bb7 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Fri, 3 Oct 2008 18:24:38 +0000 Subject: [PATCH] Assortment of minor changes from 2.0-ongoing. git-svn-id: svn://localhost/ardour2/branches/3.0@3852 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/editor.cc | 4 ++-- gtk2_ardour/editor.h | 3 +-- gtk2_ardour/editor_canvas.cc | 1 - gtk2_ardour/editor_canvas_events.cc | 4 ++-- gtk2_ardour/editor_markers.cc | 29 +---------------------------- gtk2_ardour/editor_mixer.cc | 14 ++++++-------- gtk2_ardour/editor_mouse.cc | 21 ++++++++++++--------- gtk2_ardour/editor_ops.cc | 7 ++----- gtk2_ardour/editor_route_list.cc | 9 --------- gtk2_ardour/editor_rulers.cc | 2 +- gtk2_ardour/editor_tempodisplay.cc | 3 +++ gtk2_ardour/utils.cc | 8 ++++---- libs/ardour/crossfade.cc | 2 +- libs/ardour/resampled_source.cc | 2 +- libs/surfaces/tranzport/show.cc | 2 +- 15 files changed, 37 insertions(+), 74 deletions(-) diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index dd00aabe7d..657e930ad8 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -2377,7 +2377,7 @@ Editor::set_edit_point_preference (EditPoint ep, bool force) break; } - const char* action; + const char* action=NULL; switch (_edit_point) { case EditAtPlayhead: @@ -4643,7 +4643,7 @@ Editor::idle_visual_changer () } if (p & VisualChange::TimeOrigin) { - nframes64_t csf, cef; + nframes64_t csf=0, cef=0; nframes64_t current_time_origin = (nframes64_t) floor (horizontal_adjustment.get_value() * frames_per_unit); if (session) { diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h index 6a8d897d01..d62057f308 100644 --- a/gtk2_ardour/editor.h +++ b/gtk2_ardour/editor.h @@ -1627,10 +1627,9 @@ public: uint32_t bbt_beat_subdivision; /* toolbar */ - + Gtk::ToggleButton editor_mixer_button; Gtk::ToggleButton editor_list_button; - void editor_mixer_button_toggled (); void editor_list_button_toggled (); diff --git a/gtk2_ardour/editor_canvas.cc b/gtk2_ardour/editor_canvas.cc index e1140bb646..ef6dc25777 100644 --- a/gtk2_ardour/editor_canvas.cc +++ b/gtk2_ardour/editor_canvas.cc @@ -216,7 +216,6 @@ Editor::initialize_canvas () transport_bar_drag_rect->property_outline_pixels() = 0; transport_bar_drag_rect->hide (); - transport_punchin_line = new ArdourCanvas::SimpleLine (*_master_group); transport_punchin_line->property_x1() = 0.0; transport_punchin_line->property_y1() = 0.0; diff --git a/gtk2_ardour/editor_canvas_events.cc b/gtk2_ardour/editor_canvas_events.cc index e55ab9bed0..a9c0bf17a9 100644 --- a/gtk2_ardour/editor_canvas_events.cc +++ b/gtk2_ardour/editor_canvas_events.cc @@ -203,8 +203,8 @@ bool Editor::track_canvas_motion (GdkEvent *ev) { if (verbose_cursor_visible) { - verbose_canvas_cursor->property_x() = clamp_verbose_cursor_x (ev->motion.x + 20); - verbose_canvas_cursor->property_y() = clamp_verbose_cursor_y (ev->motion.y + 20); + verbose_canvas_cursor->property_x() = clamp_verbose_cursor_x (ev->motion.x + 10); + verbose_canvas_cursor->property_y() = clamp_verbose_cursor_y (ev->motion.y + 10); } return false; diff --git a/gtk2_ardour/editor_markers.cc b/gtk2_ardour/editor_markers.cc index 2d1b34575a..b8b849423b 100644 --- a/gtk2_ardour/editor_markers.cc +++ b/gtk2_ardour/editor_markers.cc @@ -1148,7 +1148,6 @@ Editor::update_punch_range_view (bool visibility) Location* tpl; if ((Config->get_punch_in() || Config->get_punch_out()) && ((tpl = transport_punch_location()) != 0)) { - guint track_canvas_width,track_canvas_height; track_canvas->get_size(track_canvas_width,track_canvas_height); if (Config->get_punch_in()) { @@ -1162,35 +1161,9 @@ Editor::update_punch_range_view (bool visibility) if (visibility) { transport_punch_range_rect->show(); } - } - else if (visibility) { + } else if (visibility) { transport_punch_range_rect->hide(); } - -// if (session->get_punch_in()) { -// double x = frame_to_pixel (transport_punch_location->start()); -// gnome_canvas_item_set (transport_punchin_line, "x1", x, "x2", x, NULL); - -// if (visibility) { -// gnome_canvas_item_show (transport_punchin_line); -// } -// } -// else if (visibility) { -// gnome_canvas_item_hide (transport_punchin_line); -// } - -// if (session->get_punch_out()) { -// double x = frame_to_pixel (transport_punch_location->end()); - -// gnome_canvas_item_set (transport_punchout_line, "x1", x, "x2", x, NULL); - -// if (visibility) { -// gnome_canvas_item_show (transport_punchout_line); -// } -// } -// else if (visibility) { -// gnome_canvas_item_hide (transport_punchout_line); -// } } void diff --git a/gtk2_ardour/editor_mixer.cc b/gtk2_ardour/editor_mixer.cc index d6ce61fc48..cce057d050 100644 --- a/gtk2_ardour/editor_mixer.cc +++ b/gtk2_ardour/editor_mixer.cc @@ -136,6 +136,12 @@ Editor::show_editor_mixer (bool yn) } } } +#ifdef GTKOSX + /* XXX gtk problem here */ + ruler_label_event_box.queue_draw (); + time_button_event_box.queue_draw (); + controls_layout.queue_draw (); +#endif } void @@ -259,10 +265,6 @@ Editor::update_current_screen () almost_done: last_update_frame = frame; -#ifdef GTKOSX - /*XXX in a perfect world we would not have to do this. */ - track_canvas->update_now(); -#endif if (current_mixer_strip) { current_mixer_strip->fast_update (); } @@ -354,10 +356,6 @@ Editor::session_going_away () zoom_range_clock.set_session (0); nudge_clock.set_session (0); - /* put editor/mixer toggle button in off position and disable until a new session is loaded */ - - editor_mixer_button.set_active(false); - editor_mixer_button.set_sensitive(false); editor_list_button.set_active(false); editor_list_button.set_sensitive(false); diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc index 8d1332c55d..5c7c679d72 100644 --- a/gtk2_ardour/editor_mouse.cc +++ b/gtk2_ardour/editor_mouse.cc @@ -1321,8 +1321,8 @@ Editor::enter_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_ at_x = cp->get_x(); at_y = cp->get_y (); cp->item()->i2w (at_x, at_y); - at_x += 20.0; - at_y += 20.0; + at_x += 10.0; + at_y += 10.0; fraction = 1.0 - (cp->get_y() / cp->line().height()); @@ -2275,11 +2275,14 @@ Editor::cursor_drag_motion_callback (ArdourCanvas::Item* item, GdkEvent* event) if (adjusted_frame == drag_info.last_pointer_frame) return; cursor->set_position (adjusted_frame); - - UpdateAllTransportClocks (cursor->current_frame); show_verbose_time_cursor (cursor->current_frame, 10); +#ifdef GTKOSX + track_canvas->update_now (); +#endif + UpdateAllTransportClocks (cursor->current_frame); + drag_info.last_pointer_frame = adjusted_frame; drag_info.first_move = false; } @@ -2310,8 +2313,7 @@ Editor::update_marker_drag_item (Location *location) marker_drag_line_points.front().set_x(x1); marker_drag_line_points.back().set_x(x1); marker_drag_line->property_points() = marker_drag_line_points; - } - else { + } else { range_marker_drag_rect->property_x1() = x1; range_marker_drag_rect->property_x2() = x2; } @@ -2418,7 +2420,7 @@ Editor::start_marker_grab (ArdourCanvas::Item* item, GdkEvent* event) void Editor::marker_drag_motion_callback (ArdourCanvas::Item* item, GdkEvent* event) { - nframes64_t f_delta; + nframes64_t f_delta = 0; nframes64_t newframe; bool is_start; bool move_both = false; @@ -2576,6 +2578,7 @@ Editor::marker_drag_motion_callback (ArdourCanvas::Item* item, GdkEvent* event) #ifdef GTKOSX track_canvas->update_now (); #endif + edit_point_clock.set (copy_location->start()); } void @@ -2967,7 +2970,7 @@ Editor::start_control_point_grab (ArdourCanvas::Item* item, GdkEvent* event) float fraction = 1.0 - (control_point->get_y() / control_point->line().height()); set_verbose_canvas_cursor (control_point->line().get_verbose_cursor_string (fraction), - drag_info.current_pointer_x + 20, drag_info.current_pointer_y + 20); + drag_info.current_pointer_x + 10, drag_info.current_pointer_y + 10); show_verbose_canvas_cursor (); } @@ -3119,7 +3122,7 @@ Editor::start_line_grab (AutomationLine* line, GdkEvent* event) line->start_drag (0, drag_info.grab_frame, fraction); set_verbose_canvas_cursor (line->get_verbose_cursor_string (fraction), - drag_info.current_pointer_x + 20, drag_info.current_pointer_y + 20); + drag_info.current_pointer_x + 10, drag_info.current_pointer_y + 10); show_verbose_canvas_cursor (); } diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index df2752bd93..cac7be90bd 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -3310,9 +3310,9 @@ Editor::align_selection_relative (RegionPoint point, nframes64_t position, const return; } - nframes64_t distance; + nframes64_t distance = 0; nframes64_t pos = 0; - int dir = 0; + int dir = 1; list sorted; rs.by_position (sorted); @@ -3324,7 +3324,6 @@ Editor::align_selection_relative (RegionPoint point, nframes64_t position, const pos = position; if (position > r->position()) { distance = position - r->position(); - dir = 1; } else { distance = r->position() - position; dir = -1; @@ -3335,7 +3334,6 @@ Editor::align_selection_relative (RegionPoint point, nframes64_t position, const if (position > r->last_frame()) { distance = position - r->last_frame(); pos = r->position() + distance; - dir = 1; } else { distance = r->last_frame() - position; pos = r->position() - distance; @@ -3347,7 +3345,6 @@ Editor::align_selection_relative (RegionPoint point, nframes64_t position, const pos = r->adjust_to_sync (position); if (pos > r->position()) { distance = pos - r->position(); - dir = 1; } else { distance = r->position() - pos; dir = -1; diff --git a/gtk2_ardour/editor_route_list.cc b/gtk2_ardour/editor_route_list.cc index 43e064b702..6dde6bfab1 100644 --- a/gtk2_ardour/editor_route_list.cc +++ b/gtk2_ardour/editor_route_list.cc @@ -139,8 +139,6 @@ Editor::handle_new_route (Session::RouteList& routes) if (show_editor_mixer_when_tracks_arrive) { show_editor_mixer (true); } - - editor_mixer_button.set_sensitive(true); editor_list_button.set_sensitive(true); } @@ -198,14 +196,7 @@ Editor::remove_route (TimeAxisView *tv) * button to inactive and untick the menu option */ - editor_mixer_button.set_active(false); ActionManager::uncheck_toggleaction ("/Editor/show-editor-mixer"); - - /* and disable if all tracks and/or routes are gone */ - - if (track_views.size() == 0) { - editor_mixer_button.set_sensitive(false); - } } void diff --git a/gtk2_ardour/editor_rulers.cc b/gtk2_ardour/editor_rulers.cc index e37a9c04cb..3674ce3c90 100644 --- a/gtk2_ardour/editor_rulers.cc +++ b/gtk2_ardour/editor_rulers.cc @@ -785,7 +785,7 @@ Editor::update_ruler_visibility () } gdouble old_canvas_timebars_vsize = canvas_timebars_vsize; - canvas_timebars_vsize = timebar_height * visible_timebars; + canvas_timebars_vsize = (timebar_height * visible_timebars) - 1; gdouble vertical_pos_delta = canvas_timebars_vsize - old_canvas_timebars_vsize; if (vertical_pos_delta < 0 && (vertical_adjustment.get_value() + canvas_height) >= vertical_adjustment.get_upper()) { diff --git a/gtk2_ardour/editor_tempodisplay.cc b/gtk2_ardour/editor_tempodisplay.cc index cd07581c24..0fc4e0560d 100644 --- a/gtk2_ardour/editor_tempodisplay.cc +++ b/gtk2_ardour/editor_tempodisplay.cc @@ -158,6 +158,9 @@ Editor::compute_current_bbt_points (nframes_t leftmost, nframes_t rightmost) } current_bbt_points = session->tempo_map().get_points (session->tempo_map().frame_time (previous_beat), session->tempo_map().frame_time (next_beat) + 1); +#ifdef GTKOSX + lazy_hide_and_draw_measures (); +#endif } void diff --git a/gtk2_ardour/utils.cc b/gtk2_ardour/utils.cc index 020bc6f4d6..d083b17a1e 100644 --- a/gtk2_ardour/utils.cc +++ b/gtk2_ardour/utils.cc @@ -396,7 +396,7 @@ set_color (Gdk::Color& c, int rgb) c.set_rgb((rgb >> 16)*256, ((rgb & 0xff00) >> 8)*256, (rgb & 0xff)*256); } -#ifdef GTKOSX +#ifdef GTKOSX_ARDOUR_EVENTS_PATCH extern "C" { gboolean gdk_quartz_possibly_forward (GdkEvent*); } @@ -473,7 +473,7 @@ key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev) return true; } -#ifdef GTKOSX +#ifdef GTKOSX_ARDOUR_EVENTS_PATCH int oldval = ev->keyval; ev->keyval = fakekey; if (gdk_quartz_possibly_forward ((GdkEvent*) ev)) { @@ -497,7 +497,7 @@ key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev) cerr << "\tactivate, then propagate\n"; } #endif -#ifdef GTKOSX +#ifdef GTKOSX_ARDOUR_EVENTS_PATCH if (gdk_quartz_possibly_forward ((GdkEvent*) ev)) { return true; } @@ -532,7 +532,7 @@ key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev) cerr << "\tpropagation didn't handle, so activate\n"; } #endif -#ifdef GTKOSX +#ifdef GTKOSX_ARDOUR_EVENTS_PATCH if (gdk_quartz_possibly_forward ((GdkEvent*) ev)) { return true; } diff --git a/libs/ardour/crossfade.cc b/libs/ardour/crossfade.cc index fb4325865c..05ea7765f0 100644 --- a/libs/ardour/crossfade.cc +++ b/libs/ardour/crossfade.cc @@ -848,7 +848,7 @@ Crossfade::set_follow_overlap (bool yn) nframes_t Crossfade::set_length (nframes_t len) { - nframes_t limit; + nframes_t limit = 0; switch (_anchor_point) { case StartOfIn: diff --git a/libs/ardour/resampled_source.cc b/libs/ardour/resampled_source.cc index 083fde95a1..1993aba911 100644 --- a/libs/ardour/resampled_source.cc +++ b/libs/ardour/resampled_source.cc @@ -37,7 +37,7 @@ ResampledImportableSource::ResampledImportableSource (boost::shared_ptr