Cleanup timeline class a little.
This commit is contained in:
parent
f58e156e3a
commit
613cbaa2a4
|
@ -89,9 +89,7 @@ protected:
|
||||||
|
|
||||||
free( sa );
|
free( sa );
|
||||||
|
|
||||||
timeline->rulers->redraw();
|
timeline->redraw();
|
||||||
timeline->tracks->redraw();
|
|
||||||
|
|
||||||
|
|
||||||
_make_label();
|
_make_label();
|
||||||
}
|
}
|
||||||
|
@ -142,8 +140,7 @@ public:
|
||||||
if ( m == FL_RELEASE )
|
if ( m == FL_RELEASE )
|
||||||
{
|
{
|
||||||
_track->sort();
|
_track->sort();
|
||||||
timeline->rulers->redraw();
|
timeline->redraw();
|
||||||
timeline->tracks->redraw();
|
|
||||||
}
|
}
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
|
@ -112,8 +112,7 @@ protected:
|
||||||
|
|
||||||
free( sa );
|
free( sa );
|
||||||
|
|
||||||
timeline->rulers->redraw();
|
timeline->redraw();
|
||||||
timeline->tracks->redraw();
|
|
||||||
|
|
||||||
_make_label();
|
_make_label();
|
||||||
}
|
}
|
||||||
|
@ -161,7 +160,7 @@ public:
|
||||||
if ( m == FL_RELEASE )
|
if ( m == FL_RELEASE )
|
||||||
{
|
{
|
||||||
_track->sort();
|
_track->sort();
|
||||||
timeline->tracks->redraw();
|
timeline->redraw();
|
||||||
}
|
}
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
55
Timeline.C
55
Timeline.C
|
@ -28,40 +28,40 @@
|
||||||
#include "Track_Header.H"
|
#include "Track_Header.H"
|
||||||
|
|
||||||
void
|
void
|
||||||
cb_hscroll ( Fl_Widget *w, void *v )
|
Timeline::cb_scroll ( Fl_Widget *w, void *v )
|
||||||
{
|
{
|
||||||
Scalebar *sb = (Scalebar*)w;
|
((Timeline*)v)->cb_scroll( w );
|
||||||
|
|
||||||
if ( sb->zoom_changed() )
|
|
||||||
{
|
|
||||||
timeline->fpp = sb->zoom() * 1;
|
|
||||||
|
|
||||||
int maxx = timeline->ts_to_x( timeline->length );
|
|
||||||
sb->range( 0, maxx );
|
|
||||||
|
|
||||||
timeline->redraw();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
timeline->position( sb->value() );
|
|
||||||
}
|
|
||||||
|
|
||||||
printf( "%lu\n", timeline->xoffset );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
cb_vscroll ( Fl_Widget *w, void *v )
|
Timeline::cb_scroll ( Fl_Widget *w )
|
||||||
{
|
{
|
||||||
Fl_Scrollbar *sb = (Fl_Scrollbar*)w;
|
if ( w == vscroll )
|
||||||
|
{
|
||||||
|
tracks->position( tracks->x(), (rulers->y() + rulers->h()) - vscroll->value() );
|
||||||
|
|
||||||
timeline->tracks->position( timeline->tracks->x(), (timeline->rulers->y() + timeline->rulers->h()) - sb->value() );
|
yposition = vscroll->value();
|
||||||
timeline->yposition = sb->value();
|
|
||||||
|
|
||||||
// timeline->vscroll->range( 0, timeline->tracks->h() - timeline->h() - timeline->rulers->h() );
|
vscroll->value( vscroll->value(), 30, 0, min( tracks->h(), tracks->h() - h() - rulers->h() ) );
|
||||||
|
|
||||||
sb->value( sb->value(), 30, 0, min( timeline->tracks->h(), timeline->tracks->h() - timeline->h() - timeline->rulers->h() ) );
|
damage( FL_DAMAGE_SCROLL );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if ( hscroll->zoom_changed() )
|
||||||
|
{
|
||||||
|
fpp = hscroll->zoom() * 1;
|
||||||
|
|
||||||
timeline->damage( FL_DAMAGE_SCROLL );
|
int maxx = ts_to_x( length );
|
||||||
|
hscroll->range( 0, maxx );
|
||||||
|
|
||||||
|
redraw();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
position( hscroll->value() );
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@ Timeline::Timeline ( int X, int Y, int W, int H, const char* L ) : Fl_Overlay_Wi
|
||||||
o->zoom_range( 2, 8192 );
|
o->zoom_range( 2, 8192 );
|
||||||
o->zoom( 256 );
|
o->zoom( 256 );
|
||||||
o->type( FL_HORIZONTAL );
|
o->type( FL_HORIZONTAL );
|
||||||
o->callback( cb_hscroll, 0 );
|
o->callback( cb_scroll, this );
|
||||||
|
|
||||||
hscroll = o;
|
hscroll = o;
|
||||||
}
|
}
|
||||||
|
@ -91,7 +91,7 @@ Timeline::Timeline ( int X, int Y, int W, int H, const char* L ) : Fl_Overlay_Wi
|
||||||
|
|
||||||
o->type( FL_VERTICAL );
|
o->type( FL_VERTICAL );
|
||||||
// o->step( 10 );
|
// o->step( 10 );
|
||||||
o->callback( cb_vscroll, 0 );
|
o->callback( cb_scroll, this );
|
||||||
vscroll = o;
|
vscroll = o;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -144,7 +144,6 @@ Timeline::Timeline ( int X, int Y, int W, int H, const char* L ) : Fl_Overlay_Wi
|
||||||
|
|
||||||
sample_rate = 44100;
|
sample_rate = 44100;
|
||||||
fpp = 256;
|
fpp = 256;
|
||||||
_beats_per_minute = 120;
|
|
||||||
length = sample_rate * 60 * 2;
|
length = sample_rate * 60 * 2;
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
12
Timeline.H
12
Timeline.H
|
@ -61,9 +61,8 @@ struct Rectangle
|
||||||
Rectangle ( int X, int Y, int W, int H ) : x( X ), y( Y ), w( W ), h( H ) {}
|
Rectangle ( int X, int Y, int W, int H ) : x( X ), y( Y ), w( W ), h( H ) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
struct Timeline : public Fl_Overlay_Window
|
class Timeline : public Fl_Overlay_Window
|
||||||
{
|
{
|
||||||
|
|
||||||
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;
|
int _old_xposition;
|
||||||
|
@ -88,6 +87,12 @@ struct Timeline : public Fl_Overlay_Window
|
||||||
Tempo_Track *tempo_track;
|
Tempo_Track *tempo_track;
|
||||||
Time_Track *time_track;
|
Time_Track *time_track;
|
||||||
|
|
||||||
|
|
||||||
|
static void cb_scroll ( Fl_Widget *w, void *v );
|
||||||
|
void cb_scroll ( Fl_Widget *w );
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
float fpp; /* frames per pixel */
|
float fpp; /* frames per pixel */
|
||||||
// nframes_t fpp;
|
// nframes_t fpp;
|
||||||
|
|
||||||
|
@ -99,9 +104,6 @@ struct Timeline : public Fl_Overlay_Window
|
||||||
|
|
||||||
int yposition;
|
int yposition;
|
||||||
|
|
||||||
int _beats_per_bar;
|
|
||||||
float _beats_per_minute;
|
|
||||||
|
|
||||||
Timeline ( int X, int Y, int W, int H, const char *L=0 );
|
Timeline ( int X, int Y, int W, int H, const char *L=0 );
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
Loading…
Reference in New Issue