home *** CD-ROM | disk | FTP | other *** search
/ The Best of Mecomp Multimedia 2 / MECOMP-CD-II.iso / amiga / datatypes / mididt / mididt.readme < prev    next >
Encoding:
Text File  |  1997-10-05  |  6.8 KB  |  177 lines

  1. Short:    Superclass datatype for midi files, V40.0
  2. Type:     util/dtype
  3. Uploader: Martin Gierich <Martin.Gierich@stud.uni-karlsruhe.de>
  4. Author:   Martin Gierich <Martin.Gierich@stud.uni-karlsruhe.de>
  5. Version:  40.0 (11.9.97)
  6. Requires: camd.library, realtime.library, OS 3.0 or better
  7.  
  8.  
  9. Introduction:
  10.  midi.datatype lets your system know about midi data, especially about
  11.  files in Standard Midi Format (SMF). It is an interface to recognize,
  12.  load, play and save midi music data. With subdatatypes it might know
  13.  about other midi file formats like SMUS and MMD (Octamed), too.
  14.  
  15.  
  16. Important:
  17.  This release is BETA !
  18.  It is not recommended to use it for loading/saving, but playing works fine.
  19.  
  20.  
  21. Notes:
  22.  midi.datatype has a control panel that you can see with MultiView.
  23.  It is currently very simple but functional.
  24.  
  25.  For playing back midi music you will need:
  26.  camd.library, can be found in Aminet/mus/misc/camd.lha
  27.  realtime.library, comes with OS3.1 and can be found on developer packages
  28.  They both can be found in the MIDIPro archive on Aminet, too.
  29.  
  30.  If you have the Amiga Developer CD, I recommend you to have a look at
  31.  the full CAMD package on there (:Extras/MIDI/CAMD).
  32.  
  33.  A more technical documentation of midi.datatype can be found in the
  34.  Autodoc midi_dtc or midi_dtc.doc.
  35.  
  36. Installation:
  37.  Copy midi.datatype to SYS:Classes/datatypes
  38.  Copy smf#? to DEVS:Datatypes
  39.  Double click SMF icon or reboot.
  40.  
  41.  If you do not have CAMD and RealTime yet:
  42.  Copy camd.library and realtime.library to LIBS:
  43.  If your midi interface is connected to something else than the internal
  44.  serial port, you will need some more fancy CAMD installation.
  45.  
  46.  
  47. Usage:
  48.  If you see the control panel by using MultiView or something similar,
  49.  you can click once on the button to start playing, and after that, this
  50.  button allows you to toggle between playing and paused mode.
  51.  
  52.  
  53. Using it in applications:
  54.  If you are a programmer and want to play back midi music without knowing
  55.  something about midi, you can use midi.datatypes in pretty the same way
  56.  as sound.datatype (V40 preferably). See the example sources playaudio.c
  57.  and playmidi.c for more. Midi background music would be quite nice for
  58.  games, web browsers and for telling about events (think about music
  59.  playing if new mail came to your mailbox).
  60.  
  61.  
  62. Preferences file:
  63.  The midi.datatype tries to load a preferences file from
  64.  "ENV:DataTypes/midi.prefs". The template is: CLUSTER/K,VOLUME/N/K
  65.  
  66.  CLUSTER  - Sets the CAMD cluster to the given name. See CAMD documentation
  67.             for more. Default is "out.0", which is the internal serial port.
  68.  VOLUME   - This is currently unused and will allow setting main volume
  69.             in future releases. Default is 64 which is maximum volume.
  70.  
  71.  Each option should be on its own line. You cannot use SETENV for this.
  72.  
  73.  
  74. Future:
  75.  To make loading/saving useable and allow the use of subdatatypes, there
  76.  is a need to specify a nice memory representation of midi music files.
  77.  Maybe it can even be enhanced to be a full music datatype with the
  78.  possibility to embed sampled instruments into the music.
  79.  See Future.readme for more.
  80.  
  81.  
  82. Distribution files:
  83.  midi.datatype -- the main part
  84.  midi.datatype.debug -- outputs lots of funny stuff to Sushi
  85.  SMF -- the description of SMF files for datatypes
  86.  MidiDT.readme -- this file
  87.  Future.readme -- plans about the future, do you want to help improving ?
  88.  Tools/playaudio -- CLI only player for sound samples and midi data
  89.  Tools/playmidi -- small CLI only player for midi data
  90.  Docs/midi_dtc.doc -- midi.datatype Autodoc
  91.  Docs/midi_dtc -- same in AmigaGuide format
  92.  Source/makegst.h -- for creating a SAS/C GST
  93.  Source/debug.h -- debugging code
  94.  Source/register.h -- register definitions
  95.  Source/midiclass.h -- mididt specific definitions
  96.  Source/startup.c -- library startup header
  97.  Source/libinit.c -- library initialize functions
  98.  Source/dispatch.c -- class dispatcher
  99.  Source/handlemidi.c -- midi player
  100.  Source/playaudio.c -- source of playaudio CLI tool
  101.  Source/playmidi.c -- source of playmidi CLI tool
  102.  Source/SCOPTIONS -- SAS/C compiler options
  103.  Source/smakefile -- makefile for all things
  104.  Source/smakefile.link -- linker options
  105.  
  106.  These two files are not copyrighted by me:
  107.  Extras/Entertainer.mid -- example SMF file
  108.  Extras/MidiFile -- description of the SMF file format as ascii text
  109.  
  110.  
  111. Recompiling:
  112.  You will need SAS/C, though it does not use assembler code. If you know
  113.  how to pass arguments in registers, you might be able to port it.
  114.  To compile it, you need the full CAMD package, as it can be found on
  115.  the Amiga Developer CD. Autodoc creation is performed by using makedoc
  116.  and xrefconvert, both created by Stefan Ruppert (thanks !) and can
  117.  be found on Aminet in dev/misc.
  118.  
  119.  
  120. Copyright:
  121.  This midi.datatype package is Freeware and comes with source code.
  122.  This means you are allowed to distribute it (all files must be included)
  123.  and you can use it for free. It is still copyrighted by me.
  124.  However I can give you no warranty, so use it at your own risk.
  125.  
  126.  The source code is included for improving midi.datatype and to show
  127.  how a superclass datatype can be programmed. Since I was pleased about
  128.  every piece of source code I discovered on Aminet which helped me with
  129.  this project, I have created this policy:
  130.  
  131.  ------ start of source code policy ------
  132.  You are allowed to make use of the source code,
  133.  if you follow these three rules:
  134.  1. The resulting program must be Freeware.
  135.  2. The source code of it must be distributed with it, too.
  136.  3. This source code policy must be part of the copyright notice of it.
  137.  ------ end of source code policy ------
  138.  
  139.  
  140. Credits:
  141.  Many thanks go to:
  142.  * Stefan Ruppert for his great binary.datatype !
  143.    This was the only example source code of a superclass datatype
  144.    I could find. Thanks for releasing your source code !
  145.    I have looked at V39.11 (11.4.95) of binary.datatype.
  146.  
  147.  * Andreas R. Kleinert for his "Datatype in 100% C code" distribution.
  148.    I have used V43.9 (29.6.97) to build this datatype.
  149.  
  150.  * All people involved in the camd.library project and especially to
  151.    Dan Baker, who created the playmf midi CLI player.
  152.    This was V40.1 back in the old Commodore days.
  153.  
  154.  * David N. Junod for example source codes of datatypes stuff.
  155.  
  156.  * Ketil Hunn for his source code of a IconifyButton BOOPSI class (V1.0).
  157.    It gave me a hint how to handle input events.
  158.  
  159.  * Christian Buchner for his waveblaster-guide which gave me the start
  160.    into midi world.
  161.  
  162.  
  163. Author:
  164.  Martin Gierich
  165.  Narzissenweg 7
  166.  76297 Stutensee
  167.  Germany
  168.  
  169.  EMail: Martin.Gierich@stud.uni-karlsruhe.de
  170.         (replies might take one or two weeks)
  171.  Homepage: http://www.uni-karlsruhe.de/~uj3w/
  172.            (maybe new beta versions can be found there)
  173.  
  174.  My system used: AT A1200, OS3.1, Blizzard 68030/68882/50MHz IV board,
  175.                  18MB total RAM, some harddisks, Yamaha DB50XG midi wavetable
  176.                  synthesizer board connected to the internal serial port.
  177.