pygame.quit() worked! I can now hear the pitch changing, Thanks!
Is there a way to do this without closing the pygame window everytime it
loops?

Here is the working code with the pygame window closing and reopening each
loop:
----------------------------------------
import pygame
from pygame.locals import *
from sys import exit

screen = pygame.display.set_mode((800, 600), 0, 32)
frequency = 44100
while True:
   frequency = frequency + 2000
   print frequency
   pygame.mixer.pre_init(frequency, 16, 2, 4096)
   pygame.init()
   test_sound = pygame.mixer.Sound("check.wav")
   mychannel = test_sound.play()
   while pygame.mixer.get_busy() == True:
       pass
   pygame.quit()
   screen = pygame.display.set_mode((800, 600), 0, 32) #to reopen the closed
window.
----------------------------------------------------------------------


On Thu, Jul 9, 2009 at 8:22 PM, Lenard Lindstrom <le...@telus.net> wrote:

> Hi,
>
> You have pygame.quit instead of pygame.quit() .
>
> Lenard
>
> Brian Gryder wrote:
>
>> Thanks for the reply Lenard,  I tried your suggestion and the pitch is
>> still not changing as the frequency increments with the loop.
>>
>> This is a strange issue. if I manually change the value if frequency
>> before I run it, the sound changes. it is as if the pygame.mixer's
>> parameters are "Stuck"and can't be changed during runtime. Is there a way I
>> can verify that the pygame.mixer and the sound objects are unloaded before I
>> restart the loop?
>>
>> Is there anything else I can try? Any links or snippet of code would be
>> greatly appreciated.
>>
>> Here is the updated program
>> ---------------------------------------------
>> import pygame
>> from pygame.locals import *
>> from sys import exit
>>
>> #pgyame.display.set_mode must also come after the pygame.init. The display
>> is not necessary for mixer though. -Lenard
>> #screen = pygame.display.set_mode((800, 600), 0, 32)
>> frequency = 44100
>> while True:
>>    frequency = frequency + 2000
>>    print frequency
>>    pygame.mixer.pre_init(frequency, 16, 2, 4096)
>>    pygame.init()
>>    test_sound = pygame.mixer.Sound("check.wav")
>>    mychannel = test_sound.play()
>>    while pygame.mixer.get_busy() == True:
>>        pass
>>    pygame.quit # "do a pygame.quit rather than pygame.mixer.quit for each
>> loop -Lenard
>>
>>
>>  
>> -------------------------------------------------------------------------------------------
>>
>>
>> On Wed, Jul 8, 2009 at 2:26 AM, Lenard Lindstrom <le...@telus.net<mailto:
>> le...@telus.net>> wrote:
>>
>>    Hi Brian,
>>
>>    You would probably have to do a pygame.quit rather than
>>    pygame.mixer.quit for each pass of the loop. The
>>    pgyame.display.set_mode must also come after the pygame.init. The
>>    display is not necessary for mixer though.
>>
>>    Lenard
>>
>>
>>    Brian Gryder wrote:
>>
>>        '''
>>        How do I change the frequency of the Pygame.mixer by
>>        incrementing the frequency value in a loop?
>>
>>        Please see the example below where I am trying to initialize
>>        the frequency at 44100 and then add 2000 to the frequency each
>>        time it loops. In this example below the pitch does not
>>        change, I really want it to change.
>>
>>        Any links or snippet of code would be greatly appreciated, Thanks!
>>         '''
>>
>>        import pygame
>>        from pygame.locals import *
>>        from sys import exit
>>
>>        screen = pygame.display.set_mode((800, 600), 0, 32)
>>        frequency = 44100
>>
>>        while True:
>>
>>           frequency = frequency + 2000
>>           print frequency
>>
>>           pygame.mixer.pre_init(frequency, 16, 2, 4096)
>>           pygame.init()
>>           test_sound = ""
>>           test_sound = pygame.mixer.Sound("check.wav")
>>           mychannel = test_sound.play()
>>
>>           while pygame.mixer.get_busy() == True:
>>               pass
>>               #"passing"
>>
>>           pygame.mixer.quit
>>
>>
>>
>>
>>
>

Reply via email to