Browse Source

Log changes to track objcets as well.

tags/non-daw-v1.1.0
Jonathan Moore Liles 17 years ago
parent
commit
0f9d79b3d8
8 changed files with 95 additions and 32 deletions
  1. +20
    -16
      Loggable.C
  2. +8
    -4
      Loggable.H
  3. +0
    -5
      Region.C
  4. +14
    -0
      Region.H
  5. +3
    -3
      Tempo_Point.H
  6. +3
    -3
      Time_Point.H
  7. +8
    -0
      Track.C
  8. +39
    -1
      Track.H

+ 20
- 16
Loggable.C View File

@@ -43,22 +43,22 @@ Loggable::open ( const char *filename )
return true; return true;
} }


void
Loggable::log ( const char *module, const char *action, const char *fmt, ... )
{
va_list args;
/* void */
/* Loggable::log ( const char *module, const char *action, const char *fmt, ... ) */
/* { */
/* va_list args; */


fprintf( _fp, "%-15s %-8s %p ", module, action, _id );
/* fprintf( _fp, "%-15s %-8s %p ", module, action, _id ); */


if ( fmt )
{
va_start( args, fmt );
vfprintf( _fp, fmt, args );
va_end( args );
}
/* if ( fmt ) */
/* { */
/* va_start( args, fmt ); */
/* vfprintf( _fp, fmt, args ); */
/* va_end( args ); */
/* } */


fprintf( _fp, "\n" );
}
/* fprintf( _fp, "\n" ); */
/* } */




static static
@@ -167,9 +167,13 @@ Loggable::log_create ( void )


char **sa = log_dump(); char **sa = log_dump();


log_print( NULL, sa );

free_sa( sa );
if ( sa )
{
log_print( NULL, sa );
free_sa( sa );
}
else
printf( "\n" );
} }


void void


+ 8
- 4
Loggable.H View File

@@ -105,17 +105,21 @@ public:


protected: protected:


void log ( const char *module, const char *action, const char *fmt, ... );
// void log ( const char *module, const char *action, const char *fmt, ... );
void log_start ( void ); void log_start ( void );
void log_end ( void ); void log_end ( void );
void log_create ( void ); void log_create ( void );
void log_destroy ( void ); void log_destroy ( void );


public:

int id ( void ) { return _id; }

}; };


#ifndef _LOGGABLE_C
#define log( act, fmt, args... ) log( __CLASS__, act, fmt, ## args )
#endif
/* #ifndef _LOGGABLE_C */
/* #define log( act, fmt, args... ) log( __CLASS__, act, fmt, ## args ) */
/* #endif */


/* #define LOG_START Logger _logger( this ) */ /* #define LOG_START Logger _logger( this ) */
/* #define LOG_END _logger.print( this ) */ /* #define LOG_END _logger.print( this ) */

+ 0
- 5
Region.C View File

@@ -54,11 +54,6 @@ void
Region::init ( void ) Region::init ( void )
{ {


/* align( FL_ALIGN_INSIDE | FL_ALIGN_LEFT | FL_ALIGN_BOTTOM | FL_ALIGN_CLIP ); */
/* labeltype( FL_SHADOW_LABEL ); */
/* labelcolor( FL_WHITE ); */
/* box( FL_PLASTIC_UP_BOX ); */

_track = NULL; _track = NULL;
_offset = 0; _offset = 0;
_start = 0; _start = 0;


+ 14
- 0
Region.H View File

@@ -72,6 +72,7 @@ protected:
asprintf( &sa[2], ":r %lu", _end ); asprintf( &sa[2], ":r %lu", _end );
asprintf( &sa[3], ":selected %d", _selected ); asprintf( &sa[3], ":selected %d", _selected );
asprintf( &sa[4], ":gain %f", _scale ); asprintf( &sa[4], ":gain %f", _scale );
// asprintf( &sa[4], ":track 0x%X", _track->id() );


// asprintf( &r, ":x %lu\n:l %lu\n:r %lu\n:selected %d\n:gain %f", _offset, _start, _end, _selected, _scale ); // asprintf( &r, ":x %lu\n:l %lu\n:r %lu\n:selected %d\n:gain %f", _offset, _start, _end, _selected, _scale );


@@ -104,6 +105,19 @@ protected:
if ( ! strcmp( s, ":gain" ) ) if ( ! strcmp( s, ":gain" ) )
_scale = atof( v ); _scale = atof( v );


/* else */
/* if ( ! strcmp( s, ":track" ) ) */
/* { */
/* int i; */
/* sscanf( v, "%X", &i ); */
/* Track *t = (Track*)Loggable::find( i ); */

/* assert( t ); */

/* t->add( this ); */
/* } */


free( s ); free( s );
} }




+ 3
- 3
Tempo_Point.H View File

@@ -40,9 +40,9 @@ protected:


const char *class_name ( void ) { return "Tempo_Point"; } const char *class_name ( void ) { return "Tempo_Point"; }


void log_create ( void ) { log( "create", "%lu %f", _offset, _tempo ); }
void log_destroy ( void ) { log( "destroy", NULL ); }
void log_move ( void ) { log( "move", "%lu", _offset ); }
/* void log_create ( void ) { log( "create", "%lu %f", _offset, _tempo ); } */
/* void log_destroy ( void ) { log( "destroy", NULL ); } */
/* void log_move ( void ) { log( "move", "%lu", _offset ); } */


public: public:




+ 3
- 3
Time_Point.H View File

@@ -54,9 +54,9 @@ protected:


const char *class_name ( void ) { return "Time_Point"; } const char *class_name ( void ) { return "Time_Point"; }


void log_create ( void ) { log( "create", "%lu %d %d", _offset, _time.beats_per_bar, _time.note_type ); }
void log_destroy ( void ) { log( "destroy", NULL ); }
void log_move ( void ) { log( "move", "%lu", _offset ); }
/* void log_create ( void ) { log( "create", "%lu %d %d", _offset, _time.beats_per_bar, _time.note_type ); } */
/* void log_destroy ( void ) { log( "destroy", NULL ); } */
/* void log_move ( void ) { log( "move", "%lu", _offset ); } */


public: public:




+ 8
- 0
Track.C View File

@@ -27,6 +27,10 @@


Track_Widget * Track::_queued_widget = NULL; Track_Widget * Track::_queued_widget = NULL;






static bool static bool
sort_func ( Track_Widget *lhs, Track_Widget *rhs ) sort_func ( Track_Widget *lhs, Track_Widget *rhs )
{ {
@@ -84,6 +88,8 @@ Track::event_widget ( void )
void void
Track::add ( Track_Widget *r ) Track::add ( Track_Widget *r )
{ {
log_start();

if ( r->track() ) if ( r->track() )
{ {
r->track()->remove( r ); r->track()->remove( r );
@@ -93,6 +99,8 @@ Track::add ( Track_Widget *r )
_widgets.push_back( r ); _widgets.push_back( r );


r->track( this ); r->track( this );

log_end();
} }


/* snap /r/ to nearest edge */ /* snap /r/ to nearest edge */


+ 39
- 1
Track.H View File

@@ -25,6 +25,7 @@


#include <stdio.h> #include <stdio.h>


#include "Loggable.H"


#include <assert.h> #include <assert.h>


@@ -34,7 +35,7 @@ using std::list;
class Region; class Region;
class Track_Widget; class Track_Widget;


class Track : public Fl_Group
class Track : public Fl_Group, public Loggable
{ {
Track *_next; Track *_next;
Track *_prev; Track *_prev;
@@ -47,8 +48,38 @@ protected:
list <Track_Widget *> _widgets; list <Track_Widget *> _widgets;
Track_Widget *event_widget ( void ); Track_Widget *event_widget ( void );


const char *class_name ( void ) { return "Track"; }


void set ( char ** ) { return; }

char ** log_dump ( void )
{
// char *r;

char **sa = (char**)malloc( sizeof( char* ) * 2);
sa[0] = (char*)malloc( (_widgets.size() * ((sizeof( int ) * 2) + 3)) + 1 );
sa[1] = NULL;

char *s = sa[0];

s += sprintf( s, ":items " );
for ( list <Track_Widget *>::const_iterator i = _widgets.begin(); i != _widgets.end(); i++ )
{
s += sprintf( s, "0x%X", ((Loggable*)(*i))->id() );

list <Track_Widget *>::const_iterator e = i;
if ( ++e != _widgets.end() )
s += sprintf( s, "," );
}

return sa;
}


public: public:



Track ( int X, int Y, int W, int H ) : Fl_Group( X, Y, W, H ) Track ( int X, int Y, int W, int H ) : Fl_Group( X, Y, W, H )
{ {
_next = _prev = NULL; _next = _prev = NULL;
@@ -56,6 +87,13 @@ public:


box( FL_DOWN_BOX ); box( FL_DOWN_BOX );
color( fl_darker( FL_GRAY ) ); color( fl_darker( FL_GRAY ) );

log_create();
}

~Track ( )
{
log_destroy();
} }


Track *next ( void ) const { return _next; } Track *next ( void ) const { return _next; }


Loading…
Cancel
Save