; ChannelReverb example. Compile in Extended mode; media ships with Audio Playground.
AppTitle "ChannelReverb"
If Not InitAudioEffects() Then RuntimeError AudioLastError$()
Graphics 680,240,0,2
SetBuffer BackBuffer()
sound = LoadSound("../../../samples/audio/media/machine.wav")
If sound = 0 Then RuntimeError "The installed audio sample media is missing."
LoopSound sound
SoundVolume sound,0.25
RequireAudio AudioMasterMeter(True)
RequireAudio AudioGroupMeter(0,True)
message$ = "ChannelReverb"

channel = PlaySound(sound)
If channel = 0 Then RuntimeError "Unable to play the example sound."
RequireAudio AudioReverb("cave")
RequireAudio ChannelReverb(channel,0.6)
started = MilliSecs()
While KeyDown(1) = False And MilliSecs()-started < 5000

    Cls
    Text 20,20,message
    Text 20,50,"Group 0 peak: " + AudioGroupPeak(0) + "   RMS: " + AudioGroupRMS(0)
    Text 20,80,"Master peak: " + AudioMasterPeak() + "   RMS: " + AudioMasterRMS()
    Text 20,120,"Listen for five seconds, or press Escape to finish."
    Flip
Wend
StopChannel channel
For group = 0 To 3
    RequireAudio AudioGroupClearEffects(group)
Next
Delay 60
FreeSound sound
EndGraphics
End

Function RequireAudio(success)
    If Not success Then RuntimeError AudioLastError$()
End Function
