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 <[email protected]> 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 <[email protected]<mailto:
>> [email protected]>> 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
>>
>>
>>
>>
>>
>