yaze
0.3.2
Link to the Past ROM Editor
Loading...
Searching...
No Matches
music_help_panel.h
Go to the documentation of this file.
1
#ifndef YAZE_APP_EDITOR_MUSIC_PANELS_MUSIC_HELP_PANEL_H_
2
#define YAZE_APP_EDITOR_MUSIC_PANELS_MUSIC_HELP_PANEL_H_
3
4
#include <string>
5
6
#include "
app/editor/system/workspace/editor_panel.h
"
7
#include "
app/gui/core/icons.h
"
8
#include "imgui/imgui.h"
9
10
namespace
yaze
{
11
namespace
editor {
12
17
class
MusicHelpPanel
:
public
WindowContent
{
18
public
:
19
// ==========================================================================
20
// WindowContent Identity
21
// ==========================================================================
22
23
std::string
GetId
()
const override
{
return
"music.help"
; }
24
std::string
GetDisplayName
()
const override
{
return
"Help"
; }
25
std::string
GetIcon
()
const override
{
return
ICON_MD_HELP
; }
26
std::string
GetEditorCategory
()
const override
{
return
"Music"
; }
27
int
GetPriority
()
const override
{
return
99; }
28
29
// ==========================================================================
30
// WindowContent Drawing
31
// ==========================================================================
32
33
void
Draw
(
bool
* p_open)
override
{
34
ImGui::Text(
"Yaze Music Editor Guide"
);
35
ImGui::Separator();
36
37
if
(ImGui::CollapsingHeader(
"Overview"
, ImGuiTreeNodeFlags_DefaultOpen)) {
38
ImGui::TextWrapped(
39
"The Music Editor allows you to create and modify SNES music for "
40
"Zelda 3."
);
41
ImGui::BulletText(
"Song Browser: Select and manage songs."
);
42
ImGui::BulletText(
"Tracker/Piano Roll: Edit note data."
);
43
ImGui::BulletText(
"Instrument Editor: Configure ADSR envelopes."
);
44
ImGui::BulletText(
"Sample Editor: Import and preview BRR samples."
);
45
}
46
47
if
(ImGui::CollapsingHeader(
"Tracker / Piano Roll"
)) {
48
ImGui::Text(
"Controls:"
);
49
ImGui::BulletText(
"Space: Play/Pause"
);
50
ImGui::BulletText(
"Z, S, X...: Keyboard piano (C, C#, D...)"
);
51
ImGui::BulletText(
"Shift+Arrows: Range selection"
);
52
ImGui::BulletText(
"Ctrl+C/V: Copy/Paste (WIP)"
);
53
ImGui::BulletText(
"Ctrl+Wheel: Zoom (Piano Roll)"
);
54
}
55
56
if
(ImGui::CollapsingHeader(
"Instruments & Samples"
)) {
57
ImGui::TextWrapped(
58
"Instruments use BRR samples with an ADSR volume envelope."
);
59
ImGui::BulletText(
"ADSR: Attack, Decay, Sustain, Release."
);
60
ImGui::BulletText(
61
"Loop Points: Define where the sample loops (in blocks of 16 "
62
"samples)."
);
63
ImGui::BulletText(
"Tuning: Adjust pitch multiplier ($1000 = 1.0x)."
);
64
}
65
66
if
(ImGui::CollapsingHeader(
"Keyboard Shortcuts"
)) {
67
ImGui::BulletText(
"Space: Play/Pause toggle"
);
68
ImGui::BulletText(
"Escape: Stop playback"
);
69
ImGui::BulletText(
"+/-: Increase/decrease speed"
);
70
ImGui::BulletText(
"Arrow keys: Navigate in tracker/piano roll"
);
71
ImGui::BulletText(
"Z,S,X,D,C,V,G,B,H,N,J,M: Piano keyboard (C to B)"
);
72
ImGui::BulletText(
"Ctrl+Wheel: Zoom (Piano Roll)"
);
73
}
74
75
if
(ImGui::CollapsingHeader(
"ASM Import/Export"
)) {
76
ImGui::TextWrapped(
77
"Songs can be exported to and imported from Oracle of "
78
"Secrets-compatible ASM format."
);
79
ImGui::BulletText(
"Right-click a song in the browser to export/import."
);
80
ImGui::BulletText(
"Exported ASM can be assembled with Asar."
);
81
ImGui::BulletText(
"Import parses ASM labels and data directives."
);
82
}
83
}
84
};
85
86
}
// namespace editor
87
}
// namespace yaze
88
89
#endif
// YAZE_APP_EDITOR_MUSIC_PANELS_MUSIC_HELP_PANEL_H_
yaze::editor::MusicHelpPanel
WindowContent providing help documentation for the Music Editor.
Definition
music_help_panel.h:17
yaze::editor::MusicHelpPanel::GetId
std::string GetId() const override
Unique identifier for this panel.
Definition
music_help_panel.h:23
yaze::editor::MusicHelpPanel::GetEditorCategory
std::string GetEditorCategory() const override
Editor category this panel belongs to.
Definition
music_help_panel.h:26
yaze::editor::MusicHelpPanel::GetDisplayName
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
Definition
music_help_panel.h:24
yaze::editor::MusicHelpPanel::GetPriority
int GetPriority() const override
Get display priority for menu ordering.
Definition
music_help_panel.h:27
yaze::editor::MusicHelpPanel::Draw
void Draw(bool *p_open) override
Draw the panel content.
Definition
music_help_panel.h:33
yaze::editor::MusicHelpPanel::GetIcon
std::string GetIcon() const override
Material Design icon for this panel.
Definition
music_help_panel.h:25
yaze::editor::WindowContent
Base interface for all logical window content components.
Definition
editor_panel.h:89
icons.h
ICON_MD_HELP
#define ICON_MD_HELP
Definition
icons.h:933
yaze
Definition
patch_export_usage.cc:8
editor_panel.h
src
app
editor
music
ui
window
music_help_panel.h
Generated by
1.10.0