Community Q&A

Welcome to Audiokinetic’s community-driven Q&A forum. This is the place where Wwise and Strata users help each other out. For direct help from our team, please use the Support Tickets page. To report a bug, use the Bug Report option in the Audiokinetic Launcher. (Note that Bug Reports submitted to the Q&A forum will be rejected. Using our dedicated Bug Report system ensures your report is seen by the right people and has the best chance of being fixed.)

To get the best answers quickly, follow these tips when posting a question:

  • Be Specific: What are you trying to achieve, or what specific issue are you running into?
  • Include Key Details: Include details like your Wwise and game engine versions, operating system, etc.
  • Explain What You've Tried: Let others know what troubleshooting steps you've already taken.
  • Focus on the Facts: Describe the technical facts of your issue. Focusing on the problem helps others find a solution quickly.

+1 vote
Hi,

I am trying to get all the actor mixers under an object called "Fire" using the Waapi through Python. Here is my code:
``` python
client = WaapiClient()
args = {
    "from": {

        "search": ["Fire"]

    },

    "transform": [

        {

            "select": ["descendants"],

            "where": [{"type": "ActorMixer"}]

        }

    ]

}

response = client.call("ak.wwise.core.object.get", args)
pprint(response)
client.disconnect()
```
but with this code I get the following error:
```
WampClientAutobahn (ERROR): ('ApplicationError(error=<ak.wwise.invalid_arguments>, args=[], '
 "kwargs={'message': 'Argument "
 'transform/0={"select":["descendants"],"where":[{"type":"ActorMixer"}]} '
 "does not match requirements.', 'details': {'procedureUri': "
 "'ak.wwise.core.object.get', 'schemaKeyword': 'oneOf', 'argumentName': "
 "'transform/0', 'schemaPointer': '/properties/transform/items', "
 "'schemaDescription': 'An object transformation.', 'schemaExpect': "
 '\'[{"type":"object","description":"An select '
 'transformation.","properties":{"select":{"type":"array","description":"An '
 'array of only 1 selector.","items":{"type":"string","description":"A '
 'selector. The resulting objects depend on the selector '
 'specified.","enum":["parent","children","descendants","ancestors","referencesTo"]},"minItems":1,"maxItems":1}},"required":["select"],"additionalProperties":false},{"type":"string","description":"Unique '
 'object instances are returned, i.e. no duplicate object is '
 'returned.","enum":["distinct"]},{"type":"object","description":"Specifies '
 'an object with a range '
 'field.","properties":{"range":{"type":"array","description":"An array of '
 'two numbers specifying the boundary indexes. Use this to only include a '
 'portion of the results. For example, this could be used to obtain the 100 '
 'first items of a search result: [0,100].","items":{"description":"One of '
 'the two range limit '
 'numbers.","type":"number"},"minItems":2,"maxItems":2}},"required":["range"],"additionalProperties":false},{"type":"object","description":"Specifies '
 'an object with an where '
 'field.","properties":{"where":{"type":"array","description":"An array of '
 'two tokens to filter results. The first token is the filter predicate. Refer '
 '\\\\\\\\ref waapi_query for the list of possible predicates. The second '
 'token is the parameter to the predicate.","items":{"description":"A where '
 'statement.","anyOf":[{"type":"string","description":"A string token. The '
 "first token in the array is always the \\'where\\' predicate name string. "
 'The second token is the parameter."},{"type":"array","description":"An '
 'array of strings. Refer \\\\\\\\ref waapi_query for more '
 'information.","items":{"type":"string","description":"The parameter for the '
 "\\'where\\' predicate. Refer \\\\\\\\ref waapi_query for more "
 'information."}}]},"minItems":1}},"required":["where"],"additionalProperties":false}]\', '
 "'argumentPointer': '/transform/0', 'argumentValue': "
 '\'{"select":["descendants"],"where":[{"type":"ActorMixer"}]}\', '
 "'typeUri': 'ak.wwise.schema_validation_failed'}}, enc_algo=None, "
 'callee=None, callee_authid=None, callee_authrole=None, forward_for=None)'
```
I checked the argumentsSchema for the get function, I don't see the mistake I am making. I don't want to use the waql and I don't want to use "ofType", I would like to know why the "where" isn't working. If anyone has any code snippet using the get function with a where condition without waql I would really appreciate it.

Thanks.
in General Discussion by Houssam L. (110 points)

Please sign-in or register to answer this question.

...