Unwanted window spawns when using Tkinter with multiprocessing.

2013-04-28 Thread alternative00
Hi everyone,

I'm trying to use multiprocessing to avoid Python's GIL but with Tkinter, 
instead of running my main function, it spawns new windows. In fact, my fuction 
is used everytime I press a specified key, but with multiprocessing I only get 
a new window when I hit a key. Does anyone have a solution ?
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Unwanted window spawns when using Tkinter with multiprocessing.

2013-04-28 Thread alternative00
Sorry for my bad english.

Here's my code : 

def key(event):
   
instance = 'Instance'
touche = event.char
instance = multiprocessing.Process(target=player, args=(hitkey,))
instance.start()



def player(hitkey):

  
winsound.PlaySound(hitkey + '.wav', 
winsound.SND_FILENAME|winsound.SND_NOWAIT|winsound.SND_ASYNC)

'key' is the tkinter function wich gets the pressed key.
'player' is the function playing a specific wav file depending on wich key is 
pressed, that's why its argument is 'hitkey'. It uses the winsound module.

What spawns new windows is theorically the multiprocessing line of code, even 
if it's inside the 'key' function.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Unwanted window spawns when using Tkinter with multiprocessing.

2013-04-28 Thread alternative00
Well I saw this clause on most of the multiprocessing examples I saw but the 
reason it was here wasn't explained so I just ignored it (yeah stupid I know). 
I don't think I bypassed anything, at least not on purpose. I'm running on 
Windows 7  64 bits.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Unwanted window spawns when using Tkinter with multiprocessing.

2013-04-29 Thread alternative00
My full code is : 


#Import
from tkinter import *
import wave
import winsound
import multiprocessing

#Initialisation
fenetre=Tk()
frame = Frame(fenetre, width=200, height=100)
instance = 'Instance'


#Fonctions

def key(event):
   
instance = 'Instance'
hitkey = event.char
instance = multiprocessing.Process(target=player, args=(hitkey,))
instance.start()



def player(hitkey):

  
winsound.PlaySound(hitkey + '.wav', 
winsound.SND_FILENAME|winsound.SND_NOWAIT|winsound.SND_ASYNC)


 
#TK
frame.focus_set()
frame.bind("", key)
frame.pack()
fenetre.mainloop()

The problem is that I don't know where to put that clause.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Unwanted window spawns when using Tkinter with multiprocessing.

2013-04-29 Thread alternative00
It definetly helped, windows don't pop up anymore, but now it doesn't make any 
sound anymore. Could it be because of a local (non-global) variable ? 
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Unwanted window spawns when using Tkinter with multiprocessing.

2013-04-29 Thread alternative00
Yeah I did, but I globalized my variables, I've got only functions, and not 
methods, and my clause seems to work so I don't know why it doesn't work.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Unwanted window spawns when using Tkinter with multiprocessing.

2013-04-29 Thread alternative00
I thought 'clause' was reffering to the 'if __name__ == "__main__":' thing in 
English, but apparently not. 
Well except the import and the 'globalization' of my variables, every thing is 
idented.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Unwanted window spawns when using Tkinter with multiprocessing.

2013-04-30 Thread alternative00
 > Dave A.

Yeah I'm using MRAB's code, my current code is : 


#Initalisation
global event
global hitkey


#Functions
def key(event): 
 
 hitkey = event.char 
 instance = multiprocessing.Process(target=player, args=(hitkey,)) 
 instance.start() 


def player(hitkey): 
 winsound.PlaySound(hitkey + '.wav', 
winsound.SND_FILENAME|winsound.SND_NOWAIT|winsound.SND_ASYNC) 


if __name__ == "__main__":


 fenetre = Tk() 
 frame = Frame(fenetre, width=200, height=100)
 

 frame.focus_set()
 frame.bind("", key)
 frame.pack()
 fenetre.mainloop()
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Unwanted window spawns when using Tkinter with multiprocessing.

2013-04-30 Thread alternative00
 > Dave A.

No, not a new window, but my player function doesn't play any sound anymore.
-- 
http://mail.python.org/mailman/listinfo/python-list