| Crates.io | bevy_ym2149_viz |
| lib.rs | bevy_ym2149_viz |
| version | 0.9.0 |
| created_at | 2025-11-19 10:43:03.995576+00 |
| updated_at | 2026-01-15 17:25:16.456348+00 |
| description | Visualization systems for the bevy_ym2149 plugin (oscilloscope, spectrum, HUD) |
| homepage | https://ym2149-rs.org |
| repository | https://github.com/slippyex/ym2149-rs |
| max_upload_size | |
| id | 1939865 |
| size | 192,964 |
UI companion crate for bevy_ym2149. It wires oscilloscope traces, spectrum bars, progress HUDs, and playlist indicators into your Bevy scene so you can focus on audio/gameplay logic.
Ym2149VizPlugin – registers the systems/resources needed to keep UI widgets in sync with Ym2149Playbackcreate_status_display, create_channel_visualization, create_detailed_channel_display, create_oscilloscope) for instant layoutsSongInfoDisplay, SpectrumBar, OscilloscopePoint, SongProgressFill, …) are public so custom UIs can reuse the same systemsupdate_song_info, update_oscilloscope, update_song_progress, etc.) update nodes based on playback + channel snapshotsuse bevy::prelude::*;
use bevy_ym2149::{Ym2149Playback, Ym2149Plugin};
use bevy_ym2149_viz::{
create_status_display, create_channel_visualization, Ym2149VizPlugin,
};
fn main() {
App::new()
.add_plugins((DefaultPlugins, Ym2149Plugin::default(), Ym2149VizPlugin::default()))
.add_systems(Startup, setup)
.run();
}
fn setup(mut commands: Commands) {
commands.spawn(Camera2d);
commands.spawn(Ym2149Playback::new("assets/music/ND-Toxygene.ym"));
create_status_display(&mut commands);
create_channel_visualization(&mut commands, 3);
}
Need more elaborate UI? Inspect the advanced_example or demoscene demos in bevy_ym2149_examples.
MIT – matches the rest of the workspace.