diff --git a/Audio_File.C b/Engine/Audio_File.C similarity index 100% rename from Audio_File.C rename to Engine/Audio_File.C diff --git a/Audio_File.H b/Engine/Audio_File.H similarity index 100% rename from Audio_File.H rename to Engine/Audio_File.H diff --git a/Audio_File_SF.C b/Engine/Audio_File_SF.C similarity index 100% rename from Audio_File_SF.C rename to Engine/Audio_File_SF.C diff --git a/Audio_File_SF.H b/Engine/Audio_File_SF.H similarity index 100% rename from Audio_File_SF.H rename to Engine/Audio_File_SF.H diff --git a/Loggable.C b/Engine/Loggable.C similarity index 100% rename from Loggable.C rename to Engine/Loggable.C diff --git a/Loggable.H b/Engine/Loggable.H similarity index 100% rename from Loggable.H rename to Engine/Loggable.H diff --git a/Peaks.C b/Engine/Peaks.C similarity index 100% rename from Peaks.C rename to Engine/Peaks.C diff --git a/Peaks.H b/Engine/Peaks.H similarity index 100% rename from Peaks.H rename to Engine/Peaks.H diff --git a/const.h b/Engine/const.h similarity index 100% rename from const.h rename to Engine/const.h diff --git a/Boxtypes.C b/FL/Boxtypes.C similarity index 100% rename from Boxtypes.C rename to FL/Boxtypes.C diff --git a/Boxtypes.H b/FL/Boxtypes.H similarity index 100% rename from Boxtypes.H rename to FL/Boxtypes.H diff --git a/Fl_Arc_Dial.H b/FL/Fl_Arc_Dial.H similarity index 100% rename from Fl_Arc_Dial.H rename to FL/Fl_Arc_Dial.H diff --git a/Fl_Flip_Button.H b/FL/Fl_Flip_Button.H similarity index 100% rename from Fl_Flip_Button.H rename to FL/Fl_Flip_Button.H diff --git a/Fl_Scalepack.C b/FL/Fl_Scalepack.C similarity index 100% rename from Fl_Scalepack.C rename to FL/Fl_Scalepack.C diff --git a/Fl_Scalepack.H b/FL/Fl_Scalepack.H similarity index 100% rename from Fl_Scalepack.H rename to FL/Fl_Scalepack.H diff --git a/DPM.C b/Mixer/DPM.C similarity index 100% rename from DPM.C rename to Mixer/DPM.C diff --git a/DPM.H b/Mixer/DPM.H similarity index 100% rename from DPM.H rename to Mixer/DPM.H diff --git a/Meter.H b/Mixer/Meter.H similarity index 100% rename from Meter.H rename to Mixer/Meter.H diff --git a/Mixer/Mixer.C b/Mixer/Mixer.C new file mode 100644 index 0000000..fe73f8b --- /dev/null +++ b/Mixer/Mixer.C @@ -0,0 +1,98 @@ + +/*******************************************************************************/ +/* 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 +#include +#include +#include +#include +#include "Mixer_Strip.H" + + +#include +#include + +#include "DPM.H" + +Fl_Single_Window *main_window; + +#include "Boxtypes.H" + +int +main ( int argc, char **arv ) +{ + Fl::get_system_colors(); + Fl::scheme( "plastic" ); + + init_boxtypes(); + + Fl_Pack * mixer_strips; + + Fl_Single_Window *o = main_window = new Fl_Single_Window( 1024, 768 ); + { + Fl_Scroll *o = new Fl_Scroll( 0, 0, main_window->w(), main_window->h() ); + main_window->resizable( o ); + { + Fl_Pack *o = mixer_strips = new Fl_Pack( 0, 0, 1, main_window->h() ); + o->type( Fl_Pack::HORIZONTAL ); + { + for ( int i = 16; i-- ; ) + new Mixer_Strip( 0, 0, 120, main_window->h() + 150 ); + } + o->end(); + } + o->end(); + } + o->end(); + o->show(); + + while ( 1 ) + { + + for ( int i = mixer_strips->children(); i--; ) + { + Meter_Pack *mp = (Meter_Pack*)((Mixer_Strip*) mixer_strips->child( i ))->meters_pack; + + for ( int j = mp->channels(); j-- ; ) + { + Meter *o = mp->channel( j ); + + float v = o->value(); + + float r = ((rand() / (float)RAND_MAX) - 0.5f) * 10.0f; + + v += r; + + if ( v > 4.0f ) v = 0.0f; + if ( v < -80.0f ) v = 0.0f; + + o->value( v ); + } + + } + + Fl::wait( 0.02f ); +/* Fl::check(); */ +/* usleep( 50000 ); */ + + } + +// Fl::run(); +} diff --git a/Mixer_Strip.fl b/Mixer/Mixer_Strip.fl similarity index 80% rename from Mixer_Strip.fl rename to Mixer/Mixer_Strip.fl index 121627b..0124738 100644 --- a/Mixer_Strip.fl +++ b/Mixer/Mixer_Strip.fl @@ -21,7 +21,7 @@ decl {\#include "Fl_Arc_Dial.H"} {public global } widget_class Mixer_Strip {open - xywh {1051 42 124 816} type Double box UP_FRAME color 32 selection_color 63 resizable + xywh {1051 42 124 878} type Double box UP_FRAME color 32 selection_color 63 resizable code0 {size( 120, h() );} visible } { Fl_Box {} { @@ -37,20 +37,20 @@ widget_class Mixer_Strip {open } { Fl_Button {} { label {@circle} - private xywh {7 143 35 25} type Toggle labelsize 10 + private xywh {7 143 35 25} type Toggle box THIN_UP_BOX labelsize 10 } Fl_Button {} { label m - private xywh {46 143 32 25} type Toggle + private xywh {46 143 32 25} type Toggle box THIN_UP_BOX } Fl_Button {} { label s - private xywh {82 143 35 25} type Toggle + private xywh {82 143 35 25} type Toggle box THIN_UP_BOX } } Fl_Button {} { - label {output/input} - xywh {56 182 55 25} type Toggle box ROUNDED_BOX color 106 selection_color 65 align 64 + label {post/pre} selected + xywh {61 183 45 22} type Toggle box ROUNDED_BOX color 106 selection_color 65 align 64 class Fl_Flip_Button } Fl_Group {} {open @@ -66,7 +66,7 @@ widget_class Mixer_Strip {open xywh {56 208 55 471} type HORIZONTAL labeltype NO_LABEL align 0 class Fl_Scalepack } { - Fl_Box meter { + Fl_Box {} { label DPM xywh {56 208 24 459} box ROUNDED_BOX selection_color 88 class DPM @@ -76,16 +76,6 @@ widget_class Mixer_Strip {open xywh {81 208 30 459} box ROUNDED_BOX selection_color 88 class DPM } - Fl_Box {} { - label DPM - xywh {91 208 20 461} box ROUNDED_BOX selection_color 88 - class DPM - } - Fl_Box {} { - label DPM - xywh {101 208 10 471} box ROUNDED_BOX selection_color 88 - class DPM - } } } Fl_Box {} { @@ -108,9 +98,13 @@ widget_class Mixer_Strip {open code0 {o->box( FL_BURNISHED_OVAL_BOX );} class Fl_Arc_Dial } - Fl_Dial {} {selected + Fl_Dial {} { xywh {73 80 41 39} box OVAL_FRAME color 52 selection_color 55 code0 {o->box( FL_BURNISHED_OVAL_BOX );} class Fl_Arc_Dial } + Fl_Counter intputs_counter { + label {Mix Ins} + xywh {60 788 58 20} type Simple align 4 minimum 1 maximum 4 step 1 value 1 + } } diff --git a/Panner.C b/Mixer/Panner.C similarity index 100% rename from Panner.C rename to Mixer/Panner.C diff --git a/Panner.H b/Mixer/Panner.H similarity index 100% rename from Panner.H rename to Mixer/Panner.H diff --git a/Audio_Track.C b/Timeline/Audio_Track.C similarity index 100% rename from Audio_Track.C rename to Timeline/Audio_Track.C diff --git a/Audio_Track.H b/Timeline/Audio_Track.H similarity index 100% rename from Audio_Track.H rename to Timeline/Audio_Track.H diff --git a/Control_Point.H b/Timeline/Control_Point.H similarity index 100% rename from Control_Point.H rename to Timeline/Control_Point.H diff --git a/Control_Track.H b/Timeline/Control_Track.H similarity index 100% rename from Control_Track.H rename to Timeline/Control_Track.H diff --git a/Region.C b/Timeline/Region.C similarity index 100% rename from Region.C rename to Timeline/Region.C diff --git a/Region.H b/Timeline/Region.H similarity index 100% rename from Region.H rename to Timeline/Region.H diff --git a/Scalebar.H b/Timeline/Scalebar.H similarity index 100% rename from Scalebar.H rename to Timeline/Scalebar.H diff --git a/Tempo_Point.H b/Timeline/Tempo_Point.H similarity index 100% rename from Tempo_Point.H rename to Timeline/Tempo_Point.H diff --git a/Tempo_Track.H b/Timeline/Tempo_Track.H similarity index 100% rename from Tempo_Track.H rename to Timeline/Tempo_Track.H diff --git a/Time_Point.H b/Timeline/Time_Point.H similarity index 100% rename from Time_Point.H rename to Timeline/Time_Point.H diff --git a/Time_Track.H b/Timeline/Time_Track.H similarity index 100% rename from Time_Track.H rename to Timeline/Time_Track.H diff --git a/Timeline.C b/Timeline/Timeline.C similarity index 100% rename from Timeline.C rename to Timeline/Timeline.C diff --git a/Timeline.H b/Timeline/Timeline.H similarity index 100% rename from Timeline.H rename to Timeline/Timeline.H diff --git a/Track.C b/Timeline/Track.C similarity index 100% rename from Track.C rename to Timeline/Track.C diff --git a/Track.H b/Timeline/Track.H similarity index 100% rename from Track.H rename to Timeline/Track.H diff --git a/Track_Header.C b/Timeline/Track_Header.C similarity index 100% rename from Track_Header.C rename to Timeline/Track_Header.C diff --git a/Track_Header.H b/Timeline/Track_Header.H similarity index 100% rename from Track_Header.H rename to Timeline/Track_Header.H diff --git a/Track_Point.H b/Timeline/Track_Point.H similarity index 100% rename from Track_Point.H rename to Timeline/Track_Point.H diff --git a/Track_Widget.C b/Timeline/Track_Widget.C similarity index 100% rename from Track_Widget.C rename to Timeline/Track_Widget.C diff --git a/Track_Widget.H b/Timeline/Track_Widget.H similarity index 100% rename from Track_Widget.H rename to Timeline/Track_Widget.H diff --git a/Waveform.C b/Timeline/Waveform.C similarity index 100% rename from Waveform.C rename to Timeline/Waveform.C diff --git a/Waveform.H b/Timeline/Waveform.H similarity index 100% rename from Waveform.H rename to Timeline/Waveform.H diff --git a/main.C b/Timeline/main.C similarity index 100% rename from main.C rename to Timeline/main.C