#include "jdkmidi/world.h"#include "jdkmidi/track.h"#include "jdkmidi/multitrack.h"#include "jdkmidi/filereadmultitrack.h"#include "jdkmidi/fileread.h"#include "jdkmidi/fileshow.h"#include "jdkmidi/sequencer.h"#include "jdkmidi/manager.h"#include "jdkmidi/driverdump.h"Go to the source code of this file.
Functions | |
| void | DumpTrackNames (MIDISequencer *seq) |
| void | PlayDumpManager (MIDIManager *mgr) |
| int | main (int argc, char **argv) |
|
|
Definition at line 37 of file jdkmidi_test_drv.cpp. References jdkmidi::MIDISequencer::GetNumTracks(), jdkmidi::MIDISequencer::GetTrackState(), jdkmidi::MIDISequencerTrackState::tempobpm, and jdkmidi::MIDISequencerTrackState::track_name.
00038 {
00039 fprintf( stdout, "TEMPO = %f\n",
00040 seq->GetTrackState(0)->tempobpm
00041 );
00042
00043 for( int i=0; i<seq->GetNumTracks(); ++i )
00044 {
00045 fprintf( stdout, "TRK #%2d : NAME = '%s'\n",
00046 i,
00047 seq->GetTrackState(i)->track_name
00048 );
00049 }
00050 }
|
|
||||||||||||
|
Definition at line 75 of file jdkmidi_test_drv.cpp. References DumpTrackNames(), jdkmidi::MIDISequencer::GoToZero(), jdkmidi::MIDIFileRead::Parse(), PlayDumpManager(), and jdkmidi::MIDIManager::SetSeq().
00076 {
00077 if( argc>1 )
00078 {
00079 MIDIFileReadStreamFile rs( argv[1] );
00080 MIDIMultiTrack tracks(64);
00081 MIDIFileReadMultiTrack track_loader( &tracks );
00082 MIDIFileRead reader( &rs, &track_loader );
00083 MIDISequencerGUIEventNotifierText gui( stdout );
00084 MIDISequencer seq( &tracks, &gui );
00085 MIDIDriverDump driver(128,stdout);
00086 MIDIManager mgr( &driver, &gui );
00087
00088 reader.Parse();
00089
00090 seq.GoToZero();
00091 mgr.SetSeq( &seq );
00092
00093 DumpTrackNames( &seq );
00094
00095 PlayDumpManager( &mgr );
00096 }
00097
00098 return 0;
00099 }
|
|
|
Definition at line 53 of file jdkmidi_test_drv.cpp. References jdkmidi::MIDIDriver::AllNotesOff(), jdkmidi::MIDIManager::GetDriver(), jdkmidi::MIDIManager::GetSeq(), jdkmidi::MIDISequencer::GoToTime(), jdkmidi::MIDIManager::SeqPlay(), jdkmidi::MIDIManager::SeqStop(), and jdkmidi::MIDIDriver::TimeTick().
00054 {
00055 MIDISequencer *seq = mgr->GetSeq();
00056 double pretend_clock_time = 0.0;
00057
00058 seq->GoToTime( (unsigned long)pretend_clock_time );
00059
00060 mgr->SeqPlay();
00061
00062 // simulate a clock going forward with 10ms resolution for 1 minute
00063
00064 for( pretend_clock_time=0.0; pretend_clock_time<60.0*1000.0; pretend_clock_time+=100 )
00065 {
00066 mgr->GetDriver()->TimeTick( (unsigned long)pretend_clock_time );
00067 }
00068
00069 mgr->SeqStop();
00070 mgr->GetDriver()->AllNotesOff();
00071
00072 }
|