Skip to content

Commit cdf04a8

Browse files
committed
Update documentation
1 parent b72ab44 commit cdf04a8

4 files changed

Lines changed: 118 additions & 41 deletions

File tree

features.html

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@
9191
<a href="/" class="flex items-center space-x-2">
9292
<div class="w-8 h-8 rounded-lg flex items-center justify-center">
9393
<span class="text-xs font-bold text-slate-950">
94-
<img src="img/logo.svg" />
94+
<img src="img/logo.svg" alt="Maolan logo" />
9595
</span>
9696
</div>
9797
<span class="font-bold text-lg">Maolan</span>
@@ -149,7 +149,7 @@
149149
</p>
150150
</div>
151151
<div class="mb-12">
152-
<img src="img/workspace.gif" />
152+
<img src="img/workspace.gif" alt="Maolan workspace interface" />
153153
</div>
154154
<div class="flex flex-wrap justify-center gap-3 mb-12">
155155
<span
@@ -347,8 +347,6 @@ <h3 class="text-xl font-semibold text-white mb-2">Export</h3>
347347
height="600"
348348
class="w-full rounded-xl shadow-2xl border border-slate-800"
349349
loading="lazy"
350-
decoding="async"
351-
fetchpriority="auto"
352350
/>
353351
</div>
354352
<div class="order-1 lg:order-2">
@@ -493,7 +491,8 @@ <h3 class="text-xl font-semibold text-white mb-2">
493491
</h3>
494492
<p class="text-slate-400">
495493
Split clips at any position to create separate segments for
496-
independent editing and arrangement.
494+
independent editing and arrangement. Grouped clips must be
495+
ungrouped before they can be split.
497496
</p>
498497
</div>
499498
<div
@@ -549,11 +548,12 @@ <h3 class="text-xl font-semibold text-white mb-2">
549548
Clip Management
550549
</h3>
551550
<p class="text-slate-400">
552-
Mute, rename, and organize clips with comprehensive metadata and
553-
visual feedback, including take-lane workflows for overlap-based
554-
stacking, dedicated comping actions, active-take cycling, take
555-
move up/down, unmute-in-range operations, take pin/unpin, and
556-
take lock/unlock controls.
551+
Mute, rename, group, ungroup, and organize clips with
552+
comprehensive metadata and visual feedback, including take-lane
553+
workflows for overlap-based stacking, dedicated comping
554+
actions, active-take cycling, take move up/down,
555+
unmute-in-range operations, take pin/unpin, and take
556+
lock/unlock controls.
557557
</p>
558558
</div>
559559
<div
@@ -581,7 +581,8 @@ <h3 class="text-xl font-semibold text-white mb-2">
581581
</h3>
582582
<p class="text-slate-400">
583583
Work seamlessly with both audio recordings and MIDI sequences
584-
using unified editing tools.
584+
using unified editing tools, including per-clip plugin graphs
585+
for audio clips on supported Unix builds.
585586
</p>
586587
</div>
587588
</div>
@@ -602,8 +603,6 @@ <h3 class="text-xl font-semibold text-white mb-2">
602603
height="675"
603604
class="w-full rounded-2xl object-cover shadow-2xl border border-slate-700"
604605
loading="lazy"
605-
decoding="async"
606-
fetchpriority="auto"
607606
/>
608607
</div>
609608
<div class="order-1 lg:order-2">
@@ -982,8 +981,6 @@ <h3 class="text-xl font-semibold text-white mb-4">
982981
height="900"
983982
class="w-full rounded-lg object-cover"
984983
loading="lazy"
985-
decoding="async"
986-
fetchpriority="auto"
987984
/>
988985
</div>
989986
</div>
@@ -1106,8 +1103,6 @@ <h3 class="text-xl font-semibold text-white mb-2">
11061103
height="600"
11071104
class="w-full rounded-2xl object-cover shadow-2xl border border-slate-800"
11081105
loading="lazy"
1109-
decoding="async"
1110-
fetchpriority="auto"
11111106
/>
11121107
</div>
11131108
<div class="order-1 lg:order-2">

index.html

Lines changed: 58 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@
9292
<a href="/" class="flex items-center space-x-2">
9393
<div class="w-8 h-8 rounded-lg flex items-center justify-center">
9494
<span class="text-xs font-bold text-slate-950">
95-
<img src="img/logo.svg" />
95+
<img src="img/logo.svg" alt="Maolan logo" />
9696
</span>
9797
</div>
9898
<span class="font-bold text-lg">Maolan</span>
@@ -138,7 +138,7 @@
138138
></div>
139139
<div class="max-w-4xl mx-auto text-center relative z-10">
140140
<h1 class="section-title mb-6 text-white">Maolan</h1>
141-
<img src="img/logo.svg" />
141+
<img src="img/logo.svg" alt="Maolan logo mark" />
142142
<h1 class="section-title mb-6 text-cyan-400">
143143
An Open Source<br />Digital Audio Workstation
144144
</h1>
@@ -175,7 +175,7 @@ <h2 class="text-4xl font-bold mb-4">See Maolan in Action</h2>
175175
</p>
176176
</div>
177177
<!-- DAW Interface Mockup -->
178-
<img src="img/workspace.gif" />
178+
<img src="img/workspace.gif" alt="Maolan workspace interface" />
179179
<div class="grid grid-cols-1 md:grid-cols-3 gap-6 mt-12">
180180
<div class="text-center">
181181
<h3 class="font-semibold mb-2 text-xl text-cyan-400">
@@ -388,8 +388,9 @@ <h3 class="text-lg font-semibold mb-2 text-white">
388388
Automation & Envelopes
389389
</h3>
390390
<p class="text-slate-400">
391-
Create dynamic automations for volume, pan, plugin parameters.
392-
Create session and track templates.
391+
Create track and plugin automation for volume, balance, mute, and
392+
loaded CLAP, VST3, or LV2 parameters. Save session and track
393+
templates for repeatable setups.
393394
</p>
394395
</div>
395396
<div class="feature-card rounded-lg p-6">
@@ -414,8 +415,9 @@ <h3 class="text-lg font-semibold mb-2 text-white">
414415
Plugin Hosting & Routing
415416
</h3>
416417
<p class="text-slate-400">
417-
Load VST3/LV2 plugins, create complex routing chains, and design
418-
custom signal flows.
418+
Load CLAP, VST3, and LV2 plugins, create complex routing chains,
419+
and design custom signal flows with explicit audio, MIDI, and
420+
sidechain paths.
419421
</p>
420422
</div>
421423
<div class="feature-card rounded-lg p-6">
@@ -440,8 +442,8 @@ <h3 class="text-lg font-semibold mb-2 text-white">
440442
Export & Format Support
441443
</h3>
442444
<p class="text-slate-400">
443-
Export to WAV, FLAC, MP3, and other common formats. Save projects
444-
in open formats.
445+
Export mixdowns or stems to WAV, MP3, OGG, and FLAC with
446+
normalization and master-limiter options saved in the session.
445447
</p>
446448
</div>
447449
<div class="feature-card rounded-lg p-6">
@@ -510,7 +512,8 @@ <h3 class="text-lg font-semibold mb-2 text-white">
510512
</h3>
511513
<p class="text-slate-400">
512514
Edit audio clips and MIDI notes with precision. Use the piano
513-
roll for composing melodies and harmonies.
515+
roll for composing melodies and harmonies, with clip grouping
516+
and per-clip FX available for deeper editing workflows.
514517
</p>
515518
</div>
516519
</div>
@@ -527,8 +530,9 @@ <h3 class="text-lg font-semibold mb-2 text-white">
527530
Plugin & Routing
528531
</h3>
529532
<p class="text-slate-400">
530-
Load VST3/LV2 plugins on tracks. Create complex routing chains
531-
for parallel processing and effects.
533+
Load CLAP, VST3, and LV2 plugins on tracks. Create explicit
534+
routing chains for parallel processing, sidechains, and MIDI
535+
flow.
532536
</p>
533537
</div>
534538
</div>
@@ -781,8 +785,9 @@ <h2 class="text-4xl font-bold mb-12 text-center">
781785
</summary>
782786
<div class="px-6 pb-6 text-gray-400">
783787
<br />
784-
Maolan is built with Rust and currently supports Linux, and
785-
FreeBSD. You can build it from source on any of these platforms.
788+
Maolan is built with Rust and supports Linux, FreeBSD, and macOS.
789+
Linux and FreeBSD builds currently force the X11 backend at
790+
startup, while macOS uses the native host path.
786791
</div>
787792
</details>
788793
<details
@@ -796,9 +801,45 @@ <h2 class="text-4xl font-bold mb-12 text-center">
796801
</summary>
797802
<div class="px-6 pb-6 text-gray-400">
798803
<br />
799-
Maolan currently supports VST3 and LV2 plugin formats. Support for
800-
additional formats may be added as the project develops. Check the
801-
GitHub repository for the latest plugin compatibility information.
804+
Maolan currently supports CLAP, VST3, and LV2 plugin formats on
805+
Linux and FreeBSD. macOS builds support CLAP and VST3, while LV2
806+
remains Unix-only in the current codebase.
807+
</div>
808+
</details>
809+
<details
810+
class="group bg-gray-900 border border-gray-800 rounded-lg overflow-hidden"
811+
>
812+
<summary
813+
class="flex items-center justify-between p-6 cursor-pointer hover:bg-gray-800/50 transition font-semibold"
814+
>
815+
<span>How does autosave and recovery work?</span>
816+
<span class="text-2xl group-open:rotate-180 transition">+</span>
817+
</summary>
818+
<div class="px-6 pb-6 text-gray-400">
819+
<br />
820+
Maolan writes autosave snapshots every 15 seconds into
821+
<code>&lt;session&gt;/.maolan_autosave/snapshots/&lt;timestamp&gt;/</code>.
822+
On startup or when opening a session, it can detect when a newer
823+
snapshot exists, preview track and clip count changes, and recover
824+
the latest valid snapshot first.
825+
</div>
826+
</details>
827+
<details
828+
class="group bg-gray-900 border border-gray-800 rounded-lg overflow-hidden"
829+
>
830+
<summary
831+
class="flex items-center justify-between p-6 cursor-pointer hover:bg-gray-800/50 transition font-semibold"
832+
>
833+
<span>Does Maolan support templates?</span>
834+
<span class="text-2xl group-open:rotate-180 transition">+</span>
835+
</summary>
836+
<div class="px-6 pb-6 text-gray-400">
837+
<br />
838+
Yes. Session templates preserve track structure, routing, plugin
839+
graphs, plugin state, metadata, and export settings. Track
840+
templates preserve one track's settings, plugin graph, plugin
841+
state, and that track's connections, while intentionally leaving
842+
out audio and MIDI clips.
802843
</div>
803844
</details>
804845
<details

shortcuts.html

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@
143143
>
144144
<span
145145
class="rounded-full border border-slate-700 bg-slate-900/50 px-4 py-2 text-sm text-slate-300"
146-
>Updated 2026-03-18</span
146+
>Updated 2026-03-21</span
147147
>
148148
</div>
149149
<h1 class="section-title mb-6 text-white">
@@ -439,6 +439,12 @@ <h3 class="mb-4 text-xl font-semibold text-cyan-400">
439439
<div><span class="kbd">Double click MIDI clip</span></div>
440440
<p class="text-slate-300">Open MIDI piano roll</p>
441441
</div>
442+
<div class="shortcut-row grid gap-4 py-4 sm:grid-cols-[220px_minmax(0,1fr)]">
443+
<div><span class="kbd">Double click audio clip</span></div>
444+
<p class="text-slate-300">
445+
Open per-clip plugin graph on supported Unix builds
446+
</p>
447+
</div>
442448
<div class="grid gap-4 py-4 sm:grid-cols-[220px_minmax(0,1fr)]">
443449
<div><span class="kbd">Right click clip</span></div>
444450
<p class="text-slate-300">Open clip context menu</p>
@@ -451,6 +457,7 @@ <h3 class="mb-4 text-xl font-semibold text-cyan-400">
451457
Clip Context Menu
452458
</h3>
453459
<ul class="space-y-3 text-slate-300">
460+
<li>Group/ungroup</li>
454461
<li>Rename</li>
455462
<li>Take-lane controls</li>
456463
<li>Mute/unmute</li>
@@ -779,15 +786,28 @@ <h2 class="mb-4 text-3xl font-bold text-white">Notes</h2>
779786
Current keyboard handling is <span class="kbd">Ctrl</span>-based
780787
in code paths, including on macOS builds.
781788
</li>
789+
<li>
790+
Maolan also ships a <code>maolan-cli</code> binary that can
791+
play, pause, stop, send panic, and export the current session.
792+
</li>
782793
<li>
783794
Some actions depend on the current view, active tool, and
784795
selection state.
785796
</li>
786797
<li>Q/H/G apply to the current selected notes in the piano roll.</li>
787798
<li>
788-
Audio stretch and pitch-correction actions require
789-
<code>rubberband</code> to be available on
790-
<code>PATH</code>.
799+
Audio stretch requires <code>rubberband</code> to be available
800+
on <code>PATH</code>; pitch correction uses per-session cached
801+
analysis and local undo/redo in its own editor.
802+
</li>
803+
<li>
804+
Group is only enabled when two or more non-group clips of the
805+
same type are selected on the same track, and grouped clips must
806+
be ungrouped before splitting.
807+
</li>
808+
<li>
809+
Per-clip plugin graphs are audio-only and currently available on
810+
supported Unix non-macOS builds.
791811
</li>
792812
<li>
793813
The main editor zoom is geometric rather than linear, so equal

workflow.html

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,14 @@ <h4 class="mb-2 font-semibold text-white">Plugin loading</h4>
275275
graph decides what actually receives or emits signal.
276276
</p>
277277
</div>
278+
<div class="rounded-2xl border border-slate-800 bg-slate-950/50 p-5">
279+
<h4 class="mb-2 font-semibold text-white">Per-clip FX</h4>
280+
<p class="text-sm leading-6 text-slate-400">
281+
Audio clips on supported Unix builds can open their own
282+
plugin graph. If a clip has no saved graph yet, Maolan
283+
seeds a default passthrough clip graph first.
284+
</p>
285+
</div>
278286
<div class="rounded-2xl border border-slate-800 bg-slate-950/50 p-5">
279287
<h4 class="mb-2 font-semibold text-white">Audio nodes</h4>
280288
<p class="text-sm leading-6 text-slate-400">
@@ -325,6 +333,16 @@ <h3 class="mb-5 text-2xl font-semibold text-white">
325333
output explicitly if the plugin generates events.
326334
</p>
327335
</div>
336+
<div class="rounded-2xl border border-slate-800 bg-slate-950/50 p-5">
337+
<div class="mb-2 text-sm font-semibold uppercase tracking-[0.18em] text-cyan-300">
338+
Grouped audio render order
339+
</div>
340+
<p class="text-sm leading-6 text-slate-400">
341+
Child clips render first, then group-level fades are
342+
applied, and finally the group clip plugin graph is
343+
processed.
344+
</p>
345+
</div>
328346
</div>
329347
</div>
330348
</div>
@@ -353,8 +371,10 @@ <h3 class="mb-5 text-2xl font-semibold text-cyan-400">
353371
<p class="mt-2 text-slate-400">
354372
Tracks, clips, connections, plugin graph topology, plugin
355373
state, transport state, metadata, export settings, MIDI
356-
learn bindings, pitch-correction segment settings, and UI
357-
sizing values.
374+
learn bindings, clip-group membership in
375+
<code>grouped_clips</code>, per-audio-clip plugin graph
376+
state in <code>plugin_graph_json</code>,
377+
pitch-correction segment settings, and UI sizing values.
358378
</p>
359379
</div>
360380
<div class="rounded-2xl border border-slate-800 bg-slate-950/50 p-4">
@@ -417,7 +437,8 @@ <h4 class="mb-2 font-semibold text-white">Recent sessions</h4>
417437
<h4 class="mb-2 font-semibold text-white">Session save/load</h4>
418438
<p class="text-sm leading-6 text-slate-400">
419439
Saved sessions restore plugin graph topology, connections,
420-
and plugin state rather than just track ordering.
440+
plugin state, clip groups, and per-audio-clip plugin graphs
441+
rather than just track ordering.
421442
</p>
422443
</div>
423444
</div>

0 commit comments

Comments
 (0)