Skip to content

Internal Classes

gl326 edited this page Dec 14, 2021 · 4 revisions

Here you can get some info on the classes that are used internally by Bard Audio. Some of this info might be useful if you want to extend the functionality or make use of hidden features.

A 'playstack' is a way of controlling a global audio state. We use these to run our music and ambience system(s).

This is a fairly robust class for creating tweens. It can actually be used with literally any object or struct variables.


These classes also exist and could be extended, but I don't want to document them thoroughly. Feel free to look at the code.

class_audio_player

This manages actively running audio and are more or less the central 'brains' of Bard Audio. Each player manage audio associated with exactly 1 named container.

class_audio_container

Internal representation of Containers. These are packages of data which you create and edit from the Audio Editor, and set the rules for how audio files interact. Their instructions are what drive class_audio_players.

class_audio_instance

A single instance of audio_play_sound() with all its custom volume, pitch, and state settings. These are managed exclusively by class_audio_players.

class_audio_parameter

Representation of Audio Parameters which you have created and edited in the Audio Editor. They also contain hook/point/curve data that describe how they relate to attached containers.

class_audio_bus

Representation of Audio Busses which you have created and edited in the Audio Editor.

class_audio_asset

Representation of a single audio asset, either from your GameMaker project or located externally. These track information about whether the file is loaded, and any custom volume settings on individual files.