Audiokinetic's Community Q&A is the forum where users can ask and answer questions within the Wwise and Strata communities. If you would like to get an answer from Audiokinetic's Technical support team, make sure you use the Support Tickets page.

How to use where argument in a ak.wwise.core.object.get call?

+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.
asked Feb 9 in General Discussion by Houssam L. (110 points)

Please sign-in or register to answer this question.

...