Commit Graph

7 Commits

Author SHA1 Message Date
mikkeli 9675905401 ci: let a workflow change validate itself
Adds .github/workflows/** to both path filters. A broken step, a moved
script path or a wrong runner label now fails on the commit that caused
it, instead of surfacing later against an unrelated source change and
looking like that change's fault.

This session produced exactly that bug: after the branding tools moved
under tools/, the workflow still ran `sh check-branding.sh` at the old
path, and it was caught by reading the file rather than by CI.

The limit is worth stating: this validates the job body, not the trigger
block. Break `on:` and the symptom is silence, which is indistinguishable
from success.

Workflow edits are rare enough that the extra builds cost nothing, and CI
config is the definition of how the project is built and verified — it
belongs on the source side of "source code edits only", not with the docs.

kolmekivi additionally gains the pull_request path filter the other two
already had.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WHt4DykxXaQnyaJfyS8KCn
2026-09-04 19:33:12 +09:00
irene 552b82bbaf docs: update README to reflect completed DSP and fix stale references
- Replace 'DSP not written yet' description with actual stereo delay
  DSP summary.
- Update src/lib.rs description in project structure tree.
- Replace stale 192.168.2.199 IP with pi5-16.local hostname in the
  clone URL (both in README body and Quick Start example).
2026-09-04 19:23:30 +09:00
irene 360c18ee0a feat: implement stereo delay plugin
CI / Build (push) Successful in 34s
Add time (0-2000ms), feedback (0-1), and mix (0-1 wet/dry) parameters
with a stereo delay line DSP.

When sync is enabled the Time parameter is interpreted as a beat
subdivision (1.0 = quarter note) derived from the host transport tempo,
falling back to 120 BPM when no tempo is available.
2026-09-04 19:21:08 +09:00
irene 1348ac59e0 feat: add tempo-sync for delay time
Add a Sync checkbox parameter.  When enabled the Time parameter is
interpreted as a beat subdivision (1.0 = quarter note, 0.5 = eighth,
2.0 = half note) derived from the host transport tempo.  Falls back to
120 BPM when no tempo is available.  The Time label shows 'Time (1/n)'
in the UI when sync is on for visual clarity.
2026-09-04 19:14:08 +09:00
irene fc8eaa4057 feat: implement basic stereo delay plugin
Add time (0-2000ms), feedback (0-1), and mix (0-1 wet/dry) parameters
with a stereo delay line DSP.  No extra features — just time, feedback
and mix.
2026-09-04 19:12:36 +09:00
mikkeli 1dc7721f7a chore: point homepage at the org wiki
CI / Build (push) Successful in 32s
The Cargo homepage feeds Plugin::URL, which hosts can show to users, so a
LAN-only Gitea address was the wrong value there. wiki.novoyuuparosk.org
is still a placeholder, but a reachable one.

The Gitea URL is deliberately not added to STALE even though it was
retired as the homepage: it remains the correct clone URL and appears in
the README as one. A value can be retired from one role while staying
current in another, and STALE is about spellings nobody should use rather
than values that moved fields. The checker flagged it and this is the
resolution, matching how codename-206 exempts its own repo name.

Also finishes turning the template's README into this plugin's. The
scaffold left a Quick Start telling the reader to clone the template, and
a `sh check-branding.sh` path that has since moved under tools/. The full
branding rationale stays in the template; this repo keeps a pointer and
the facts specific to it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WHt4DykxXaQnyaJfyS8KCn
2026-09-04 16:14:21 +09:00
mikkeli 728cce5e97 chore: scaffold Kolmekivi from nih-plug-template
A stereo delay/echo plugin. Scaffolded rather than forked: the template
and the plugins built from it diverge on branding immediately, so they
share code by file copy — as codename-206 does — not by merge base. This
repo starts its own history.

Branded with tools/brand-plugin.sh. Everything derives from PLUGIN_NAME
("Kolmekivi" -> kolmekivi / Kolmekivi / KolmekiviParams), so no override
is pinned. CODENAME is set to the repo name and, by convention, stays
there even if the plugin is later renamed.

Two identity constants are now frozen and must never move, because hosts
key saved projects and presets off them:

    CLAP_ID        org.novoyuuparosk.kolmekivi
    VST3_CLASS_ID  KolmekiviDelay!!            (exactly 16 bytes)

Host categorisation is set for a delay rather than left at the template's
generic placeholders — ClapFeature::{AudioEffect,Delay,Stereo} and
Vst3SubCategory::{Fx,Delay}. These decide where the plugin appears in a
host's browser and are not covered by the branding checker, which knows
about names rather than categories.

The DSP is not written. src/lib.rs still carries the template's example
gain parameter, so the plugin builds, bundles and loads while the delay is
implemented.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WHt4DykxXaQnyaJfyS8KCn
2026-09-04 16:09:53 +09:00