Hangar.La tienda de software del Amiga

PlayMidi

V1.0b Plays MIDI Files via GMPlay & cli.datatype

Short:        V1.0b Plays MIDI Files via GMPlay & cli.datatype
Author:       dbusse@debitel.net (Dirk Busse)
Uploader:     dbusse debitel net (Dirk Busse)
Type:         util/dtype
Requires:     GMPlay and cli.datatype
Architecture: m68k-amigaos


Pre-History & Description:
   Did you ever wonder why IBrowse never plays Midi background sounds?
   You could setup a external viewer audio/midi
   with the command  $GMDIR/GMPlay
   and the arguments <>CON:100/80/500/120/GMPlay "%f" V=400 B=2 PRI=21
   If you load a Midi file via the URL, IBrowse plays it. But when you load
   a web page with a Midi background sound, IBrowse doesn't plays it.
   The reason is: IBrowse loads background sound only via datatypes.
   So my idee was to write a datatype which forwards the file to GMplay.
   My knowledges of programming datatypes and of programming in C are nearly
   zero. I didn't found an example datatype in assembler, but I found the
   cli.datatype.
   The first solution (starting directly GMPlay via cli.datatype) wasn't
   very well.
   The second solution (starting GMplay via a shell script via cli.datatype)
   was a little better. But it doen't works "clean".
   So I wrote a little assembler program "PlayMidi", which gives a little
   note to the caller (for example MultiView), breaks the actually GMPlay
   (you couldn't start GMPlay twice) and runs GMPlay with the new file.

Installation:
   - You need a successfully installed GMPlay.
     (Aminet:mus/midi/GMPlay13.lha)
   - You need a successfully installed cli.datatype.
     (AMinet:util/dtype/cli_dtc.lha)
     For using with AMIGA OS 3.5 you need the latest cli.datatypes V39.7
     which is included in this archive.
   - copy "c/PlayMidi" somewhere in your path (for example in c:)
   - copy "datatypes/MIDI" and "datatypes/XPKMIDI" to devs:datatypes
   - create a env variable GMDIR with the path of GMPlay.
     for example with:
     setenv envarc:GMDIR "DH0:MIDI/GMPlay"
   - create a env variable PlayMidiGMopts with your options which you want
     to use for GMPlay.
     for example with:
  setenv envarc:PlayMidiGMopts ">CON:100/80/510/120/GMPlay V=400 B=2 PRI=21"
     (You could use there all GMPlay options. Now you could simple use
      PlayMidi instead of GMPlay for playing your Midi files.)
   - add to the file envarc:datatypes/cli.prefs the following lines:

     MIDI     COMMAND=PlayMidi "%s"
     XPKMIDI  COMMAND=PlayMidi "%s"

   - That's all! Now IBrowse should play Midi background sounds!
     Now also every datatype viewer like MultiView should play midi files.


   (- Setting up IBrowse External Viewers for Midi support:
      Type:      audio/midi     and    audio/x-midi
      Mime:      midi mid kar
      Action:    Ext. viewer
      Viewer:    PlayMidi
      Arguments: "%f"                                       )



Example envarc-files and the source code of PlayMidi is also in the archive.


Author:
   Dirk Busse
   Kropsburgstraße 8
   D-67141 Neuhofen
   Germany
   <dbusse@debitel.net>
   <dbusse@germanynet.de>


Questions&Answers:

   Q: Where are pages on the Internet with Midi background sounds?
   A: For example at:
      http://www.elaborate-bytes.com/deutsch/firma/index.htm
      http://www.brenner-sievritts.com/hauptmenu.htm
      http://www.dlrg.de/Gliederung/Rheinland-Pfalz/Vorderpfalz/Ludwigshafen-Oggersheim/index.html

   Q: IBrowse doesn't plays Midi-Files from the GMPlay archive as
      background sound.
   A: IBrowse plays only background sounds with the datatype class sound.
      The Midi-Files from the GMPlay archive are xpk-packed. Xpk isn't a
      sound datatype class.
      But this shouldn't be a problem. If you open the Midi file directly,
      IBrowse should play it. And as background sound you must not use
      packed Midi files. Because xpk isn't a standard in the Internet. It's
      only a standard on the Amiga.
      With devs:Datatypes/XPKMIDI IBrowse will also play xpk packed midi
      files as background sound. But don't use xpk packed midi files on
      webpages, because xpk is only on the AMIGA a standard.

   Q: IBrowse 2.1 doesn't plays background sounds  :-(  :-(  :-(  :-(
   A: I don't know why. Maybe the Authors of IBrowse knows the answer.

   Q: MultiView crashes with an GURU on AMIGA OS 3.5.
   A: Please use the recompiled cli.datatype V39.7. This should fix this
      problem.
      (The cli.datatype V39.7 archive is included in this PlayMidi archive.)

   If you have some other questions or problems, you could send me a EMail
   or letter.


History:
   1.0  (07.May 1999)
        - First version.
   1.0a (04.Dec 1999)
        - The Datatype doesn't work under AMIGA OS 3.5
          To fix this Problem you have to do the following:
          **** Lines killed, because the reason wasn't PlayMidi. ****
          **** The problem was cli.datatype V39.6                ****
   1.0b (27.Dec 1999)
        - The reason for the problem with AMIGA OS3.5 is not PlayMidi.
          It's the cli.datatype V39.6. Also viewing lha files crashes
          under OS3.5. 
          I have recompiled the cli.datatype (now V39.7) which now works
          also under AMIGA OS3.5.
          Please use this cli.datatype V39.7.
        - Added the cli.datatype V39.7 archive, which now works under
          AMIGA OS3.5.
        - Playing xpk packed Midi files with MultiView under AMIGA OS3.5
          crashes, when they are unpacked by the xpk.datatype V39.1.
          But GMPlay could decrunch xpk packed Midi files by itself.
          Therefor I created a second datatypes descriptor "XPKMIDI" which
          doesn't use the xpk.datatype for midi files.
        - Added example envarc:Datatypes/cli.prefs file

Gratis

Web del proyecto ↗

Descargar 11 KB

Desde el Amiga: abre Hangar y busca PlayMidi.

Autordbusse@debitel.net (Dirk Busse)
Categoríautil/dtype
Tamaño11 KB
Param68k-amigaos
NecesitaGMPlay and cli.datatype
OrigenAminet