OK, so this is actually an area where Earwax's documentation is sadly lacking.
Behind the scenes, Earwax uses Synthizer <https://synthizer.github.io/> for its sound needs. When creating a sound, you can use three types of positions: You can set the position to ``None``, which is Python's answer to ``null``, or ``nil``. This unpans the sound, so it's completely unaffected by anything spacial. You can slo set the sound to a float value between -1.0, and 1.0. This pans the sound left and right (with 0 being centre), as you'd expect. Finally, you can set it to an earwax Point <https://earwax.readthedocs.io/en/latest/api/earwax.point.html> instance, which gives you full 3d capabilities. Also, the earwax ``BufferCache`` class is a LRU cache (least recently used), so you can get buffers from it, and it'll remove the buffers which were used longest ago. For more information on sounds, check the earwax.sound <https://earwax.readthedocs.io/en/latest/api/earwax.sound.html> module documentation. As for behind the player processing, it would depend what you mean. There's a whole raft load of scheduling features, from the earwax.Task <https://earwax.readthedocs.io/en/latest/api/earwax.task.html> class, to two different promise <https://earwax.readthedocs.io/en/latest/api/earwax.promises.html> types, to the scheduling features provided by pyglet.clock <https://pyglet.readthedocs.io/en/latest/modules/clock.html>. What there *isn't* yet, is filters. This is because they're not yet in Synthizer. There is reverb and delay though, so you've got your two main fx covered. Take care, Chris Norman On Mon, 15 Feb 2021 at 11:29, john <[email protected]> wrote: > I've also recently been looking into various game engines myself (mostly > rust-based), but this sounds pretty interesting as well. My current > conundrum is around getting something that has actual genuinely accurate > sound panning; how is Earwax for that? Ideally I'd like to be able to pass > it either a degree value (from centered) or use a linear scale that > actually maps itself directly to degrees, so that when an object is > directly left, there's *zero*! audio in the right speaker, and when the > object is at a 45 degree offset, one side is at half volume. Most games > I've played seem to struggle with this so I've been figuring I'm going to > have to get into decibels and logarithms, but since we're on the topic of > game engines here, it can't hurt to ask. > > Additionally, significant bonus points will be awarded for real handling > of behind-the-player processing, but at least in that case I can pretty > easily make up the difference in an audio editor if needed. > > > Best, > > John > > > On 2/15/2021 5:42, Chris Norman via groups.io wrote: > I'm it's primary (and currently soul) developer, so if you do try it, I'd > love to know how you get on. Also, please submit issues, so I can fix 'em! > :) > > Take care, > > Chris Norman > > > > On Sun, 14 Feb 2021 at 22:47, Shaun Everiss <[email protected]> wrote: > >> I have heard of earwax but I haven't really looked at it. >> >> >> >> On 15/02/2021 4:41 am, Immigrant via groups.io wrote: >> >> Thanks. I heard of Lucia, and could not find any documentation for it. >> >> >> >> *From:* [email protected] <[email protected]> >> <[email protected]> *On Behalf Of *Chris Norman via groups.io >> *Sent:* Sunday, February 14, 2021 6:20 AM >> *To:* [email protected] >> *Subject:* Re: [blind-gamers] Introduction, and programming questions >> >> >> >> Hi, >> >> There are a few different audio game engines for Python, these include >> Earwax <https://earwax.readthedocs.io/> (beta), Lucia >> <https://github.com/luciasoftware/lucia> (which is supposed to be more >> familiar to those coming from BGT, Framework >> <https://forum.audiogames.net/topic/38239/framework-my-new-set-of-tools-for-audiogame-creation-in-python3/> >> (for >> want of a better name), and pyAGE >> <https://forum.audiogames.net/topic/38941/pyage-yet-another-python-audio-game-engine/> >> (which >> is still very much in its early stages). >> >> >> >> If you'd rather go the mainstream route, and don't mind a little more >> work, there's Godot Accessibility >> <https://forum.audiogames.net/topic/33909/migrated-godot-accessibility-to-github/> >> . >> >> >> >> Finally, for some subjective comparisons, see this thread >> <https://forum.audiogames.net/topic/38995/python-and-audiogame/> on the >> audiogames.net forum. >> >> >> >> There are others, namely MonoGame <https://www.monogame.net/>, and >> probably some other stuff in C# too. >> >> >> >> Other than that, please just do everyone a favour (mainly yourself), and >> don't use BGT. It's like deciding to dig yourself a swimming pool, using a >> plastic bucket and spade for digging, wattle and dorb for lining, and stiff >> prayer for water purification. >> >> >> >> HTH, >> >> >> >> Take care, >> >> >> >> Chris Norman >> >> >> >> >> >> >> >> On Sun, 14 Feb 2021 at 02:42, Immigrant via groups.io <immigrant328= >> [email protected]> wrote: >> >> Hello, everyone I have just joined the group, and I hope the distinguished >> gamers and writers in this gaming community understand that I am very >> much a >> beginner, trying to write perhaps a couple of simple dice or card games. I >> wrote a dice game script in BGT, and the script doesn't generate any >> compilation errors. However, the game window stays open only for a couple >> of >> seconds, and then disappears, so none of the program's keystrokes can be >> executed. I realize that BGT is no longer supported, but it does work >> under >> Windows 10, and it is the only engine where I know how to implement >> keystrokes and add and manipulate sounds. I checked basic tutorials for a >> few programming languages, and realized that game logic can be programmed >> in >> any of the languages but none of these tutorials addresses >> keystroke-driven >> implementation, or addition of sound. And even in the BGT tutorial, I have >> not found answers to some of my questions. The game I am currently trying >> to >> write is a dice roller, but if one tries to create, for example, a card >> game, how do you make a card playable? If cards exist as strings, or parts >> of an array, or even instances of their own class, they are just abstract >> logical structures. But cards need to be manipulated - picked up, >> discarded, >> etc. If I have a hand with 5 cards, how do I program a way to navigate the >> list of cards and then perform an action on a card currently in focus? How >> to make it an element of interface so it can be selected? I hope I clearly >> expressed my questions, and I am grateful in advance for any >> clarifications. >> >> >> >> >> >> > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#123335): https://groups.io/g/blind-gamers/message/123335 Mute This Topic: https://groups.io/mt/80623843/21656 Group Owner: [email protected] Unsubscribe: https://groups.io/g/blind-gamers/leave/607459/1071380848/xyzzy [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
