Overview

This is the placeholder documentation for Melowrite, a minimalist DAW made specifically for game development, currently in early access.

Shortcuts

Defaults (all rebindable in Preferences > Shortcuts).

File

New ProjectCtrl+N
Open ProjectCtrl+O
SaveCtrl+S
Save AsCtrl+Shift+S
ExportCtrl+Shift+E
Export ProjectCtrl+E

Edit

UndoCtrl+Z
RedoCtrl+Shift+Z or Ctrl+Y
Select AllCtrl+A
CopyCtrl+C
CutCtrl+X
PasteCtrl+V
DuplicateCtrl+D
DeleteDelete or Backspace or Shift+X

Transport

Play / PauseSpace
RecordCtrl+R or Ctrl+Space
RewindEnter
Rewind + PlayShift+Space
Toggle MetronomeM
Toggle LoopR
Octave Down / UpZ / X
Velocity Down / UpC / V
Toggle Keyboard WindowShift+K

Editor (Pattern / Arranger)

Grab / MoveShift+G
Toggle Draw / SelectB
Cancel / DeselectEsc
ConfirmEnter or Keypad Enter
RenameF2
QuantizeCtrl+Q
LegatoCtrl+L
Set Note Length, then 1–4Ctrl+W
Quantify EntriesQ
Frame AllShift+F
Pattern Octave Down / UpCtrl+Y / Ctrl+U
Extend Patternunbound by default

Navigation

Toggle Pattern / PropertiesTab
Toggle Chunk / ArrangerShift+Tab
Shortcuts HelpF1
FullscreenF11
Performance OverlayF12

Chunks

Create ChunkAlt+N

Mixer

Solo selected trackAlt+S
Mute all tracksAlt+M

Piano Keyboard (musical typing)

White keysA S D F G H J K L
Black keysW E T Y U
Octave down / upZ / X
Velocity down / upC / V
Open Musical Typing windowShift+K

Game Audio API

Melowrite has an internal audio engine, separate from the editor UI, that can run inside your game. It is compatible with Unity, and any C, C++ or C# game engine.

Getting it

Unity: install the package from the git URL (see Unity Integration) and export your project with File > Export Project... (Ctrl+E), target Project. Other C# projects: the middleware is plain C# - reference the managed Melowrite.Core.dll (plus its miniaudio decoder DLL), drop in the middleware sources, feed FillBuffer from your audio callback and call Tick() once per frame. The same API below applies unchanged. Native engines (C / C++): export once with target Engine - you get Melowrite.Core.dll (the whole engine in one file), melo.h, and Melo.cs bindings. The header doubles as the full C API reference.

Play music

var music = Melo.Load(song);          // or drop a MeloFile on a Melo Source component
music.PlayChunk("Explore");
music.SwitchChunk("Combat");          // quantized: lands on the next bar
music.SwitchSong(bossSong, MeloSwitch.Bar);
music.PlayChunkCrossfade("Bridge", 1.5f);

SFX banks

Author a .melo as a sound bank: tracks are categories, multisampler pads are named sounds - with the volume, pitch, envelopes, and random/velocity variations you set in the editor.

var sfx = Melo.Load(bank);
sfx.Trigger("Footsteps", "Grass");                  // one-shot, overlaps itself
sfx.Trigger("Footsteps", "Grass", 1f, pan: -0.5f);  // per-trigger stereo position
sfx.Hold("Ambience", "EngineHum");                  // hold until Release()
sfx.Release("Ambience", "EngineHum");
sfx.Sustain("Weapons", "ChargeLoop");               // call every frame; auto-releases when you stop

One-shots

Raw audio files (wav / mp3 / ogg / flac) or Unity AudioClips, no project needed:

Melo.PlayOneShot("SFX/hit.wav");
Melo.PlayOneShot(myAudioClip, volume: 0.8f, pan: 0.3f);

Live mix control

music.SetTrackMuted("Bass", true);
music.Track("Lead").Volume = 0.7f;
if (music.Bus("Reverb").TryGetEffect<MeloReverb>(out var rev)) rev.Mix = 0.6f;

Going deeper

The wrappers cover the common calls, but the whole engine is public C# - the same classes the editor edits. music.Engine is the raw engine, and Track("x").Instrument hands you the live instrument (sampler slots, ADSR, random/velocity modes, pads) to read or change at runtime. The plugin README has the full tour.

Native C / C++

MeloHandle h = melo_load("music.melo", 44100);
melo_play_arrangement(h);
melo_fill_buffer(h, buffer, frames);                 // your audio callback
melo_trigger_pad(h, fs, "grass", 1.0f, 0.0f);        // SFX bank trigger (velocity, pan)

Everything above has a C export - see melo.h in the Engine export for the complete, commented API.

Unity Integration

Download link: https://github.com/joeqnicholson/melowrite-unity