Commit Graph

6 Commits

Author SHA1 Message Date
David Reid 9e6042f698 Remove loop detection code for now.
This needs a rethink. My test is no longer looping. Needs further
investigation.
2021-01-17 10:29:09 +10:00
David Reid fa416d323b Fix a bug when reading from a node with no attachments.
This would try reading from an uninitialized buffer thereby resulting
in a bad audio glitch. This does two things to fix the problem:

  1) When there are no input nodes attached to an input bus, nothing is
     read and 0 will be returned for the frames read variable.

  2) The buffer is silenced by default.

This fixes a bug with ma_engine where it would glitch in the moment
just after the engine is initialized and before a sound or group is
attached.
2021-01-13 22:03:09 +10:00
David Reid 8da4b4fa8b Add support for timing operations to the node graph system.
This is needed for scheduling frame-exact starting and stopping of
nodes, in addition to any kind of time-based effects required by custom
nodes, such as fading.
2021-01-10 10:56:44 +10:00
David Reid bb0e486d95 Simplify node attachment APIs.
With this change, attachment and detachment of a node's output bus is
now consistent:

  * ma_node_attach_output_bus()
  * ma_node_detach_output_bus()

The old function that allowed you to attach the other way around has
been removed as the caller can easily do that themselves by swapping
the order of parameters.
2021-01-06 21:10:42 +10:00
David Reid 4f96309cbf Add experimental loop detection to the routing system. 2021-01-06 19:06:39 +10:00
David Reid c8e1438b11 Stop pre-converting input channel counts to output channel counts. 2021-01-03 21:03:47 +10:00