From 5ceed377fb307ebd932c39afb887d6a37b2ed471 Mon Sep 17 00:00:00 2001 From: Jonathan Moore Liles Date: Tue, 12 Feb 2008 17:04:38 -0600 Subject: [PATCH] Update phrase display when patterns are created/destroyed. --- canvas.C | 14 ++++++++++++++ canvas.H | 1 + main.C | 2 ++ 3 files changed, 17 insertions(+) diff --git a/canvas.C b/canvas.C index e08f7c1..93feb9d 100644 --- a/canvas.C +++ b/canvas.C @@ -856,6 +856,20 @@ Canvas::h_zoom ( float n ) resize_grid(); } +void +Canvas::v_zoom_fit ( void ) +{ + if ( ! m.grid ) + return; + + changed_mapping(); + + m.vp->h = m.maxh; + m.vp->y = 0; + + resize_grid(); +} + /** adjust vertical zoom (* n) */ void Canvas::v_zoom ( float n ) diff --git a/canvas.H b/canvas.H index e0cb493..f93b68a 100644 --- a/canvas.H +++ b/canvas.H @@ -152,6 +152,7 @@ public: void pan ( int dir, int n ); void h_zoom ( float n ); void v_zoom ( float n ); + void v_zoom_fit ( void ); void notes ( char *s ); char * notes ( void ); void randomize_row ( int y ); diff --git a/main.C b/main.C index 99c0322..daa940b 100644 --- a/main.C +++ b/main.C @@ -152,6 +152,8 @@ main ( int argc, char **argv ) init_song(); + pattern::signal_create_destroy.connect( mem_fun( phrase_c, &Canvas::v_zoom_fit ) ); + if ( ! lash.init( &argc, &argv ) ) WARNING( "error initializing LASH" );