Repository navigation
Releases: vkfolio/tonefold
Release list
Tonefold 1.4.0
FLVSTX is now Tonefold: a standalone composer app first, with the CLAP/VST3 plugin as an optional
add-on for DAWs. It is open source under GPL-3.0-or-later, and it runs on macOS as well as Windows.
macOS
- A universal app for Apple Silicon and Intel Macs (macOS 11+), shipped as a
.dmgwith the
optional CLAP and VST3 plugins beside it. - Fixed the editor drawing at half size in a corner of the window on Retina displays.
- The composer finds Node.js from Homebrew or nvm even when Tonefold is opened from the Finder, and
installs its own dependencies on the first chat message. - Data lives in
~/Library/Application Support/Tonefold.
Everywhere
- The installer installs the app by default, with no administrator prompt. Add
-Pluginsfor the
CLAP and VST3 (one UAC prompt). The FL Studio piano-roll script is added only when FL Studio is
installed. - New name everywhere: the plugin (
Tonefold.clap,Tonefold.vst3), the app, the CLI
(tonefold-cli), the crates (tonefold-*), the FL piano-roll script and the external-AI skill
(tonefold-song). - Projects that used FLVSTX need Tonefold inserted in its place: the plugin IDs changed with the
name, so FL Studio treats it as a different plugin. - The installer carries
%LOCALAPPDATA%\FLVSTX(soundfont, exports) over to
%LOCALAPPDATA%\Tonefoldand removes the old shortcut, script and skill. Run with-Plugins,
it also removes the old FLVSTX plugin files. - Settings are now
TONEFOLD_*environment variables; the oldFLVSTX_*names still work. agent/package-lock.jsonis committed, sonpm ciworks from a fresh clone.- Release packages now include the GeneralUser GS soundfont instead of downloading it from its
author's repository, as the author asks. - The editor opens at 1280×800, which fits a 13-inch laptop screen.
- Contributor docs, issue templates, CI on macOS and Windows, and a release workflow that builds
both downloads.
FLVSTX 1.3.1 — Think for Claude too
The Think box beside the model picker now works for Claude as well as Ollama. Claude thinks
adaptively by default (it decides how much); untick it for faster, cheaper simple requests.
A local Ollama model stays off unless asked. Each provider remembers its own setting, saved
with the project.
Changing it for Claude restarts the composer session the way a model change does; for Ollama
it applies to the next message.
Install
Unzip, then run scripts\install.ps1. Node 22 is needed for the chat composer; Claude Code login
for Claude, or a running Ollama for local models.
FLVSTX 1.3.0 — Ollama
Compose on an Ollama model — the one on this PC or one across the room — instead of Claude.
Ollama
Pick Ollama beside Claude in the chat header, type the server URL (http://localhost:11434
is the Ollama on this PC; another machine works if Ollama there runs with OLLAMA_HOST=0.0.0.0),
and choose a model from the list the server reports. ↻ re-asks after an ollama pull. The
choice is saved with the project, and Claude keeps its own conversation, so switching back resumes
where it left off. No cost is shown for local turns: nothing leaves your machine.
Think lets a thinking model reason before it answers. Off by default — on a small GPU it is
minutes of deliberation before the first tool call — and when it is on, the reasoning streams into
the transcript and collapses once the answer arrives. Claude's thinking summaries show the same way.
Terminal chat: /ollama [URL], /models, /model NAME, /think on|off, /claude.
What to expect: pick a model with tool calling (ollama show NAME lists tools); every turn carries
about 10k tokens of brief and tool schemas, so very small models lose the thread and a model that
does not fit your GPU crawls on the CPU. On an 8 GB card a 27B model is a multi-minute turn; an 8B
one (ollama pull qwen3:8b) is well under a minute. Producer mode runs on Ollama too, with the same
checklist catching a specialist that skips a step.
Under the hood the sidecar hosts a small bridge onto Ollama's native chat API rather than its
Anthropic-compatible endpoint, which cannot set the context window and truncated the composer's
brief to 2048 tokens. FLVSTX_OLLAMA_NUM_CTX (default 16384, capped at the model's limit),
FLVSTX_OLLAMA_URL, FLVSTX_PROVIDER=ollama and FLVSTX_OLLAMA_THINK=1 set the sidecar's defaults.
Install
Unzip, then run scripts\install.ps1. Node 22 is needed for the chat composer; Claude Code login
for Claude, or a running Ollama for local models.
FLVSTX 1.2.0 — the producer
A producer that plans the work, asks before it writes, and hands each part to a specialist.
Producer mode
Pick Producer beside Composer in the chat panel. It reads the session, then shows a plan —
key, tempo, form, and per step the exact layer@section it will write — and changes nothing until
you answer: Approve, Revise (whatever you have typed goes back as the note and it re-plans
in the same turn), or Stop.
Once approved, each step goes to a specialist whose whole context is that craft:
| specialist | writes |
|---|---|
| harmony & form | key, tempo, sections, progressions, chords, pad |
| melody & topline | melody, counter_melody, the vocal harmony line, lyrics |
| rhythm section | drums, percussion, bass, sub — written together |
| arrangement & mix | the roster, instruments, presence, energy, feel |
The rules are enforced by the host, not asked for in a prompt: nothing writes before you approve,
and no specialist writes outside its own layers. Asked for a bass line, the harmony specialist is
refused and hands the intended notes back to the producer instead of faking one somewhere else.
- Progress you can trust. The checklist and
verify_stepboth read a ledger of writes that
actually landed, with the agent that made each one. Reads do not count, so a step cannot report
done on work nobody did. - Revert this run. Approving takes a checkpoint first: a run makes far more changes than undo
can hold, and one button puts it all back. - Cost is shown, never capped. The model picker governs the whole run, specialists included.
Composer mode is unchanged for quick single-layer edits, and Ask AI now sits beside Suggest
on each layer.
Install
Unzip anywhere and run scripts\install.ps1 (one UAC prompt for the plugin folders; everything
else goes under %LOCALAPPDATA%\FLVSTX). Node.js 20+ is needed only for the chat composer.
Full notes in CHANGELOG.md.
FLVSTX 1.1.0
A redesigned editor, and a piano roll you can actually navigate.
Look and layout
- A shared navy and mint theme across the editor, a compact header, section cards, and instrument
cards that preview their notes. - Composition and playback controls are separated rather than sharing one bar; toolbars wrap and the
sections and arrangement views scroll, so nothing is cut off at small window sizes. - Larger controls throughout, and the restored UI scale now also applies to the piano-roll rows at
startup rather than only after a change.
Piano roll
- Pan mode, middle-mouse panning, visible time and pitch scrollbars, and independent zoom for each
axis. Navigation is bounded, and pitch rows stay aligned while scrolling. - Notes are framed automatically when you switch section or layer, and are labelled; Fit notes
resets both axes and uses the full grid width. - Compact inline help instead of a wall of text.
Composer panel
- Collapsible, with a pinned message input, starter ideas, and quick actions you can edit before
sending. - Consecutive tool calls collapse into one expandable activity entry, and message roles and session
updates read more clearly.
Fixes
- The standalone's delayed autosave could lose the final edit after a burst of changes.
- Stop now requests all-notes-off; Undo and Redo reflect the history that actually exists;
alternative takes only appear for the layer they belong to.
Development
- A reproducible render of the real egui geometry, for visual QA of the editor.