1. 05 Apr, 2021 8 commits
  2. 04 Apr, 2021 5 commits
    • David Reid's avatar
    • David Reid's avatar
      Unify the ma_sound and ma_sound_group APIs. · 65987d80
      David Reid authored
      65987d80
    • David Reid's avatar
      e968fb38
    • David Reid's avatar
      Add support for more advanced sound configuration. · dba9e1b3
      David Reid authored
        * Sounds can now have another node be used as input rather than a
          data source.
      
        * Sounds can now have a configurable input and output channel count.
          For sounds that are backed by a data source, the input channel
          count will always be set to the data source's native channel count.
      
        * Sounds can now be initially attached to any node and input bus
          rather than only a sound group.
      
      With this change, sounds can now be used as groups. In future commits,
      it's likely that ma_sound_group will be unified with ma_sound. Whether
      or not the `ma_sound_group_*()` APIs will continue to exists is for now
      undecided.
      
      This change allows more flexibility for doing custom effects before the
      spatialization stage in the DSP pipeline. The problem with the existing
      design is that there's no way to apply a custom effect before
      spatialization which becomes a problem because spatialization will
      often increase the channel count which results in excessive effect
      processing due to the increased channel count. Now it should be
      possible to set up a graph such that an effect can be plugged in
      between the data source and the spatializer.
      
      A new function called `ma_sound_init_ex()` has been added which is what
      needs to be used to initialize a sound without a data source. This API
      uses the config/init pattern. The config is called `ma_sound_config`.
      dba9e1b3
    • David Reid's avatar
      Version 0.10.33 · fca829ed
      David Reid authored
      fca829ed
  3. 02 Apr, 2021 8 commits
  4. 21 Mar, 2021 5 commits
  5. 16 Mar, 2021 1 commit
  6. 15 Mar, 2021 3 commits
  7. 14 Mar, 2021 3 commits
    • Steven Noonan's avatar
      introduce MA_RESTRICT macro · 2dcce6d5
      Steven Noonan authored
      This allows us to use the __restrict keyword in places where we know
      that pointers do not alias.
      Signed-off-by: default avatarSteven Noonan <steven@uplinklabs.net>
      2dcce6d5
    • Steven Noonan's avatar
      introduce MA_ASSUME macro · 5472d841
      Steven Noonan authored
      This macro can be used to tell the compiler's optimization passes static
      assumptions which you *know* are true about code behavior.
      
      Use of these can be risky -- if you assume incorrectly, the compiler may
      emit code that will not work in circumstances you didn't anticipate.
      
      On the other hand, use of this macro in places where the optimizer is
      missing an assumption that would have been safe to make can cause it to
      emit more compact/optimal code.
      Signed-off-by: default avatarSteven Noonan <steven@uplinklabs.net>
      5472d841
    • Steven Noonan's avatar
      introduce MA_COMPILER_HAS_BUILTIN macro · c9e2258d
      Steven Noonan authored
      Both GCC and Clang can use this feature, so let's make it more general.
      
      I didn't touch the dr_wav/dr_flac parts using this, since I figure the
      amalgamated miniaudio.h header isn't the primary source for those.
      Signed-off-by: default avatarSteven Noonan <steven@uplinklabs.net>
      c9e2258d
  8. 11 Mar, 2021 1 commit
  9. 10 Mar, 2021 6 commits