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 DecoderProtocol 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