00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 
00034 #ifndef _JDKMIDI_FILESHOW_H
00035 #define _JDKMIDI_FILESHOW_H
00036 
00037 #include "jdkmidi/fileread.h"
00038 
00039 namespace jdkmidi
00040 {
00041   
00042   class  MIDIFileShow : public MIDIFileEvents 
00043     {
00044     public:
00045       MIDIFileShow( FILE *out_ );
00046       virtual ~MIDIFileShow();
00047       
00048     protected:
00049       
00050       virtual void  show_time( MIDIClockTime time );
00051       
00052       virtual void    mf_error( char * );
00053       
00054       virtual void    mf_starttrack( int trk );
00055       virtual void    mf_endtrack( int trk );
00056       virtual void    mf_header( int, int, int );
00057       
00058       
00059 
00060 
00061 
00062       
00063       virtual void    mf_system_mode(const MIDITimedMessage &msg  );
00064       virtual void    mf_note_on(const MIDITimedMessage &msg  );
00065       virtual void    mf_note_off(const MIDITimedMessage &msg   );
00066       virtual void    mf_poly_after(const MIDITimedMessage &msg   );
00067       virtual void    mf_bender(const MIDITimedMessage &msg   );
00068       virtual void    mf_program(const MIDITimedMessage &msg  );
00069       virtual void    mf_chan_after(const MIDITimedMessage &msg   );
00070       virtual void    mf_control(const MIDITimedMessage &msg  );
00071       virtual void    mf_sysex(MIDIClockTime time, const MIDISystemExclusive &ex  );
00072       
00073       virtual void    mf_arbitrary(MIDIClockTime time, int len, unsigned char *data   );
00074       virtual void    mf_metamisc(MIDIClockTime time, int, int, unsigned char *   );
00075       virtual void    mf_seqnum(MIDIClockTime time, int       );
00076       virtual void    mf_smpte(MIDIClockTime time, int, int, int, int, int );
00077       virtual void    mf_timesig(MIDIClockTime time, int, int, int, int );
00078       virtual void    mf_tempo(MIDIClockTime time, unsigned long tempo      );
00079       virtual void    mf_keysig(MIDIClockTime time, int, int      );
00080       virtual void    mf_sqspecific(MIDIClockTime time, int, unsigned char *    );
00081       virtual void    mf_text(MIDIClockTime time, int, int, unsigned char * );
00082       virtual void    mf_eot( MIDIClockTime time );
00083       
00084       FILE *out;  
00085       int division;
00086       
00087     private:
00088       
00089     }; 
00090   
00091 }
00092 #endif
00093