
  SPO.svobject

  © 1994 by Andreas R. Kleinert.

  FREEWARE. All rights reserved.

  Version      : 1.3
  Release Date : 30.03.1994


  Description
  ~~~~~~~~~~~
  SPO.svobject is an external Library-Module for the superplay.library V1+.

  It supports reading and writing of SPO Sample-Files.


  File Format Information
  ~~~~~~~~~~~~~~~~~~~~~~~
  Sound Samples in the "SPO Sample File Format" consist of two Files :
  The Header-File (<Sample>.spo) and the Data-File (<Sample>).
  The Header-File contains information about the Raw-Data in the
  Data-File. For loading and saving the Sample it makes no difference,
  which FileName - Header-File or Data-File - is given.
  This is managed by the SPObject.

  Because recognition of the Types of packed Files is only possible
  by reading the whole File into a buffer and then check it, we use
  two different Files for both : Sample Information and Sample-
  The Data-File CAN be packed, the Header-File MUST NOT be packed.

  The SPO.object does NOT save packed data, but it is possible, to pack
  the Data File with ANY XPK-Packer you like, because the SPO.spobject
  uses the xpk.library for decoding.

  This allows efficient packing and unpacking with PowerPacker and all
  other XPK-Packers.

  Remember, that the original Data written by the SPO.spobject is NOT packed
  and therefore needs a lot of Diskspace. So pack it immediately after it
  has been written.

  The Data saved into the <Sample> File is written almost in the same
  way like in an IFF-8SVX. The only difference is : Future versions might
  contain 12- or 16-Bit Sample Data.


  Source-Code
  ~~~~~~~~~~~
  The "SPO Sample File Format" is an "Open File Format", which means,
  that everyone is invented to use and support it and to make suggestions
  to improve the File Format or the Algorithms to handle it.

  To allow support of the File Format and to give an example, how to write
  your own superview.library compatible "spobjects", this distribution
  contains the full SourceCode of the "SPO.spobject".

  Feel free to use it for your own, commercial or non-commercial, programs !


  Author
  ~~~~~~
  Andreas R. Kleinert
  Grube Hohe Grethe 23
  D-57074 Siegen
  Germany


  Features / Handicaps
  ~~~~~~~~~~~~~~~~~~~~
  - once a sample has been loaded, it will be repeated until an explicite
    stop command arrives
  - an arriving stop command waits (asynchroneous) until the current repeat
    loop ends
  - there's no possibility to continue a once stopped Sample


  History :
  ~~~~~~~~~
  V1.3 (30.03.1994) :

   - replaced SAS/C's sprintf()-routine with own, RawDoFmt()-based one.
     This saves about 1800 Bytes.
   - "utility.library" is not used, because this crashes the Player-Task
     and no reason for this could be found.


  V1.2 (27.02.1994) :

   - fixed small bug in memory management routines


  V1.1 (16.01.1994) :

   - first version


  Copyrights
  ~~~~~~~~~~
  Some of the mentioned names or products above may be copyrighted by
  companies or trademarks of companies.


