Hey there,
i am using miniaudio pretty heavily in my project and i came up with a question regarding your API design.
_ma_node_attach_outputbus() accepts _manode* (which is an alias for void). This can easily be misused since you cannot prohibit an implicit conversion to void. Unfortunately, this caused a lot of headache for me while finding a bug (on my side).
So, my suggestion: if ma_node_attach_output_bus() would accept a _ma_nodebase* instead, misusage could be avoided. And i see, that within _ma_node_attach_outputbus() _manode* is casted to _ma_nodebase* anyways.
Had there been any specific reason, why ma_node is an alias for void?
Hey there, i am using miniaudio pretty heavily in my project and i came up with a question regarding your API design. _ma_node_attach_outputbus() accepts _manode* (which is an alias for void). This can easily be misused since you cannot prohibit an implicit conversion to void. Unfortunately, this caused a lot of headache for me while finding a bug (on my side).
So, my suggestion: if ma_node_attach_output_bus() would accept a _ma_nodebase* instead, misusage could be avoided. And i see, that within _ma_node_attach_outputbus() _manode* is casted to _ma_nodebase* anyways.
Had there been any specific reason, why ma_node is an alias for void?
Thanks.
BR Manuel