Package mindustry.audio
Class SoundControl
java.lang.Object
mindustry.audio.SoundControl
Controls playback of multiple audio tracks.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionarc.struct.Seq<arc.audio.Music>normal, ambient music, plays at any timearc.struct.Seq<arc.audio.Music>music used explicitly after boss spawnsprotected arc.audio.Musicarc.struct.Seq<arc.audio.Music>darker music, used in times of conflictprotected floatprotected arc.audio.AudioFilterfloatfloatprotected longprotected arc.audio.Musicfloatfloatfloatprotected booleanprotected arc.struct.ObjectMap<arc.audio.Sound,SoundControl.SoundData> protected arc.util.Intervalprotected arc.audio.AudioBusprotected boolean -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanisDark()Whether to play dark music.voidloop(arc.audio.Sound sound, float volume) voidloop(arc.audio.Sound sound, arc.math.geom.Position pos, float volume) protected voidplay(arc.audio.Music music) Plays and fades in a music track.protected voidplayOnce(arc.audio.Music music) Plays a music track once and only once.voidPlays a random track.protected voidreload()protected voidprotected booleanprotected voidsilence()Fades out the current track, unless it has already been silenced.voidstop()voidupdate()Update and play the right music track.protected void
-
Field Details
-
finTime
public float finTime -
foutTime
public float foutTime -
musicInterval
public float musicInterval -
musicChance
public float musicChance -
musicWaveChance
public float musicWaveChance -
ambientMusic
public arc.struct.Seq<arc.audio.Music> ambientMusicnormal, ambient music, plays at any time -
darkMusic
public arc.struct.Seq<arc.audio.Music> darkMusicdarker music, used in times of conflict -
bossMusic
public arc.struct.Seq<arc.audio.Music> bossMusicmusic used explicitly after boss spawns -
lastRandomPlayed
protected arc.audio.Music lastRandomPlayed -
timer
protected arc.util.Interval timer -
lastPlayed
protected long lastPlayed -
current
@Nullable protected arc.audio.Music current -
fade
protected float fade -
silenced
protected boolean silenced -
uiBus
protected arc.audio.AudioBus uiBus -
wasPlaying
protected boolean wasPlaying -
filter
protected arc.audio.AudioFilter filter -
sounds
-
-
Constructor Details
-
SoundControl
public SoundControl()
-
-
Method Details
-
setupFilters
protected void setupFilters() -
reload
protected void reload() -
loop
public void loop(arc.audio.Sound sound, float volume) -
loop
public void loop(arc.audio.Sound sound, arc.math.geom.Position pos, float volume) -
stop
public void stop() -
update
public void update()Update and play the right music track. -
updateLoops
protected void updateLoops() -
playRandom
public void playRandom()Plays a random track. -
isDark
protected boolean isDark()Whether to play dark music. -
play
protected void play(@Nullable arc.audio.Music music) Plays and fades in a music track. This must be called every frame. If something is already playing, fades out that track and fades in this new music. -
playOnce
protected void playOnce(arc.audio.Music music) Plays a music track once and only once. If something is already playing, does nothing. -
shouldPlay
protected boolean shouldPlay() -
silence
protected void silence()Fades out the current track, unless it has already been silenced.
-