| @@ -36,7 +36,7 @@ using namespace std; | |||
| extern Timeline *timeline; | |||
| Fl_Boxtype Region::_box = FL_PLASTIC_UP_BOX; | |||
| Fl_Boxtype Region::_box = FL_UP_BOX; | |||
| Fl_Color Region::_selection_color = FL_MAGENTA; | |||
| @@ -161,6 +161,7 @@ Timeline::Timeline ( int X, int Y, int W, int H, const char* L ) : Fl_Group( X, | |||
| // o->end(); | |||
| t->track( o ); | |||
| t->color( FL_GREEN ); | |||
| } | |||
| tracks = o; | |||
| @@ -0,0 +1,99 @@ | |||
| /*******************************************************************************/ | |||
| /* Copyright (C) 2008 Jonathan Moore Liles */ | |||
| /* */ | |||
| /* This program is free software; you can redistribute it and/or modify it */ | |||
| /* under the terms of the GNU General Public License as published by the */ | |||
| /* Free Software Foundation; either version 2 of the License, or (at your */ | |||
| /* option) any later version. */ | |||
| /* */ | |||
| /* This program is distributed in the hope that it will be useful, but WITHOUT */ | |||
| /* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or */ | |||
| /* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for */ | |||
| /* more details. */ | |||
| /* */ | |||
| /* You should have received a copy of the GNU General Public License along */ | |||
| /* with This program; see the file COPYING. If not,write to the Free Software */ | |||
| /* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ | |||
| /*******************************************************************************/ | |||
| #include "Track_Header.H" | |||
| Track_Header::Track_Header ( int X, int Y, int W, int H, const char *L ) : | |||
| Fl_Group ( X, Y, W, H, L ) | |||
| { | |||
| Track_Header *o = this; | |||
| o->box( FL_THIN_UP_BOX ); | |||
| { | |||
| Fl_Group *o = new Fl_Group( 2, 2, 149, 113 ); | |||
| o->color( ( Fl_Color ) 53 ); | |||
| { | |||
| Fl_Group *o = new Fl_Group( 4, 4, 144, 66 ); | |||
| { | |||
| Fl_Input *o = name_field = new Fl_Input( 4, 9, 144, 25 ); | |||
| o->color( ( Fl_Color ) 33 ); | |||
| o->labeltype( FL_NO_LABEL ); | |||
| o->labelcolor( FL_GRAY0 ); | |||
| o->textcolor( 32 ); | |||
| } | |||
| { | |||
| Fl_Button *o = record_button = | |||
| new Fl_Button( 6, 38, 26, 27, "@circle" ); | |||
| o->type( 1 ); | |||
| o->box( FL_ROUNDED_BOX ); | |||
| o->color( FL_LIGHT1 ); | |||
| o->labelsize( 8 ); | |||
| } | |||
| { | |||
| Fl_Button *o = mute_button = | |||
| new Fl_Button( 35, 38, 26, 27, "m" ); | |||
| o->type( 1 ); | |||
| o->box( FL_ROUNDED_BOX ); | |||
| o->color( FL_LIGHT1 ); | |||
| o->labelsize( 11 ); | |||
| } | |||
| { | |||
| Fl_Button *o = solo_button = | |||
| new Fl_Button( 66, 38, 26, 27, "s" ); | |||
| o->type( 1 ); | |||
| o->box( FL_ROUNDED_BOX ); | |||
| o->color( FL_LIGHT1 ); | |||
| o->labelsize( 11 ); | |||
| } | |||
| { | |||
| Fl_Menu_Button *o = take_menu = | |||
| new Fl_Menu_Button( 97, 38, 47, 27, "T" ); | |||
| o->box( FL_ROUNDED_BOX ); | |||
| o->color( FL_LIGHT1 ); | |||
| o->align( FL_ALIGN_LEFT | FL_ALIGN_INSIDE ); | |||
| } | |||
| o->end(); | |||
| } | |||
| o->size( Track_Header::width(), o->h() ); | |||
| o->end(); | |||
| } | |||
| { | |||
| Fl_Pack *o = takes = new Fl_Pack( 150, 0, 1006, 115 ); | |||
| o->labeltype( FL_NO_LABEL ); | |||
| o->align( FL_ALIGN_CLIP ); | |||
| o->resize( x() + width(), y(), w() - width(), h() ); | |||
| o->end(); | |||
| Fl_Group::current()->resizable( o ); | |||
| } | |||
| end(); | |||
| } | |||
| int | |||
| Track_Header::width() | |||
| { | |||
| return 150; | |||
| } | |||
| void | |||
| Track_Header::track( Track * t ) | |||
| { | |||
| _track = t; | |||
| t->size( 1, takes->h() ); | |||
| takes->add( t ); | |||
| } | |||
| @@ -0,0 +1,69 @@ | |||
| /*******************************************************************************/ | |||
| /* Copyright (C) 2008 Jonathan Moore Liles */ | |||
| /* */ | |||
| /* This program is free software; you can redistribute it and/or modify it */ | |||
| /* under the terms of the GNU General Public License as published by the */ | |||
| /* Free Software Foundation; either version 2 of the License, or (at your */ | |||
| /* option) any later version. */ | |||
| /* */ | |||
| /* This program is distributed in the hope that it will be useful, but WITHOUT */ | |||
| /* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or */ | |||
| /* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for */ | |||
| /* more details. */ | |||
| /* */ | |||
| /* You should have received a copy of the GNU General Public License along */ | |||
| /* with This program; see the file COPYING. If not,write to the Free Software */ | |||
| /* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ | |||
| /*******************************************************************************/ | |||
| #ifndef Track_Header_H | |||
| #define Track_Header_H | |||
| #include <FL/Fl.H> | |||
| #include "Track.H" | |||
| #include <FL/Fl_Group.H> | |||
| #include <FL/Fl_Input.H> | |||
| #include <FL/Fl_Button.H> | |||
| #include <FL/Fl_Menu_Button.H> | |||
| #include <FL/Fl_Pack.H> | |||
| #include "Loggable.H" | |||
| class Track_Header : public Fl_Group, public Loggable | |||
| { | |||
| public: | |||
| Track_Header( int X, int Y, int W, int H, const char *L = 0 ); | |||
| private: | |||
| Track * _track; | |||
| public: | |||
| Fl_Input * name_field; | |||
| Fl_Button *record_button; | |||
| Fl_Button *mute_button; | |||
| Fl_Button *solo_button; | |||
| Fl_Menu_Button *take_menu; | |||
| Fl_Pack *takes; | |||
| const char *class_name ( void ) { return "Track_Header"; } | |||
| void set ( char **sa ) | |||
| { | |||
| return; | |||
| } | |||
| char ** get ( void ) | |||
| { | |||
| return NULL; | |||
| } | |||
| static int width(); | |||
| void track( Track * t ); | |||
| }; | |||
| #endif | |||
| @@ -1,55 +0,0 @@ | |||
| # data file for the Fltk User Interface Designer (fluid) | |||
| version 1.0107 | |||
| header_name {.H} | |||
| code_name {.C} | |||
| decl {\#include "Track.H"} {public | |||
| } | |||
| widget_class Track_Header {open | |||
| xywh {383 446 1156 116} type Double box THIN_UP_BOX resizable visible | |||
| } { | |||
| Function {width()} {open return_type {static int} | |||
| } { | |||
| code {return 150;} {} | |||
| } | |||
| decl {Track *_track;} {} | |||
| Fl_Group {} {open | |||
| xywh {2 2 149 113} color 53 | |||
| code0 {o->size( Track_Header::width(), o->h() );} | |||
| } { | |||
| Fl_Group {} {open | |||
| xywh {4 4 144 66} | |||
| } { | |||
| Fl_Input name_field { | |||
| xywh {4 9 144 25} color 33 labeltype NO_LABEL labelcolor 32 textcolor 32 | |||
| } | |||
| Fl_Button record_button { | |||
| label {@circle} | |||
| xywh {6 38 26 27} type Toggle box ROUNDED_BOX color 50 labelsize 8 | |||
| } | |||
| Fl_Button mute_button { | |||
| label m | |||
| xywh {35 38 26 27} type Toggle box ROUNDED_BOX color 50 labelsize 11 | |||
| } | |||
| Fl_Button solo_button { | |||
| label s | |||
| xywh {66 38 26 27} type Toggle box ROUNDED_BOX color 50 labelsize 11 | |||
| } | |||
| Fl_Menu_Button take_menu { | |||
| label T open | |||
| xywh {97 38 47 27} box ROUNDED_BOX color 50 align 20 | |||
| } {} | |||
| } | |||
| } | |||
| Fl_Pack takes {open selected | |||
| xywh {150 0 1006 115} labeltype NO_LABEL align 64 resizable | |||
| code0 {o->resize( x() + width(), y(), w() - width(), h() );} | |||
| } {} | |||
| Function {track( Track *t )} {open return_type void | |||
| } { | |||
| code {_track = t; | |||
| t->size( 1, takes->h() ); | |||
| takes->add( t );} {} | |||
| } | |||
| } | |||