Fix #2932; arrange the view more carefully when going to start / end / wallclock.
git-svn-id: svn://localhost/ardour2/branches/3.0@6183 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
8cfc9679af
commit
c07f42b9f4
@ -1383,13 +1383,12 @@ ARDOUR_UI::transport_goto_start ()
|
|||||||
if (session) {
|
if (session) {
|
||||||
session->goto_start();
|
session->goto_start();
|
||||||
|
|
||||||
|
|
||||||
/* force displayed area in editor to start no matter
|
/* force displayed area in editor to start no matter
|
||||||
what "follow playhead" setting is.
|
what "follow playhead" setting is.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (editor) {
|
if (editor) {
|
||||||
editor->reset_x_origin (session->current_start_frame());
|
editor->center_screen (session->current_start_frame ());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1434,7 +1433,7 @@ ARDOUR_UI::transport_goto_wallclock ()
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
if (editor) {
|
if (editor) {
|
||||||
editor->reset_x_origin (frames - (editor->current_page_frames()/2));
|
editor->center_screen (frames);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1443,7 +1442,7 @@ void
|
|||||||
ARDOUR_UI::transport_goto_end ()
|
ARDOUR_UI::transport_goto_end ()
|
||||||
{
|
{
|
||||||
if (session) {
|
if (session) {
|
||||||
nframes_t frame = session->current_end_frame();
|
nframes_t const frame = session->current_end_frame();
|
||||||
session->request_locate (frame);
|
session->request_locate (frame);
|
||||||
|
|
||||||
/* force displayed area in editor to start no matter
|
/* force displayed area in editor to start no matter
|
||||||
@ -1451,7 +1450,7 @@ ARDOUR_UI::transport_goto_end ()
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
if (editor) {
|
if (editor) {
|
||||||
editor->reset_x_origin (frame);
|
editor->center_screen (frame);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -432,6 +432,8 @@ class Editor : public PublicEditor
|
|||||||
void show_verbose_canvas_cursor_with (const std::string& txt);
|
void show_verbose_canvas_cursor_with (const std::string& txt);
|
||||||
void hide_verbose_canvas_cursor();
|
void hide_verbose_canvas_cursor();
|
||||||
|
|
||||||
|
void center_screen (nframes64_t);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void map_transport_state ();
|
void map_transport_state ();
|
||||||
void map_position_change (nframes64_t);
|
void map_position_change (nframes64_t);
|
||||||
@ -982,7 +984,6 @@ class Editor : public PublicEditor
|
|||||||
|
|
||||||
sigc::connection scroll_connection;
|
sigc::connection scroll_connection;
|
||||||
nframes64_t last_update_frame;
|
nframes64_t last_update_frame;
|
||||||
void center_screen (nframes64_t);
|
|
||||||
void center_screen_internal (nframes64_t, float);
|
void center_screen_internal (nframes64_t, float);
|
||||||
|
|
||||||
void update_current_screen ();
|
void update_current_screen ();
|
||||||
|
@ -351,6 +351,8 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulThingWithGoingAway
|
|||||||
virtual void show_verbose_canvas_cursor_with (const std::string& txt) = 0;
|
virtual void show_verbose_canvas_cursor_with (const std::string& txt) = 0;
|
||||||
virtual void hide_verbose_canvas_cursor() = 0;
|
virtual void hide_verbose_canvas_cursor() = 0;
|
||||||
|
|
||||||
|
virtual void center_screen (nframes64_t) = 0;
|
||||||
|
|
||||||
/// Singleton instance, set up by Editor::Editor()
|
/// Singleton instance, set up by Editor::Editor()
|
||||||
|
|
||||||
static PublicEditor* _instance;
|
static PublicEditor* _instance;
|
||||||
|
Loading…
Reference in New Issue
Block a user