Commit Graph

11 Commits

Author SHA1 Message Date
David Reid b287d94fe8 Rename some functions for consistency. 2020-06-03 21:25:57 +10:00
David Reid fe06814325 Don't do filtering when pitch shifting for now.
This may be changed back to a first order LPF later on.
2020-06-03 20:50:44 +10:00
David Reid 31f08287da Have decoders use their native channel count in the high level API.
This is required so we can do different spatialization logic depending
on the channel count of the audio source.
2020-06-03 17:01:39 +10:00
David Reid cc8201738b Optimization to stereo panner. 2020-06-01 20:47:34 +10:00
David Reid 4d5433ae58 Use first order LPF for pitch shifting by default.
There is a bug that's causing glitches which appears to be something to
do with the second order LPF.
2020-06-01 20:38:37 +10:00
David Reid 1c26893930 Add initial implementation of stereo panning to the ma_engine API.
This currently only supports f32, but support for more formats will be
coming soon.
2020-05-31 23:54:29 +10:00
David Reid f4b0b271cd More work on the new engine API.
* Initial work on infrastructure for spatialization, panning and
    pitch shifting.
  * Add ma_engine_sound_set_pitch()

Spatialization and panning is not yet implemented, but pitch shifting
should now be working.
2020-05-31 23:14:59 +10:00
David Reid 3a62d44959 Work on changes to the effect API. 2020-05-31 07:03:14 +10:00
David Reid 105d016e69 Updates to the new ma_engine API.
* The engine will now auto-start by default. This can be changed in
    the config by setting `noAutoStart` to true.

  * Initial implementation of ma_engine_play_sound() which can be used
    for fire-and-forget playback of sounds.

  * Add ma_engine_sound_at_end() for querying whether or not a sound
    has reached the end. The at-end flag is set atomically and
    locklessly in the mixing thread.
2020-05-30 13:56:41 +10:00
David Reid 077ae13157 Clarify some wording. 2020-05-28 22:36:34 +10:00
David Reid 046bc0d7c6 Add initial experimental work on the ma_engine API. 2020-05-28 21:25:39 +10:00