• David Reid's avatar
    Relax restrictions on the maximum input and output buses for nodes. · 366aa434
    David Reid authored
    Previously this was restricted to 2 input buses and 2 output buses, but
    this has been lifted to 254. When the number exceeds 2, internal data
    structures will be allocated on the heap, otherwise they'll use a local
    array contained within the ma_node structure.
    
    This commit changes the node configuration. Previously there was a
    fixed sized array for specifying the channel counts for each bus. This
    array must now be defined outside of the config by the caller. The
    following config variables have been renamed:
    
      * inputChannels > pInputChannels
      * outputChannels > pOutputChannels
    
    This commit also adds the ability to configure input and output bus
    counts on a per-instance basis rather than via the node vtable. To do
    this, set the bus count in the vtable to MA_NODE_BUS_COUNT_UNKNOWN.
    This will tell miniaudio to look at the node config to determine the
    bus count rather than the vtable. It's an error to specify this in the
    node config if the vtable specifies anything other than
    MA_NODE_BUS_COUNT_UNKNOWN.
    366aa434
resource_manager_advanced.c 13.5 KB