Class SoundFilterManager

java.lang.Object
net.ixdarklord.coolcatcanvas.internal.client.sound.SoundFilterManager

public final class SoundFilterManager extends Object
The sound filters' work (api.client.sound.SoundFilters): for each sound, the providers' filters and the named ones combined, as an EFX low-pass filter on its OpenAL source, and as much of it as they say sent, filtered the same, through a distortion (auxiliary send 0) and into a reverb (send 1). Applied by ChannelMixin when a sound starts and as it moves.
  • Method Details

    • register

      public static SoundFilters.Registration register(SoundFilterProvider provider)
    • refresh

      public static void refresh()
    • set

      public static void set(net.minecraft.resources.Identifier id, SoundFilter filter, int fadeTicks)
    • clear

      public static void clear(net.minecraft.resources.Identifier id, int fadeTicks)
    • isSet

      public static boolean isSet(net.minecraft.resources.Identifier id)
    • named

      public static SoundFilter named()
      What the named filters come to now.
    • efx

      public static boolean efx()
      Whether OpenAL's EFX was there the last time a sound was filtered (and whether the reverb is).
    • reverb

      public static boolean reverb()
    • tick

      public static void tick(net.minecraft.client.Minecraft minecraft)
    • apply

      public static void apply(int source, SoundContext sound)
      Filters the sound on an OpenAL source. On the sound thread, from the channel.