[Gambas-user] gb3: gb.sdl.sound disallows more than 8 sounds/channels at once
Kevin Fishburne
kevinfishburne at ...1887...
Sun Jul 24 11:50:37 CEST 2011
On 07/24/2011 05:17 AM, Benoît Minisini wrote:
>>> I can play eight sounds simultaneously, adjusting their volumes as
>>> needed, but when I try to set the volume of the channel of the ninth
>>> sound I receive an error saying that the channel is null (even though
>>> the ninth sound actually starts playing at a volume of 1).
>>> ...
>> Sorry, it's my fault. I never noticed that the SDL_mixer used only eight
>> channels by default. I will fix that and tell you.
>>
>> Regards,
> No, it's not my fault. I just forgot how that component works.
>
> You must define the Channels.Count property to the number of channels you need
> : it is eight by default, and can grow up to 32 (this is an arbitrary limit,
> tell me if more is needed).
>
> Regards,
>
Awesome news. I'm glad 32 is arbitrary, also. I have:
' General declarations.
Public Struct Effect ' Structure containing an individual sound
effect's data.
Sample As Sound ' Waveform data (file).
Chan As Channel ' Default channel to play on.
AmpCurrent As Single ' Current amplitude.
AmpTarget As Single ' Target amplitude.
AmpScale As Single ' Target amplitude multiplier.
End Struct
Public Environment[16] As Struct Effect ' Environmental sound effects.
Public Sub Initialize()
' Start basic environmental sound effects.
Channels.Count = 32
' Start deep water effect.
Environment[0].Sample = New Sound(GUI.basepath & "/sound/Ocean.wav")
Environment[0].AmpScale = 1
Environment[0].Chan = Environment[0].Sample.Play(-1)
Environment[0].Chan.Volume = 0
' Start medium water effect.
Environment[1].Sample = New Sound(GUI.basepath & "/sound/River.wav")
Environment[1].AmpScale = 1
Environment[1].Chan = Environment[1].Sample.Play(-1)
Environment[1].Chan.Volume = 0
' Etc., etc., etc...
End Sub
It's like it doesn't listen to the Channels property.
--
Kevin Fishburne
Eight Virtues
www: http://sales.eightvirtues.com
e-mail: sales at ...1887...
phone: (770) 853-6271
More information about the User
mailing list