1#ifndef YAZE_APP_EDITOR_MUSIC_PANELS_MUSIC_INSTRUMENT_EDITOR_PANEL_H_
2#define YAZE_APP_EDITOR_MUSIC_PANELS_MUSIC_INSTRUMENT_EDITOR_PANEL_H_
31 std::string
GetId()
const override {
return "music.instrument_editor"; }
41 void Draw(
bool* p_open)
override {
43 ImGui::TextDisabled(
"Music bank not loaded");
Base interface for all logical panel components.
EditorPanel wrapper for the instrument editor.
std::string GetId() const override
Unique identifier for this panel.
zelda3::music::MusicBank * music_bank_
int GetPriority() const override
Get display priority for menu ordering.
std::string GetEditorCategory() const override
Editor category this panel belongs to.
music::InstrumentEditorView * instrument_view_
void Draw(bool *p_open) override
Draw the panel content.
void SetOnPreviewCallback(std::function< void(int)> callback)
void SetOnEditCallback(std::function< void()> callback)
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
std::string GetIcon() const override
Material Design icon for this panel.
MusicInstrumentEditorPanel(zelda3::music::MusicBank *music_bank, music::InstrumentEditorView *instrument_view)
Editor for SNES instruments (ADSR, Gain, Samples).
void SetOnEditCallback(std::function< void()> callback)
Set callback for when edits occur (to trigger undo save).
void Draw(MusicBank &bank)
Draw the instrument editor.
void SetOnPreviewCallback(std::function< void(int)> callback)
Set callback for instrument preview.
Manages the collection of songs, instruments, and samples from a ROM.