X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Feditor_mixer.cc;h=8cffd5c64b357368045662f6486db103a8dc83a8;hb=792e3de1d4cb291a02c5c31dad54028049bafed9;hp=6cb6046006ed0ad0e8cfa67b623e782e86c91d82;hpb=aae367b63c9b619db1e40f27dc334c6987219481;p=ardour.git diff --git a/gtk2_ardour/editor_mixer.cc b/gtk2_ardour/editor_mixer.cc index 6cb6046006..8cffd5c64b 100644 --- a/gtk2_ardour/editor_mixer.cc +++ b/gtk2_ardour/editor_mixer.cc @@ -23,9 +23,6 @@ #include "pbd/enumwriter.h" -#include "ardour/audioengine.h" -#include "ardour/session.h" - #include "editor.h" #include "mixer_strip.h" #include "ardour_ui.h" @@ -35,6 +32,7 @@ #include "editor_routes.h" #include "editor_route_groups.h" #include "editor_regions.h" +#include "gui_thread.h" #include "i18n.h" @@ -62,12 +60,6 @@ Editor::editor_list_button_toggled () } } -void -Editor::cms_deleted () -{ - current_mixer_strip = 0; -} - void Editor::show_editor_mixer (bool yn) { @@ -151,16 +143,6 @@ Editor::ensure_all_elements_drawn () } #endif -void -Editor::show_editor_list (bool yn) -{ - if (yn) { - the_notebook.show(); - } else { - the_notebook.hide(); - } -} - void Editor::create_editor_mixer () { @@ -168,7 +150,7 @@ Editor::create_editor_mixer () _session, false); current_mixer_strip->Hiding.connect (sigc::mem_fun(*this, &Editor::current_mixer_strip_hidden)); - current_mixer_strip->GoingAway.connect (*this, boost::bind (&Editor::current_mixer_strip_removed, this)); + #ifdef GTKOSX current_mixer_strip->WidthChanged.connect (sigc::mem_fun(*this, &Editor::ensure_all_elements_drawn)); #endif @@ -208,102 +190,6 @@ Editor::set_selected_mixer_strip (TimeAxisView& view) current_mixer_strip->set_width_enum (editor_mixer_strip_width, (void*) this); } -double current = 0.0; - -void -Editor::update_current_screen () -{ - if (_pending_locate_request) { - /* we don't update things when there's a pending locate request, otherwise - when the editor requests a locate there is a chance that this method - will move the playhead before the locate request is processed, causing - a visual glitch. */ - return; - } - - if (_session && _session->engine().running()) { - - nframes64_t const frame = _session->audible_frame(); - - if (_dragging_playhead) { - goto almost_done; - } - - /* only update if the playhead is on screen or we are following it */ - - if (_follow_playhead && _session->requested_return_frame() < 0) { - - //playhead_cursor->canvas_item.show(); - - if (frame != last_update_frame) { - - -#undef CONTINUOUS_SCROLL -#ifndef CONTINUOUS_SCROLL - 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 { - center_screen (frame+(current_page_frames()/2)); - } - } - - playhead_cursor->set_position (frame); - -#else // CONTINUOUS_SCROLL - - /* don't do continuous scroll till the new position is in the rightmost quarter of the - editor canvas - */ - - if (_session->transport_speed()) { - double target = ((double)frame - (double)current_page_frames()/2.0) / frames_per_unit; - if (target <= 0.0) target = 0.0; - if ( fabs(target - current) < current_page_frames()/frames_per_unit ) { - target = (target * 0.15) + (current * 0.85); - } else { - /* relax */ - } - //printf("frame: %d, cpf: %d, fpu: %6.6f, current: %6.6f, target : %6.6f\n", frame, current_page_frames(), frames_per_unit, current, target ); - current = target; - horizontal_adjustment.set_value ( current ); - } - - playhead_cursor->set_position (frame); - -#endif // CONTINUOUS_SCROLL - - } - - } else { - if (frame != last_update_frame) { - playhead_cursor->set_position (frame); - } - } - - almost_done: - last_update_frame = frame; - if (current_mixer_strip) { - current_mixer_strip->fast_update (); - } - - } -} - -void -Editor::current_mixer_strip_removed () -{ - if (current_mixer_strip) { - /* it is being deleted elsewhere */ - current_mixer_strip = 0; - } -} - void Editor::current_mixer_strip_hidden () { @@ -326,70 +212,6 @@ Editor::current_mixer_strip_hidden () } } -void -Editor::session_going_away () -{ - _have_idled = false; - - _session_connections.drop_connections (); - - stop_scrolling (); - selection->clear (); - cut_buffer->clear (); - - clicked_regionview = 0; - clicked_axisview = 0; - clicked_routeview = 0; - clicked_crossfadeview = 0; - entered_regionview = 0; - entered_track = 0; - last_update_frame = 0; - _drag = 0; - - playhead_cursor->canvas_item.hide (); - - /* hide all tracks */ - - _routes->hide_all_tracks (false); - - /* rip everything out of the list displays */ - - _regions->clear (); - _routes->clear (); - _route_groups->clear (); - - zoom_range_clock.set_session (0); - nudge_clock.set_session (0); - - editor_list_button.set_active(false); - editor_list_button.set_sensitive(false); - - /* clear tempo/meter rulers */ - remove_metric_marks (); - hide_measures (); - clear_marker_display (); - - delete current_bbt_points; - current_bbt_points = 0; - - /* get rid of any existing editor mixer strip */ - - if (current_mixer_strip) { - if (current_mixer_strip->get_parent() != 0) { - global_hpacker.remove (*current_mixer_strip); - } - delete current_mixer_strip; - current_mixer_strip = 0; - } - - WindowTitle title(Glib::get_application_name()); - title += _("Editor"); - - set_title (title.get_string()); - - SessionHandlePtr::session_going_away (); -} - void Editor::maybe_add_mixer_strip_width (XMLNode& node) {