LuaVariant is effectively the ABI that WirePlumber uses to configure any modules, so stop pretending that any old Variant is a valid argument to initialize a component with. Basically...
[x] impl Serializer and Deserializer for LuaVariant
[x] change all module examples to use it
[x] impl Serialze and Deserialize for LuaVariant (less important/useful, but still worth doing)
[x] is there any sane way to deal with the fact that a table could be a dict, list, or both? serde hinting for a specific type is probably good enough...
[x] more useful accessors and things
[ ] reconsider the signature of load_component and load_lua_script and so on...
[ ] check what wp does to the args of a pw_module
[ ] figure out how this all ties into the new SpaJson APIs
LuaVariant
is effectively the ABI that WirePlumber uses to configure any modules, so stop pretending that any oldVariant
is a valid argument to initialize a component with. Basically...Serializer
andDeserializer
forLuaVariant
Serialze
andDeserialize
forLuaVariant
(less important/useful, but still worth doing)load_component
andload_lua_script
and so on...pw_module