Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhance set #19

Open
matheusvilano opened this issue Oct 9, 2024 · 0 comments
Open

Enhance set #19

matheusvilano opened this issue Oct 9, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@matheusvilano
Copy link
Owner

matheusvilano commented Oct 9, 2024

The function ak.wwise.core.object.set has the parameter operations: ListOrTuple[dict[str, _Any]], which essentially takes a collection of "operations", where each "operation" is a dictionary. If possible, we should re-implement or enhance the currently implementation of set so it doesn't rely so much on dictionaries.

Example 1 (Simple):

{
    "object": "\\Actor-Mixer Hierarchy\\Default Work Unit\\MySound",
    "name": "MyCoolSound",
    "notes": "Sound object modified by a Python script.",
    "@Volume": -6.0,
    "@OutputBus": "\\Master-Mixer Hierarchy\\Default Work Unit\\Master\\Sfx\\Environment"
}

Example 2 (Complex):

{
    "object": "{BAE891BA-E025-43ED-A4D1-4DC55C68E7CA}",
    "@RTPC": 
    [
        {
            "type": "RTPC",
            "name": "",
            "@Curve": {
                "type": "Curve",
                "points": [
                    {
                        "x": 0,
                        "y": -20.82785,
                        "shape": "Linear"
                    },
                    {
                        "x": 1000,
                        "y": 21.8509,
                        "shape": "Linear"
                    }
                ]
            },
            "notes": "A new rtpc",
            "@PropertyName": "OutputBusVolume",
            "@ControlInput": {
                "type": "ModulatorTime",
                "name": "TimeMod",
                "@TimeModDuration": 5,
                "@EnvelopeStopPlayback": false
            }
        }
    ]
}

To the end-user, that adds the overhead of having to know Wwise and WAAPI really well. Although that is not a problem, having a more object-oriented, Pythonic implementation would be preferred. In other words, it would be nice to avoid the need for complex dictionaries.

@matheusvilano matheusvilano added the enhancement New feature or request label Oct 9, 2024
@matheusvilano matheusvilano changed the title Rewrite ak.wwise.core.object.set so it doesn't rely so much on dictionaries Enhance set Feb 5, 2025
@matheusvilano matheusvilano moved this to Todo in PyWwise Feb 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Todo
Development

No branches or pull requests

1 participant