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