Nevyn Bengtsson
3e003d55b9
Separate SoundData and SoundDataStrema constructors
...
they take the same arguments so we can't overload
the function parameterically.
also I find it pretty confusing that lovr uses
overloads so much in the api,
so I really don't mind having
a separate constructor :S
2021-02-08 16:08:29 -07:00
Nevyn Bengtsson
35ac33f184
SoundData:setSample
2021-02-08 16:08:29 -07:00
Nevyn Bengtsson
f5fcb73324
duration and time for stream sounddata
2021-02-08 16:08:29 -07:00
Nevyn Bengtsson
8c1aa5a8ef
lua API for SoundData:append
2021-02-08 16:08:29 -07:00
Nevyn Bengtsson
2a875b129b
Fix a few bugs and style fixes
...
* We can't realloc converters, that'll break internal pointers
* inverted condition in an assert
* less magic numbers
* can't loop streams
2021-02-08 16:08:29 -07:00
Nevyn Bengtsson
3c535986f0
SoundData: deallocate rb
2021-02-08 16:08:29 -07:00
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