| @@ -674,71 +674,75 @@ Track::menu_cb ( const Fl_Menu_ *m ) | |||
| m->item_pathname( picked, sizeof( picked ) ); | |||
| Logger log( this ); | |||
| if ( ! strcmp( picked, "Type/Mono" ) ) | |||
| { | |||
| configure_inputs( 1 ); | |||
| configure_outputs( 1 ); | |||
| } | |||
| else if ( ! strcmp( picked, "Type/Stereo" ) ) | |||
| { | |||
| configure_inputs( 2 ); | |||
| configure_outputs( 2 ); | |||
| } | |||
| else if ( ! strcmp( picked, "Type/Quad" ) ) | |||
| { | |||
| configure_inputs( 4 ); | |||
| configure_outputs( 4 ); | |||
| } | |||
| else if ( ! strcmp( picked, "Type/..." ) ) | |||
| { | |||
| const char *s = fl_input( "How many channels?", "3" ); | |||
| int c = atoi( s ); | |||
| if ( c <= 0 || c > 10 ) | |||
| fl_alert( "Invalid number of channels." ); | |||
| else | |||
| { | |||
| configure_inputs( c ); | |||
| configure_outputs( c ); | |||
| } | |||
| } | |||
| else if ( ! strcmp( picked, "/Add Control" ) ) | |||
| { | |||
| new Control_Sequence( this ); | |||
| } | |||
| else if ( ! strcmp( picked, "/Add Annotation" ) ) | |||
| { | |||
| add( new Annotation_Sequence( this ) ); | |||
| } | |||
| else if ( ! strcmp( picked, "/Color" ) ) | |||
| { | |||
| unsigned char r, g, b; | |||
| Fl::get_color( color(), r, g, b ); | |||
| if ( fl_color_chooser( "Track Color", r, g, b ) ) | |||
| { | |||
| color( fl_rgb_color( r, g, b ) ); | |||
| } | |||
| redraw(); | |||
| } | |||
| else if ( ! strcmp( picked, "/Remove" ) ) | |||
| { | |||
| int r = fl_choice( "Are you certain you want to remove track \"%s\"?", "Cancel", NULL, "Remove", name() ); | |||
| if ( r == 2 ) | |||
| { | |||
| timeline->remove_track( this ); | |||
| Fl::delete_widget( this ); | |||
| } | |||
| } | |||
| else if ( ! strcmp( picked, "/Rename" ) ) | |||
| { | |||
| ((Fl_Sometimes_Input*)name_field)->take_focus(); | |||
| } | |||
| Logger log( this ); | |||
| if ( ! strcmp( picked, "Type/Mono" ) ) | |||
| { | |||
| configure_inputs( 1 ); | |||
| configure_outputs( 1 ); | |||
| } | |||
| else if ( ! strcmp( picked, "Type/Stereo" ) ) | |||
| { | |||
| configure_inputs( 2 ); | |||
| configure_outputs( 2 ); | |||
| } | |||
| else if ( ! strcmp( picked, "Type/Quad" ) ) | |||
| { | |||
| configure_inputs( 4 ); | |||
| configure_outputs( 4 ); | |||
| } | |||
| else if ( ! strcmp( picked, "Type/..." ) ) | |||
| { | |||
| const char *s = fl_input( "How many channels?", "3" ); | |||
| if ( s ) | |||
| { | |||
| int c = atoi( s ); | |||
| if ( c <= 0 || c > 10 ) | |||
| fl_alert( "Invalid number of channels." ); | |||
| else | |||
| { | |||
| configure_inputs( c ); | |||
| configure_outputs( c ); | |||
| } | |||
| } | |||
| } | |||
| else if ( ! strcmp( picked, "/Add Control" ) ) | |||
| { | |||
| new Control_Sequence( this ); | |||
| } | |||
| else if ( ! strcmp( picked, "/Add Annotation" ) ) | |||
| { | |||
| add( new Annotation_Sequence( this ) ); | |||
| } | |||
| else if ( ! strcmp( picked, "/Color" ) ) | |||
| { | |||
| unsigned char r, g, b; | |||
| Fl::get_color( color(), r, g, b ); | |||
| if ( fl_color_chooser( "Track Color", r, g, b ) ) | |||
| { | |||
| color( fl_rgb_color( r, g, b ) ); | |||
| } | |||
| redraw(); | |||
| } | |||
| else if ( ! strcmp( picked, "/Remove" ) ) | |||
| { | |||
| int r = fl_choice( "Are you certain you want to remove track \"%s\"?", "Cancel", NULL, "Remove", name() ); | |||
| if ( r == 2 ) | |||
| { | |||
| timeline->remove_track( this ); | |||
| Fl::delete_widget( this ); | |||
| } | |||
| } | |||
| else if ( ! strcmp( picked, "/Rename" ) ) | |||
| { | |||
| ((Fl_Sometimes_Input*)name_field)->take_focus(); | |||
| } | |||
| } | |||
| #include "FL/menu_popup.H" | |||