home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 470.lha / RxTracker / RxTracker.doc < prev    next >
Encoding:
Text File  |  1991-02-06  |  8.6 KB  |  270 lines

  1. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  2.                   RxTracker
  3.    - A Program for playing MED and Soundtracker modules from ARexx -
  4.  
  5.                  by
  6.               Dominic Giampaolo
  7. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  8.  
  9.     Have you noticed that AmigaVision only plays those really crappy Deluxe
  10. Music Construction Set SMUS files?  The ones that sound like they were
  11. taken from a Commodore 64?
  12.  
  13.     Well I did.
  14.  
  15.     I also noticed that SoundTracker/MED produce music that is an order of
  16. magnitude better.  As a matter of fact, if I was blindfolded and didn't
  17. know, I wouldn't believe the music was coming from the same computer.
  18.  
  19.     This is why I wrote RxTracker.  It lets you play MED and SoundTracker
  20. modules via ARexx.  This means that you are no longer forced to listen to
  21. those crappy DMCS files in your AmigaVision presentation.  It also means
  22. you can play songs from within your editor, spreadsheet, paint program, or
  23. even a telecommunications program!  Now tell me ARexx isn't the most killer
  24. thing on earth....
  25.  
  26. Oh, one quick thing.  The medplayer.library will ONLY play files saved from
  27. the 2.0 or higher version of MED.  For a module to be loaded as a MED
  28. module, the first 4 bytes of the file must be (in ascii) MMD0.  You can see
  29. if a file is a good MED module by doing "type hex <modulename>".  If the
  30. first thing you see is MMD0, you're all set.  If not, fire up MED, load the
  31. module, and just save it back out again.
  32.  
  33. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  34.  
  35.   Requirements :
  36.  
  37.        Obviously you need ARexx.
  38.  
  39.        You also need to have both medplayer.library and streplay.library in
  40. your libs: directory.  Both of them total less than 9K, and are worth
  41. sparing the disk space for (if you only have two floppies and things are
  42. really just too tight, get PathAss from a fish disk or PD archive, and it
  43. will let you split LIBS: across two disk - very handy!).  Both librariers
  44. are included here, and are copyright/left/center their respective authors
  45. (i.e. I didn't write either one).
  46.  
  47. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  48.  
  49.   How to use RxTracker :
  50.  
  51.     It is rather simple.  Just run (or runback) rxtracker.  In AmigaVision
  52. you would use the Execute icon to run rxtracker as a CLI program.  From
  53. ARexx you would do the following :
  54.  
  55.     /* fire up rxtracker in the background (assuming it's in c:) */
  56.     address command "run rxtracker"
  57.  
  58.     Or you can put it in your startup-sequence, or you can just run it
  59. manually from the CLI.
  60.  
  61. RxTracker then opens a public port called RXTRACKER.  Now you have to use
  62. ARexx to be able to access RxTracker.
  63.  
  64.     A sample ARexx script would look like the following (assuming that
  65.     RxTracker is already running) :
  66.  
  67.        /* tell rxtracker to load a song */
  68.        address RXTRACKER LOAD "work:modules/mod1/mod.killer"
  69.  
  70.        /* now tell rxtracker to start it playing */
  71.        address RXTRACKER PLAY
  72.  
  73.        delay(300)                 /* let song play for a while */
  74.  
  75.        /* now tell it to stop */
  76.        address RXTRACKER STOP
  77.  
  78.        /* now tell it to quit */
  79.        address RXTRACKER QUIT
  80.  
  81.  
  82. The basic idea is very straightforward.  You tell RxTracker to load a
  83. module, by giving it the name of either a Soundtracker or MED module (it
  84. figures things out).  This loads up a "current" module.  Then you issue a
  85. PLAY command, and viola, your ears are graced with the sound of music!
  86.  
  87. To stop the noise, issue a STOP command.  One thing to note here, when you
  88. stop the music, the current module STAYS loaded.  You can start it playing
  89. again with a PLAY command, or you can UNLOAD it (or you can just issue
  90. another LOAD command).    The complete command list is right below.
  91.  
  92. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  93.  
  94. RxTracker Command List :
  95.  
  96.   This is the command list that RxTracker understands.    To use these
  97. commands you must do the following from ARexx :
  98.  
  99.     address RXTRACKER <command name>  [any arguments]
  100.  
  101. That line above instructs ARexx to "talk" to RxTracker, and give it
  102. anything on the line following the word RXTRACKER.
  103.  
  104. Here's the official command list :
  105.  
  106.  
  107. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  108. 1.  LOAD  <some filename>
  109.  
  110. Purpose :   Load into chip memory either a Soundtracker or MED module.
  111.       You do _not_ need to know which kind the file is, everything is
  112.       taken care of for you.
  113.  
  114. Notes    :   Once the module is loaded, you must issue a PLAY command if you
  115.       want to hear anything.
  116.  
  117.         It is usually a very good idea to specify a _complete_ pathname
  118.       for the song you want to play.  Otherwise, RxTracker will only be
  119.       able to see files in the current directory at the time you ran
  120.       RxTracker.  !!!THIS IS IMPORTANT TO REMEMBER!!!  When you specify
  121.       a full path name, always put it in double quotes.
  122.  
  123.         If the module name you gave wasn't really a module, you will
  124.       get back a return code of 5.
  125.  
  126. Example :      (all examples are in ARexx)
  127.  
  128.   /* load a song from dh0:music/modules */
  129.   address RXTRACKER LOAD "dh0:music/modules/mod.really_neat_song"
  130.  
  131.   /* load the song df1:mods/mod.7 */
  132.   address RXTRACKER LOAD "df1:mods/mod.7"
  133.  
  134.  
  135. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  136. 2. PLAY
  137.  
  138. Purpose  :   To play a currently loaded module.
  139.  
  140. Notes     :   If no module is currently loaded, nothing will happen.
  141.  
  142. Examples :   (in ARexx)
  143.  
  144.     /* play an already loaded module (see above) */
  145.     address RXTRACKER PLAY
  146.  
  147.  
  148. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  149. 3. STOP
  150.  
  151. Purpose  :   To stop a currently playing module.
  152.  
  153. Notes     :   If no module is being played, nothing will happen.
  154.  
  155.          After this call, the module that was playing is still in CHIP
  156.        memory, and can be started up again using a PLAY command.
  157.  
  158. Examples : (in ARexx)
  159.  
  160.      /* stop a playing module (started from the PLAY command) */
  161.      address RXTRACKER STOP
  162.  
  163.  
  164. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  165. 4.  UNLOAD
  166.  
  167. Purpose  :   Stop a currently playing module and unload it from memory.
  168.  
  169. Notes     :   You do not need to call STOP before calling this function, it
  170.        does it for you (if a module is playing).
  171.  
  172. Example  : (in ARexx)
  173.  
  174.       /* instead of using STOP, we'll just use unload */
  175.       address RXTRACKER UNLOAD
  176.  
  177.  
  178. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  179. 5. QUIT
  180.  
  181. Purpose  :   Make RxTracker quit.  Causes any currently playing modules to
  182.        be unloaded, and frees up all resources.
  183.  
  184. Notes     :   This is the only way to make RxTracker quit.  It is also very
  185.        convienent in that it stops and unloads any music that is
  186.        playing.
  187.  
  188. Example  : (in ARexx)
  189.  
  190.     /* we're done now, let's quit, make the music stop (and free up mem) */
  191.     address RXTRACKER QUIT
  192.  
  193. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  194.  
  195. Additional commands for use with MED modules :
  196.  
  197.     The medplayer.library offers a few other features that the
  198. STReplay.library does not.  These commands only work with MED modules.    If
  199. you try to use them on SoundTracker modules, nothing will happen.
  200.  
  201. 6.  FADEOUT
  202.  
  203. Purpose   :   To nicely fade out a currently playing module.
  204.  
  205. Notes      :   This command is a little weird in that it can be a
  206.         difficult to gauge when a song will have actually finished
  207.         fading out. Be careful using this command (I don't think it
  208.         will crash anything, but I could be wrong).
  209.  
  210. Example   : (in ARexx)
  211.  
  212.     /* assuming a song is already playing */
  213.     address RXTRACKER FADEOUT
  214.  
  215.     /* now wait a bit for the song to finish */
  216.     delay(150)
  217.  
  218.     /* and finally unload the song */
  219.     address RXTRACKER UNLOAD
  220.  
  221.  
  222. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  223. 7.  CONTINUE
  224.  
  225. Purpose   :   To continue playing a module at the point you called STOP
  226.  
  227. Notes      :   If you need to stop the music for whatever reason, and then
  228.         want it to pick back up where it was, use this command instead
  229.         PLAY.
  230.  
  231. Example   :
  232.  
  233.     /* first start the med module playing (assuming it's playing) */
  234.     address RXTRACKER CONTINUE
  235.  
  236.     /* now we stop it */
  237.     address RXTRACKER STOP
  238.  
  239.     delay(50)             /* wait a while */
  240.  
  241.     /* start it playing where we left off */
  242.     address RXTRACKER CONTINUE
  243.  
  244. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  245.  
  246.  
  247. That about covers it all.  If you have any questions, comments, bug
  248. reports, or just want to say hi/thanks/you're a jerk, send mail to :
  249.  
  250.     uunet!chopin!nick
  251.  
  252.      or
  253.  
  254.     nick@worthen.georgetown.edu
  255.  
  256.      or (yucky mainframe account)
  257.  
  258.     giampal@auvm.bitnet
  259.  
  260.  
  261. In the true spirit of free software, you can freely pass this program
  262. around, just keep my name attatched to it, and don't sell it for gobs of
  263. money.
  264.  
  265.  
  266. thanks,
  267.  --domininc
  268.  
  269.  
  270.