Comments (10)
I used tccutil
to reset the microphone permission for the terminal app. That way the permission prompt shows up again when I run a bevy app (cargo run --example volumetric_fog
on main).
By resetting the permissions before running a bevy app I can get the prompt to consistently show up.
For macOS' Terminal the command is tccutil reset Microphone com.apple.Terminal
. Alternatively for WezTerm: tccutil reset Microphone com.github.wez.wezterm
from bevy.
Is there an upstream issue for this?
EDIT: Yes there is: RustAudio/cpal#901
from bevy.
Does this happen with Bevy examples?
from bevy.
I tried volumetric_fog
and it happened there too.
from bevy.
can't reproduce on my Mac
from bevy.
I can remember running into this while running Foxtrot on my macOS, which surprised me. I'll check if I can reproduce this with the given example.
from bevy.
I can confirm I can reproduce the bug. I thought I couldn't at first, but then realized that I already had disallowed my terminal to use the microphone, so no new popup came up. Steps to reproduce:
- compile
volumetric_fog
onmain
- download a fresh iTerm2, because a new app doesn't have any previous security and access settings on my machine
- run the previously compiled example on iterm (ignore the path not found errors, that's because I switched branches):
results in:
From experience, I know that at least Foxtrot asks for the same permission when setting it up as a regular graphical app without running it in the terminal.
from bevy.
Update: I found a relevant thread on Discord from a year ago. Something about permissions being weird when info.plist is missing.
from bevy.
I managed to narrow this down to the function default_output_device
in cpal which gets called via AudioPlugin
→ AudioOutput::default
→ OutputStream::try_default
.
cpal::default_host().default_output_device();
from bevy.
Marking as blocked since this seems like a cpal
issue then. Unless we can pass some magic parameters.
from bevy.
Related Issues (20)
- links in bevy/crates/bevy_ecs/README.md does not exist. HOT 1
- Track callsites of where observers are initially triggered. HOT 1
- `CombinatorSystem` is unsound HOT 2
- UI elements randomly disappear for some frames on specific android devices HOT 5
- Bevy needs better support for pre-multiplied alpha textures and sprites HOT 2
- Allow gizmos to render behind sprites
- UI rounding is applied before UI scaling HOT 2
- Footgun when chaining observer registrations on World vs App
- `embedded_asset!` does not work in multi-crate workspace + release build HOT 1
- viewport-to-world doesn't work well HOT 1
- Check benchmarks in CI HOT 1
- Consider what to do with wgpu_trace feature HOT 2
- Docs for Observer should mention what happens if you use a bundle in the `Trigger`
- Add type registration for a11y::Focus
- AlphaToCoverage can't be used with base_color_texture
- `bevy` fails to build with just `bevy_dev_tools` feature HOT 1
- Adding proc_macro `#[required(TransformComponent, ...)]` for Component. HOT 2
- Update a TextureAtlas index based on the row and column of the TextureAtlasLayout::from_grid params
- `OnEnter(xx)` schedule will run before `Startup` HOT 1
- inconsistent animation transitions when current animation is completed HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bevy.