@@ -26,7 +26,7 @@ | |||||
class Fl_Blink_Button : public Fl_Button | class Fl_Blink_Button : public Fl_Button | ||||
{ | { | ||||
bool _on; | bool _on; | ||||
float _blink_interval; | |||||
int _blink_interval; | |||||
bool _blinking; | bool _blinking; | ||||
static void | static void | ||||
@@ -38,7 +38,7 @@ class Fl_Blink_Button : public Fl_Button | |||||
void | void | ||||
update_cb ( void ) | update_cb ( void ) | ||||
{ | { | ||||
Fl::repeat_timeout( _blink_interval, update_cb, this ); | |||||
Fl::repeat_timeout( _blink_interval / 1000, update_cb, this ); | |||||
_on = ! _on; | _on = ! _on; | ||||
@@ -47,10 +47,13 @@ class Fl_Blink_Button : public Fl_Button | |||||
public: | public: | ||||
static const float SLOW = 0.5f; | |||||
static const float MEDIUM = 0.3f; | |||||
static const float FAST = 0.1f; | |||||
static const float DEFAULT = 0.5f; | |||||
enum | |||||
{ | |||||
SLOW=500, | |||||
MEDIUM=300, | |||||
FAST=100, | |||||
DEFAULT=500 | |||||
}; | |||||
Fl_Blink_Button ( int X, int Y, int W, int H, const char *L ) | Fl_Blink_Button ( int X, int Y, int W, int H, const char *L ) | ||||
: Fl_Button( X, Y, W, H, L ) | : Fl_Button( X, Y, W, H, L ) | ||||
@@ -85,11 +88,11 @@ public: | |||||
void | void | ||||
blink_interval ( float v ) | blink_interval ( float v ) | ||||
{ | { | ||||
_blink_interval = v; | |||||
_blink_interval = v * 1000; | |||||
if ( value() ) | if ( value() ) | ||||
{ | { | ||||
Fl::remove_timeout( update_cb, this ); | Fl::remove_timeout( update_cb, this ); | ||||
Fl::add_timeout( _blink_interval, update_cb, this ); | |||||
Fl::add_timeout( _blink_interval / 1000, update_cb, this ); | |||||
} | } | ||||
} | } | ||||
@@ -98,7 +101,7 @@ public: | |||||
if ( v ) | if ( v ) | ||||
{ | { | ||||
if ( _blinking ) | if ( _blinking ) | ||||
Fl::add_timeout( _blink_interval, update_cb, this ); | |||||
Fl::add_timeout( _blink_interval / 1000, update_cb, this ); | |||||
Fl_Button::value( v ); | Fl_Button::value( v ); | ||||
redraw(); | redraw(); | ||||
} | } | ||||
@@ -221,7 +221,7 @@ Chain::set ( Log_Entry &e ) | |||||
void | void | ||||
Chain::log_children ( void ) | |||||
Chain::log_children ( void ) const | |||||
{ | { | ||||
log_create(); | log_create(); | ||||
@@ -122,7 +122,7 @@ public: | |||||
Fl_Callback * configure_outputs_callback ( void ) const { return _configure_outputs_callback; } | Fl_Callback * configure_outputs_callback ( void ) const { return _configure_outputs_callback; } | ||||
void log_children ( void ); | |||||
virtual void log_children ( void ) const; | |||||
static unsigned int maximum_name_length ( void ); | static unsigned int maximum_name_length ( void ); | ||||
@@ -160,7 +160,7 @@ Mixer_Strip::set ( Log_Entry &e ) | |||||
} | } | ||||
void | void | ||||
Mixer_Strip::log_children ( void ) | |||||
Mixer_Strip::log_children ( void ) const | |||||
{ | { | ||||
log_create(); | log_create(); | ||||
@@ -61,7 +61,7 @@ public: | |||||
void chain ( Chain *c ); | void chain ( Chain *c ); | ||||
void log_children ( void ); | |||||
virtual void log_children ( void ) const; | |||||
virtual void color ( Fl_Color c ); | virtual void color ( Fl_Color c ); | ||||
virtual Fl_Color color ( void ) const; | virtual Fl_Color color ( void ) const; | ||||
@@ -380,7 +380,8 @@ Loggable::do_this ( const char *s, bool reverse ) | |||||
int found = sscanf( s, "%s %X %s ", classname, &id, command ); | int found = sscanf( s, "%s %X %s ", classname, &id, command ); | ||||
ASSERT( 3 == found, "Invalid journal entry format \"%s\"", s ); | |||||
if ( 3 != found ) | |||||
FATAL( "Invalid journal entry format \"%s\"", s ); | |||||
const char *create, *destroy; | const char *create, *destroy; | ||||
@@ -42,7 +42,7 @@ class Loggable; | |||||
typedef Loggable *(create_func)(Log_Entry &, unsigned int id); | typedef Loggable *(create_func)(Log_Entry &, unsigned int id); | ||||
#define LOG_REGISTER_CREATE( class ) \ | #define LOG_REGISTER_CREATE( class ) \ | ||||
Loggable::register_create( #class, & class ::create ); | |||||
Loggable::register_create( #class, & class ::create ) | |||||
#define LOG_NAME_FUNC( class ) \ | #define LOG_NAME_FUNC( class ) \ | ||||
virtual const char *class_name ( void ) const { return #class ; } | virtual const char *class_name ( void ) const { return #class ; } | ||||
@@ -56,7 +56,7 @@ typedef Loggable *(create_func)(Log_Entry &, unsigned int id); | |||||
r->set( e ); \ | r->set( e ); \ | ||||
return (Loggable *)r; \ | return (Loggable *)r; \ | ||||
} \ | } \ | ||||
LOG_NAME_FUNC( class ); | |||||
LOG_NAME_FUNC( class ) | |||||
#define LOG_NOT_LOGGABLE_FUNC( class ) \ | #define LOG_NOT_LOGGABLE_FUNC( class ) \ | ||||
@@ -134,7 +134,7 @@ namespace OSC | |||||
char * | char * | ||||
Signal::get_output_connection_peer_name_and_path ( int n ) | Signal::get_output_connection_peer_name_and_path ( int n ) | ||||
{ | { | ||||
Signal *t; | |||||
Signal *t = NULL; | |||||
int j = 0; | int j = 0; | ||||
for ( std::list<Signal*>::const_iterator i = _outgoing.begin(); | for ( std::list<Signal*>::const_iterator i = _outgoing.begin(); | ||||
@@ -150,10 +150,15 @@ namespace OSC | |||||
// Signal *s = get_peer_signal_by_id( t->_peer, t->signal_id ); | // Signal *s = get_peer_signal_by_id( t->_peer, t->signal_id ); | ||||
char *r; | |||||
asprintf( &r, "%s:%s", t->_peer->name, t->path() ); | |||||
if ( t ) | |||||
{ | |||||
char *r; | |||||
asprintf( &r, "%s:%s", t->_peer->name, t->path() ); | |||||
return r; | |||||
return r; | |||||
} | |||||
else | |||||
return NULL; | |||||
} | } | ||||
@@ -365,7 +365,7 @@ namespace OSC | |||||
friend void Signal::rename ( const char *name ); | friend void Signal::rename ( const char *name ); | ||||
}; | }; | ||||
}; | |||||
} | |||||
/* helper macros for defining OSC handlers */ | /* helper macros for defining OSC handlers */ | ||||
/* #define OSC_NAME( name ) osc_ ## name */ | /* #define OSC_NAME( name ) osc_ ## name */ | ||||
@@ -101,7 +101,7 @@ warnf ( warning_t level, | |||||
#else | #else | ||||
#define DMESSAGE( fmt, args... ) | #define DMESSAGE( fmt, args... ) | ||||
#define DWARNING( fmt, args... ) | #define DWARNING( fmt, args... ) | ||||
#define ASSERT( pred, fmt, args... ) | |||||
#define ASSERT( pred, fmt, args... ) (void)(pred) | |||||
#endif | #endif | ||||
/* these are always defined */ | /* these are always defined */ | ||||
@@ -515,7 +515,7 @@ Audio_Region::draw ( void ) | |||||
/* overdraw a little to avoid artifacts when scrolling */ | /* overdraw a little to avoid artifacts when scrolling */ | ||||
W += 2; | W += 2; | ||||
Fl_Color c = selected() ? fl_invert_color( _color ) : _color; | |||||
// Fl_Color c = selected() ? fl_invert_color( _color ) : _color; | |||||
if ( sequence()->damage() & FL_DAMAGE_USER1 && | if ( sequence()->damage() & FL_DAMAGE_USER1 && | ||||
recording() ) | recording() ) | ||||
@@ -740,7 +740,7 @@ Audio_Region::split ( nframes_t where ) | |||||
int | int | ||||
Audio_Region::handle ( int m ) | Audio_Region::handle ( int m ) | ||||
{ | { | ||||
static int ox, oy; | |||||
static int ox; | |||||
static bool copied = false; | static bool copied = false; | ||||
static nframes_t os; | static nframes_t os; | ||||
@@ -802,7 +802,6 @@ Audio_Region::handle ( int m ) | |||||
else | else | ||||
{ | { | ||||
ox = x() - X; | ox = x() - X; | ||||
oy = y() - Y; | |||||
/* for panning */ | /* for panning */ | ||||
os = _r->offset; | os = _r->offset; | ||||
@@ -855,8 +854,6 @@ Audio_Region::handle ( int m ) | |||||
/* panning */ | /* panning */ | ||||
int d = (ox + X) - x(); | int d = (ox + X) - x(); | ||||
bool negative = d < 0; | |||||
if ( d < 0 ) | if ( d < 0 ) | ||||
_r->offset = os + timeline->x_to_ts( 0 - d ); | _r->offset = os + timeline->x_to_ts( 0 - d ); | ||||
else | else | ||||
@@ -119,13 +119,13 @@ protected: | |||||
virtual void get ( Log_Entry &e ) const; | virtual void get ( Log_Entry &e ) const; | ||||
virtual void set ( Log_Entry &e ); | virtual void set ( Log_Entry &e ); | ||||
void draw_label ( const char *label, Fl_Align align ) | |||||
virtual void draw_label ( const char *label, Fl_Align align, Fl_Color color=(Fl_Color)0, int xo=0, int yo=0 ) | |||||
{ | { | ||||
Sequence_Widget::draw_label( label, align ); | Sequence_Widget::draw_label( label, align ); | ||||
} | } | ||||
virtual void draw_label ( void ); | |||||
int handle ( int m ); | int handle ( int m ); | ||||
void draw_label ( void ); | |||||
void draw_box ( void ); | void draw_box ( void ); | ||||
void draw ( void ); | void draw ( void ); | ||||
void resize ( void ); | void resize ( void ); | ||||
@@ -305,7 +305,7 @@ Control_Sequence::draw ( void ) | |||||
bool active = active_r(); | bool active = active_r(); | ||||
const Fl_Color color = active ? this->color() : fl_inactive( this->color() ); | const Fl_Color color = active ? this->color() : fl_inactive( this->color() ); | ||||
const Fl_Color selection_color = active ? this->selection_color() : fl_inactive( this->selection_color() ); | |||||
// const Fl_Color selection_color = active ? this->selection_color() : fl_inactive( this->selection_color() ); | |||||
fl_rectf( X, Y, W, H, fl_color_average( FL_WHITE, FL_BACKGROUND_COLOR, 0.3 ) ); | fl_rectf( X, Y, W, H, fl_color_average( FL_WHITE, FL_BACKGROUND_COLOR, 0.3 ) ); | ||||
@@ -96,7 +96,7 @@ command_session_is_loaded ( void *userdata ) | |||||
static int | static int | ||||
command_broadcast ( const char *path, lo_message msg, void *userdata ) | command_broadcast ( const char *path, lo_message msg, void *userdata ) | ||||
{ | { | ||||
int argc = lo_message_get_argc( msg ); | |||||
lo_message_get_argc( msg ); | |||||
// lo_arg **argv = lo_message_get_argv( msg ); | // lo_arg **argv = lo_message_get_argv( msg ); | ||||
if ( !strcmp( path, "/non/hello" ) ) | if ( !strcmp( path, "/non/hello" ) ) | ||||
@@ -126,6 +126,7 @@ public: | |||||
virtual Sequence * clone ( void ) | virtual Sequence * clone ( void ) | ||||
{ | { | ||||
assert( 0 ); | assert( 0 ); | ||||
return NULL; | |||||
} | } | ||||
virtual Sequence * clone_empty ( void ) | virtual Sequence * clone_empty ( void ) | ||||
@@ -145,8 +145,6 @@ Sequence_Region::handle ( int m ) | |||||
{ | { | ||||
static enum trim_e trimming; | static enum trim_e trimming; | ||||
static bool copied = false; | |||||
int X = Fl::event_x(); | int X = Fl::event_x(); | ||||
int Y = Fl::event_y(); | int Y = Fl::event_y(); | ||||
@@ -207,7 +205,6 @@ Sequence_Region::handle ( int m ) | |||||
{ | { | ||||
Sequence_Widget::handle( m ); | Sequence_Widget::handle( m ); | ||||
copied = false; | |||||
if ( trimming != NO ) | if ( trimming != NO ) | ||||
trimming = NO; | trimming = NO; | ||||
@@ -259,7 +256,7 @@ Sequence_Region::draw ( void ) | |||||
} | } | ||||
void | void | ||||
Sequence_Region::draw_label ( const char *label, Fl_Align align ) | |||||
Sequence_Region::draw_label ( const char *label, Fl_Align align, Fl_Color color, int xo, int yo ) | |||||
{ | { | ||||
fl_color( FL_WHITE ); | fl_color( FL_WHITE ); | ||||
fl_font( FL_HELVETICA_ITALIC, 10 ); | fl_font( FL_HELVETICA_ITALIC, 10 ); | ||||
@@ -41,7 +41,8 @@ protected: | |||||
virtual int handle ( int m ); | virtual int handle ( int m ); | ||||
virtual void draw_box( void ); | virtual void draw_box( void ); | ||||
virtual void draw ( void ); | virtual void draw ( void ); | ||||
virtual void draw_label ( const char *label, Fl_Align align ); | |||||
virtual void draw_label ( void ) { Sequence_Widget::draw_label(); } | |||||
virtual void draw_label ( const char *label, Fl_Align align, Fl_Color color=(Fl_Color)0, int xo=0, int yo=0 ); | |||||
public: | public: | ||||
@@ -309,6 +309,7 @@ public: | |||||
virtual void draw_box ( void ); | virtual void draw_box ( void ); | ||||
virtual void draw ( void ); | virtual void draw ( void ); | ||||
virtual void draw_label ( void ); | virtual void draw_label ( void ); | ||||
virtual void draw_label ( const char *label, Fl_Align align, Fl_Color color=(Fl_Color)0, int xo=0, int yo=0 ); | |||||
bool | bool | ||||
operator< ( const Sequence_Widget & rhs ) const | operator< ( const Sequence_Widget & rhs ) const | ||||
@@ -322,7 +323,6 @@ public: | |||||
return _r->start <= rhs._r->start; | return _r->start <= rhs._r->start; | ||||
} | } | ||||
virtual void draw_label ( const char *label, Fl_Align align, Fl_Color color=(Fl_Color)0, int xo=0, int yo=0 ); | |||||
virtual int handle ( int m ); | virtual int handle ( int m ); | ||||
static bool | static bool | ||||
@@ -155,7 +155,6 @@ protected: | |||||
void | void | ||||
draw_background ( int X, int Y,int W, int H ) | draw_background ( int X, int Y,int W, int H ) | ||||
{ | { | ||||
nframes_t sf = 0; | |||||
nframes_t ef = timeline->length(); | nframes_t ef = timeline->length(); | ||||
double ty = Y; | double ty = Y; | ||||
@@ -311,8 +310,6 @@ Timeline::cb_scroll ( Fl_Widget *w ) | |||||
_fpp = panzoomer->zoom(); | _fpp = panzoomer->zoom(); | ||||
const int tw = tracks->w() - Track::width(); | |||||
panzoomer->x_value( ts_to_x( under_mouse ) ); | panzoomer->x_value( ts_to_x( under_mouse ) ); | ||||
redraw(); | redraw(); | ||||
@@ -532,7 +529,7 @@ Timeline::menu_cb ( Fl_Menu_ *m ) | |||||
{ | { | ||||
Loggable::block_start(); | Loggable::block_start(); | ||||
Cursor_Region *o = new Cursor_Region( range_start(), range_end() - range_start(), "Punch", NULL ); | |||||
new Cursor_Region( range_start(), range_end() - range_start(), "Punch", NULL ); | |||||
reset_range(); | reset_range(); | ||||
Loggable::block_end(); | Loggable::block_end(); | ||||
@@ -553,7 +550,7 @@ Timeline::menu_cb ( Fl_Menu_ *m ) | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
Cursor_Region *o = new Cursor_Region( range_start(), range_end() - range_start(), "Playback", NULL ); | |||||
new Cursor_Region( range_start(), range_end() - range_start(), "Playback", NULL ); | |||||
} | } | ||||
reset_range(); | reset_range(); | ||||
@@ -1373,7 +1370,7 @@ Timeline::draw_playhead ( void ) | |||||
void | void | ||||
Timeline::redraw_playhead ( void ) | Timeline::redraw_playhead ( void ) | ||||
{ | { | ||||
static nframes_t last_playhead = -1; | |||||
// static nframes_t last_playhead = -1; | |||||
static int last_playhead_x = -1; | static int last_playhead_x = -1; | ||||
/* FIXME: kind of a hackish way to invoke punch / looping stuff from the UI thread... */ | /* FIXME: kind of a hackish way to invoke punch / looping stuff from the UI thread... */ | ||||
@@ -1439,7 +1436,7 @@ Timeline::redraw_playhead ( void ) | |||||
if ( last_playhead_x != playhead_x ) | if ( last_playhead_x != playhead_x ) | ||||
{ | { | ||||
redraw_overlay(); | redraw_overlay(); | ||||
last_playhead = transport->frame; | |||||
// last_playhead = transport->frame; | |||||
last_playhead_x = playhead_x; | last_playhead_x = playhead_x; | ||||
if ( follow_playhead ) | if ( follow_playhead ) | ||||
@@ -102,7 +102,7 @@ class Timeline : public Fl_Single_Window, public RWLock | |||||
static void draw_clip ( void * v, int X, int Y, int W, int H ); | static void draw_clip ( void * v, int X, int Y, int W, int H ); | ||||
int _old_xposition; | |||||
nframes_t _old_xposition; | |||||
int _old_yposition; | int _old_yposition; | ||||
Rectangle _selection; | Rectangle _selection; | ||||
@@ -865,13 +865,10 @@ Track::draw ( void ) | |||||
fl_clip_box( x(), y(), w(), h(), X, Y, W, H ); | fl_clip_box( x(), y(), w(), h(), X, Y, W, H ); | ||||
Fl_Color saved_color; | |||||
Fl_Color saved_color = color(); | |||||
if ( ! Track::colored_tracks ) | if ( ! Track::colored_tracks ) | ||||
{ | |||||
saved_color = color(); | |||||
color( FL_GRAY ); | color( FL_GRAY ); | ||||
} | |||||
if ( _selected ) | if ( _selected ) | ||||
{ | { | ||||
@@ -122,8 +122,6 @@ Waveform::draw ( int X, int Y, int W, int H, | |||||
fl_begin_line(); | fl_begin_line(); | ||||
unsigned long end = start + W; | |||||
j = start; | j = start; | ||||
for ( int x = X; x < X + W; x++, j += skip ) | for ( int x = X; x < X + W; x++, j += skip ) | ||||