Commit Graph

3527 Commits

Author SHA1 Message Date
Nevyn Bengtsson d1f6e27437 SoundData stream lua API 2021-02-08 16:08:29 -07:00
Nevyn Bengtsson 7b58561c03 lovrSoundFormat 2021-02-08 16:08:29 -07:00
Nevyn Bengtsson cd1cddcd93 WIP streaming SoundData
It seems Bjorn had the idea to back SoundData with
an array of buffers, so I'm running
with that but changing the array
into a ringbuffer.
2021-02-08 16:08:29 -07:00
Nevyn Bengtsson 55b5a9947c audio_internal.h with some shared utilities 2021-02-08 16:08:29 -07:00
Nevyn Bengtsson 381e3f3850 Bump miniaudio to 0.10.27
aka caad0bc436ade1633cdc47892bd0d9a36623a298
2021-02-08 16:08:29 -07:00
Nevyn Bengtsson f7d027a3ce Audio permissions seem to work without AppCompat 2021-02-08 16:08:29 -07:00
Nevyn Bengtsson 7efc855929 Fix various Capture bugs 2021-02-08 16:08:29 -07:00
Nevyn Bengtsson 1e05f29da4 Fix broken SoundData _Reg 2021-02-08 16:08:29 -07:00
Nevyn Bengtsson 33e4524fd8 oops, this method can't use assert...
because then mic capture can't use the failure to trigger a permissions check
2021-02-08 16:08:29 -07:00
Nevyn Bengtsson 8678414628 audio_capture -> audiocapture
to follow ENTRY naming standard
2021-02-08 16:08:29 -07:00
Nevyn Bengtsson d4a5e06932 no need for a capture lock 2021-02-08 16:08:29 -07:00
Nevyn Bengtsson e05d554528 review: fprintf -> lovrAssert 2021-02-08 16:08:29 -07:00
Nevyn Bengtsson ebf5fbef24 state.spatializer must never be null 2021-02-08 16:08:29 -07:00
Nevyn Bengtsson cdbefafc1a review: style fixes 2021-02-08 16:08:29 -07:00
Nevyn Bengtsson 5e66ecf000 lovrPlatformRequest{AudioCapture->Permission}(Perm) + platform stubs 2021-02-08 16:08:29 -07:00
Nevyn Bengtsson 084ac9d880 review: newSource() gets options table 2021-02-08 16:08:29 -07:00
Nevyn Bengtsson b7b63a268b review: getSpatial > isSpatial 2021-02-08 16:08:29 -07:00
Nevyn Bengtsson 0265babef4 Android: Ask for permissions on demand
By looking for failed start and requesting then;
and then emitting a new event type when
permission has been granted or rejected;
and then using that event in the default
boot.lua to re-start capture.
2021-02-08 16:08:29 -07:00
Nevyn Bengtsson aa3dc76176 Audio: Don't open capture at start, allow it to be enabled later
So that we can try once on demand,
and again when permissions are granted
2021-02-08 16:08:29 -07:00
Nevyn Bengtsson a941c5b02a record audio permission in manifest 2021-02-08 16:08:29 -07:00
Nevyn Bengtsson 1b8a951007 magic numbers and typos 2021-02-08 16:08:29 -07:00
Nevyn Bengtsson 2a3526bcd7 Android: Ask for audio permissions on startup
Will change this to ask on demand in an upcoming commit
2021-02-08 16:08:29 -07:00
Nevyn Bengtsson bb429829f6 Android: Link OpenSLES so miniaudio works 2021-02-08 16:08:29 -07:00
Nevyn Bengtsson e54629dfb0 Android: Link appcompat so we can ask for audio capture permissions 2021-02-08 16:08:29 -07:00
Nevyn Bengtsson 6f803ad3f0 filesystem.append didn't append in Unix 2021-02-08 16:08:29 -07:00
Nevyn Bengtsson 2317ae31cd miniaudio: cherry-pick 2dc604ecde0f02280690c72f943bfb8bf52dd820
This fixes capture on linux/pulseaudio
2021-02-08 16:08:29 -07:00
Nevyn Bengtsson a344acd84f SoundData:getBlob 2021-02-08 16:08:29 -07:00
Nevyn Bengtsson 139c80fc28 Capture audio (and remove more magic numbers, and clean up some misconceptions) 2021-02-08 16:08:29 -07:00
Nevyn Bengtsson 033817bd74 audio capture stubs 2021-02-08 16:08:29 -07:00
Nevyn Bengtsson 5c2e270c3f audio: clean up some magic numbers 2021-02-08 16:08:29 -07:00
Nevyn Bengtsson 407742e8b5 make Source:setSpatial a constructor option instead 2021-02-08 16:08:29 -07:00
Nevyn Bengtsson 8403c9bd70 just a super dummy spatializer 2021-02-08 16:08:29 -07:00
Nevyn Bengtsson 01b8a6baa6 spatializer hooks to mixer 2021-02-08 16:08:29 -07:00
Nevyn Bengtsson fe8a6e8612 expose Source:{get|set}Spatial 2021-02-08 16:08:29 -07:00
bjorn 533939e673 Source:getDuration; Source:get/setTime; 2021-02-08 16:08:29 -07:00
bjorn f7169ec236 Source:pause; Source:stop; Source:isPlaying; 2021-02-08 16:08:29 -07:00
bjorn cbf0416988 Update to new enum system; 2021-02-08 16:08:29 -07:00
bjorn c738ae9993 Update CMake/deps; 2021-02-08 16:08:29 -07:00
bjorn 70839535f3 WIP; 2021-02-08 16:08:29 -07:00
bjorn 121a4f7108 Start spatialization and data conversion systems; 2021-02-08 16:08:29 -07:00
bjorn 40cffbe590 Remove integer conversion APIs from stb_vorbis; 2021-02-08 16:08:29 -07:00
bjorn 1eb4070c92 Mixing; 2021-02-08 16:08:29 -07:00
bjorn 205e9404e0 Looping, playback; 2021-02-08 16:08:29 -07:00
bjorn c92b47e3a6 Another miniaudio attempt WIP; 2021-02-08 16:08:29 -07:00
bjorn ed09bc3cfa rm unnecessary newlines in assert messages; 2021-02-07 16:58:50 -07:00
bjorn 1dd692a009 lovrPlatformGetWindow -> lovrPlatformGetWin32Window; 2021-02-07 16:57:08 -07:00
bjorn 47ec05d385 CMake: strip android libraries; 2021-02-07 16:53:54 -07:00
bjorn 0e375804fe Only include <lualib.h> when needed; 2021-02-07 16:51:31 -07:00
bjorn 323436898a Add WIN32_LEAN_AND_MEAN; 2021-02-07 16:49:34 -07:00
bjorn 4cf89fa6db Fix CMakeLists; 2021-02-07 16:48:25 -07:00