From 9f6a2fd022cdfded7d4bed8c5846522f176bfef5 Mon Sep 17 00:00:00 2001 From: Jonathan Moore Liles Date: Fri, 2 Mar 2012 16:29:59 -0800 Subject: [PATCH] Timeline: Warn about buggy FLTK version. --- scripts/config-funcs | 2 +- timeline/configure | 18 ++++++++++++++++++ timeline/src/Timeline.C | 6 ++++++ timeline/src/main.C | 3 +++ 4 files changed, 28 insertions(+), 1 deletion(-) diff --git a/scripts/config-funcs b/scripts/config-funcs index 3a1454f..be1f400 100644 --- a/scripts/config-funcs +++ b/scripts/config-funcs @@ -191,7 +191,7 @@ begin () warn () { - echo " ${BOLD}${YELLOW}* ${SGR0}$*" + echo " ${BOLD}${YELLOW}* ${SGR0}${BOLD}$*" } info () diff --git a/timeline/configure b/timeline/configure index 91540cb..1202937 100755 --- a/timeline/configure +++ b/timeline/configure @@ -31,6 +31,24 @@ require_package liblo 0.23 liblo require_package sigcpp 2.0.0 sigc++-2.0 suggest_package XPM 2.0.0 xpm +if ! test_version 1.1.10 $FLTK_VERSION +then + warn "*** PERFORMANCE WARNING ***" + warn "" + warn "Your FLTK version is $FLTK_VERSION." + warn "" + warn "FLTK version 1.3.0 introduced a bug which slows down the" + warn "drawing of Non-DAW's timeline by a factor of thousands." + warn "" + warn "Install FLTK 1.1.10 and try again." + warn "" + warn "Alternatively, you can rerun configure and answer 'yes' to" + warn "the question 'Use widget for timeline'. It will be fast, but" + warn "you won't be able to see the playhead." + warn "" + warn "Please send any and all complaints to the FLTK developers!" +fi + test_version `version_of liblo` 0.26 || warn "Version $(version_of liblo) of liblo is slow to create servers. Consider upgrading to 0.26 or later" end diff --git a/timeline/src/Timeline.C b/timeline/src/Timeline.C index e4be272..d822ff8 100644 --- a/timeline/src/Timeline.C +++ b/timeline/src/Timeline.C @@ -395,6 +395,12 @@ Timeline::ntracks ( void ) const Timeline::Timeline ( int X, int Y, int W, int H, const char* L ) : BASE( X, Y, W, H, L ) { + + if ( ! can_do_overlay() ) + { + WARNING( "Display lacks hardware overlay visual. Playhead and selection rectangle will flicker." ); + } + Loggable::snapshot_callback( &Timeline::snapshot, this ); osc_thread = 0; diff --git a/timeline/src/main.C b/timeline/src/main.C index 4053c78..1edbf81 100644 --- a/timeline/src/main.C +++ b/timeline/src/main.C @@ -153,6 +153,9 @@ main ( int argc, char **argv ) (char**)icon_16x16, &p, &mask, NULL); #endif + Fl::visual(FL_RGB8); + + Thread::init(); Thread thread( "UI" );