在 Audiokinetic 社区问答论坛上,用户可对 Wwise 和 Strata 相关问题进行提问和解答。如需从 Audiokinetic 技术支持团队获取答复,请务必使用技术支持申请单页面。

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

0 投票
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.
最新提问 2月 9 分类:General Discussion | 用户: Houssam L. (100 分)

Please sign-in or register to answer this question.

...