Cool! I'll await the fix whenever SDL and then Pygame release the change. Cheers Lenard Lindstrom wrote:
This bug was already known and was fixed in the SDL SVN. Lenard Lenard Lindstrom wrote:The problem is with Mix_SetPanning in SDL_mixer. The function is called by Pygame.mixer.Channel.set_volume.Lenard Wyatt Olson wrote:Oh well, that's fine. I will just inform potential users that they must convert all samples to a specific format first, and then not restart the mixer when loading new sounds.Given that this software is to be used in a (relatively complex) open source DIY electronic drum brain, I would imagine that converting audio samples is probably the easiest of all the other required steps (soldering ICs, programming microcontrollers, etc). ;-)Cheers FT wrote:Hi! It never worked, it is just that it never worked. Wyatt Olson <mailto:wyatt.olson@xxxxxxxxx>*To:* pygame-users@xxxxxxxx <mailto:pygame-users@xxxxxxxx>This appears to get the total number of channels, not the number of active channels. However, I tried using get_busy(), but it still does not seem to work.See the following modifications to my original code: import pygame, time for x in range(10): print("Starting iteration " + str(x)) print("Initializing mixer") pygame.mixer.init() print("Loading sound") sound = pygame.mixer.Sound("foo.wav") print("Finding free channel") channel = pygame.mixer.find_channel() print("Channel object: " + str(channel)) print("Setting volume") channel.set_volume(0.7) print("Playing sound") channel.play(sound) print("Sleeping until sound is finished playing...") while pygame.mixer.get_busy(): time.sleep(1) print("Quitting mixer\n\n") pygame.mixer.quit() This displays the same behaviour.In response to a previous comment about using channel.stop() before quitting the mixer: this does not work either, as can be seen by adding channel.stop() after the get_busy loop above.Has anyone tried running this code themselves? I am wondering if I am experiencing some obscure bug, possibly platform specific. I am running on OS X, but don't have access to other systems for troubleshooting. If someone else has access to a Windows or Linux box, and is able to prove if this fails on those systems as well, that may be useful.Cheers Ian Mallett wrote:On 7/2/08, *Wyatt Olson* <wyatt.olson@xxxxxxxxx <mailto:wyatt.olson@xxxxxxxxx>> wrote:Is there anything which can return a list of all currently active channels? pygame.mixer.get_num_channels() This returns 0 if none are playing and > 0 if there are.
Attachment:
signature.asc
Description: OpenPGP digital signature