Add an option to add a new take.
This commit is contained in:
parent
546a0bde01
commit
35fc23bec8
|
@ -33,6 +33,14 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
|
||||
Track * clone_empty ( void )
|
||||
{
|
||||
Audio_Track *t = new Audio_Track( x(), y(), w(), h() );
|
||||
|
||||
return t;
|
||||
}
|
||||
|
||||
const char *class_name ( void ) { return "Audio_Track"; }
|
||||
|
||||
int handle ( int m );
|
||||
|
|
20
Track.H
20
Track.H
|
@ -94,6 +94,13 @@ public:
|
|||
log_create();
|
||||
}
|
||||
|
||||
/* const Track & operator= ( const Track & rhs ) */
|
||||
/* { */
|
||||
/* if ( *this = rhs ) */
|
||||
/* return; */
|
||||
|
||||
/* } */
|
||||
|
||||
virtual ~Track ( )
|
||||
{
|
||||
/* FIXME: what to do with regions? */
|
||||
|
@ -102,6 +109,9 @@ public:
|
|||
log_destroy();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
static Track_Widget *pushed ( void ) { return _pushed; };
|
||||
static Track_Widget *belowmouse ( void ) { return _belowmouse; };
|
||||
|
||||
|
@ -126,6 +136,16 @@ public:
|
|||
|
||||
Track_Widget * overlaps ( Track_Widget *r );
|
||||
|
||||
virtual Track * clone ( void )
|
||||
{
|
||||
assert( 0 );
|
||||
}
|
||||
|
||||
virtual Track * clone_empty ( void )
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
virtual void snap ( Track_Widget *r );
|
||||
virtual int handle ( int m );
|
||||
virtual void draw ( void );
|
||||
|
|
|
@ -60,10 +60,14 @@ Track_Header::cb_button ( Fl_Widget *w )
|
|||
{
|
||||
int v = take_menu->value();
|
||||
|
||||
if ( v == 0 )
|
||||
switch ( v )
|
||||
{
|
||||
show_all_takes( take_menu->menu()[ v ].value() );
|
||||
return;
|
||||
case 0: /* show all takes */
|
||||
show_all_takes( take_menu->menu()[ v ].value() );
|
||||
return;
|
||||
case 1: /* new */
|
||||
track( track()->clone_empty() );
|
||||
return;
|
||||
}
|
||||
|
||||
const char *s = take_menu->menu()[ v ].text;
|
||||
|
@ -147,7 +151,10 @@ Track_Header::Track_Header ( int X, int Y, int W, int H, const char *L ) :
|
|||
o->color( FL_LIGHT1 );
|
||||
o->align( FL_ALIGN_LEFT | FL_ALIGN_INSIDE );
|
||||
o->callback( cb_button, this );
|
||||
|
||||
o->add( "Show all takes", 0, 0, 0, FL_MENU_TOGGLE );
|
||||
o->add( "New", 0, 0, 0, FL_MENU_DIVIDER );
|
||||
|
||||
}
|
||||
o->end();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue