On 6/20/08, Nathan <[EMAIL PROTECTED]> wrote:
>
> On Thu, Jun 19, 2008 at 4:31 AM, Richard Thomas <[EMAIL PROTECTED]> wrote:
> >
> > You aren't dispatching events for the player. If you call the play
> > method of a source you get a
> > managed sound player which will be handled by
> > pyglet.media.dispatch_events, normal players don't do this (in 1.0,
> > 1.1 is changing things a little). At any rate, try this:
> >
> > ...
> > @w.event
> > def on_key_press(a, b):
> > player = disconnect_sound.play()
> > player.push_handler(on_eos=some_function)
>
>
> That code gives me this error:
>
> Traceback (most recent call last):
> File
> "/private/var/tmp/python/python-30~44/python/Modules/_ctypes/callbacks.c",
> line 206, in 'calling callback function'
> File "/Library/Python/2.5/site-packages/pyglet/window/carbon/__init__.py",
> line 985, in _on_key_down
> self.dispatch_event('on_key_press', symbol, modifiers)
> File "/Library/Python/2.5/site-packages/pyglet/window/__init__.py",
> line 1216, in dispatch_event
> EventDispatcher.dispatch_event(self, *args)
> File "/Library/Python/2.5/site-packages/pyglet/event.py", line 340,
> in dispatch_event
> if handler(*args):
> File "test.py", line 18, in on_key_press
>
> player.push_handler(on_eos=some_function)
>
> AttributeError: 'ManagedSoundPlayer' object has no attribute 'push_handler'
>
> This code:
>
> player = disconnect_sound.play()
>
> player.push_handlers(on_eos=some_function)
>
>
> AND this code:
>
> player = disconnect_sound.play()
> player.set_handler('on_eos', some_function)
>
> both don't ever call some_function. Just like my original code
> doesn't call some_function.
>
> What are we missing?
ManagedSoundPlayer does not dispatch on_eos events (just noticed this
isn't documented; will fix).
In order to receive events on an ordinary Player (in pyglet 1.0), you
need to call dispatch_events on the player (not pyglet.media, which is
only for when you have ManagedSoundPlayers).
Alex.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"pyglet-users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/pyglet-users?hl=en
-~----------~----~----~----~------~----~------~--~---