@@ -67,8 +67,6 @@ Annotation_Region::Annotation_Region ( Sequence *sequence, nframes_t when, const | |||||
Annotation_Region::Annotation_Region ( const Annotation_Region &rhs ) : Sequence_Region( rhs ) | Annotation_Region::Annotation_Region ( const Annotation_Region &rhs ) : Sequence_Region( rhs ) | ||||
{ | { | ||||
_label = strdup( rhs._label ); | |||||
log_create(); | log_create(); | ||||
} | } | ||||
@@ -76,7 +74,6 @@ Annotation_Region::Annotation_Region ( const Annotation_Region &rhs ) : Sequence | |||||
Annotation_Region::~Annotation_Region ( ) | Annotation_Region::~Annotation_Region ( ) | ||||
{ | { | ||||
log_destroy(); | log_destroy(); | ||||
if ( _label ) free( _label ); | |||||
} | } | ||||
void | void | ||||
@@ -25,23 +25,15 @@ | |||||
Sequence_Point::Sequence_Point ( const Sequence_Point &rhs ) : Sequence_Widget( rhs ) | Sequence_Point::Sequence_Point ( const Sequence_Point &rhs ) : Sequence_Widget( rhs ) | ||||
{ | { | ||||
if ( rhs._label ) | |||||
_label = strdup( rhs._label ); | |||||
else | |||||
_label = 0; | |||||
} | } | ||||
Sequence_Point::Sequence_Point ( ) | Sequence_Point::Sequence_Point ( ) | ||||
{ | { | ||||
_label = NULL; | |||||
color( FL_CYAN ); | color( FL_CYAN ); | ||||
} | } | ||||
Sequence_Point::~Sequence_Point ( ) | Sequence_Point::~Sequence_Point ( ) | ||||
{ | { | ||||
if ( _label ) | |||||
free( _label ); | |||||
} | } | ||||
@@ -31,25 +31,15 @@ protected: | |||||
void get ( Log_Entry &e ) const; | void get ( Log_Entry &e ) const; | ||||
void set ( Log_Entry &e ); | void set ( Log_Entry &e ); | ||||
virtual void draw_box ( void ); | virtual void draw_box ( void ); | ||||
virtual void draw ( void ); | virtual void draw ( void ); | ||||
Sequence_Point ( const Sequence_Point &rhs ); | Sequence_Point ( const Sequence_Point &rhs ); | ||||
Sequence_Point ( ); | Sequence_Point ( ); | ||||
~Sequence_Point ( ); | |||||
virtual ~Sequence_Point ( ); | |||||
public: | public: | ||||
const char *label ( void ) const { return _label; } | |||||
void label ( const char *s ) | |||||
{ | |||||
if ( _label ) | |||||
free( _label ); | |||||
_label = strdup( s ); | |||||
redraw(); | |||||
} | |||||
Fl_Align align ( void ) const { return FL_ALIGN_RIGHT; } | Fl_Align align ( void ) const { return FL_ALIGN_RIGHT; } | ||||
virtual int abs_w ( void ) const { return 8; } | virtual int abs_w ( void ) const { return 8; } | ||||
@@ -59,6 +59,8 @@ Sequence_Widget::Sequence_Widget ( const Sequence_Widget &rhs ) : Loggable( rhs | |||||
if ( rhs._label ) | if ( rhs._label ) | ||||
_label = strdup( rhs._label ); | _label = strdup( rhs._label ); | ||||
else | |||||
_label = 0; | |||||
_sequence = rhs._sequence; | _sequence = rhs._sequence; | ||||
@@ -32,10 +32,11 @@ class Tempo_Point : public Sequence_Point | |||||
void | void | ||||
_make_label ( void ) | _make_label ( void ) | ||||
{ | { | ||||
if ( ! _label ) | |||||
_label = (char*)malloc( 40 ); | |||||
char l[10]; | |||||
snprintf( _label, 40, "%.1f", _tempo ); | |||||
snprintf( l, sizeof(l), "%.1f", _tempo ); | |||||
label( l ); | |||||
} | } | ||||
protected: | protected: | ||||
@@ -59,7 +60,7 @@ public: | |||||
Tempo_Point ( nframes_t when, float bpm ); | Tempo_Point ( nframes_t when, float bpm ); | ||||
~Tempo_Point ( ); | |||||
virtual ~Tempo_Point ( ); | |||||
Tempo_Point ( const Tempo_Point &rhs ) : Sequence_Point( rhs ) | Tempo_Point ( const Tempo_Point &rhs ) : Sequence_Point( rhs ) | ||||
{ | { | ||||
@@ -44,10 +44,11 @@ class Time_Point : public Sequence_Point | |||||
void | void | ||||
_make_label ( void ) | _make_label ( void ) | ||||
{ | { | ||||
if ( ! _label ) | |||||
_label = (char*)malloc( 40 ); | |||||
char l[10]; | |||||
snprintf( l, sizeof(l), "%d/%d", _time.beats_per_bar, _time.beat_type ); | |||||
snprintf( _label, 40, "%d/%d", _time.beats_per_bar, _time.beat_type ); | |||||
label( l ); | |||||
} | } | ||||