Enhancement request:
TL;DR: @DigiDuncan pointed out we can't really load .ogg through arcade
What should be added/changed?
Add a way to pass a decoder supported by pyglet's media.load function
(Optional / risky) Smart and helpful pyogg / PyOggDecoder warnings
What would passing in a decoder would it help with?
Improve arcade user experience by allowing sound loading to:
take specific decoders such as pyglet's PyOggDecoder
avoid subclassing Sound as in Charm's current code
without having to file tickets for new formats (example: QOA )
Changes needed:
Add a decoder keyword argument to arcade.sound.Sound.__init__
Add a temp Decoder protocol to annotate it before upstreaming matching pyglet's codecs Use the existing MediaDecoder type
Document the change
Update the sound page in the programming guide
Follow-up Work
Add an example
Make upstream pyglet PRs to help with pyglet needs a full docstring review and cleanup pyglet/pyglet#1084 :
Define a Decoder Protocol type matching pyglet's pyglet's codecs
Add argument and return annotations to the codecs
Enhancement request:
TL;DR: @DigiDuncan pointed out we can't really load .ogg through arcade
What should be added/changed?
media.loadfunctionpyogg/PyOggDecoderwarningsWhat would passing in a decoder would it help with?
Improve arcade user experience by allowing sound loading to:
PyOggDecoderSoundas in Charm's current codeChanges needed:
decoderkeyword argument toarcade.sound.Sound.__init__Add a tempUse the existingDecoderprotocol to annotate it before upstreaming matching pyglet's codecsMediaDecodertypeFollow-up Work
Define aDecoderProtocoltype matching pyglet's pyglet's codecs