yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::zelda3::music Namespace Reference

Contains classes and functions for handling music data in Zelda 3. More...

Classes

struct  SampleEdit
 A state structure for a GUI sample editor. More...
 
struct  Song
 Represents a complete song, which is a collection of SongParts. More...
 
struct  SongPart
 Represents one of the 8 channels (tracks) in a song. More...
 
struct  SongRange
 A metadata structure to keep track of parsed sections of the song data. Used to avoid re-parsing the same data from the ROM multiple times. More...
 
struct  SongSpcBlock
 Represents a block of binary data destined for the APU (SPC700) RAM. This is the intermediate format used before writing data back to the ROM. More...
 
struct  SpcCommand
 The core data structure representing a single command in a music track. A song track is a doubly-linked list of these commands. More...
 
class  Tracker
 
struct  ZeldaInstrument
 Defines an instrument for a song, mapping to a sample and ADSR settings. More...
 
struct  ZeldaSfxInstrument
 Defines an instrument for a sound effect. More...
 
struct  ZeldaWave
 Represents a decoded instrument sample (a waveform). More...
 

Typedefs

using text_buf_ty = char[512]
 

Variables

constexpr char op_len [32]
 
constexpr char fil1 [4] = {0, 15, 61, 115}
 
constexpr char fil2 [4] = {0, 4, 5, 6}
 
constexpr char fil3 [4] = {0, 0, 15, 13}
 
constexpr int kOverworldMusicBank = 0x0D0000
 
constexpr int kDungeonMusicBank = 0x0D8000
 

Detailed Description

Contains classes and functions for handling music data in Zelda 3.

Based off of the Hyrule Magic tracker code, this system is designed to parse the game's complex, pointer-based music format into an editable in-memory representation and then serialize it back into a binary format that the SNES Audio Processing Unit (APU) can understand.

Typedef Documentation

◆ text_buf_ty

using yaze::zelda3::music::text_buf_ty = typedef char[512]

Definition at line 38 of file tracker.h.

Variable Documentation

◆ op_len

constexpr char yaze::zelda3::music::op_len[32]
constexpr
Initial value:
= {1, 1, 2, 3, 0, 1, 2, 1, 2, 1, 1, 3, 0, 1, 2, 3,
1, 3, 3, 0, 1, 3, 0, 3, 3, 3, 1, 2, 0, 0, 0, 0}

Definition at line 24 of file tracker.h.

◆ fil1

constexpr char yaze::zelda3::music::fil1[4] = {0, 15, 61, 115}
constexpr

Definition at line 31 of file tracker.h.

◆ fil2

constexpr char yaze::zelda3::music::fil2[4] = {0, 4, 5, 6}
constexpr

Definition at line 32 of file tracker.h.

◆ fil3

constexpr char yaze::zelda3::music::fil3[4] = {0, 0, 15, 13}
constexpr

Definition at line 33 of file tracker.h.

◆ kOverworldMusicBank

constexpr int yaze::zelda3::music::kOverworldMusicBank = 0x0D0000
constexpr

Definition at line 35 of file tracker.h.

◆ kDungeonMusicBank

constexpr int yaze::zelda3::music::kDungeonMusicBank = 0x0D8000
constexpr

Definition at line 36 of file tracker.h.