{"id":16116932,"url":"https://github.com/ralith/oddio","last_synced_at":"2025-04-05T14:08:54.743Z","repository":{"id":41895162,"uuid":"312966371","full_name":"Ralith/oddio","owner":"Ralith","description":"Lightweight game audio","archived":false,"fork":false,"pushed_at":"2023-10-15T23:53:48.000Z","size":319,"stargazers_count":149,"open_issues_count":17,"forks_count":9,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-10-18T21:55:45.764Z","etag":null,"topics":["audio","game-development","hacktoberfest","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ralith.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-15T05:42:25.000Z","updated_at":"2024-10-16T17:50:30.000Z","dependencies_parsed_at":"2024-10-25T17:07:14.246Z","dependency_job_id":"ad872d0f-efa7-4a6d-b794-f05f20c2f2ef","html_url":"https://github.com/Ralith/oddio","commit_stats":{"total_commits":226,"total_committers":7,"mean_commits":"32.285714285714285","dds":"0.11504424778761058","last_synced_commit":"e840fe58101f3dd6e4ec774271329ddf9ea07201"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ralith%2Foddio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ralith%2Foddio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ralith%2Foddio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ralith%2Foddio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ralith","download_url":"https://codeload.github.com/Ralith/oddio/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247345854,"owners_count":20924102,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio","game-development","hacktoberfest","rust"],"created_at":"2024-10-09T20:27:12.975Z","updated_at":"2025-04-05T14:08:54.714Z","avatar_url":"https://github.com/Ralith.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Oddio\n\n[![Documentation](https://docs.rs/oddio/badge.svg)](https://docs.rs/oddio/)\n[![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE-APACHE)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE-MIT)\n\nOddio is a game-oriented audio library that is:\n\n- **Lightweight**: Fast compilation, few dependencies, and a simple interface\n- **Sans I/O**: Send output wherever you like\n- **Real-time**: Audio output is efficient and wait-free: no glitches until you run out of CPU\n- **3D**: Spatialization with doppler effects and propagation delay available out of the box\n- **Extensible**: Implement `Signal` for custom streaming synthesis and filtering\n- **Composable**: `Signal`s can be transformed without obstructing the inner `Signal`'s controls\n\n### Example\n\n```rust\nlet (mut scene_handle, mut scene) = oddio::SpatialScene::new();\n\n// In audio callback:\nlet out_frames = oddio::frame_stereo(data);\noddio::run(\u0026mut scene, output_sample_rate, out_frames);\n\n// In game logic:\nlet frames = oddio::FramesSignal::from(oddio::Frames::from_slice(sample_rate, \u0026frames));\nlet mut handle = scene_handle\n    .play(frames, oddio::SpatialOptions { position, velocity, ..Default::default() });\n\n// When position/velocity changes:\nhandle.set_motion(position, velocity, false);\n```\n\n## License\n\nLicensed under either of\n\n * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)\n * MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)\n\nat your option.\n\n### Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally\nsubmitted for inclusion in the work by you, as defined in the\nApache-2.0 license, shall be dual licensed as above, without any\nadditional terms or conditions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fralith%2Foddio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fralith%2Foddio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fralith%2Foddio/lists"}