@@ -36,7 +36,7 @@ using namespace std; | |||||
extern Timeline *timeline; | 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; | 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(); | // o->end(); | ||||
t->track( o ); | t->track( o ); | ||||
t->color( FL_GREEN ); | |||||
} | } | ||||
tracks = o; | 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 );} {} | |||||
} | |||||
} |