@database "sound_dtc"

@Node Main "sound_dtc.doc"
@toc "Includes_&_Autodocs/Main"
    @{" sound.datatype() " Link "sound.datatype()"}
@EndNode

@Node "sound.datatype()" "sound.datatype/sound.datatype"

@{b}    NAME@{ub}
	sound.datatype -- root data type for sounds.

@{b}    FUNCTION@{ub}
	The sound.datatype is the super-class for any sound related
	classes.

@{b}    METHODS@{ub}
	OM_NEW -- Create a new sound object.

	OM_GET -- Obtain the value of an attribute.

	OM_SET -- Set the values of multiple attributes.

	OM_UPDATE -- Update the values of multiple attributes.

	OM_DISPOSE -- Dispose of a sound object.

	GM_LAYOUT -- Layout the object and notify the application of the
	    title and size.

	GM_HITTEST -- Determine if the object has been hit with the
	    mouse.

	GM_GOACTIVE -- Tell the object to go active.  On SELECTDOWN, the
	    sound will start playing.

	GM_HANDLEINPUT -- Handle input.  Currently input (other than
	    SELECTDOWN) doesn't affect the sound.

	GM_RENDER -- Cause the graphic to render.  Currently the graphic
	    for the sound is just a static icon.

	DTM_TRIGGER -- Cause an event to occur.  Currently the only
	    trigger event is STM_PLAY, which will cause the sound to start
	    playing.

	DTM_COPY -- Copy the entire sound to the clipboard as 8SVX.

	DTM_WRITE -- Write the entire sound to a file as 8SVX.

@{b}    TAGS@{ub}
	SDTA_VoiceHeader (struct @{"VoiceHeader" Link "includes/datatypes/soundclass.h/Main" 64} *) -- Set and get the base
	    information for the sound.  @{"VoiceHeader" Link "includes/datatypes/soundclass.h/Main" 64} is defined in
	    @{"<datatypes/soundclass.h>" Link "includes/datatypes/soundclass.h/Main" 0}.

	    Applicability is (ISG).

	SDTA_Sample (UWORD *) -- Set and get the sound data.  Starting
	    V40 the sample data does not need to be in CHIP memory.

	    Applicability is (ISG).

	SDTA_SampleLength (ULONG) -- Length of the sound data.

	    Applicability is (ISG).

	SDTA_Period (UWORD) -- Set and get the period of the sound.
	    This attribute can be used to affect a playing sound.

	    Default for this tag is 394.  Applicability is (ISG).

	SDTA_Volume (UWORD) -- Set and get the volume of the sound. This
	    attribute can be used to affect a playing sound.

	    Valid range is from 0 to 64.  Default for this tag is 64.
	    Applicability is (ISG).

	SDTA_Cycles (UWORD) -- Set and get the number of cycles the
	    sound will be played.

	    Default for this tag is 1.  Applicability is (ISG).

	The following tags are new for V40.

	SDTA_SignalTask (struct @{"Task" Link "includes/exec/tasks.h/Main" 23} *) -- @{"Task" Link "includes/exec/tasks.h/Main" 23} to signal when the
	    is complete, or if SDTA_Continuous is TRUE, when
	    the next buffer is needed.

	SDTA_SignalBit (BYTE) -- @{"Signal" Link "exec/Signal()"} bit to use with SDTA_SignalTask
	    or -1 to disable.

	SDTA_Continuous (BOOL) -- Used to indicate that the sound
	    datatype will be fed a continuous stream of data.  Defaults
	    to FALSE.

@{b}    BUGS@{ub}
	Still doesn't support stereo or channel selection.

@EndNode

