Crate bevy_ym2149_viz

Crate bevy_ym2149_viz 

Source
Expand description

Visualization utilities for bevy_ym2149.

This crate hosts all UI components, helpers, and Bevy systems that render oscilloscope, spectrum, and song-status information based on the data exposed by the core audio plugin. Applications should add Ym2149VizPlugin alongside Ym2149Plugin to enable the widgets and use the builder helpers to spawn their preferred UI layout.

Structs§

ChannelBadge
Decorative badge element associated with a channel.
ChannelFreqLabel
Text label displaying the current frequency for a channel.
ChannelNoteLabel
Text label displaying the current note for a channel.
DetailedChannelDisplay
Component for the multi-line detailed channel display.
LoopStatusLabel
Text label showing the loop status.
Oscilloscope
Root component for the oscilloscope canvas.
OscilloscopeChannel
Layer that renders a channel waveform inside the oscilloscope.
OscilloscopeGridLine
Grid line element within the oscilloscope background.
OscilloscopeHead
Highlight dot shown at the most recent sample position.
OscilloscopePoint
Individual plotted sample node within the oscilloscope.
OscilloscopeUniform
Buffer storing oscilloscope samples ready to upload to GPU uniforms.
PlaybackStatusDisplay
Component for displaying playback status text.
RegisterWaveformState
State for register-based waveform synthesis.
SongInfoDisplay
Component for song metadata text.
SongProgressFill
Fill node for the transport progress bar.
SongProgressLabel
Text label displaying the transport percentage.
SpectrumBar
Single spectrum bar rendered inside the channel ribbon.
SpectrumUniform
Buffer storing spectrum magnitudes ready for GPU uniforms.
Ym2149VizPlugin
Plugin that wires the visualization resources and systems into a Bevy app.

Enums§

BadgeKind
Variants of channel badge.

Constants§

OSCILLOSCOPE_HEIGHT
Vertical size of the oscilloscope canvas in pixels.
OSCILLOSCOPE_RESOLUTION
Number of plotted points per channel in the oscilloscope.

Functions§

add_full_stack
Convenience helper: adds core YM2149 audio plugin and the viz plugin.
create_channel_visualization
Create a channel visualization panel with progress bar, note labels, and spectrum bars.
create_detailed_channel_display
Create a multi-line text display showing detailed channel state (registers, volumes, etc).
create_oscilloscope
Create an oscilloscope widget showing real-time waveforms for all three channels.
create_song_info_display
Create a standalone song info display showing title and artist.
create_status_display
Create a combined status bar with song info on the left and playback status on the right.
update_detailed_channel_display
Update per-channel note and frequency labels from current PSG state.
update_oscilloscope
Update oscilloscope waveform points, heads, spectrum bars, and channel badges.
update_song_info
Update song title and artist text from the current playback.
update_song_progress
Update song progress bar and loop status labels.
update_status_display
Update playback status text (state, frame, volume, buffer fill).