CSound

What is a CSound?

CSound is a format used to store information and data for a sound.

Structure

Size Type Name Description
4 UInt32 Handle The handle of the sound, used to reference the sound by other structures
4 UInt32 Unknown Allegedly a checksum of the data after Data Size, unsure if accurate or the usage
4 UInt32 References The number of references made to this sound in the project, used to determine if the sound should be removed from the project
4 UInt32 Data Size The size of the Data, includes the Name aswell
4 UInt32 Flags Definitions
4   Unknown Allegedly frequency, unsure of use, seems to always be zero
4 Int32 Name Length The length of the sound name
Name Length * 2 Unicode Name The name of the sound
... UInt8[] Sound Data The raw data of the sound file, length is Data Size - Name Length * 2 if Play from disk is true, otherwise Data Size

Flag Definitions

Flags

Value Name Description
0x0001 WAVE Whether or not the file is a WAVE
0x0002 MIDI Whether or not the file is a MIDI
0x0010 Load on Call Prevents sound preloading, only loads the sound when it is used
0x0020 Play from disk Does the same as Load on Call but stores the data uncompressed when compiled
0x0040 File Unsure of use, possibly runtime only
0x8000 Unicode File Unsure of use, possibly runtime only
0x1000 Loaded Unsure of use, likely runtime only