jdkmidi class library documentation

Copyright © 2004 J.D. Koftinoff Software, Ltd.

Released under the GNU General Public License (GPL)




Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

jdkmidi::MIDIFileShow Class Reference

#include <fileshow.h>

Inheritance diagram for jdkmidi::MIDIFileShow:

jdkmidi::MIDIFileEvents jdkmidi::MIDIFile List of all members.

Public Member Functions

 MIDIFileShow (FILE *out_)
virtual ~MIDIFileShow ()

Protected Member Functions

virtual void show_time (MIDIClockTime time)
virtual void mf_error (char *)
virtual void mf_starttrack (int trk)
virtual void mf_endtrack (int trk)
virtual void mf_header (int, int, int)
virtual void mf_system_mode (const MIDITimedMessage &msg)
virtual void mf_note_on (const MIDITimedMessage &msg)
virtual void mf_note_off (const MIDITimedMessage &msg)
virtual void mf_poly_after (const MIDITimedMessage &msg)
virtual void mf_bender (const MIDITimedMessage &msg)
virtual void mf_program (const MIDITimedMessage &msg)
virtual void mf_chan_after (const MIDITimedMessage &msg)
virtual void mf_control (const MIDITimedMessage &msg)
virtual void mf_sysex (MIDIClockTime time, const MIDISystemExclusive &ex)
virtual void mf_arbitrary (MIDIClockTime time, int len, unsigned char *data)
virtual void mf_metamisc (MIDIClockTime time, int, int, unsigned char *)
virtual void mf_seqnum (MIDIClockTime time, int)
virtual void mf_smpte (MIDIClockTime time, int, int, int, int, int)
virtual void mf_timesig (MIDIClockTime time, int, int, int, int)
virtual void mf_tempo (MIDIClockTime time, unsigned long tempo)
virtual void mf_keysig (MIDIClockTime time, int, int)
virtual void mf_sqspecific (MIDIClockTime time, int, unsigned char *)
virtual void mf_text (MIDIClockTime time, int, int, unsigned char *)
virtual void mf_eot (MIDIClockTime time)

Protected Attributes

FILE * out
int division

Constructor & Destructor Documentation

jdkmidi::MIDIFileShow::MIDIFileShow FILE *  out_  ) 
 

Definition at line 51 of file jdkmidi_fileshow.cpp.

References ENTER.

00052     : 
00053     out( out_ )
00054   {
00055     ENTER("MIDIFileShow::MIDIFileShow()");
00056     
00057   } 

jdkmidi::MIDIFileShow::~MIDIFileShow  )  [virtual]
 

Definition at line 59 of file jdkmidi_fileshow.cpp.

References ENTER.

00060   {
00061     ENTER("MIDIFileShow::~MIDIFileShow()");
00062     
00063   } 


Member Function Documentation

void jdkmidi::MIDIFileShow::mf_arbitrary MIDIClockTime  time,
int  len,
unsigned char *  data
[protected, virtual]
 

Reimplemented from jdkmidi::MIDIFileEvents.

Definition at line 191 of file jdkmidi_fileshow.cpp.

References jdkmidi::MIDIClockTime, out, and show_time().

00192   {
00193     show_time( time );
00194     fprintf( out, "RAW MIDI DATA    Length=%d\n", len );
00195     
00196     for( int i=0; i<len; ++i )
00197     {
00198       if( (i&0x1f)==0 )
00199         fprintf( out, "\n" );
00200       fprintf( out, "%02x ", (int)data[i] );
00201     }
00202     fprintf( out, "\n" );
00203   } 

void jdkmidi::MIDIFileShow::mf_bender const MIDITimedMessage msg  )  [protected, virtual]
 

Reimplemented from jdkmidi::MIDIFileEvents.

Definition at line 149 of file jdkmidi_fileshow.cpp.

References jdkmidi::MIDITimedMessage::GetTime(), jdkmidi::MIDIMessage::MsgToText(), out, and show_time().

00150   {
00151     show_time( msg.GetTime() );
00152     char buf[64];   
00153     fprintf( out, "%s\n", msg.MsgToText(buf) );
00154   } 

void jdkmidi::MIDIFileShow::mf_chan_after const MIDITimedMessage msg  )  [protected, virtual]
 

Reimplemented from jdkmidi::MIDIFileEvents.

Definition at line 163 of file jdkmidi_fileshow.cpp.

References jdkmidi::MIDITimedMessage::GetTime(), jdkmidi::MIDIMessage::MsgToText(), out, and show_time().

00164   {
00165     show_time( msg.GetTime() );
00166     char buf[64];   
00167     fprintf( out, "%s\n", msg.MsgToText(buf) );
00168   } 

void jdkmidi::MIDIFileShow::mf_control const MIDITimedMessage msg  )  [protected, virtual]
 

Reimplemented from jdkmidi::MIDIFileEvents.

Definition at line 170 of file jdkmidi_fileshow.cpp.

References jdkmidi::MIDITimedMessage::GetTime(), jdkmidi::MIDIMessage::MsgToText(), out, and show_time().

00171   {
00172     show_time( msg.GetTime() );
00173     char buf[64];   
00174     fprintf( out, "%s\n", msg.MsgToText(buf) );
00175   } 

void jdkmidi::MIDIFileShow::mf_endtrack int  trk  )  [protected, virtual]
 

Reimplemented from jdkmidi::MIDIFileEvents.

Definition at line 76 of file jdkmidi_fileshow.cpp.

References out.

00077   {
00078     fprintf( out, "End Track   #%d\n", trk );
00079   } 

void jdkmidi::MIDIFileShow::mf_eot MIDIClockTime  time  )  [protected, virtual]
 

Reimplemented from jdkmidi::MIDIFileEvents.

Definition at line 323 of file jdkmidi_fileshow.cpp.

References jdkmidi::MIDIClockTime, out, and show_time().

00324   {
00325     show_time( time );
00326     fprintf( out, "End Of Track\n" );
00327   } 

void jdkmidi::MIDIFileShow::mf_error char *   )  [protected, virtual]
 

Reimplemented from jdkmidi::MIDIFileEvents.

Definition at line 65 of file jdkmidi_fileshow.cpp.

References out.

00066   {
00067     fprintf( out, "\nParse Error: %s\n", e );
00068     MIDIFileEvents::mf_error( e );
00069   } 

void jdkmidi::MIDIFileShow::mf_header int  ,
int  ,
int 
[protected, virtual]
 

Reimplemented from jdkmidi::MIDIFileEvents.

Definition at line 81 of file jdkmidi_fileshow.cpp.

References division, and out.

00082   {
00083     fprintf( out, "Header: Type=%d Tracks=%d", format, ntrks );
00084     
00085     
00086     division=d;
00087     
00088     if( division>0x8000 )
00089     {
00090       unsigned char smpte_rate = ((unsigned char)((-division)>>8));
00091       unsigned char smpte_division = (unsigned char)(division&0xff);
00092       
00093       fprintf( out, " SMPTE=%d Division=%d\n", smpte_rate, smpte_division );
00094     }
00095     else
00096     {
00097       fprintf( out, " Division=%d\n", division );
00098     }
00099   } 

void jdkmidi::MIDIFileShow::mf_keysig MIDIClockTime  time,
int  ,
int 
[protected, virtual]
 

Reimplemented from jdkmidi::MIDIFileEvents.

Definition at line 260 of file jdkmidi_fileshow.cpp.

References jdkmidi::MIDIClockTime, out, and show_time().

00261   {
00262     show_time( time );
00263     
00264     fprintf( out, "Key Signature      " );
00265     
00266     if( mi )
00267       fprintf( out, "MINOR KEY  " );
00268     else
00269       fprintf( out, "MAJOR KEY  " );
00270     
00271     if( sf<0 )
00272       fprintf( out, "%d Flats\n", -sf );
00273     else
00274       fprintf( out, "%d Sharps\n", sf );
00275   } 

void jdkmidi::MIDIFileShow::mf_metamisc MIDIClockTime  time,
int  ,
int  ,
unsigned char * 
[protected, virtual]
 

Reimplemented from jdkmidi::MIDIFileEvents.

Definition at line 205 of file jdkmidi_fileshow.cpp.

References jdkmidi::MIDIClockTime, out, and show_time().

00206   {
00207     show_time( time );
00208     
00209     fprintf( out, "META-EVENT       TYPE=%d Length=%d\n", type, len );
00210     
00211     for( int i=0; i<len; ++i )
00212     {
00213       if( (i&0x1f)==0 )
00214         fprintf( out, "\n" );
00215       fprintf( out, "%02x ", (int)data[i] );
00216     }
00217     fprintf( out, "\n" ); 
00218   } 

void jdkmidi::MIDIFileShow::mf_note_off const MIDITimedMessage msg  )  [protected, virtual]
 

Reimplemented from jdkmidi::MIDIFileEvents.

Definition at line 135 of file jdkmidi_fileshow.cpp.

References jdkmidi::MIDITimedMessage::GetTime(), jdkmidi::MIDIMessage::MsgToText(), out, and show_time().

00136   {
00137     show_time( msg.GetTime() );
00138     char buf[64];   
00139     fprintf( out, "%s\n", msg.MsgToText(buf) );
00140   } 

void jdkmidi::MIDIFileShow::mf_note_on const MIDITimedMessage msg  )  [protected, virtual]
 

Reimplemented from jdkmidi::MIDIFileEvents.

Definition at line 127 of file jdkmidi_fileshow.cpp.

References jdkmidi::MIDITimedMessage::GetTime(), jdkmidi::MIDIMessage::MsgToText(), out, and show_time().

00128   {
00129     show_time( msg.GetTime() );
00130     char buf[64];   
00131     fprintf( out, "%s\n", msg.MsgToText(buf) );
00132     
00133   } 

void jdkmidi::MIDIFileShow::mf_poly_after const MIDITimedMessage msg  )  [protected, virtual]
 

Reimplemented from jdkmidi::MIDIFileEvents.

Definition at line 142 of file jdkmidi_fileshow.cpp.

References jdkmidi::MIDITimedMessage::GetTime(), jdkmidi::MIDIMessage::MsgToText(), out, and show_time().

00143   {
00144     show_time( msg.GetTime() );
00145     char buf[64];
00146     fprintf( out, "%s\n", msg.MsgToText(buf) );
00147   } 

void jdkmidi::MIDIFileShow::mf_program const MIDITimedMessage msg  )  [protected, virtual]
 

Reimplemented from jdkmidi::MIDIFileEvents.

Definition at line 156 of file jdkmidi_fileshow.cpp.

References jdkmidi::MIDITimedMessage::GetTime(), jdkmidi::MIDIMessage::MsgToText(), out, and show_time().

00157   {
00158     show_time( msg.GetTime() );
00159     char buf[64];   
00160     fprintf( out, "%s\n", msg.MsgToText(buf) );
00161   } 

void jdkmidi::MIDIFileShow::mf_seqnum MIDIClockTime  time,
int 
[protected, virtual]
 

Reimplemented from jdkmidi::MIDIFileEvents.

Definition at line 220 of file jdkmidi_fileshow.cpp.

References jdkmidi::MIDIClockTime, out, and show_time().

00221   {
00222     show_time( time );
00223     
00224     fprintf( out, "Sequence Number  %d\n", num );
00225   } 

void jdkmidi::MIDIFileShow::mf_smpte MIDIClockTime  time,
int  ,
int  ,
int  ,
int  ,
int 
[protected, virtual]
 

Reimplemented from jdkmidi::MIDIFileEvents.

Definition at line 227 of file jdkmidi_fileshow.cpp.

References jdkmidi::MIDIClockTime, out, and show_time().

00228   {
00229     show_time( time );
00230     
00231     fprintf( out, "SMPTE Event      %02x,%02x,%02x,%02x,%02x\n", a,b,c,d,e );
00232   } 

void jdkmidi::MIDIFileShow::mf_sqspecific MIDIClockTime  time,
int  ,
unsigned char * 
[protected, virtual]
 

Reimplemented from jdkmidi::MIDIFileEvents.

Definition at line 277 of file jdkmidi_fileshow.cpp.

References jdkmidi::MIDIClockTime, out, and show_time().

00278   {
00279     show_time( time );
00280     
00281     fprintf( out, "Sequencer Specific     Length=%d\n", len );
00282     
00283     for( int i=0; i<len; ++i )
00284     {
00285       if( (i&0x1f)==0 )
00286         fprintf( out, "\n" );
00287       fprintf( out, "%02x ", (int)data[i] );
00288     }
00289     fprintf( out, "\n" );
00290     
00291   } 

void jdkmidi::MIDIFileShow::mf_starttrack int  trk  )  [protected, virtual]
 

Reimplemented from jdkmidi::MIDIFileEvents.

Definition at line 71 of file jdkmidi_fileshow.cpp.

References out.

00072   {
00073     fprintf( out, "Start Track #%d\n", trk );
00074   } 

void jdkmidi::MIDIFileShow::mf_sysex MIDIClockTime  time,
const MIDISystemExclusive ex
[protected, virtual]
 

Reimplemented from jdkmidi::MIDIFileEvents.

Definition at line 177 of file jdkmidi_fileshow.cpp.

References jdkmidi::MIDISystemExclusive::GetData(), jdkmidi::MIDISystemExclusive::GetLength(), jdkmidi::MIDIClockTime, out, and show_time().

00178   {
00179     show_time( time );
00180     fprintf( out, "SysEx     Length=%d\n", ex.GetLength() );
00181     
00182     for( int i=0; i<ex.GetLength(); ++i )
00183     {
00184       if( (i&0x1f)==0 )
00185         fprintf( out, "\n" );
00186       fprintf( out, "%02x ", (int)ex.GetData(i) );
00187     }
00188     fprintf( out, "\n" );
00189   } 

void jdkmidi::MIDIFileShow::mf_system_mode const MIDITimedMessage msg  )  [protected, virtual]
 

Reimplemented from jdkmidi::MIDIFileEvents.

Definition at line 120 of file jdkmidi_fileshow.cpp.

References jdkmidi::MIDITimedMessage::GetTime(), jdkmidi::MIDIMessage::MsgToText(), out, and show_time().

00121   {
00122     show_time( msg.GetTime() );
00123     char buf[64];   
00124     fprintf( out, "%s\n", msg.MsgToText(buf) );
00125   } 

void jdkmidi::MIDIFileShow::mf_tempo MIDIClockTime  time,
unsigned long  tempo
[protected, virtual]
 

Reimplemented from jdkmidi::MIDIFileEvents.

Definition at line 252 of file jdkmidi_fileshow.cpp.

References jdkmidi::MIDIClockTime, out, and show_time().

00253   {
00254     show_time( time );
00255     
00256     fprintf( out, "Tempo              %4.2f BPM (%9ld usec/beat)\n",
00257              (60000000.0/(double)tempo), tempo );
00258   } 

void jdkmidi::MIDIFileShow::mf_text MIDIClockTime  time,
int  ,
int  ,
unsigned char * 
[protected, virtual]
 

Reimplemented from jdkmidi::MIDIFileEvents.

Definition at line 293 of file jdkmidi_fileshow.cpp.

References jdkmidi::MIDIClockTime, out, and show_time().

00294   {
00295     static char * text_event_names[16] =
00296       {
00297         "SEQ. #    ",
00298         "GENERIC   ",
00299         "COPYRIGHT ",
00300         "INST. NAME",
00301         "TRACK NAME",
00302         "LYRIC     ",
00303         "MARKER    ",
00304         "CUE       ",
00305         "UNKNOWN   ",
00306         "UNKNOWN   ",
00307         "UNKNOWN   ",
00308         "UNKNOWN   ",
00309         "UNKNOWN   ",
00310         "UNKNOWN   ",
00311         "UNKNOWN   ",
00312         "UNKNOWN   "
00313       };
00314     
00315     if( type>15 )
00316       type=15;
00317     
00318     show_time( time );
00319     
00320     fprintf( out, "TEXT   %s  '%s'\n", text_event_names[type], (char *)txt );
00321   } 

void jdkmidi::MIDIFileShow::mf_timesig MIDIClockTime  time,
int  ,
int  ,
int  ,
int 
[protected, virtual]
 

Reimplemented from jdkmidi::MIDIFileEvents.

Definition at line 234 of file jdkmidi_fileshow.cpp.

References jdkmidi::MIDIClockTime, out, and show_time().

00240   {
00241     show_time( time );
00242     
00243     fprintf( out, "Time Signature   %d/%d  Clks/Metro.=%d 32nd/Quarter=%d\n",
00244              num,
00245              denom_power,
00246              midi_clocks_per_metronome,
00247              notated_32nds_per_midi_quarter_note );
00248     
00249   } 

void jdkmidi::MIDIFileShow::show_time MIDIClockTime  time  )  [protected, virtual]
 

Definition at line 101 of file jdkmidi_fileshow.cpp.

References division, jdkmidi::MIDIClockTime, and out.

00102   {
00103     if( division>0 )
00104     {
00105       unsigned long beat = time/division;
00106       unsigned long clk = time%division;
00107       
00108       fprintf( out, "Time: %6ld:%3ld    ", beat, clk );
00109     }
00110     else
00111     {
00112       fprintf( out, "Time: %9ld     ", time );
00113     }
00114   } 


Member Data Documentation

int jdkmidi::MIDIFileShow::division [protected]
 

Definition at line 85 of file fileshow.h.

FILE* jdkmidi::MIDIFileShow::out [protected]
 

Definition at line 84 of file fileshow.h.


The documentation for this class was generated from the following files: