oto icon indicating copy to clipboard operation
oto copied to clipboard

darwin: Use AVAudioEngine

Open hajimehoshi opened this issue 5 years ago • 14 comments

OpenAL is deprecated in favor of AVAudioEngine

I've not determined yet.

hajimehoshi avatar Apr 10 '20 19:04 hajimehoshi

got same thing today too:

go: downloading github.com/hajimehoshi/oto v0.3.1
# github.com/hajimehoshi/oto
../../../../../../pkg/mod/github.com/hajimehoshi/[email protected]/driver_openal.go:35:22: warning: 'alcOpenDevice' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/alc.h:209:38: note: 'alcOpenDevice' has been explicitly marked deprecated here
../../../../../../pkg/mod/github.com/hajimehoshi/[email protected]/driver_openal.go:39:11: warning: 'alcCloseDevice' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/alc.h:211:38: note: 'alcCloseDevice' has been explicitly marked deprecated here
../../../../../../pkg/mod/github.com/hajimehoshi/[email protected]/driver_openal.go:43:22: warning: 'alcCreateContext' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/alc.h:191:38: note: 'alcCreateContext' has been explicitly marked deprecated here
../../../../../../pkg/mod/github.com/hajimehoshi/[email protected]/driver_openal.go:47:11: warning: 'alcGetError' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/alc.h:218:38: note: 'alcGetError' has been explicitly marked deprecated here
../../../../../../pkg/mod/github.com/hajimehoshi/[email protected]/driver_openal.go:51:4: warning: 'alcMakeContextCurrent' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/alc.h:193:38: note: 'alcMakeContextCurrent' has been explicitly marked deprecated here
../../../../../../pkg/mod/github.com/hajimehoshi/[email protected]/driver_openal.go:55:4: warning: 'alcDestroyContext' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/alc.h:199:38: note: 'alcDestroyContext' has been explicitly marked deprecated here
cgo-gcc-prolog:152:2: warning: 'alBufferData' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/al.h:601:25: note: 'alBufferData' has been explicitly marked deprecated here
cgo-gcc-prolog:166:2: warning: 'alDeleteBuffers' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/al.h:595:25: note: 'alDeleteBuffers' has been explicitly marked deprecated here
cgo-gcc-prolog:180:2: warning: 'alDeleteSources' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/al.h:501:25: note: 'alDeleteSources' has been explicitly marked deprecated here
cgo-gcc-prolog:194:2: warning: 'alGenBuffers' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/al.h:592:25: note: 'alGenBuffers' has been explicitly marked deprecated here
cgo-gcc-prolog:208:2: warning: 'alGenSources' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/al.h:498:25: note: 'alGenSources' has been explicitly marked deprecated here
cgo-gcc-prolog:222:2: warning: 'alGetSourcei' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/al.h:530:25: note: 'alGetSourcei' has been explicitly marked deprecated here
cgo-gcc-prolog:238:35: warning: 'alGetString' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/al.h:382:34: note: 'alGetString' has been explicitly marked deprecated here
cgo-gcc-prolog:254:2: warning: 'alSourcePlay' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/al.h:558:25: note: 'alSourcePlay' has been explicitly marked deprecated here
cgo-gcc-prolog:268:2: warning: 'alSourceQueueBuffers' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/al.h:572:25: note: 'alSourceQueueBuffers' has been explicitly marked deprecated here
cgo-gcc-prolog:281:2: warning: 'alSourceRewind' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/al.h:564:25: note: 'alSourceRewind' has been explicitly marked deprecated here
cgo-gcc-prolog:294:2: warning: 'alSourceStop' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/al.h:561:25: note: 'alSourceStop' has been explicitly marked deprecated here
cgo-gcc-prolog:308:2: warning: 'alSourceUnqueueBuffers' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/al.h:574:25: note: 'alSourceUnqueueBuffers' has been explicitly marked deprecated here

joe-getcouragenow avatar Jul 01 '20 11:07 joe-getcouragenow

What about the latest Oto (v0.6.1)?

hajimehoshi avatar Jul 01 '20 11:07 hajimehoshi

AH good point... trying now

joe-getcouragenow avatar Jul 01 '20 12:07 joe-getcouragenow

Yep that fixed it totally !!

joe-getcouragenow avatar Jul 02 '20 07:07 joe-getcouragenow

Great!

This issue is about moving to AVAudioEngine instead of the current implementation. As the current implementation doesn't use OpenAL, this is not an urgent task.

hajimehoshi avatar Jul 02 '20 07:07 hajimehoshi

We have the same issue, any update on this?

/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/alc.h:199:38: note: 'alcDestroyContext' has been explicitly marked deprecated here
cgo-gcc-prolog:152:2: warning: 'alBufferData' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/al.h:601:25: note: 'alBufferData' has been explicitly marked deprecated here
cgo-gcc-prolog:166:2: warning: 'alDeleteBuffers' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/al.h:595:25: note: 'alDeleteBuffers' has been explicitly marked deprecated here
cgo-gcc-prolog:180:2: warning: 'alDeleteSources' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/al.h:501:25: note: 'alDeleteSources' has been explicitly marked deprecated here
cgo-gcc-prolog:194:2: warning: 'alGenBuffers' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/al.h:592:25: note: 'alGenBuffers' has been explicitly marked deprecated here
cgo-gcc-prolog:208:2: warning: 'alGenSources' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/al.h:498:25: note: 'alGenSources' has been explicitly marked deprecated here
cgo-gcc-prolog:222:2: warning: 'alGetSourcei' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/al.h:530:25: note: 'alGetSourcei' has been explicitly marked deprecated here
cgo-gcc-prolog:238:35: warning: 'alGetString' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/al.h:382:34: note: 'alGetString' has been explicitly marked deprecated here
cgo-gcc-prolog:254:2: warning: 'alSourcePlay' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/al.h:558:25: note: 'alSourcePlay' has been explicitly marked deprecated here
cgo-gcc-prolog:268:2: warning: 'alSourceQueueBuffers' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/al.h:572:25: note: 'alSourceQueueBuffers' has been explicitly marked deprecated here
cgo-gcc-prolog:281:2: warning: 'alSourceRewind' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/al.h:564:25: note: 'alSourceRewind' has been explicitly marked deprecated here
cgo-gcc-prolog:294:2: warning: 'alSourceStop' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/al.h:561:25: note: 'alSourceStop' has been explicitly marked deprecated here
cgo-gcc-prolog:308:2: warning: 'alSourceUnqueueBuffers' is deprecated: first deprecated in macOS 10.15 - OpenAL is deprecated in favor of AVAudioEngine [-Wdeprecated-declarations]
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenAL.framework/Headers/al.h:574:25: note: 'alSourceUnqueueBuffers' has been explicitly marked deprecated here

einand avatar May 14 '21 10:05 einand

Are you using the latest version of Oto?

hajimehoshi avatar May 14 '21 11:05 hajimehoshi

Hello @hajimehoshi it was me and @einand that wrote the comment above together, while developing this game: https://github.com/objarni/rescue-on-fractal-bun

Rescue uses faiface/beep for audio, and if I read beep/go.mod correctly it uses version 0.7.1 of Oto:

https://github.com/faiface/beep/blob/master/go.mod

Is warning not expected in 0.7.1?

objarni avatar May 14 '21 11:05 objarni

Right, this is not expected in 0.7.1, as Oto doesn't use OpenAL.

hajimehoshi avatar May 14 '21 11:05 hajimehoshi

Hmm, that's weird. FYI we build rescue on MacOSX M1 system, so possibly some things happened due to that that is not expected? Speculating here....

Is there a way to easily list all 'actual versions' of dependencies (as opposed to what is specified in go.mod)? Trying to rule that we're on something other than Oto 0.7.1 :)

objarni avatar May 14 '21 11:05 objarni

https://github.com/faiface/beep/blob/b573886bdf0f6ac1b8e7f8931a2a2b249c90666b/go.mod

Beep 1.0.2 uses Oto 0.3.1, and that's why. You have to specify the latest Beep version to use the latest Oto.

go get github.com/faiface/beep@master

Is there a way to list all 'actual versions' of dependencies (as opposed to what is specified in go.mod) easily in?

Probably go mod graph?

hajimehoshi avatar May 14 '21 12:05 hajimehoshi

Ah, great to have an explanation! And thanks for sharing go mod graph very helpful!

I think this is an issue with beep actually, which hasn't had a release since Oct '19. I guess a PR with updated Oto dependency in go.mod would be possible, but I'll first check if this change to rescue will work for @einand ...

einand: this is probably fixed in rescue main branch now, can you try building and tell us if you still get OpenAL deprecation warnings?

objarni avatar May 14 '21 12:05 objarni

I can confirm it works now.

einand avatar May 14 '21 15:05 einand

@faiface is there a new release of beep happening anytime soon? See discussion above

objarni avatar May 14 '21 15:05 objarni