Extended sound controls

  • Apart from the classic sound control by variable, there are a few script functions for additional possibilities.

    procedure SndSetIndependent(self: integer; soundname: string; soundindex: integer; contentUserID, contentSubID: integer);

    With this procedure the deposited sound data can be exchanged at the position "soundindex" (zero-based counted) in the sound source deposited in the sound source with the name "soundname".

    For this purpose, the corresponding sound data must be imported from wave files in the ContentTool using the "Independent sounds" function. These are then stored under their own ContentID. These are accessed via this procedure with the variables contentUserID and contentSubID.

    As soon as the command has been executed, the sound is controlled again as usual, also the volume curves and pitching is still possible.

    procedure GluedSoundCreateNew(self: integer);

    procedure GluedSoundAdd(self: integer; contentUserID, contentSubID: integer);

    procedure GluedSoundGiveSource(self: integer; soundname: string; soundindex: integer);

    These commands allow to merge several sound data stored by "Indep. Sounds" with ContentID at runtime of the object.

    First, a new, empty data set is created with GluedSoundCreateNew. Then, by calling GluedSoundAdd, an unlimited number of sounds can be attached to each other by ContentID. At the end the so created sound data are copied with GluedSoundGiveSource (comparable with SndSetIndependent) to the sound indexed with "soundindex" of the sound source named in the object with "soundname".