Skip to content

Latest commit

 

History

History
74 lines (54 loc) · 2.74 KB

File metadata and controls

74 lines (54 loc) · 2.74 KB

Presets

Morass has two preset tiers, both managed by morass::PresetManager (src/presets/).

Factory presets (compiled in)

Defined in src/presets/FactoryPresets.h as a list of morass::Preset — a name, category, tags, author, notes, plus a sparse map of (parameter id → value). Any parameter a preset doesn't list is reset to its default before the preset is applied, so you only declare what you change.

The library ships 143 presets across 14 categories (Pop, Rock, Hip-Hop, R&B / Soul, Electronic, Country, Acoustic / Folk, Jazz, Podcast / VO, Lo-Fi / Vintage, Creative FX, Utility, Chart / Trending, Studio / Console). The category drives the in-app browser, which groups presets into sub-menus. Every preset is validated by tests/preset_test.cpp — it fails the build if any preset references an unknown parameter or an out-of-range value.

Values use the same units as the parameter ranges in Parameters.h:

  • dB for gains/thresholds (e.g. presenceGain, 3.0f)
  • Hz for frequencies (e.g. hpFreq, 90.0f)
  • 0–100 for percentage controls — de-ess amount, saturation drive/mix, and all reverb knobs (e.g. satMix, 30.0f means 30 %)

Adding a factory preset

Append an entry to the list returned by getFactoryPresets():

{ "Silky Lead", {
    { hpFreq, 100.0f },
    { presenceFreq, 5000.0f }, { presenceGain, 4.0f },
    { airFreq, 12000.0f },     { airGain, 5.0f },
    { compThresh, -24.0f },    { compRatio, 4.0f }, { compMakeup, 5.0f },
    { satDrive, 20.0f },       { satMix, 30.0f },
    { reverbMix, 18.0f } } },

Rebuild — it appears in the preset menu and as a host program automatically.

Sharing format (.morass)

Saved/exported presets are a small XML document that wraps the metadata and the full plugin state, so they survive sharing intact:

<MorassPreset version="1" name="..." author="User" category="User" notes="...">
  <PARAMETERS> ... full APVTS state ... </PARAMETERS>
</MorassPreset>

Use Export to write the current settings to a .morass file anywhere, and Import to pull one into your library. Legacy raw-state .morass files (from v0.1) are still loadable.

User presets (saved at runtime)

The Save button in the UI writes the current parameter state as XML to:

OS Location
macOS ~/Library/Application Support/Morass Audio/Morass/Presets
Windows %APPDATA%\Morass Audio\Morass\Presets

Files use the .morass extension and are listed after the factory presets in the menu. User presets persist across sessions and DAWs.

Roadmap

The categorized/tagged preset browser and the 140-plus preset library have shipped. See ROADMAP.md for what's next.