1. 28 Feb, 2023 1 commit
  2. 25 Feb, 2023 3 commits
  3. 24 Feb, 2023 1 commit
  4. 01 Feb, 2023 1 commit
  5. 23 Jan, 2023 2 commits
  6. 21 Jan, 2023 3 commits
  7. 14 Jan, 2023 1 commit
  8. 12 Jan, 2023 1 commit
  9. 07 Jan, 2023 1 commit
  10. 06 Jan, 2023 6 commits
  11. 05 Jan, 2023 1 commit
  12. 03 Jan, 2023 5 commits
    • David Reid's avatar
      Update change history. · c3712915
      David Reid authored
      c3712915
    • David Reid's avatar
      Don't try using the DirectSound backend if not all APIs are available. · 78897b3e
      David Reid authored
      This affects Windows 95. It does not appear to have at least one of
      these functions. This is convenient because the function
      IDirectSound::CreateSoundBuffer() is failing in my tests and I wasn't
      able to figure out what was going on. Simply failing context
      initialization outright is an acceptable solution for now since
      Windows 95 is such an uncommon target and it can always fall back to
      WinMM which works.
      78897b3e
    • David Reid's avatar
      Fix crash when running on Windows 95. · fcdd14cd
      David Reid authored
      It looks like CoInitializeEx() is not available on Windows 95. This
      commit changes it so that if CoInitializeEx() cannot be found, such as
      the case with Windows 95, it falls back to CoInitialize().
      
      As of this commit, a crash still occurs when trying to initialize the
      DirectSound backend. The WinMM backend works, however.
      fcdd14cd
    • David Reid's avatar
      Get playback working on Windows 98 with the DirectSound backend. · f648c9b2
      David Reid authored
      This change adds a fallback for when setting the format of the primary
      buffer fails. I have observed this happening with floating point
      formats so I've forced the use of integer PCM formats in the fallback
      case. I've also restricted it to 44100 because when I tried 4800 on
      my Windows 98 machine it resulted in incorrect output.
      f648c9b2
    • David Reid's avatar
      Fixes for improving support on Windows 98. · 0887aab9
      David Reid authored
      There are two things addressed with this commit:
      
        * The use of CreateEventW() will fail at runtime on Windows 98. The
          "A" version needs to be used instead.
      
        * CreateThread() fails on Windows 98 if the last parameter is NULL.
          This parameter takes a pointer to a DWORD which receives the
          thread ID.
      
      As of this commit, the DirectSound backend does not work on Windows 98.
      0887aab9
  13. 28 Dec, 2022 2 commits
  14. 26 Dec, 2022 1 commit
  15. 24 Dec, 2022 3 commits
    • David Reid's avatar
      Update changes. · 31679358
      David Reid authored
      31679358
    • David Reid's avatar
      Fix a bug with asynchronously loaded sounds and ranges and looping. · 37b2e515
      David Reid authored
      The issue with this one is that it was possible for the asynchronous
      loading process to override settings that were explicitly set via
      ma_data_source_set_*(). The fix for this is to only set these on the
      asynchronous side if the values in the resource manager's data source
      config is not equal to defaults.
      37b2e515
    • David Reid's avatar
      Fix a bug relating to changing the range of a data source. · 7bd319d9
      David Reid authored
      The issue here is that the code is trying to maintain the absolute
      position of the loop point. The problem with this is that the absolute
      position of the loop points could fall outside the new range which
      would then result in no audio being read.
      
      This becomes an issue because it would effect data sources even when
      the loop point was never actually explicitly set. From these users
      perspective, changing the range completely breaks their audio.
      
      The new system simply resets the loop points. This works for users who
      are using the default loop points (the majority of cases). For those
      who are explicitly setting a loop point, they simply need to reset
      their loop points after changing the range. This is not really an
      issue, because loop points are relative to the range, which means a
      change in the range would most likely warrant a change in the loop
      point anyway.
      7bd319d9
  16. 21 Dec, 2022 1 commit
  17. 20 Dec, 2022 1 commit
  18. 18 Dec, 2022 1 commit
  19. 15 Dec, 2022 3 commits
  20. 11 Dec, 2022 2 commits