home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format 106 / af106sub.adf / datatypes.LZX / 16sv_datatype / 16sv.datatype.doc < prev    next >
Text File  |  1985-01-10  |  10KB  |  265 lines

  1. TABLE OF CONTENTS
  2.  
  3. 16sv.datatype/--datasheed--
  4. 16sv.datatype/--input_format--
  5. 16sv.datatype/DTM_WRITE
  6. 16sv.datatype/MAIN
  7. 16sv.datatype/OM_NEW
  8. 16sv.datatype/--datasheed--                       16sv.datatype/--datasheed--
  9.  
  10.    NAME
  11.        16sv.datatype -- data type for IFF 16SV samples
  12.  
  13.    SUPERCLASS
  14.        sound.datatype
  15.  
  16.    DESCRIPTION
  17.        The 16sv datatype, a sub-class of the sound.datatype, is
  18.        used to load and save IFF 16SV samples.
  19.  
  20.        This class is offloaded from the datatypes.library V45 example code
  21.        and is the reference implementation of a sound.datatype subclass
  22.        which supports saving in it's local format (as used by converters
  23.        like "DTConvert").
  24.  
  25.    METHODS
  26.        OM_NEW -- Create a new sound object from a description file. The
  27.            source may be a file or a clipboard unit. An empty object
  28.            (DTST_RAM) can also be created.
  29.  
  30.        OM_UPDATE -- Perform an ICM_CHECKLOOP check, and if succesfull, the
  31.            method will be executed like OM_SET downstairs.
  32.  
  33.        OM_SET -- Pass msg to superclass and call GM_RENDER if retval from
  34.            superclass was != 0UL.
  35.  
  36.        DTM_WRITE -- Save data in local (IFF 16SV) or superclass (IFF 8SVX)
  37.            format.
  38.  
  39.        All other methods are passed unchanged to superclass.
  40.  
  41.    ATTRIBUTES
  42.        Following attributes are set by the object and are READ-ONLY for
  43.        applications (if the datatype is used for saving (e.g. the
  44.        application creates an empty 16SV.datatype object and fills
  45.        in some required atrributes as shown in the "DTConvert" example),
  46.        these attributes are used by the encoder to create an IFF 16SV
  47.        sound file):
  48.  
  49.        DTA_ObjName         -- Set by an IFF NAME chunk. If missing,
  50.                               DTA_ObjName will take DTA_Name's value.
  51.        DTA_ObjAuthor       -- Set by an IFF AUTH chunk.
  52.        DTA_ObjAnnotation   -- Set by an IFF ANNO chunk.
  53.        DTA_ObjCopyright    -- Set by an IFF (C) chunk.
  54.        DTA_ObjVersion      -- Set by an IFF FVER chunk.
  55.        SDTA_VoiceHeader    -- Filled by the 16SV VHDR chunk
  56.        SDTA_Sample         -- 8 bit sample data
  57.        SDTA_SampleLength   -- length of 8 bit sample data
  58.        SDTA_Volume         -- volume (got from the voiceheader)
  59.        SDTA_Period         -- created from (VoiceHeader -> vh_SamplesPerSec)
  60.                               and system's clock
  61.  
  62.    BUGS
  63.        The project has been not very well tested yet. Therefore...
  64.        ... no known bugs.
  65.  
  66.    TODO
  67.        - Fixing the bugs above.
  68.  
  69.        - Add stereo support, e.g. interleave the sound data when left/right
  70.          channels occur...
  71.  
  72.        - Compression support (e.g. CMP_FIBDELTA).
  73.  
  74.        - More speed during encoding.
  75.  
  76.        - Support for SDTM_LOADFRAME / SDTM_UNLOADFRAME (implies also support
  77.          for 16-bit audio á la RTA /  AHI).
  78.  
  79.    HISTORY
  80.        V1.1
  81.          First public release.
  82.  
  83.        V1.2
  84.          - Replaced stack swapping code by my "standard" module
  85.  
  86.          - Minor source code cleanup.
  87.  
  88.          - Improved the "smakefile" a little bit
  89.  
  90.    SEE ALSO
  91.        sound.datatype
  92.  
  93. 16sv.datatype/--input_format--                 16sv.datatype/--input_format--
  94.  
  95.     NAME
  96.         IFF 16SV -- 16 bit Samples Voice
  97.  
  98.     DESCRIPTION
  99.         FORM 16SV has the same format as FORM 8SVX except the normal BODY
  100.         chunk contains 16 bit samples instead of 8 bit samples.
  101.  
  102.     SEE ALSO
  103.         - ARKM Devices: IFF part
  104.  
  105.         - iffparse.library autodocs
  106.  
  107.         - IFF 8SVX docs
  108.  
  109. 16sv.datatype/DTM_WRITE                               16sv.datatype/DTM_WRITE
  110.  
  111.     NAME
  112.         DTM_WRITE -- Save data
  113.  
  114.     FUNCTION
  115.         This method saves the object's contents to disk.
  116.  
  117.         If dtw_Mode is DTWM_IFF, the method is passed unchanged to the
  118.         superclass, sound.datatype, which writes an IFF 8SVX sample.
  119.  
  120.         If dtw_mode is DTWM_RAW, the object writes an IFF 16SV sample to
  121.         the filehandle given.
  122.         (If the class library was compiled with the NO_ENCODER switch
  123.         (not the default), result == 0 and resul2 == ERROR_NOT_IMPLEMENTED
  124.         are returned).
  125.  
  126.     BUGS
  127.         - The encoder does not support compression. A request to save
  128.           compressed data returns DTERROR_UNKNOWN_COMPRESSION.
  129.  
  130.     TAGS
  131.         None defined.
  132.  
  133.     RESULT
  134.         Returns 0 for failure (IoErr() returns result2), non-zero
  135.         for success.
  136.  
  137. 16sv.datatype/MAIN                                         16sv.datatype/MAIN
  138.  
  139.     INTRODUCTION
  140.         Datatypes class for IFF 16SV samples. Based on the CBM datatypes
  141.         example source/ documents written by David Junod and infos got from
  142.         "SoundBox" by Richard Koerber.
  143.  
  144.     REQUIREMENTS
  145.         - You need at least Kick/WB 3.0.
  146.  
  147.         - "datatypes/sound.datatype", >= V39.
  148.  
  149.     USAGE
  150.         If the datatypes descriptor file was activated, any attempt to load
  151.         an IFF 16SV sample using GMultiView, MultiView, AmigaGuide or
  152.         SwitchWindow will load and play the sample.
  153.  
  154.         16sv.datatype supports also the clipboard as input, e.g.
  155.         "MultiView CLIPBOARD", ClipView or SwitchWindow are able to play
  156.         IFF 16SVs from clipboard.
  157.  
  158.         If you want to save the current sample in 16sv.datatype's local
  159.         format, use MultiView's "Project/Save As..." menu (or GMultiView's
  160.         "Project/Save As Raw...").
  161.  
  162.     INSTALLATION
  163.         After unpacking this archive:
  164.         Because this version does not include an Installer script, you have
  165.         to do the installation manually through the shell:
  166.  
  167.           - Unpack this archive and copy the "16sv.datatype" to
  168.             SYS:Classes/DataTypes:
  169.  
  170.      Copy CLONE FROM "16sv.datatype" TO "SYS:Classes/DataTypes/16sv.datatype"
  171.  
  172.           - Then copy the datatypes descriptor into the DEVS:DataTypes
  173.             directory.
  174.             If the descriptor already exists, you should not replace it,
  175.             otherwise you may loose "toolnodes" and other settings stored in
  176.             the existing descriptor.
  177.  
  178.      Copy CLONE FROM "16SV(%|.info)" TO DEVS:Datatypes/
  179.  
  180.     SOURCE
  181.         This is the official datatypes.library V45 reference implementation
  182.         of a sound.datatype subclass which supports saving in it's local
  183.         format (such an encoder is used by "DTConvert" and other tools which
  184.         uses DataTypes for conversion, e.g. DataType -> DataType (e.g. MPEG 
  185.         Audio -> IFF 16SV etc.)).
  186.  
  187.         Source is fully included here.
  188.  
  189.     AUTHOR
  190.         If you want to blame me, report any bugs, or wants a new version
  191.         send your letter to:
  192.                         Roland Mainz
  193.                         Hohenstaufenstraße 8
  194.                         52388 Nörvenich
  195.                         GERMANY
  196.  
  197.         Phone: (+49)(0)2426/901568
  198.         Fax:   (+49)(0)2426/901569
  199.  
  200.         EMAIL is also available (if you want to send me attachments
  201.         larger than 1MB (up to 5MB, more with my permission):
  202.  
  203.         GISBURN@w-specht.rhein-ruhr.de
  204.  
  205.         Up to December 1997 I'm reachable using this email address, too:
  206.         Reinhold.A.Mainz@KBV.DE
  207.  
  208.         | Please put your name and address in your mails !
  209.         | German mailers should add their phone numbers.
  210.         | See BUGS section above when submitting bug reports.
  211.  
  212.         Sorry, but I can only look once a week for mails.
  213.         If you don't hear something from me within three weeks, please
  214.         send your mail again (but watch about new releases) (problems with
  215.         this email port are caused by reconfigurations, hackers, network
  216.         problems etc.).
  217.  
  218.         The  entire  "16sv.datatype"  package  may  be  noncommercially
  219.         redistributed, provided  that  the package  is always  distributed
  220.         in it's complete  form (including it's documentation). A small
  221.         copy fee  for media costs is okay but any kind of commercial
  222.         distribution is strictly forbidden without my permission !
  223.         Comments and suggestions how to improve this program are
  224.         generally appreciated!
  225.  
  226.         Thanks to David Junod, who wrote the datatypes environment and lots
  227.         of the datatypes example code, Richard Koerber for his "SoundBox",
  228.         Matt Dillon for his DICE, Olaf 'Olsen' Barthel for his help, 
  229.         ideas and some text clips from his documentations.
  230.  
  231. 16sv.datatype/OM_NEW                                     16sv.datatype/OM_NEW
  232.  
  233.     NAME
  234.         OM_NEW -- Create a 16sv.datatype object.
  235.  
  236.     FUNCTION
  237.         The OM_NEW method is used to create an instance of the 16sv.datatype
  238.         class. This method is passed to the superclass first. After this,
  239.         16sv.datatype parses the file and loads the sample.
  240.  
  241.     ATTRIBUTES
  242.         The following attributes can be specified at creation time.
  243.  
  244.         DTA_SourceType (ULONG) -- Determinates the type of DTA_Handle
  245.             attribute. DTST_FILE, DTST_CLIPBOARD and DTST_RAM are supported.
  246.             If any other type was set in a given DTA_SourceType,
  247.             OM_NEW will be rejected.
  248.             Defaults to DTST_FILE.
  249.  
  250.         DTA_Handle -- For both supported DTST_FILE and DTST_CLIPBOARD, a
  251.             (struct IFFHandle *) is expected.
  252.             (DTST_FILE expects a IFF Stream handle because this is a IFF
  253.             type DataType (DTF_IFF)).
  254.             A DTST_RAM (create empty object) source type requires a NULL
  255.             handle.
  256.  
  257.     NOTE
  258.         If the datatype was compiled with the NO_ENCODER flag set,
  259.         DTA_SourceType == DTST_RAM causes OM_NEW to reject the method.
  260.  
  261.     RESULT
  262.         If the object was created a pointer to the object is returned,
  263.         otherwise NULL is returned.
  264.  
  265.