Short: Datatype for IFF-RSND-Format (41.0) Author: astegema@ix.urz.uni-heidelberg.de (Achim Stegemann) Uploader: astegema ix urz uni-heidelberg de (Achim Stegemann) Type: util/dtype Architecture: m68k-amigaos Version: 41.0 (beta !!) Requires minimum: * OS 3.0 * MC68020 * xpkmaster.library V4 * sound.datatype V41 from Stephan Rupprecht (util/dtype/sounddt41.lha) Additionally recommended: * MUI 3.8 for the preferences. !!! From now on, pack your sound samples with Xpk !!! This is a full functional datatype, but still beta ! Please report any mistakes to me !! With the help of the rsnd.datatype, your datatype sytem is able to read sounds coded in the new IFF-RSND-Format created by me. The RSND datatype supports 8-bit and 16-bit samples, both mono or stereo sounds ! Best use Xpk packer specialized on samples like SDHC, SLZX, SMPL or SQSH. This archive is freeware ! Do with it what you want, as long as you do not remove any files from this archive ! The archive also contains the utility 'DT2RSND'. This converts a datatype sound to the new IFF-RSND-Format ! Template: DT2RSND FROM/A,TO/A,XPK/A/K,MODE/K/N,PASSWORD,VERBOSE/S XPK: 4-letter packer ID, e.g. SMPL MODE: Packing mode from 0 to 100 (default). The datatype supports the DTM_WRITE-RAW method, to save in own format. If you don't have MUI, you can change prefs for the datatype very easy. The ENV variable DataTypes/rsnd.prefs contains the DOS template: XPK/A,MODE/A/N See above for details. These parameters are only used for the DTM_WRITE method. Internet: http://www.rzuser.uni-heidelberg.de/~astegema Important note about the source code: ************************************* The source has been written in C++ using Maxon-C++ V3. You will find several instructions a bit strange as I have converted all C-style OS-structures to C++ OS-structures. E.g. struct Library { struct Node lib_Node; UBYTE lib_Flags; UBYTE lib_pad; UWORD lib_NegSize; UWORD lib_PosSize; UWORD lib_Version; UWORD lib_Revision; APTR lib_IdString; ULONG lib_Sum; UWORD lib_OpenCnt; }; has been converted to struct Library:Node // !!!!! { UBYTE lib_Flags; UBYTE lib_pad; UWORD lib_NegSize; UWORD lib_PosSize; UWORD lib_Version; UWORD lib_Revision; APTR lib_IdString; ULONG lib_Sum; UWORD lib_OpenCnt; }; This simplifies the code as I don't always need to cast variables to fit arguments in functions. Additionally C++ allows to leave away the 'struct' keyword ! If you like to recompile the source-code for your compiler, you need to adjust the source-code to C. But this should be no problem.