From a1b9d5340ebcb665fda4600d77580f3341c10efd Mon Sep 17 00:00:00 2001 From: AlphaNeon <102443376+ItsAlphaNeon@users.noreply.github.com> Date: Sun, 8 Nov 2026 17:30:33 -0700 Subject: [PATCH] Docs: correct what the parity audit found overstated README, status and the alpha checklist are checked against an audit of the code (2026-11-08). Step sequencing, the piano roll and song arrangement are partial, not done; the event editor, knob menus, settings and export interpolation are described as they work. JACK, ASIO output pairs, multi-core mixing, Patcher slots and FL 10 projects no longer read as missing. The checklist gets a section for the bugs the audit found, waiting on a decision about the alpha. Co-Authored-By: Claude Opus 5.5 --- README.md | 36 +++++++++++---------- docs/alpha-checklist.md | 35 +++++++++++++++++--- docs/status.md | 71 ++++++++++++++++++++++++++--------------- 3 files changed, 95 insertions(+), 47 deletions(-) diff --git a/README.md b/README.md index dfc07606..ad2f9dca 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,8 @@ CLAP, VST3 and VST2 plugins. Lemon Studio runs on Windows, Linux and macOS, and every change is built and tested on all three. macOS is supported at the same level as Linux; the few differences are listed in the [macOS notes](#macos). -A central goal is **interoperability**: Lemon Studio opens and saves FL Studio projects (`.flp`). The +A central goal is **interoperability**: Lemon Studio opens FL Studio projects (`.flp`) and saves them as `.lemon` +files, its own format laid out like an FLP (a `.flp` is written only if you pick "All files" and type the name). The project reader is built to round-trip: anything in a file that Lemon Studio does not understand yet is kept and written back unchanged, so a project survives being opened and saved. This support is still young, so read the warning below before trying it on real work. @@ -56,7 +57,8 @@ young, so read the warning below before trying it on real work. > expect missing features, rough edges and breaking changes. > > - **Greyed-out controls are not implemented yet.** Many menus and buttons are already laid out but do -> nothing so far; they are drawn dim and say "not available yet". +> nothing so far; they are drawn dim and say "not available yet". Other features of a full DAW have no control +> at all yet, so a menu with nothing greyed in it is not necessarily complete. > - **No prebuilt binaries** will be published until Lemon Studio reaches a usable state. Until then it > can only be built from source. > - **Projects saved by FL Studio 10 or later open** (25 and 26 included). Projects older than 24.2 are @@ -71,28 +73,28 @@ Where Lemon Studio stands against what a complete DAW offers: | Area | Status | Notes | |---|:---:|---| -| Step sequencing and patterns | ✅ | Channel rack with steps, mini piano rolls, swing and per-channel loops | -| Piano roll | ✅ | Full tool set, velocity and event lanes, quantize (FL's templates), chop (FL's patterns), randomize (melodies and levels), strum, arpeggiate, flam, claw machine, flip, level scaling, limit, LFO and more | -| Song arrangement | ✅ | Playlist with pattern, audio and automation clips, clip groups, markers and several arrangements | -| Mixing and routing | ✅ | Mixer tracks, sends, effect slots and meters; sidechain inputs for a project's Fruity Limiter slots and for CLAP and VST3 effects | -| Plugin hosting | ✅ | CLAP, VST3 and VST2 instruments and effects with their editors; "Create automation clip" in CLAP and VST3 plugins' own parameter menus; a parameter menu for every plugin parameter (automation clips, controller links, typed and set values); on Windows a crashing plugin is stopped instead of closing Lemon Studio; no 32-bit plugins | +| Step sequencing and patterns | 🚧 | Channel rack with steps, mini piano rolls, swing and per-channel loops. Not yet: a layer channel's settings (it plays, with volume and pan), the Misc tab's arpeggiator, echo delay, gate, time shift and tracking (drawn greyed) | +| Piano roll | 🚧 | All eight tools, velocity and event lanes, quantize (FL's templates), chop (FL's patterns), randomize (melodies and levels), strum, arpeggiate, flam, claw machine, flip, level scaling, limit, LFO and more. Not yet: note colours, slide and portamento toggles, Note Properties, scale and chord helpers, the piano roll's ▸ menu, release velocity (its lane edits a value nothing plays) | +| Song arrangement | 🚧 | Playlist with pattern, audio and automation clips, clip groups, markers and several arrangements. Not yet: a clip properties window with per-clip pitch, pan and reverse, audio clip chop and merge. The playlist's bars are always 4 beats, and Consolidate and Export all playlist tracks leave plugin instruments out | +| Mixing and routing | ✅ | Mixer tracks, sends, effect slots and meters; sidechain inputs for a project's Fruity Limiter and Vocodex slots and for CLAP and VST3 effects (not VST2). Not yet: the seven other mixer layouts, the track inspector | +| Plugin hosting | ✅ | CLAP, VST3 and VST2 instruments and effects with their editors; "Create automation clip" in CLAP and VST3 plugins' own parameter menus; a parameter menu for every plugin parameter (automation clips, controller links, typed and set values); a crashing plugin is stopped instead of closing Lemon Studio (on macOS, all but its editor); no 32-bit plugins; outputs past a plugin's main stereo pair are dropped | | Plugin management | ✅ | Plugin manager with your own search folders, a crash-safe background scan, favourites and hidden plugins; presets of your own and factory presets, import of `.vstpreset`, `.fxp` and `.fxb` files, and preset files dropped onto a plugin | | Time-stretching | ✅ | All twelve stretch methods for samples and audio clips, played by one open-source stretcher | -| Playback engine | 🚧 | Renders ahead of the audio device so edits do not cause dropouts; voice limits, cut groups, glides, layer channels; one audio thread for now | -| Automation | 🚧 | Clips for channel, mixer and plugin parameters with every curve shape, their range and their LFO; channel volume and pan moves record into a pattern; not yet recording into automation clips | -| Project files | 🚧 | Opens and saves projects from FL Studio 10 and later (older layouts are converted as they open). Keep backups | +| Playback engine | 🚧 | Renders ahead of the audio device so edits do not cause dropouts; voice limits, cut groups, glides, layer channels; multi-core mixing | +| Automation | 🚧 | Clips for channel, mixer and plugin parameters with every curve shape, their range and their LFO; channel, mixer, tempo and plugin controls record into a pattern, as in FL Studio, and Turn into automation clip makes a clip of them. Not yet: editing a clip's targets (a clip from ADD can't be linked to anything), making internal controller links in the app | +| Project files | 🚧 | Opens projects from FL Studio 10 and later (older layouts are converted as they open) and saves `.lemon` files. Keep backups | | Built-in instruments and effects | 🚧 | Instruments: Lemon Sampler (long samples can play straight from disk), Lemon Trio (three oscillators), Citrus (a six-operator synth that plays Sytrus patches), Smith (an additive synth that plays Ogun patches), Lemon Slicer (a loop cut into slices that plays Fruity Slicer channels) and Lemon Drum Sampler (32 pads of velocity-layered samples that plays FPC kits). Effects: Lemon Parametric EQ (all of FL's quality modes: HQ+, HQ Enhanced, linear phase), Limiter, Reverb, Delay, Chorus, Stereo Shaper, Stereo Enhancer, Balance, Soft Clipper, Fast Distortion, Transient Processor, Filter, Flanger and Phaser, plus Pulp Filter (a pattern-controlled multi-filter), Press (a multiband maximiser) and Lemon Drop (an oscilloscope, spectrum, meter and vectorscope that shows Wave Candy slots). All built in, and also VST3 and CLAP plugins for other DAWs; a project's Fruity Limiter slots play Lemon Limiter's sound, sidechain included | -| Exporting audio | ✅ | Song, pattern or selection to WAV, FLAC, MP3 and OGG at once; bit depth, sample rate, interpolation, dither, mono, tails, stems and WAV markers; a pattern rendered as an audio clip (Quick render, Render and replace) | -| MIDI file import / export | ✅ | Import into a new project, the open one or a piano roll channel (tracks, channels, tempo changes, time signatures, markers); export a pattern or the song's patterns | +| Exporting audio | ✅ | Song, pattern or selection to WAV, FLAC, MP3 and OGG at once; bit depth, sample rate, interpolation (not for Lemon Sampler channels, which keep their own), dither, mono, tails, stems and WAV markers; a pattern rendered as an audio clip (Quick render, Render and replace) | +| MIDI file import / export | ✅ | Import into a new project or the open one (tracks, channels, tempo changes, time signatures, markers) or a piano roll channel (notes and time signatures); export a pattern or the song's patterns | | Note input | 🚧 | Mouse, computer keyboard, MIDI controllers (velocity curves, sustain pedal, pitch bend, aftertouch) and the touch controller; note recording into patterns with loop record, precount and Start on input; step edit | -| MIDI controllers and sync | ✅ | Link any knob, fader or plugin parameter to a controller (or many at once with Multilink); MIDI clock and time code out, external clock in | -| Undo | 🚧 | One history for the whole project, with redo and the browser's History: edits, knobs and faders, the mixer, channels added and deleted, the tempo and project settings, and plugin parameters, those changed in their own windows too | +| MIDI controllers and sync | ✅ | Link knobs, faders and plugin parameters to a controller (or many at once with Multilink), kept for the whole program rather than per project; no device scripts or typed mapping formulas yet; MIDI clock and time code out, external clock in | +| Undo | 🚧 | One history for the whole project, with redo and the browser's History: edits, knobs and faders, the mixer, channels added and deleted, the tempo and project settings, and plugin parameters, those changed in their own windows too. Not yet: the channel rack's graph editor | | Scripting and assistants | 🚧 | Scripts, tests and AI assistants read and edit projects over a local socket, every change undoable; see [docs/control-plane.md](docs/control-plane.md) | -| Audio drivers | 🚧 | WASAPI (shared and exclusive) and ASIO® (output, and inputs for audio recording) on Windows, ALSA (and PipeWire / PulseAudio through it) on Linux, Core Audio on macOS; no JACK yet | +| Audio drivers | 🚧 | WASAPI (shared and exclusive) and ASIO® (output pairs, and inputs for audio recording) on Windows; the sound server (PulseAudio, or PipeWire through it), ALSA or JACK (written, not yet tried against a running server) on Linux; Core Audio on macOS | | Platforms | 🚧 | Windows 10 / 11, Linux (X11, and Wayland through XWayland) and macOS 11 or newer; macOS is supported at the same level as Linux | | Look and themes | 🚧 | Lemon and Citrus (formerly Classic) skins; 25 built-in themes, your own themes and `.flstheme` files colour either skin, with live adjustments and a colour picker; Lemon plugin editors in the Lemon design only | -| Settings | 🚧 | Every page works: MIDI, Audio, Recording, General, File, Plugins, Theme, Project and Info | -| Audio recording | 🚧 | Armed mixer tracks record into the playlist at their record source; one-click audio recording into the playlist or the audio editor, from ASIO or system inputs; Tesla records what reaches its mixer slot | +| Settings | 🚧 | Every page is there: MIDI, Audio, Recording, General, File, Plugins, Theme, Project and Info. About 14 controls are still greyed, and 11 are saved but nothing reads them yet | +| Audio recording | 🚧 | Armed mixer tracks record into the playlist at their record source; one-click audio recording into the playlist or the audio editor, from ASIO or system inputs; Tesla records what reaches its mixer slot. Not yet: loop-record passes for audio, take lanes | | Audio editing | ✅ | Tesla, the audio editor and recorder after FL's Edison: a mixer effect (and VST3 / CLAP plugin) with markers, regions, destructive edits and tools; a project's Edison slots open in it | | Plugin delay compensation | 🚧 | Plugins' reported delays and the mixer tracks' latency settings, in playback and exports; the settings are edited from the mixer | diff --git a/docs/alpha-checklist.md b/docs/alpha-checklist.md index 531b4c89..03126146 100644 --- a/docs/alpha-checklist.md +++ b/docs/alpha-checklist.md @@ -20,8 +20,9 @@ Systems a fully functional DAW can't ship without. mixer menu's Arm and Disarm selected track(s) and Disk recording ▸ Auto-create audio clips work - [x] **Input monitoring.** A track's input plays through it while it is armed, or always, per its Monitor external input setting (Off / When armed / On), also while stopped (#182) -- [x] **Automation recording into clips.** Every automatable control records into the pattern, as in the original, - and patterns play those points; the event editor's Turn into automation clip makes a clip of them +- [x] **Automation recording.** Channel, mixer, tempo and plugin controls record into the pattern, as in the original, + which records nothing into clips either, and patterns play those points; the event editor's Turn into automation clip + makes a clip of them. Not recorded yet: send levels, the swing knob, the rack's mixer box and LED, the pitch knobs - [x] **Automation clip LFO and min / range.** The clip channel's MIN / MAX knobs set its range and its LFO (switch, mode, amount, speed, tension, skew, pulse width, its own envelope) plays as the original's, in the clip's channel window; files keep every LFO field @@ -100,7 +101,8 @@ Greyed-out controls and partial features. These can land alongside the blockers. - [x] **Undo for a plugin editor's own changes.** Parameters moved in a plugin's window and presets loaded from its title bar or dropped on it are one step each; a preset's undo brings back the state, the preset and the name - [x] **Undo for mixer track commands.** Routing, names, colours, resets, effect slots, audio input / output and - latency settings, adding, moving, deleting and trimming tracks. Mute and solo make no step, as in FL Studio + latency settings, adding, moving, deleting and trimming tracks. Mute and solo make no step (FL Studio's change log + says it gave them undo in 24.2; not measured) - [x] **Undo for the remaining edits.** A generator inserted higher up the rack, Replace, project info and the timebase are each one step - [x] **Mixer right-click menus.** None greyed out but Compensate for master latency, greyed in the original too @@ -112,10 +114,13 @@ Greyed-out controls and partial features. These can land alongside the blockers. native window of its own), and last Assign to new / Unassign from Audio track(s) and Select ▸ Channels and playlist tracks routed to this track (audio tracks, [track_links.rs](../crates/os-app/src/track_links.rs)) were enabled. Scaling ▸ is greyed for a slot without a hosted plugin, "(no saved states)" when none is saved. Not counted: the - layout combo's seven other layouts ([mixer.rs](../crates/os-app/src/mixer.rs)) + layout combo's seven other layouts ([mixer.rs](../crates/os-app/src/mixer.rs)). Still greyed as of 2026-11-08: the + latency menus' Adjust position of recorded audio, Set from, Delay audio output and Bypass track latency compensation, + and Override global mapping... on the mixer knobs - [x] **Playlist right-click menus.** None greyed out since 2026-10-30: the last five, the picker's Change icon and the plugin window's Link all parameters..., Change icon..., Save channel state as... and Browse channel states, work - as Lemon Studio's design (Change icon is kept for the session only) + as Lemon Studio's design (Change icon is kept for the session only). This counts greyed entries only: entries of the + original that Lemon Studio does not have are left out of these menus ([playlist.rs](../crates/os-app/src/playlist.rs), [channel_states.rs](../crates/os-app/src/channel_states.rs)) - [x] **Channel rack right-click menus.** 6 of the rack's own entries greyed out on 2026-11-02, counted entry by entry after 29 more were enabled (Receive notes from ▸ Unlock and Computer keyboard, Switch auto-bypass for all @@ -190,6 +195,26 @@ Greyed-out controls and partial features. These can land alongside the blockers. - [x] **ASIO output pairs.** Every track has an output menu with the pairs of the driver's first 16 outputs, and the master plays on the pair chosen for it (#182) +## Found by the parity audit + +Found on 2026-11-08 by an audit of the code against FL Studio 26.1.7. They wait on a decision about whether they hold up +the alpha; the larger gaps it found are on the roadmap. + +- [ ] **Consolidate and Export all playlist tracks leave out plugins.** Both render without hosted instruments and + effects, so plugin channels come out silent; Consolidate still mutes the source clips + ([playlist.rs](../crates/os-app/src/playlist.rs)) +- [ ] **The playlist's bars are always 4 beats.** Its bars, ruler and Bar snap ignore the project's time signature and + time signature markers +- [ ] **Menus show keys that do something else.** The playlist's ▸ Select menu (Ctrl+Enter, Shift+C), the mixer track + menu (Ctrl+E, Shift+E) and PATTERNS Clone (Shift+Ctrl+C, which has no handler) +- [ ] **New or cloned channels vanish under a group filter.** They join no group, so they stay hidden until the filter + changes +- [ ] **ADD ▸ Automation clip can't be linked.** Nothing in the app can give the new clip a target, so it drives nothing +- [ ] **FL plugins with no Lemon version aren't reported.** Their channels play silent and their slots pass dry, but the + missing-files box doesn't list them +- [ ] **Export's Resampling choice doesn't reach Lemon Sampler channels.** Only the engine's own voices and the + converter after the mix use it + ## After the alpha Left out of the alpha on 2026-11-02; each stays open here until it is done. diff --git a/docs/status.md b/docs/status.md index df01d17a..202e8bf7 100644 --- a/docs/status.md +++ b/docs/status.md @@ -2,13 +2,19 @@ The details behind the [Capabilities](../README.md#capabilities) table, area by area. Controls for anything that is not implemented yet are greyed out in the application: hovering one says "not available yet", and -clicking it does nothing. The full, item-by-item roadmap lives on the +clicking it does nothing. Not everything missing has a control: many features of FL Studio are simply absent from the +menus, and a few controls look live but change nothing heard (the Release lanes of the piano roll and the graph +editor, the rack's Loop step channels / Loop all channels). The full, item-by-item roadmap lives on the [Discord server](https://discord.gg/yC2uCuGs3M). ✅ usable · 🚧 partial · ❌ not available yet -## ✅ Step sequencing and patterns +## 🚧 Step sequencing and patterns +- Not yet: a layer channel's settings beyond volume and pan (Set and Show children, Random, Crossfade, Sequential); the + Misc tab's arpeggiator, echo delay, gate, time shift, tracking and Full porta (greyed); the graph editor's Ctrl, right + and Alt gestures and its undo step; filter groups for patterns. A new or cloned channel joins no group, so it is hidden + while a group filter is on - Channel rack with steps and mini piano rolls - Swing and per-channel loops - ADD ▸ Layer: a layer channel whose children are the channels selected in the rack; the rack's Create layer with @@ -57,9 +63,12 @@ clicking it does nothing. The full, item-by-item roadmap lives on the pattern clips. One undo step each. Render as audio clip... opens the Export form on the pattern first (folder, name, format and the other choices), then makes the channel the same way -## ✅ Piano roll +## 🚧 Piano roll -- Full tool set, with velocity and event lanes +- Not yet: the ▸ options menu, Note properties, Scale and chord helpers and Paint drum (greyed on the toolbar); note + colours (the tab is greyed); toggles for slide and portamento notes (an opt-in hold gesture makes them); Riff machine, + Articulate and scripts; selecting by note group; a sound for the Release lane (the engine reads no release velocity) +- All eight tools, with velocity and event lanes - Quantize (FL's templates and Snap grids, sensitivity, four duration modes, levels), chop (FL's patterns, tied rows, levels, groups), glue, legato, strum, arpeggiate, flam, claw machine (trash, stretch, time distribution), flip, scale levels, limit (key / scale, range, transpose), LFO (sine, triangle or square into any event lane, Start to End ramps, a channel lane's control points) @@ -71,8 +80,13 @@ clicking it does nothing. The full, item-by-item roadmap lives on the written at the song position a chord at a time, one main-snap step long, and the position moves on a step; in SONG mode they go where the current pattern plays at the song position -## ✅ Song arrangement +## 🚧 Song arrangement +- Not yet: a clip properties window, per-clip pitch, pan and reverse, chop and merge, Make unique for audio and + automation clips, fade and gain right-click menus, per-track height. The playlist's bars, ruler and Bar snap are + always 4 beats, whatever the time signature or time signature markers say. Consolidate and Export all playlist tracks + render without hosted instruments and effects, so plugin channels come out silent (Consolidate still mutes the source + clips) - Playlist with pattern, audio and automation clips - Clip groups, markers and several arrangements - Time markers with FL's actions (right-click a marker): Start, Loop, Marker loop, Marker skip and Marker pause @@ -174,7 +188,8 @@ clicking it does nothing. The full, item-by-item roadmap lives on the the slot's own switch and mix stay the slot's (a slot whose mix a clip drives keeps it, its effect starting at wet 100 %). A member window's menu sets the effect's own name, colour, icon and CPU switches (Auto-bypass when silent passes a silent effect by), one undo step each, shown in the container's window and the effect's window title and - saved with the container. Not yet: the original's Patcher slots in imported projects + saved with the container. A project's Patcher slots open as containers when the patch is one plain serial chain of + effects; other patches are kept and pass dry - Instrument containers: the channel rack menu's Wrap in container (the original's Patcherize) moves a plugin channel's instrument, with its state, into a container on the channel, one undo step. The channel stays a channel (its name, steps, piano roll, mixer track, volume and pan); the container plays its notes through its plugins in @@ -225,7 +240,7 @@ clicking it does nothing. The full, item-by-item roadmap lives on the - Favourites and hidden plugins - The browser's Favorites: right-click a file or a plugin ▸ Favorite; favorite rows show a star, and the Favorites tab lists favorite plugins, then files. A plugin's favorite is its plugin-manager star, also toggled by "Add to - plugin database (flag as favorite)" in plugin windows and mixer slots + favourites" in plugin windows and mixer slots - The browser's Plugin database: plugins by category, and by format under Installed; ADD ▸ Browse all installed plugins / Browse presets and the mixer's Plugin database entry open it - Browser find (Ctrl+F): search finds files anywhere below the dropped folders and the data folder through a @@ -238,8 +253,8 @@ clicking it does nothing. The full, item-by-item roadmap lives on the own plugins), stepped with the arrows or the wheel; Save preset as..., Rename, Delete and Browse presets - The mixer's slot menu lists the effect's presets and has Browse presets and Save preset as..., as its window menu does -- Spare state in plugin windows and mixer slots: Store in spare state, then Flip with spare state swaps the two to - compare them (one undo step; the spare state is kept while the plugin is open, not in the project). Display preset +- A/B compare in plugin windows and mixer slots: Copy to B, then Swap A / B swaps the two to + compare them (one undo step; B is kept while the plugin is open, not in the project). Display preset name in preset selector hides or shows the preset's name in the window - The plugin window's menu acts on its own channel (Piano roll, Delete..., Rename, color and icon..., Change color..., Random color) or effect slot (Replace ▸, Delete..., Rename, color and icon..., Change color..., Random color); an @@ -320,7 +335,6 @@ until let go (the tempo stays). Not yet: Sync, Mute and now (drawn greyed out), **Closing windows.** VIEW > Close all windows (F12), Close all unfocused windows (Ctrl+F12: all but the one in front) and Close all plugin windows (Alt+F12: channel settings and plugin editors); the browser stays. -Not yet: Align all channel editors. **Arranging windows.** VIEW > Arrange windows: Realign (Shift+Ctrl+H) and Desktop (default) put the Playlist, Mixer, Piano roll and Channel rack back as a new install has them; Desktop (alternate) floats the Playlist over the top of @@ -364,15 +378,16 @@ and Touch controller. Kept with the program's settings, not the project. Which w that tick; a channel switched off ends its sounding notes and starts no new ones until it is on again - A pattern's control points drive mixer volumes, pans, separation, equalisers, slot switches and mix levels, the tempo, the main swing and plugin parameters, besides the channel's own settings, its mixer track and switch - included (sends and the main pitch not yet) + included (sends not yet) - All thirteen curve shapes are walked exactly; values are taken one tick ahead and passed on only when they change - A clip's range (its channel's MIN and MAX knobs, minimum above maximum turning the curve upside down) and its LFO (on / off, multiply or add, amount, speed, tension, skew, pulse width, and its own envelope) shape what it hands on, in the original's arithmetic; the clip's channel window sets them, each change an undo step, and projects keep every LFO field -- The event editor (Edit events on a control's menu: channel volume, pan and pitch, the rack's swing knob, mixer box - and LED, mixer controls, the tempo, plugin parameters) shows the control's events in the selected pattern as its level over time, in the setting's own unit: left +- The event editor (Edit automation on a control's menu: channel volume and pan, the rack's swing knob, mixer box + and LED, a mixer track's fader, pan and equaliser, the tempo, plugin parameters; not stereo separation, slot mix, sends + or the main knobs) shows the control's events in the selected pattern as its level over time, in the setting's own unit: left drag draws freehand on the global snap, right drag a straight line, Paint (drawing off the snap), Erase, Interpolate (a drag lays the events under it on a straight line, right drag a smooth one), Select and Zoom (Z: a click zooms in about it, a drag on the stretch dragged over, a right click out) tools, the wheel scrolls and Ctrl+wheel zooms; its Edit menu has Cut, Copy, Paste, Select all, Select previous / next @@ -386,10 +401,13 @@ and Touch controller. Kept with the program's settings, not the project. Which w - Edit automation in a window, on the same menus, opens a second event editor window on that control, in front of the first, which keeps its control; a click on the one behind brings it in front, the editors share a clipboard, and closing one leaves the other (Lemon Studio's design) -- A knob's menu (channel volume and pan, mixer and main knobs): Edit automation clip... shows the clip that drives it, +- The channel rack's knob menus: Edit automation clip... shows the clip that drives it, as on a plugin parameter, and Set... puts it at its default, the minimum, 25, 50 or 75% or the maximum, each listed - with the knob's value there (one undo step) -- Not yet in the event editor: Auto smoothing, Center + with the knob's value there (one undo step). Mixer and toolbar knobs have a shorter menu without them +- Not yet in the event editor: Auto smoothing, Center, its File, View, Helpers, Snap, Target and Time markers menus, + Trim selection, Turn into automation clip's Sensitivity box, a detached window +- Not yet for clips: editing an automation clip's targets (ADD ▸ Automation clip makes a clip that can't be linked to + anything), and an automation entry on stereo separation, slot mix, sends, main volume and main pitch ## 🚧 Project files @@ -398,7 +416,8 @@ and Touch controller. Kept with the program's settings, not the project. Which w mixer's Plugin delay compensation ▸ Automatic and View ▸ checks, plugin windows' Scaling ▸, the channels' waveform preview and MIDI channel through checks, the plugins' keyboard focus, the playlist tracks' locks and the channels' Receive notes from ▸ locks; saving to a `.flp` name leaves them out). The original is not expected to open them -- Opens `.lemon` files and `.flp` projects saved by FL Studio 24.2 and later, 25 and 26 included. A project opened +- Opens `.lemon` files and `.flp` projects saved by FL Studio 10 and later, 25 and 26 included (older than 24.2: + converted to the current layout as they open). A project opened from an FLP is never saved over: Save asks for a name, offering the FLP's name with `.lemon`. Backups, new versions, templates and zipped projects are `.lemon` too; FLP backups and templates still open. General ▸ System ▸ Associate project files covers `.lemon` along with `.flp`. An opened FLP shows its channels' and mixer tracks' icons @@ -589,7 +608,8 @@ and Touch controller. Kept with the program's settings, not the project. Which w - Several formats at once: WAV (16 or 24-bit, 32-bit float), FLAC (16 or 24-bit, levels 0-8), MP3 and OGG Vorbis (64-320 kbps) - Sample rate (the device's, or 44.1-192 kHz by resampling the mix), stereo or mono (merged, left, right), - interpolation from 2-point linear to 512-point sinc, triangular dither on integer formats, plugins' HQ mode + interpolation from 2-point linear to 512-point sinc (for the engine's own voices and the converter after the mix; Lemon + Sampler channels keep their own), triangular dither on integer formats, plugins' HQ mode - Split mixer tracks into a stems folder (WAV and FLAC), with or without the master; insert and master effects can be left out - WAV files can carry markers, loop points, note markers and the tempo (`cue `, `smpl`, `acid` chunks) @@ -701,11 +721,12 @@ and Touch controller. Kept with the program's settings, not the project. Which w - WASAPI on Windows, in shared mode (with the shorter periods a device offers there, where Windows says) or exclusive mode (Settings > Audio ▸ Mode: Lemon Studio alone on the device, at its own rate and down to its smallest period); a device that refuses exclusive mode plays in shared mode, and the page says why -- ASIO® on Windows, output only: the installed drivers are in Settings > Audio's Output device list; the master plays - to the driver's first two outputs, and Show ASIO panel opens the driver's own settings +- ASIO® on Windows: the installed drivers are in Settings > Audio's Output device list; every track has an output menu + with the pairs of the driver's first 16 outputs, the master plays on the pair chosen for it, and Show ASIO panel opens + the driver's own settings - On Linux: the sound server (PulseAudio, or PipeWire through pipewire-pulse), ALSA directly, or JACK (Settings > Audio ▸ Mode ▸ JACK: a JACK client at the server's rate and buffer length, its ports connected to the system's; with no - JACK server running it plays as in shared mode) + JACK server running it plays as in shared mode; one stereo pair, not yet tried against a running server) - Core Audio on macOS - Output device, sample rate and buffer length in Settings > Audio - Auto close (Settings > Audio): the output closes while another program is in front, and a playing song pauses @@ -713,7 +734,6 @@ and Touch controller. Kept with the program's settings, not the project. Which w - A device that fails (unplugged, or a driver asking to be reset) is opened again; an ASIO driver that does not open gives way to the default device - An ASIO driver's first 8 inputs open with its outputs (full duplex) for audio recording -- Not yet: ASIO output pairs, JACK ASIO Compatible logo @@ -739,9 +759,10 @@ ASIO is a registered trademark of Steinberg Media Technologies GmbH. ## 🚧 Settings -- Every page works: MIDI, Audio, Recording, General, File, Plugins, Theme, Project and Info. The controls that are not greyed out act, but for - a few that are only kept for now (Resampling quality and others Lemon Studio has nothing to change - with yet); the program's choices are kept in `settings.txt` in the user folder +- Every page is there: MIDI, Audio, Recording, General, File, Plugins, Theme, Project and Info. About 14 controls are + still greyed (Mix in buffer switch, Triple buffer, Priority, Safe overloads, Playback tracking, Language, External + tools, Troubleshooting and others), and 11 are only kept for now, with nothing reading them (Resampling quality, Align + tick lengths and others); the program's choices are kept in `settings.txt` in the user folder - General ▸ Input ▸ Manage shortcuts: the F8 keys (browser, plugin picker, plugin database) and the audio clip double-click can be swapped - File ▸ Browser extra search folders: the folders added to the browser, renamed or replaced from here