Ok - again, thanks for quick response.

I might look into running a couple of different versions of python - have done in the past - or try it out on a different machine from the one with that version of python installed.


Stay well


Jacob Kruger
+2782 413 4791
Skype: BlindZA
"...resistance is futile...but, acceptance is versatile..."
On 2021-02-16 01:40 PM, Chris Norman via groups.io wrote:
OK, upon further inspection, Earwax doesn't work with earlier versions of Python, because I apparently rely on some newer language features. Sorry about that. :)

To be fair, the version that NVDA uses is pretty out of date, although I know it's going to be a slog for them to upgrade.

Take care,

Chris Norman



On Tue, 16 Feb 2021 at 09:06, Jacob Kruger <[email protected] <mailto:[email protected]>> wrote:

    Ok, I now did the pip install Earwax --upgrade, and it seemed to
    update it to 2026.2.7, but, am now getting following import error:

    ImportError: cannot import name 'get_origin' from 'typing'
    (C:\Users\bandi\AppData\Local\Programs\Python\Python37-32\lib\typing.py)


    And, FWIW, the reason I work with the version of python I do is
    since it's the one recommended to work with NVDA add-on
    development, etc., but, let me play around a bit more.


    Thanks for quick answer, either way


    STay well


    Jacob Kruger
    +2782 413 4791
    Skype: BlindZA
    "...resistance is futile...but, acceptance is versatile..."
    On 2021-02-15 02:58 PM, Chris Norman via groups.io
    <http://groups.io> wrote:
    OK,
    Version 2026.2.6 hopefully fixes that, although I'm using Python
    3.9.1, so other things might rely on newer language features.

    To ensure the best compatibility with Earwax, use the latest
    version of Python you can lay your hands on.

    Take care,

    Chris Norman



    On Mon, 15 Feb 2021 at 12:24, Jacob Kruger <[email protected]
    <mailto:[email protected]>> wrote:

        Chris, if I install it via pip, then, the moment I try to
        import it, I get the following error:

          File
        
"C:\Users\bandi\AppData\Local\Programs\Python\Python37-32\lib\site-packages\earwax\mixins.py",
        line 7, in <module>
            from typing import (TYPE_CHECKING, Any, Dict, List,
        Optional, TextIO, Type,
        ImportError: cannot import name 'get_args' from 'typing'
        (C:\Users\bandi\AppData\Local\Programs\Python\Python37-32\lib\typing.py)


        That's under python 3.7.8 32-bit, if relevant.


        Jacob Kruger
        Blind Biker
        Skype: BlindZA
        "...resistance is futile...but, acceptance is versatile..."
        On 2021-02-15 02:12 PM, Chris Norman via groups.io
        <http://groups.io> wrote:
        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]
        <mailto:[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
            <http://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] <mailto:[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
                <http://groups.io> wrote:

                Thanks. I heard of Lucia, and could not find any
                documentation for it.

                *From:* [email protected]
                <mailto:[email protected]>
                <[email protected]>
                <mailto:[email protected]> *On Behalf Of
                *Chris Norman via groups.io <http://groups.io>
                *Sent:* Sunday, February 14, 2021 6:20 AM
                *To:* [email protected]
                <mailto:[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 <http://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 <http://groups.io>
                <[email protected]
                <mailto:[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 (#123343): https://groups.io/g/blind-gamers/message/123343
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]]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to