HammeriteAudioPreset

Audio. Inherits Resource

One reverb character a room can have.

Rooms are given a preset rather than a decay computed from their walls: sixteen of them cover common architectural acoustics, and a bake picks one from what a room is built of and how big it is (HammeriteAudioMaterialSampler) unless an author named one on the brush. Only the reverb fields reach the AudioEffectReverb on the Hammerite Audio bus. A game with rooms of its own kind adds to the table the bake reads (HammeriteAudioRuntime.presets) rather than editing these.

Properties

TypeNameDefault
intid0
Stringname""
floatreverb_room_size0.5
floatreverb_damping0.5
floatreverb_spread1.0
floatreverb_wet0.3
floatreverb_dry1.0
floatabsorption_low_freq0.3
floatabsorption_mid_freq0.3
floatabsorption_high_freq0.3
floatreverb_predelay_msec0.0

Methods

ReturnsMethod
HammeriteAudioPreset[]create_default_presets() static

Enumerations

enum Kind

ValueNameDescription
0STONE_HALL_LARGEA large stone hall.
1STONE_HALL_MEDIUMA medium stone hall.
2STONE_CORRIDORA stone corridor.
3STONE_CHAMBER_SMALLA small stone chamber.
4WOOD_ROOM_LARGEA large wooden room.
5WOOD_ROOM_SMALLA small wooden room.
6WOOD_CORRIDORA wooden corridor.
7METAL_ROOMA metal room: bright, with controlled decay.
8METAL_CORRIDORA metal corridor.
9OUTDOOROpen air: almost dry.
10OUTDOOR_COURTYARDA courtyard, enclosed on its sides and open above.
11CAVE_LARGEA large cave.
12CAVE_SMALLA small cave.
13CLOTH_ROOMA room deadened by tapestries and carpet.
14TILE_ROOMA tiled room: bright but short.
15UNDERWATERUnder water: close, damped and dark. Always a water zone's, and a listener's under a surface.

Property descriptions

id

var id: int = 0

What a room stores to be given this preset, and what HammeriteAudioNodeGraph.presets is indexed by. One of Kind for a preset Hammerite ships, and a number of a game's own choosing for one of its own - outside Kind's range, or it takes a shipped preset's place.

name

var name: String = ""

What this is called, as the brush inspector's dropdown lists it.

reverb_room_size

var reverb_room_size: float = 0.5

AudioEffectReverb.room_size while the listener is in a room with this preset.

reverb_damping

var reverb_damping: float = 0.5

AudioEffectReverb.damping.

reverb_spread

var reverb_spread: float = 1.0

AudioEffectReverb.spread.

reverb_wet

var reverb_wet: float = 0.3

Reverb wet mix (0.0 to 1.0)

reverb_dry

var reverb_dry: float = 1.0

Reverb dry mix (0.0 to 1.0)

absorption_low_freq

var absorption_low_freq: float = 0.3

How much of the low end the room's walls absorb rather than reflect: 0 reflective, 1 absorptive. The three are heard as a TILT and not as a level: each band is pulled towards the mean of all three, by at most HammeriteAudioMixSettings.absorption_tilt_db, so what they set is the room's colour - a metal room bright, water dull - while how much reverb comes back at all is reverb_wet's. Absorbing every band equally is heard as nothing, which is why the outdoor preset can absorb 0.95 of everything and still be bright rather than a whisper.

absorption_mid_freq

var absorption_mid_freq: float = 0.3

As absorption_low_freq, for the middle of the spectrum.

absorption_high_freq

var absorption_high_freq: float = 0.3

As absorption_low_freq, for the top of the spectrum.

reverb_predelay_msec

var reverb_predelay_msec: float = 0.0

Filled in per listener position from the rooms around them (HammeriteAudioInterpolator), not authored: how long before the first reflections is how big the room is, whatever it is built of.

Method descriptions

create_default_presets()

static func create_default_presets() -> HammeriteAudioPreset[]

The sixteen presets Hammerite ships, a new array of new resources each call, indexed by Kind. HammeriteAudioRuntime.presets is what a bake actually reads, and these are what it holds until a game says otherwise.

Hammerite 1.0 · built from a6dd634, 2026-10-10