home *** CD-ROM | disk | FTP | other *** search
/ Bila Vrana / BILA_VRANA.iso / 031A / GMS100.ZIP / gms100 / source / player.cpp < prev    next >
C/C++ Source or Header  |  1996-05-15  |  2KB  |  61 lines

  1. // A simple program to load and play GMS modules.
  2.  
  3. #include <iostream.h>
  4. #include <stdlib.h>
  5. #include <stdio.h>
  6. #include "globals.h"
  7. #ifdef TARGET_MSDOS
  8. #include <conio.h>
  9. #endif
  10. #include "inst.h"
  11. #include "block.h"
  12. #include "song.h"
  13. #include "musdrv.h"
  14.  
  15. int main (int argc, char *argv[]) {
  16.   int counter;
  17.   FILE *module;
  18.  
  19.   cout << "Game Music System 1.0 command-line player" << endl;
  20.   cout << "Written by Roland Acton in 1996 - public domain" << endl;
  21.   if (argc > 1) {   // Did the user type a filename?
  22.     cout << endl;
  23.     cout << "Press any key to stop playing." << endl;
  24.     cout << endl;
  25.     counter = 1;
  26.     music.wedge_player();   // Start interrupt.
  27.     music.reset_card();
  28.     while (counter < argc) {   // Loop until all files have been played.
  29.       cout << argv[counter] << ": ";
  30.       module = fopen(argv[counter], "rb");
  31.       if (module) {   // Check to make sure file exists.
  32.         cout << "loading...";
  33.         if (song_obj.load_gms(module)) {   // Make sure it is a GMS module.
  34.           cout << "playing...";
  35.           music.set_up_card();
  36.           music.start_playing();
  37. #ifdef TARGET_MSDOS
  38.           getch();   // Wait until user presses a key.
  39. #endif
  40.           music.stop_playing();
  41.           music.reset_card();
  42.           cout << "done.";
  43.         }
  44.         else {
  45.           cout << "not a GMS 1.0 module.";
  46.         }
  47.       }
  48.       else {
  49.         cout << "couldn't open file.";
  50.       }
  51.       cout << endl;
  52.       counter++;
  53.     }
  54.     music.remove_player();   // Remove interrupt.
  55.   }
  56.   else {
  57.     cout << "Syntax: PLAYGMS <filename> [<filename>] [...]" << endl;
  58.   }
  59.   return EXIT_SUCCESS;
  60. }
  61.