home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Sound Sensations!
/
sound_sensations.iso
/
demos
/
midif
/
echoplay.c
< prev
next >
Wrap
Text File
|
1988-09-03
|
2KB
|
50 lines
/*********************************************************************
*
* echoplay 01 Aug 88 Copyright (c) cMIDI 1988
*
* cMIDI function library demonstration. File 8 of 20.
*
*********************************************************************/
#include <cmidi.h>
#include <stdio.h>
main( int argc, char *argv[] )
{
int i, copies, delay;
/* Open cmidi, and prepare the track(s). */
CmidiOpen();
TrackPtrRegister( 1 ,TRACK_PTR_PLAY );
TrackReadCmidiData( argv[1], 1 );
TrackPtrPlayListInsert( 1 );
if ((argc!=4) || ERRORQUEUED())
{
printf( "Proper command line format: \n\n"
" echoplay filename copies delay \n\n"
" where \"filename\" specifies name of file containing track data\n"
" \"copies\" specifies number of times track data is copied\n"
" \"delay\" specifies # ms between start of successive copies\n");
CmidiClose(CLOSE_RESET_MPU);
exit( 1 );
}
copies = atoi( argv[2] );
delay = atoi( argv[3] )/5;
for (i=2; i<=(copies+1); i++)
{
TrackPtrRegister( i ,TRACK_PTR_PLAY );
TrackPtrCopy( i, 1 );
TrackPtrPlayListInsert( i );
TrackPtrDelay( i, delay*(i-1) );
TrackPtrVelocityOn( i, -15*(i-1) );
}
/* Start playing track(s). */
TrackPlay();
/* Wait until playing has finished, then close cmidi. */
while ( PLAYING() );
CmidiClose( CLOSE_RESET_MPU | CLOSE_PRINT_ERRORS );
}