Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sound #2

Closed
cart opened this issue May 6, 2020 · 1 comment
Closed

Sound #2

cart opened this issue May 6, 2020 · 1 comment
Labels
C-Enhancement A new feature

Comments

@cart
Copy link
Member

cart commented May 6, 2020

Bevy should be able to play audio files. This should probably build on top of the RustAudio work:
https://github.com/RustAudio/rodio
https://github.com/RustAudio/cpal

@cart cart added the C-Enhancement A new feature label May 6, 2020
@cart cart added this to the Open Source Release milestone May 6, 2020
@cart
Copy link
Member Author

cart commented Jul 16, 2020

closed by 3eb3935

@cart cart closed this as completed Jul 16, 2020
lachlansneff referenced this issue in lachlansneff/bevy Aug 23, 2020
aclysma added a commit to aclysma/bevy that referenced this issue Aug 29, 2020
* Remove generics from TaskPool newtypes and some of the task API
Add IO, AsyncCompute and Compute TaskPools
Move TaskPool setup from bevy_ecs to bevy_app
ParallelExecutorOptions is essentially replaced by DefaultTaskPoolOptions

* Pull TaskPool and related types out of bevy_tasks/lib.rs into a separate module
Add a prelude to bevy_tasks
Update the version of bevy_tasks to match other crates

* Assert percent of cores >= 0
aclysma added a commit to aclysma/bevy that referenced this issue Aug 29, 2020
* Remove generics from TaskPool newtypes and some of the task API
Add IO, AsyncCompute and Compute TaskPools
Move TaskPool setup from bevy_ecs to bevy_app
ParallelExecutorOptions is essentially replaced by DefaultTaskPoolOptions

* Pull TaskPool and related types out of bevy_tasks/lib.rs into a separate module
Add a prelude to bevy_tasks
Update the version of bevy_tasks to match other crates

* Assert percent of cores >= 0
bors bot pushed a commit that referenced this issue Mar 9, 2021
impl GetTypeRegistration and FromType for Vec<T>
bors bot pushed a commit that referenced this issue May 6, 2021
bors bot pushed a commit that referenced this issue Aug 14, 2021
bilsen added a commit to bilsen/bevy that referenced this issue Oct 4, 2021
ManevilleF referenced this issue in ManevilleF/bevy Mar 7, 2022
ManevilleF referenced this issue in ManevilleF/bevy Mar 7, 2022
ManevilleF referenced this issue in ManevilleF/bevy Mar 8, 2022
bors bot pushed a commit that referenced this issue Jun 9, 2022
DGriffin91 referenced this issue in DGriffin91/bevy Nov 3, 2022
bors bot pushed a commit that referenced this issue Jan 2, 2023
bors bot pushed a commit that referenced this issue Jan 22, 2023
# Objective

> ℹ️ **This is an adoption of #4081 by @james7132**

Fixes #4080.

Provide a way to pre-parse reflection paths so as to avoid having to parse at each call to `GetPath::path` (or similar method).

## Solution

Adds the `ParsedPath` struct (named `FieldPath` in the original PR) that parses and caches the sequence of accesses to a reflected element. This is functionally similar to the `GetPath` trait, but removes the need to parse an unchanged path more than once.

### Additional Changes

Included in this PR from the original is cleaner code as well as the introduction of a new pathing operation: field access by index. This allows struct and struct variant fields to be accessed in a more performant (albeit more fragile) way if needed. This operation is faster due to not having to perform string matching. As an example, if we wanted the third field on a struct, we'd write `#2`—where `#` denotes indexed access and `2` denotes the desired field index.

This PR also contains improved documentation for `GetPath` and friends, including renaming some of the methods to be more clear to the end-user with a reduced risk of getting them mixed up.

### Future Work

There are a few things that could be done as a separate PR (order doesn't matter— they could be followup PRs or done in parallel). These are:

- [x] ~~Add support for `Tuple`. Currently, we hint that they work but they do not.~~ See #7324
- [ ] Cleanup `ReflectPathError`. I think it would be nicer to give `ReflectPathError` two variants: `ReflectPathError::ParseError` and `ReflectPathError::AccessError`, with all current variants placed within one of those two. It's not obvious when one might expect to receive one type of error over the other, so we can help by explicitly categorizing them.

---

## Changelog

- Cleaned up `GetPath` logic
- Added `ParsedPath` for cached reflection paths
- Added new reflection path syntax: struct field access by index (example syntax: `foo#1`)
- Renamed methods on `GetPath`:
  - `path` -> `reflect_path`
  - `path_mut` -> `reflect_path_mut`
  - `get_path` -> `path`
  - `get_path_mut` -> `path_mut`

## Migration Guide

`GetPath` methods have been renamed according to the following:
- `path` -> `reflect_path`
- `path_mut` -> `reflect_path_mut`
- `get_path` -> `path`
- `get_path_mut` -> `path_mut`


Co-authored-by: Gino Valente <gino.valente.code@gmail.com>
ItsDoot pushed a commit to ItsDoot/bevy that referenced this issue Feb 1, 2023
# Objective

> ℹ️ **This is an adoption of bevyengine#4081 by @james7132**

Fixes bevyengine#4080.

Provide a way to pre-parse reflection paths so as to avoid having to parse at each call to `GetPath::path` (or similar method).

## Solution

Adds the `ParsedPath` struct (named `FieldPath` in the original PR) that parses and caches the sequence of accesses to a reflected element. This is functionally similar to the `GetPath` trait, but removes the need to parse an unchanged path more than once.

### Additional Changes

Included in this PR from the original is cleaner code as well as the introduction of a new pathing operation: field access by index. This allows struct and struct variant fields to be accessed in a more performant (albeit more fragile) way if needed. This operation is faster due to not having to perform string matching. As an example, if we wanted the third field on a struct, we'd write `bevyengine#2`—where `#` denotes indexed access and `2` denotes the desired field index.

This PR also contains improved documentation for `GetPath` and friends, including renaming some of the methods to be more clear to the end-user with a reduced risk of getting them mixed up.

### Future Work

There are a few things that could be done as a separate PR (order doesn't matter— they could be followup PRs or done in parallel). These are:

- [x] ~~Add support for `Tuple`. Currently, we hint that they work but they do not.~~ See bevyengine#7324
- [ ] Cleanup `ReflectPathError`. I think it would be nicer to give `ReflectPathError` two variants: `ReflectPathError::ParseError` and `ReflectPathError::AccessError`, with all current variants placed within one of those two. It's not obvious when one might expect to receive one type of error over the other, so we can help by explicitly categorizing them.

---

## Changelog

- Cleaned up `GetPath` logic
- Added `ParsedPath` for cached reflection paths
- Added new reflection path syntax: struct field access by index (example syntax: `foo#1`)
- Renamed methods on `GetPath`:
  - `path` -> `reflect_path`
  - `path_mut` -> `reflect_path_mut`
  - `get_path` -> `path`
  - `get_path_mut` -> `path_mut`

## Migration Guide

`GetPath` methods have been renamed according to the following:
- `path` -> `reflect_path`
- `path_mut` -> `reflect_path_mut`
- `get_path` -> `path`
- `get_path_mut` -> `path_mut`


Co-authored-by: Gino Valente <gino.valente.code@gmail.com>
bors bot pushed a commit that referenced this issue Feb 19, 2023
Revert "Tonemapping example refactor "
tigregalis added a commit to tigregalis/bevy that referenced this issue May 8, 2023
Selene-Amanita added a commit to Selene-Amanita/bevy that referenced this issue May 27, 2023
Co-authored-by: harudagondi <giogdeasis@gmail.com>
atlv24 pushed a commit to atlv24/bevy that referenced this issue Jan 16, 2024
Fix exposure for atmospheric fog directional light influence
chompaa added a commit to chompaa/bevy that referenced this issue Apr 3, 2024
chompaa pushed a commit to chompaa/bevy that referenced this issue Apr 5, 2024
github-merge-queue bot pushed a commit that referenced this issue Jun 26, 2024
# Objective

- Second part of #13900 
- based on #13905 

## Solution

- check_dir_light_mesh_visibility defers setting the entity's
`ViewVisibility `so that Bevy can schedule it to run in parallel with
`check_point_light_mesh_visibility`.

- Reduce HashMap lookups for directional light checking as much as
possible

- Use `par_iter `to parallelize the checking process within each system.

---------

Co-authored-by: Kristoffer Søholm <k.soeholm@gmail.com>
BD103 pushed a commit to BD103/bevy that referenced this issue Jul 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-Enhancement A new feature
Projects
None yet
Development

No branches or pull requests

1 participant