WiseTracker / WiseTrax -- Changelog

All notable user-facing changes. Newest first.

## [0.3.1] - 2026-07-17 - Public Beta

### Added
- **Record what you play, live, straight into the grid.** A new **REC** button sits next to Play in the transport. Arm it, press play, and every note from your MIDI keyboard lands in the pattern as it passes -- with its velocity, on the pattern that's actually playing. Hold a chord and the notes fan out across the track's lanes so each one keeps its own place; let go of a key and the note-off is written at the row you released it, so a take keeps its real timing and lengths. Armed but stopped (with Edit Mode on) it step-records instead: each key you press writes a note and moves down a row. The button tells you where you are at a glance -- a hollow ring when idle, a red frame when armed, a solid dot while recording -- and disarming clears anything still in flight. What gets recorded is set behind the REC caret (Voices, Quantize, Note release).
- **See the chord you're playing while you record.** Hold notes down during a live take and a pill names the chord you're playing (C, Am7, C/E...), so you can see what you just reached for. It sits at a fixed spot near the middle of the grid, so it stays readable while the grid scrolls under it.
- **Insert and Delete row now only push the lane you're on -- and you choose the scope.** Insert used to shove every track in the pattern down a row. It now works on your cursor's lane by default, so you can open a gap in one voice without moving everything else. A new **Ins:** chip in the arrangement bar sets the scope: **Lane** (the default), **Track** (all of that track's lanes), or **All** (the whole pattern -- the old behaviour). Right-click the chip for the menu, or drag it / Alt+scroll it to cycle. A block selection always wins: Insert and Delete work on the selected columns instead. Your pick is remembered, and it's one Ctrl+Z either way.
- **Choose how chord names are spelled.** Settings > Tracker Grid now has **Chord names**: **Standard** writes the short lead-sheet symbols (C, Cm7, Cmaj7, C/E) and is the default, or pick **Friendly** to spell them out ("C major", "C minor 7", "C major over E"). It changes both the live-record pill and the Shift-chord readout, and it only changes the wording -- never the notes you recorded.
- **Set quantize straight from the Q: readout.** The Q: in the grid's footer is now a button -- click it (either mouse button) for the same Off / 2 / 4 / 8 choices as the REC options menu. Both places set the one value, so changing it in either updates the other, and the keyboard cycle.
- **The small waveform above the grid now zooms and pans.** The mini waveform in the collapsed SAMPLES panel used to show the whole sample and nothing else. Now the wheel zooms in around the pointer and Shift+wheel slides along. Once you're zoomed, a bar appears under the wave showing the whole sample with your view marked on it -- drag it to move, drag its edges to zoom, click to jump, double-click to fit the whole sample back in view. It's the same zoom the big sampler has, so you can work on a detail without opening the full view.
- **Draw a loop in one stroke, or make one from a selection.** Hold Alt and drag across a waveform to lay down a loop's start and end in a single gesture -- from nothing, or straight over an existing loop -- with Shift for fine control. It's one Ctrl+Z. If you'd rather select first, drag out a range and pick **Set loop to selection** from the right-click menu (or find it in Ctrl+P) to turn that range into the loop. Both work on the big sampler and the small waveform above the grid.
- **A quick-help popup for the sampler.** The sampler view's sub-tab row has a new **(?)** button that opens a topic-by-topic guide to the waveform editor -- Play, Loop, Select and View, plus the toolbar tools, the sub-tabs and Send to Grid. The collapsed sampler has its own **(?)** in the SAMPLES panel header, showing just the four waveform gestures. Click a topic on the left to switch; Esc closes. Same popup as the step grid's **(?)**.
- **Set a sample to follow the keyboard or stay fixed, right in the instrument panel.** A new **Fixed one-shot / Track key** toggle sits under the Pitch/Fine row: **Track key** follows the keyboard (melodic sounds play higher or lower from the Root), **Fixed one-shot** plays one pitch on every key (drums and one-shots). It's one undo, and flipping it here, in the keyzones menu, or from Ctrl+P all stay in sync -- the panel no longer shows a stale setting.
- **The instrument panel shows a sample's auto-detected fine tune.** The effective tune (your Pitch/Fine plus any fine tuning that was auto-detected) now shows as a small readout by the Pitch/Fine row, with an amber "+N auto" tag when a fine tune was detected -- so an auto-tuned sample no longer reads "+0" while playing slightly off pitch. (The Pitch/Fine boxes still edit exactly as before.)
- **The instrument panel's "Used in" now opens a full usage breakdown on hover.** Hover the "Used in" cell to see, for the selected instrument: how many patterns play it, how many placements that is in the arrangement (counting reuse), **where it spans in the song** (the first and last slot it plays in, using the same slot numbers the sequence strip shows), the total notes, how many tracks it's on, and its note range. Together the placements count and the span tell you whether a sound is a backbone or just bookends. The headline count stays in the cell; the rest is on hover, and it all updates live as you edit.
- **Hover help on the small waveform above the grid.** Moving over the mini waveform now shows what each gesture does (click to audition, drag to select, Alt+drag to draw a loop, right-click for the menu, wheel to zoom) and names the loop caps and selection edges.
- **The big sampler and the small one are now the same editor -- so the big one gained everything the small one had.** The main sampler waveform now shows stereo samples as two lanes (left on top, right below), and it picks up all the gestures the mini already had: drag to select a range, Alt+drag to draw a loop in one stroke, "Set loop to selection" and Send to Grid in the right-click menu, plus the hover chip (time + the 9xx/Oxx offset to type, with a hold-to-expand detail card) and the cursor-row offset marker. One waveform, two sizes -- they can't drift apart anymore.
- **Favourites -- pin the moves you use all day, and fire them with Alt+1-9.** Press **Ctrl+F** on any command in the palette (or click its star) to pin it. A gold *** Favourites** chip appears -- Tab to it or click for a view of just your pins, and searching inside it filters to your pins only. Your first nine get a gold **1-9** badge, and **Alt+1 ... Alt+9** runs them from anywhere in the app -- you don't need the palette open, and it works while your DAW has the plugin focused. Reorder with **Ctrl+Shift+Up/Down** and the slot number follows, so you choose what's 1, 2, 3. A "clear" link empties them (it asks first). Pins are saved and survive restarts.
- **You can drive the dialogs from the keyboard.** Tabbing through a dialog or a value picker now draws a clear accent ring around the focused button, chip or dropdown, so you always know where you are and what Enter will do -- readable in every theme, and the same ring everywhere. The little multi-choice toggles (Whole song / Loop range / Current pattern, or WAV / FLAC / OGG in the Export dialog) can be Tabbed to and switched with the Left/Right arrows too, not just clicked.
- **Command palette -- press Ctrl+P to find and run anything by name.** A new palette (**Ctrl+P**, or Menu > Command palette...) searches every action, setting and help page and runs it on Enter. It's fuzzy, so type just the letters you remember -- "imp" finds Import module, "und" finds Undo -- and the letters that matched light up. Each row shows its keyboard shortcut, so it teaches you the keys as you go, and anything that can't run right now sits dimmed with a short line saying why, instead of silently doing nothing. Open it without typing and it's a browsable index instead of a search box: rows grouped under headers, a **Recent** group at the top (kept between sessions), and a chip row to narrow to one area -- including a **No shortcut** chip for the actions that have no key of their own. It reaches the whole app: the sampler and every sample edit, instruments, keyzones, loops, the transport and its record options, the pattern grid, the arrangement, the rhythm panel, the step sequencer, every setting (all four themes included), and every help page. Two things it brings that nothing else could: **Panic - stop everything**, which instantly silences every note including previews and stuck ones (there was no panic before this), and typed **loop start / end** points, which can create a loop from scratch where dragging can't.
- **The sampler's three waveforms now always stay in step.** The big waveform, the small one in the collapsed panel, and the thumbnail in the instrument panel now update together for every edit and every undo/redo -- no matter which one you started from. (Before, some edits or undos updated one but not the others.)
- **The sampler is now a focused fullscreen view.** Opening the sampler folds the RHYTHM and TRACKER sections away so it fills the whole middle area -- no more cramped coexistence. Leaving it (fold the sampler, unfold a section, or Ctrl+P > "Back to tracker / grid view") brings your layout back, and the tracker grid always returns anchored to the bottom of the window.
- **Retrospective Capture: grab what you just played, after the fact.** WiseTrax keeps a rolling buffer of the last few minutes of MIDI you play -- even stopped, even with REC off -- so you never lose a good take by forgetting to hit record. The new **CAP** control in the transport lights up while you play and shows how many takes are waiting. Click its caret for a flyout that lists your recent takes (each with a little piano-roll, how long ago you played it, its length and note count, and a chord tag) and drop one in: **At cursor** -- **Merge** into free lanes (never overwrites) or **Overwrite** what's there (one Ctrl+Z undoes it) -- or into a **New pattern** sized to the take. A slider sets how much silence starts a new take (in beats; drag it and the list re-groups live), and that same gap is how long the CAP light lingers after your last note. A **clear** link empties the buffer when you want a clean slate -- it asks once before it wipes. Switch the buffer on or off in Settings > "Keep a capture buffer". Quick keys: **Ctrl+Shift+K** grabs the newest take at your cursor, **Ctrl+Shift+Alt+K** into a new pattern.
- **Hear a capture take before you commit it.** In the CAP flyout, click the green play button on any take (or press Space on the selected one) to audition it -- it plays back at your song tempo, with a playhead sweeping the mini-roll. You hear exactly what dropping it in would give you (with Quantize on, you hear the snap). A **"Preview through"** box picks the sound: "As recorded" plays each note on the instrument you played it with, or choose any instrument in the song to hear the whole take through one sound. One take plays at a time, and it stops the moment you close the flyout or capture.
- **Note-off is now two separate settings -- one for typing, one for the MIDI keyboard.** How a note ends when you release the key is set independently for each way of playing, because they want opposite defaults. **Note release (typing)** -- the small toggle in the arrangement bar -- stays **off** by default (the classic tracker way: you type notes in step by step and place note-offs yourself). **Note release (MIDI keyboard)** -- in the REC options menu -- defaults to **on** (a played performance keeps how long you held each note). Both sit next to each other in Settings, each clearly labelled.
- **Recording held or overlapping notes now fans them across lanes.** Hold a note and play the next before releasing the first, and the new note lands in its own lane so both keep ringing -- instead of the later note reusing the lane and cutting the held one short. Applies to live MIDI recording and to Capture. Notes that don't overlap stay in one lane, so normal step-typing is unchanged. (Mono mode keeps everything in one lane, as before.)
- **There's a master volume now -- the meter is the fader.** WiseTrax has never had a way to turn itself down; it played at full, always. Drag left or right across the little level meter in the top bar to set how loud you hear it, scroll the wheel over it to nudge, double-click to go back to full. It looks exactly as it did before until you go near it: hover and a level track and a dB number fade in, and once you're below full they stay put, so a turned-down master is never a silent surprise. The bars follow what you actually hear, so you can watch it work. Turn it all the way down and the meter goes red and reads **MUTED** with a slow pulse -- because still bars should read as "you muted this", not "this is broken". **Ctrl+P** has both "Set master volume..." for an exact 0-100% and "Mute / unmute master volume", which hands your old level back when you unmute. Your level is remembered between sessions. This is a listening level, like the knob on your speakers: **your exported files are unaffected** and still render at full volume (real mix levels come with the mixer).
- **The top bar now gets out of the way in a sensible order.** As you zoom in or narrow the window, things used to vanish more or less at random -- the meter was first to go while the MIDI and keyboard buttons never went at all, and at some zooms the meter would *reappear* as you zoomed in further. Now there's one order: the "CPU" text goes, then the percentage, then Undo/Redo shrink to icons, then the meter shortens, then the MIDI chip, then the keyboard button -- and only then does the meter hand over to a small **VOL** chip you can click for a slider. The volume is the last thing to give way, and Ctrl+P can always reach it whatever the window is doing. Zoom out and it all comes back in reverse.
- **Set notes from a picker in the STEPS panel.** Click a lane's note chip (the little "C-5" capsule) to pick the note every step on that lane plays -- a searchable grid picker, or Alt+scroll the chip to nudge it. It retunes the lane's existing hits and new ones use it too, as one undo. In the NOTE lens, **right-click a step** to pick that single step's note from the same picker. (Each lane is independent; a "mixed" lane snaps to the one note you set.)
- **Turn tooltips off (or back on) in Settings.** Settings > General now has **Show tooltips** (on by default) -- switch off the hover help once you know your way around, and flip it back any time. It hides every tooltip in WiseTrax at once.
- **Record options behind the REC caret: Voices, Quantize and Note length.** A small caret next to the transport's REC button opens a record-options menu. **Voices** picks how a held chord from your MIDI keyboard records: **Poly** (it fans across the track's lanes, growing them to fit) or **Mono** (one lane, each note replaces the last -- for basslines, leads and drum one-shots). (This is for live MIDI recording; the Shift-to-type-a-chord tool always makes a chord.) **Quantize** snaps recorded notes to the grid (Off, or every 2 / 4 / 8 lines -- the same grid the Q: readout shows). **Note release (MIDI keyboard)** sets whether a played note ends when you lift the key: **End on release** (a note-off is written at the release row, so the note keeps its real length -- default) or **Let ring** (no note-off; it rings until the next note on its lane, good for drums and pads). Your Voices, Quantize and Note-release picks are all remembered between sessions, and a small dot on the caret shows when an option is off its default. (Feel is listed as coming next.)
- **Type a whole chord onto one track -- hold Shift.** Hold Shift and play the notes of a chord on your keyboard and they land side-by-side across a track's lanes on the same row, growing the track's lanes to fit (up to 10). A pill by the row names the chord as you build it -- it knows its way around, from plain triads and sevenths to 6ths, 9ths, 11ths and 13ths, add / sus / diminished / half-diminished, altered dominants, and inversions, so it names what you played rather than the nearest simple guess (C, Am7, Cmaj9, C7b9, and slash chords like C/E). You hear each note, and the whole chord drops in when you release Shift -- as a single undo. If a chord needs more lanes than will fit, it tells you how many didn't fit instead of dropping them silently. (This is the Shift-to-type tool, for when the transport is stopped; playing chords in live from a MIDI keyboard records them too.)
- **Three settings that already saved now have a control on the Settings page.** They worked and persisted, they just weren't on the page while their siblings were: **Insert scope** (Lane / Track / All -- the same setting as the arrangement bar's Ins: chip) in Tracker Grid; **Auto-preview on click** (click an instrument to hear it) in Samples; and **Record voices** (Poly / Mono -- how a held MIDI chord records) in MIDI. Change one on the page and its other home (the chip, the REC popover) updates too, and the other way round. The **MIDI** section is no longer mostly "coming soon" placeholders -- it now holds Record voices and **Respond to MIDI Program Change**, which moved here from General where it was a bit lost.
- **A full Help page for the command palette.** Help > Display now has a **Command palette (Ctrl+P)** page covering how to search and run anything by name, the shortcut shown on each row, the greyed-out rows that explain why they can't run, and a proper Favourites section -- pinning with Ctrl+F, the gold 1-9 badges, running them anywhere with Alt+1-9, reordering, and the clear link. Searching Help for "favourite" or "palette" finds it now; before, there was nothing to find. (It also shows up inside Ctrl+P itself as a "Help: Command palette" entry.)

### Changed
- **Undo takes you to what it changed.** Undoing a sample edit now switches the sampler to the instrument that edit was on, so you watch it revert instead of guessing. Before, if you'd edited three instruments and pressed Ctrl+Z, each undo worked -- but silently, on an instrument you weren't looking at, so it looked like only the first one had done anything.
- **The sampler's edit buttons say what they'll act on.** A "Scope" readout sits at the left of the sampler's tool rows: it reads **Whole sample**, and flips to **Selection** with its length the moment you drag one -- lit in the same colour as the selection on the waveform. While a selection is live, a thin line underlines the seven tools that follow it (Normalize, the Fades, Silence, Reverse, Invert, Recenter) and stops short of Snap Loop, which always works on the loop points instead. Those seven quietly worked on your selection all along; nothing on screen ever said so.
- **The standalone calls itself WiseTracker everywhere now.** The desktop app was still calling itself "WiseTrax" (the plugin's name) in a lot of places -- the welcome card, the Help panel, the About page, the file dialogs, tooltips. Worse, some of that text assumed you were inside a DAW: About told you that you were running a VST3 plugin in a host, and the help had whole pages about your host's transport, your project file and the MIDI clip on your track -- none of which exist in the standalone. Every one of those now reads correctly for the app you're actually in: the plugin talks about your DAW, the standalone talks about itself, and the pages that only make sense with a host don't appear where there isn't one.
- **Hover help across the whole app, rewritten as tidy two-tone cards.** Longer hover tips everywhere now read as a bold title, one plain line of what the control does, then the exact gestures and shortcuts underneath. It covers the transport (Play/Stop, the Space switch, Metro, Follow, Loop with its live state, Tap, BPM, Position), the STEPS and EUCLID panels, the rhythm and instrument panels, the top bar (Menu, keyboard, zoom, slice, MIDI-drag, Undo/Redo, the master meter), the sampler's 14 edit tools and its view tabs / zoom / snap / Add-sample / Fit / Full / Layout buttons and drag-handle, the keyzones strip, the module-import box's eight stat cells, and the welcome card. Dozens of controls that had no hover help at all -- lens tabs, the (?) legend, fold bands, note chips, every EUCLID dial, keyzone blocks -- have one now. Writing them from the code (not the old text) turned up a string of tooltips that were quietly WRONG, all fixed: "Silence" claimed it wiped the whole sample when a live selection makes it wipe only the selection (seven tools share that rule and now say so); **Undo** named Reason even in the standalone, which has no host; the **MIDI-drag** chip called an ordinary file drag "your DAW's arrangement"; the **zoom** pill called the app a plugin and pointed at a Settings slider that never existed; the import box's **Speed** described a different tracker's timing (here it's your BPM and Rows/beat that set the pace); **Snap to Zero Crossing** claimed it only touched loop edits; and several controls (Add sample, Layout, the keyzones strip, the split handle) simply never mentioned half of what they do. The welcome card's tips now also admit they close the card as you go, and its **Settings** description finally matches the redesigned card instead of the old one.
- **"Resolution" is now called "the grid".** The LPB right-click menu's **Double the grid** / **Halve the grid** (was "Double / Halve resolution"), the matching Ctrl+P commands, the Lines Per Beat help page and the import tooltip all use the plainer word -- "resolution" read like screen resolution. Same actions, same results. Ctrl+P still finds them if you type "resolution".
- **The step grid's (?) popup and the sampler's now look the same.** Both quick-help popups share one design: a calm neutral frame, and each topic in the list is a full-title colour pill -- the little two-letter boxes in front of the titles are gone. Same information, one consistent look, and any future (?) will match.
- **The sampler's selection buttons are now the colour of a selection.** Crop, Cut, Copy, Paste, Silence Range and Delete were drawn in amber -- which is the playhead's colour -- while the selection you drag on the waveform is blue. They now use the same colour as the selection band itself, so everything meaning "selection" matches, and it follows your theme (blue in the cool themes, gold in the warm ones) instead of being stuck on one hue.
- **The sampler's "Remove DC" button is now "Recenter".** Same tool, clearer name: it pulls a waveform that sits off-centre back onto the centre line (removing any DC offset). The hover tip still spells out the technical detail, and Ctrl+P still finds it by "dc".
- **"Bit depth" now reads "32-bit float"** instead of a bare "Float", so it's clear that's the format WiseTrax works in, not the source file's depth (which isn't kept).
- **The command palette's footer hints are now keycaps.** The bottom row of Ctrl+P shows each shortcut as a little key -- up/down move, Tab filter, Enter run, Ctrl+F pin (in gold), Esc close -- instead of a plain line of text, so the keys are easier to scan.
- **Loop edits can now be undone.** Changing a sample's loop type, setting a loop start or end, dragging a loop edge, fitting the loop to the whole sample, or resetting it are all a single Ctrl+Z now -- the same as every other sample edit. A whole drag reverts in one step. (Loop points were the one sample edit you couldn't undo before.)
- **Setting a loop start now creates a loop instantly.** Right-click a sample and choose "Set Loop Start Here" and you get a full loop from that point to the sample's end, ready to drag either edge to resize -- the same as "Set Loop End Here" already did from the other side. Set one point, get an instant loop. (With a loop already in place, setting a point just moves that edge, as before.)
- **The instrument panel's waveform now shows stereo samples in stereo.** A stereo sample's left and right channels are drawn as two separate lanes (L on top, R below) so you can see its real stereo shape; a mono sample fills one lane. The loop region and the sample's start/end are marked on it too. (It's the same shared waveform view the big sampler now uses too.)
- **The folded transport's summary line now uses the tracker's own font.** When the transport panel is collapsed, its position / BPM / loop summary is drawn in the same JetBrains Mono as the rest of the tracker instead of the system font, so it matches everything around it (and looks the same on every platform).

### Fixed
- **The quick-help cards no longer run their text off the edge.** In the STEPS and sampler **(?)** guides, a gesture description that was too long for its row was cut off with no "..." -- so it looked like it ran off the card ("move the pitch up or down (Shift = fi"). Eight lines across the two guides were overflowing, several of them for a while unnoticed. They're all trimmed to fit now, and the cards also gained a safety net: anything too long ends in "..." instead of vanishing.
- **The STEPS quick-help was missing two things it should have shown.** The step grid's **(?)** guide didn't mention that in the NOTE view you can **right-click a step to pick its pitch from a list**, or that **holding Shift while dragging or scrolling a value makes it finer** -- both real, both added. (Same drift that had been fixed in the sampler's quick-help earlier.)
- **The top-bar level meter no longer freezes when it's quiet.** Below roughly half-fill the meter would stick on a static picture and only jump to its real level when something else redrew that corner (like hovering a tooltip) -- then freeze again. The meter was deciding "has it moved enough to redraw?" using raw loudness, but it *draws* on a decibel scale, and down at the quiet end a clearly-visible movement is a tiny loudness change that fell under the redraw threshold. It now measures movement on the same decibel scale it draws with, so the meter tracks smoothly all the way down. A genuinely still meter still costs nothing to leave alone.
- **Ctrl+P now shows the keyboard shortcut on every command that has one.** It was meant to all along -- that's half the point of the palette, learning the keys as you browse -- but only five rows ever showed one. Now twenty do, including **Goto line** (Ctrl+G), the four **Transpose** commands (Ctrl+Shift+arrows), **Insert row** (Insert), **Delete row** (Shift+Delete), **Interpolate volume** (Ctrl+I), **Toggle follow playback** (Ctrl+F), **Add/Remove lane** (Ctrl+Shift+Right/Left) and both **Grab last take** commands (Ctrl+Shift+K / Ctrl+Shift+Alt+K). Rows whose action genuinely has no key of its own stay blank on purpose, so the **No shortcut** chip still means what it says.
- **A batch of command-palette fixes.** A greyed-out command now actually looks greyed out -- the letters that matched your typing used to stay bright, so a short command you'd typed in full looked perfectly live, and pressing Enter did nothing with no hint why; the whole row now dims together and the reason sits readable beside it. **Cut** and **Paste** are no longer greyed out for a rule that doesn't exist -- they never needed Edit Mode (Ctrl+X and Ctrl+V always worked), so they run from the palette too, and show their keys now (with **Copy** getting Ctrl+C back). (**Clear notes / volumes / effects** keep their Edit Mode requirement -- that one is real.) "Toggle edit mode" named the wrong key: it said SPACE, but **Esc** is what toggles it. **Alt+1-9** now behaves the same whether the palette is open or closed (with it closed, it used to run a favourite that couldn't run). And a description too long for its row ends in "..." instead of vanishing off the edge.
- **The folded transport's Play button no longer describes a button that doesn't exist.** When the transport is folded away, a small Play button takes its place. Its hover help said it "starts from wherever Play-from points (Song, Pattern, or Cursor)" -- it never did. It is the same button as the big Play, and that one always plays the whole song from the start, exactly as the Space-mode switch's own hover help has always said. In the plugin it also claimed to audition "the pattern" where the real button says "the song". It now says what it does, in the same words as its twin, and it's a tidy card rather than a paragraph.
- **Undo works on long samples now -- and it can't lie to you any more.** Editing a sample bigger than 10 MB (a couple of minutes of audio -- any full track you drop in) silently skipped recording undo: the edit went through, Ctrl+Z did nothing, and the app still told you "Undid: Silence" afterwards. You could wipe two minutes of audio and be told you'd got it back. There is no size limit any more: **every sample edit is always undoable, however long the sample.** Instead of a limit that switches undo off, the history now has a memory allowance sized to your machine, and when it fills it forgets your *oldest* edits rather than the one you just made -- so the edit in front of you always undoes. (The old limit was protecting nothing anyway: it measured one copy while keeping two, and deleting a whole instrument was never limited at all -- so silencing a sample lost your work while deleting it outright didn't.) Undo is also far lighter and quicker now: an edit only remembers the part of the sample it actually changed, so cutting two seconds out of a three-minute track costs a fraction of what it used to, and Snap Loop costs nothing at all.
- **The on-screen keyboard button is clickable again -- all of it.** The master meter's invisible box overlapped the left two-thirds of the little piano button next to it, so only the far-right edge of the button actually opened the keyboard, and hovering the middle of it popped up the meter's hover help instead. The meter was also quietly covering its own **CPU** percentage number with that same button. Every icon in the top bar now has its own space.
- **Your settings now survive a restart.** Your theme and eleven other choices -- sampler mode, both note-release toggles, the capture buffer and its split, chord names, record voices, tooltips, page size, insert scope and text size -- were quietly reverting to their defaults when a project was reloaded or the app restarted, even though the values had been saved correctly. They now come back the way you left them.
- **Shift+Delete (delete row) works again.** The key did nothing at all -- the shortcut was never firing. It now deletes the row and pulls the rows below up, following the Ins: scope the same way Insert does.
- **Deleting a pattern no longer leaves the grid blank.** Removing a pattern from the sequence could leave the tracker grid empty until you pressed play. It now redraws on the pattern you land on straight away.
- **Value and note pickers now fit the window at any zoom.** At a high zoom setting, or in a small window, a picker could spill past the edge with its buttons off-screen and out of reach. It now shrinks and scrolls inside itself to fit. Normal-size windows are unchanged.
- **Right-clicking the grid's footer no longer opens the cell menu.** The pattern grid's right-click menu only checked the top of the row area, so right-clicking the footer or the scroll strip below the rows opened the cell menu as if you'd clicked a note. It now stays on the rows.
- **The sampler's help now describes the sampler you actually have.** Several help pages still pointed at controls from the old waveform strip -- a play triangle in the corner, an "(i)" icon, a "1x to 8x" zoom range -- none of which exist any more. Those are gone, replaced by the real ones, and the pages now cover the hover chip, the cursor-row marker and the stereo two-lane view. The waveform gesture help was wrong too: it said drag pans the view, when drag selects a range -- it now also lists Alt+drag to draw a loop and "Set loop to selection".
- **Text in the welcome card's feature tiles no longer spills outside the tile.** A longer description could run past the bottom of its box and over the row below, especially in a narrower window. It now stays inside.
- **A batch of instrument-panel fixes.** The "Used in" tooltip now appears at all -- and any tooltip that would run past the bottom of the window flips above the pointer instead of flickering or sitting flush in the corner. A sample that was never analyzed now honestly says "not detected" instead of a gold "detected, 0% sure". And the Pitch/Fine row no longer overlaps when you drag the panel narrow: the boxes shrink to fit and "reset" drops onto its own line below them.
- **Sample rate for module samples now shows a "~" so it doesn't look wrong.** Samples pulled from imported modules (XM/MOD/IT) don't have a real recording rate -- the number shown is the classic base frequency they play at. The rate now reads e.g. "~8.4 kHz" for those, a small cue that it's nominal; the hover tooltip still explains the details.
- **The sample preview time now matches the moving playhead.** The little time readout next to the preview play button used to count real seconds since you pressed play, so on a looping sample it kept climbing while the playhead bar wrapped around. It now shows the actual position in the sample, in step with the bar.
- **Edits on a multi-lane track now land on the lane you meant, not the first one.** Send-to-Grid from the sampler, and the right-click cell menu (Note Volume, Choose Effect, the Quick FX / Effects items, Note Off and Clear), could write to the track's first lane instead of the lane under your cursor or click. They now target the correct lane. (Single-lane tracks were never affected.)
- **Cut and Paste from the command palette now update the waveform right away.** They changed the sample but left the displayed waveform stale until you switched instruments and back; the view now refreshes immediately, like every other edit.
- **The standalone app no longer opens larger than the screen with its title bar off the top.** At a saved zoom above 100% the window could open so tall that the title bar (and its close button) sat above the screen edge, so you couldn't move or close it normally. The window now always opens fully inside the monitor's work area, title bar visible, above the taskbar.
- **Value pickers and dialogs now take the keyboard properly.** Tabbing past the last control wraps back to the first instead of closing the window, and Shift+Tab wraps the other way -- across value pickers and the Export, Import, Effect and Audio-settings dialogs. Pickers also respond to Left/Right as well as Up/Down (matching the horizontal slider), with Shift for a bigger step.
- **Previewing a looped sample with the loop button off now plays the whole sample.** It starts from the beginning and plays through to the end, so you hear the entire file when browsing instruments. Playing the sample on the keyboard, or previewing with the loop button on, still starts at the loop point and repeats -- unchanged.
- **A typed note's note-off now lands on the note's own lane.** With note-off on, typing a note on a higher lane and releasing the key used to drop the note-off on the first lane; it now writes it directly below the note. (Live typed recording also places the note on the lane your cursor is on.)

## [0.3.0] - 2026-07-07 - Public Beta

### Added
- **In-app help for the step sequencer.** The Help section now has pages for the STEPS step sequencer -- the click-to-build grid, the HITS / VOL / FX / NOTE edit lens, folding a track's lanes into a summary row, the bars, and moving between patterns -- and the STEPS / EUCLID switch explains itself on hover. The welcome card's tiles and spotlights were freshened to point at the step sequencer and lanes.
- **Change the whole song's grid while keeping the timing.** The LPB right-click menu has a **Keep timing** section: **Double the grid** doubles every pattern's rows and the LPB together, so the song sounds exactly the same but you get twice the grid to place finer notes; **Halve the grid** does the reverse. It's one undo. (Just picking a new LPB still changes playback speed, as before -- these two keep the feel and only change the grid.) Double is offered while it fits (up to LPB 256), Halve while the LPB can be halved evenly; Halve warns first if it would drop notes.
- **Expand or shrink a pattern's rows from its length menu.** Right-click a slot's length chip and pick **Expand rows x2** to double the pattern's rows -- every note moves to keep its spot (row N -> row 2N) with an empty row opening between, so you get a finer grid to work in -- or **Shrink rows /2** to halve them back. It's one clean undo, and Shrink warns first if halving would drop notes that don't fit the smaller grid.
- **SPACE now plays the pattern you're on, with a switch for Pattern or Cursor.** SPACE used to always start at the top of the whole song; now it plays the pattern you're on -- the tracker-standard. A two-cell switch next to Play sets what SPACE does: **Pattern** (the default, the pattern you're on from its top) or **Cursor** (from the row your edit cursor is on). Shift+SPACE plays the other one, so you can leave the switch on Pattern and still drop in mid-pattern. Your pick is remembered between sessions.
- **The RHYTHM panel now has a full step sequencer.** Next to the Euclidean generator, switch RHYTHM to **STEPS** for a classic click-to-build step grid: every track (and every lane) gets a row of steps across the pattern, and you click a step to place or clear a note. An edit **lens** decides what a click changes -- **HITS** (place / remove notes), **VOL** (per-step level, shown as brightness), **FX** (a per-step effect, with a picker) or **NOTE** -- so the one grid builds a beat, shapes its dynamics, and adds its effects without leaving the view. Steps group in fours with a marked beat, it fills the window with as many whole bars as fit, follows the playhead, and scrolls when there are lots of tracks or lanes. It edits the same pattern as the tracker grid, so the two always stay in sync.
- **In the step sequencer, collapse a track's lanes into one summary row.** A multi-lane track (a chord, or a kick / snare / hat group) can fold its lanes down to a single read-only row that shows every lane's steps at a glance, so a busy track stays compact while you work on the others -- then unfold to edit the lanes again. A fold-all / unfold-all collapses or opens every track at once, and a collapsed row is clearly marked read-only. Your folded / unfolded tracks are remembered with the project.
- **Drag the divider between the RHYTHM / STEPS panel and the tracker grid.** The rhythm area and the tracker now share the window with a draggable split, so you can give the step sequencer more height (or the tracker more rows) to taste. Fold one away and the other takes the freed space.
- **The main tracker grid now has a vertical scrollbar too.** A thin bar on the right of the tracker (matching the one on the step sequencer) drags you through a long pattern's rows, alongside the mouse-wheel and arrow keys. It scrolls the view to look around without moving your edit cursor; when you go back to typing or the arrow keys, the view glides smoothly back to where you were editing.
- **The step sequencer's rows are easier to move through when you have lots of tracks or lanes.** There's now a draggable scrollbar on the right of the STEPS grid (alongside the up / down arrows and the mouse-wheel). While you scroll down through a track's lanes, that track's name bar stays pinned at the top so a row is never nameless. And opening the step grid jumps straight to the lane your cursor is on, instead of the top of the list.
- **The step sequencer now shows which pattern of the song you're on, and lets you step between patterns.** A SEQ counter sits at the left of the STEPS nav row, using the same slot numbers as the sequence strip (00, 01, 02...), so you always know where in the song the step grid is looking -- not just which bar inside the pattern. Click the `<` `>` arrows to move to the previous / next pattern (the tracker grid and the sequence strip follow along). It follows the playhead while Follow is on; with Follow off it stays on the pattern you're editing and a small green play badge shows the slot the song is playing right now. Hover it for a one-line explanation. (Hidden when the song is a single pattern, and it's the first thing to drop when the window gets narrow.)
- **Lane tidy-up: right-click a track's `-` / `+` (or its header) for "Keep only lanes with notes".** It reveals every lane that has notes and hides the empty ones, in one undoable step - handy when a big paste tucked notes into a lane you'd hidden, or to tidy a track back down to just the voices you use. The `-` / `+` buttons now explain themselves on hover, and there's a new Help card under **Tracker Grid -> Lanes**.
- **Multi-lane tracks now read as one group.** When a track has more than one lane, its header becomes a group bar with the track name centred over all its lanes, a thin strip numbers each lane (1, 2, 3 ...), and every lane shows its own Note / In / Vol column labels - so a chord or a kick / snare / hat track is easy to read at a glance. A single-lane track looks exactly as before.
- **Lanes: a track can hold several notes at once.** Each track can now have up to 10 side-by-side note lanes, so a chord -- or a whole kick / snare / hat groove -- can live on ONE track instead of being spread across many. Use the `-` and `+` next to a track's name to remove and add lanes (or Ctrl+Shift+Left / Right). Removing a lane stops it playing but keeps its notes -- a small dot on the `+` reminds you there is hidden data, and `+` brings it straight back. All lanes share the track's instrument, volume, pan, mute and fold; Tab steps through lanes and then on to the next track.

### Changed
- **The welcome card now greets you again after an update.** When you open a new version for the first time, the welcome card comes back to show off what's new -- with a "What's new in X.Y.Z" button that opens the full list -- instead of the What's New page opening on its own. It reappears just once per release, even if you'd turned it off, then stays hidden again until the next update. Its feature tiles are now clickable (a tile jumps to its spotlight), and this release's additions are badged NEW.
- **Hover tips across the tracker are now tidy cards, not walls of text.** The longer tips -- the arrangement bar (Oct / Step / LPB / Page / SEQ / EDIT / pattern slots / note-off), the tracker header (fold, mute, solo, add-lane, add-track, track name) and the column headers (Note / In / Vol / Fx / Prm / F2 / P2) -- now read as a bold title, a one-line summary, then labelled lines (Change / Values / Keep timing...), so you can scan straight to what you need -- friendly for newcomers, fast for veterans. Simple one-line tips are unchanged. Column tips also work across every lane now (not just the first), and controls that had no tooltip (like add-track and mute/solo) have one. A new Help card also explains Lines Per Beat and the Keep-timing Double/Halve in full.
- **The LPB menu is now grouped, with a custom value.** Right-click the LPB readout and the values are sorted into two families -- **Straight** (2 / 4 / 8 / 16 / 32) for even feels and **Triplet** (3 / 6 / 12 / 24) for swing -- so the list reads musically instead of one long line. A new **Custom LPB...** lets you type any value from 1 to 256 (the menu suggests up to 32; the readout keeps a fixed spot so a 3-digit value never nudges the layout).
- **Play and Stop are now one button, and the transport is laid out so nothing shifts.** Play and Stop merged into a single Play/Stop button (a stop square shows while playing) that always plays the whole song from the start. It sits with the new SPACE-mode switch on the left; the metronome and follow eye moved to the right, next to Loop and the tempo. The position readout now keeps a fixed spot, so it no longer slides sideways when controls tuck away on a narrow window.
- **The Euclidean rhythm generator now stamps into the lane your cursor is on.** On a multi-lane track, the RHYTHM panel's STAMP fills the lane where your cursor sits -- it used to always write the first lane -- so you can build a kick on lane 1 and a hat on lane 2 from the same generator. The panel's target readout names the lane, so you can see where it will land before you stamp. Single-lane tracks are unchanged.
- **The Follow toggle now also steers the step sequencer.** Follow (the transport eye / Ctrl+F) already made the tracker grid chase the playing pattern; now it does the same for the STEPS bar. Turn Follow off and the STEPS grid stays on the bar you're editing while the song plays elsewhere, instead of jumping around under you.
- **The arrangement bar's Oct / Step / LPB / Page controls now change by dragging, like everything else.** Drag one -- up or right to raise, down or left to lower (hold Shift for fine) -- or hold Alt and scroll. A plain scroll over them no longer changes the value by accident (and no longer scrolls the pattern slots -- those scroll only when you point at them). The exact-pick list is still there on right-click.
- **A pattern's length chip now changes by dragging too, and resizing is one clean undo.** Drag the little length chip at the bottom of a slot (or hold Alt and scroll it) to step through the common lengths; right-click it for the full list plus a custom length. It only resizes the pattern once, when you let go, so a single Ctrl+Z puts it back (before, every scroll notch was a separate undo). A plain scroll over the chip no longer resizes by accident.
- **Scrolling over a pattern slot now scrolls the arrangement instead of silently swapping the pattern.** A plain mouse-wheel over a slot used to change which pattern plays there, which was easy to trigger by accident. Now a plain scroll just scrolls the strip; hold Alt and scroll (or use the little arrows) to step the pattern in that slot on purpose.

### Fixed
- **Playback no longer freezes when a pattern shrinks under the playhead.** If you shortened the current pattern while it was playing -- Halve the grid, or reducing its length -- and the playhead was past the new end, playback would silently stall. It now continues from the nearest valid row (and, because Halve keeps the timing, from ~the same musical spot).
- **Changing LPB (Lines Per Beat) can now be undone.** Setting a new LPB -- from the menu, a custom value, or by dragging the readout -- used to sit outside the undo history, so Ctrl+Z couldn't take it back. It's now a single undo step ("Change LPB"), so you can try a value and step back to the previous one.
- **LPB (Lines Per Beat) now changes playback speed, not just the visual beat-lines.** Setting LPB used to only move the grid's beat markers while the music played at the same speed no matter what you chose. Now raising LPB makes the rows play proportionally faster (more lines per beat), and lowering it slower, in real time -- the way a tracker should behave. Under the hood the LPB edit was updating the display but never telling the audio engine; now it does, so the tracker grid, the step sequencer's beat markers, and playback all stay in sync.
- **Shift+SPACE works again (it did nothing before).** It was wired to the retired standalone's engine and had no effect in the current app. It now plays in the opposite SPACE-mode -- from the cursor when the switch is on Pattern, or the whole pattern when it's on Cursor -- in both the plugin and the standalone.
- **Switching to Cinema (Ghost View) now shows it right away, without reloading.** Going from Classic to Cinema view could leave the grid centred on the wrong row until you reloaded a track. It now snaps straight to your cursor the moment you switch.
- **Starting or opening a song no longer leaves the tracker grid blank when you were scrolled sideways.** If you had scrolled the tracker across to a far track and then made a New song (or opened a smaller one), the grid could open scrolled past all the tracks -- an empty grid until you pressed Tab. It now always shows the tracks from the left on a fresh song.
- **The tracker grid no longer strands you on the last row with a screen of empty space.** If your cursor was on the last row and you folded and reopened a section, the grid could scroll so that row sat at the very top with nothing under it. The view now always stays filled -- when you're at the end the last row sits at the bottom, and a pattern shorter than the window fills from the top.
- **The tracker grid no longer goes blank after an undo.** An on-and-off glitch where certain undos or edits could leave the grid drawing nothing -- until you pressed Tab or hit play -- is fixed at the source: the grid now always renders the current pattern's rows no matter what state an undo leaves behind, so it simply can't blank anymore.
- **BPM and instrument Pitch/Fine no longer change by accident when you scroll near them.** These values used to change on a plain mouse-wheel while just hovering, so scrolling to move around the UI could nudge them. Now a plain scroll passes straight through (it can zoom/scroll as normal); to change one, drag it -- in any direction now, not only up/down -- or hold Alt and scroll. Double-click to type an exact value still works.
- **Step sequencer: the playhead and BAR auto-advance now work on imported modules.** The step grid's playhead (and the way it follows through BARs 1-4 as the pattern plays) only appeared on songs whose pattern order is a simple 1:1 list. On modules like `.mod` that reuse and reorder patterns, it stayed stuck on BAR 1 with no playhead. It now tracks the actual playing pattern, so the step grid follows along on any song.
- **Imported `.mod` songs: a note with no sample number now re-strikes the sample, like ProTracker.** In ProTracker `.mod` files it's normal to write just a note (no instrument number) to replay the channel's current sample at a new pitch. WiseTrax used to need an explicit instrument on every note, so those instrument-less notes went silent; they now retrigger the sounding sample the way the original tracker does. (`.xm` and your own songs are unaffected.)
- **Imported `.mod` songs: the `9xx` sample-offset now behaves like ProTracker (the classic "double-apply").** ProTracker's sample-offset command builds up across a channel -- each `9xx` adds to the last, and on a note row the offset applies twice (once you hear, once carried to the next hit) -- so songs that lean on it land on the right slice of the sample. WiseTrax used to jump to a fixed spot each time; it now accumulates and double-applies exactly as ProTracker does, matching OpenMPT. (`.xm` and your own songs are unaffected.)
- **Imported `.mod` songs: the `E9x` retrigger now fires on continuation rows like ProTracker.** When a row carries an `E9x` retrigger but no note, ProTracker re-strikes the sounding note right at the row boundary; WiseTrax used to skip that first hit. Retrigger-heavy ProTracker tunes now roll exactly as they should. (`.xm` and your own songs are unaffected.)
- **Multi-channel `.mod` songs (6, 8, or more channels) now play at the right level.** WiseTrax was mixing them hotter than they should be; they now use the same channel-count headroom as OpenMPT, so a busy 8-channel module doesn't come in loud. Standard 4-channel modules are unchanged.
- **Changing a pattern's length can now be undone.** Resizing a pattern from the arrangement bar -- the length chip's picker, the mouse-wheel over it, or the custom-rows dialog -- now goes on the undo stack, so Ctrl+Z puts the length (and any rows a shrink removed) back, and Ctrl+Y redoes it. Before, a length change was the one arrangement edit undo couldn't take back.
- **Imported `.mod` modules now play in stereo (the Amiga channel layout).** A `.mod` file carries no pan data -- the stereo image comes from the Amiga's hard-wired speaker layout (channels 1 & 4 left, 2 & 3 right). WiseTrax was playing everything center (mono); imported channels now get that classic left/right image (at the comfortable 25%/75% width most players use, matching OpenMPT). You can still re-pan any track afterwards -- it's just the imported default.
- **Imported `.mod`: samples set to volume 0 now stay silent (so fade-ins work).** A `.mod` sample whose default volume is 0 is meant to start silent and be brought up by a volume-slide -- the classic "fade a note in" trick. WiseTrax was treating volume 0 as full, so those notes hit at full instead of fading in (and it threw off tremolo). They now honour volume 0 like the original tracker.
- **Imported `.mod` / `.s3m`: pitch slides and "slide to note" now move at the original Amiga speed.** ProTracker and Scream Tracker slide pitch in *period* space, so a slide covers more ground in the high octaves than our smooth model did -- a "slide to note" that should sweep a full octave used to crawl only a few semitones. WiseTrax now slides these imports the authentic ProTracker way (the right rate, landing exactly on the target note). (Wise style, `.xm`/`.it`, and your own songs are unaffected.)
- **Imported `.mod` / `.s3m`: vibrato now has the authentic ProTracker shape.** Vibrato (`4xy`/`6xy`) now wobbles the pitch in *period* space, stepped once per tick like the original tracker (so it's a touch deeper in the high octaves and has that classic stepped character) instead of our smooth continuous version. Choose **Wise** style if you prefer the smooth one. (`.xm`/`.it` and your own songs are unaffected.)
- **Imported `.mod` / `.s3m`: tremolo now has the original "pumping" depth.** Tremolo (`7xy`) now steps the volume once per tick and reaches the deeper swing the original tracker uses, instead of our gentler smooth version -- so tremolo-heavy parts pump the way they should. (Choose **Wise** for the smooth version; `.xm`/`.it` and your own songs are unaffected.)

### Added
- **The step sequencer shows more of the pattern when there's room, and stays readable at any size.** The STEPS grid used to always show 16 steps and leave empty space on wide windows. It now fills the available width with as many whole bars as fit -- up to 4 bars (64 steps) at once -- so on a wide window you can see and edit a big chunk of the pattern without paging. Steps are grouped in fours with a marked beat and heavier bar lines so they're easy to follow. When the window gets small or you zoom in, it steps back down (48, then 32, then 16) so the cells never get too cramped, and the BAR buttons only appear when there's more pattern than currently fits (they read as ranges like "1-2" when a window spans several bars). It also adapts vertically: when there isn't enough height (a small window at high zoom), it shows fewer track rows and pages the rest with the CH buttons instead of growing over the tracker -- so the tracker below always stays visible.
- **Imported `.mod` songs now play their `E0x` Amiga LED filter.** The `E0x` command toggles the Amiga's "LED" low-pass filter -- a warmer, softer tone some ProTracker songs switch on for a section. WiseTrax used to ignore it; now it plays, following the song as it turns the filter on (`E00`) and off (`E01`), on top of whichever Amiga model you've picked. (Only audible when the song's Amiga sound is set to A1200 or A500, not Off.)
- **Pick the Amiga sound for imported `.mod` songs (A1200 / A500 / Off).** ProTracker `.mod` files were made on Amiga computers, which coloured the sound in a specific way. You can now choose that character: A1200 (bright, the later model), A500 (warm and rounded, the classic filter), or Off (clean modern playback). It shows up as a second choice in the `.mod` import box (next to Authentic/Wise), and there's a matching picker in Settings so you can flip it **while the song plays** to compare. It applies to the current song only and saves with it -- other songs and the rest of WiseTrax are untouched. Imported `.mod` files start on A1200; `.xm` / `.s3m` / `.it` and your own songs stay Off unless you pick a model. (It shapes the whole song's output, so any instrument you add to that song gets the same colour -- you can even use it as a lo-fi character on a song you build from scratch.)
- **A visible Follow button in the transport bar.** The tracker's "follow the song" setting -- the grid jumps to the playing pattern and scrolls with the playhead, or stays put so you can edit while it plays -- now has a clear eye toggle in the transport bar (gold when following), instead of a tiny, easy-to-miss "FOLLOW/LOCKED" label in the bottom corner. Click it or press Ctrl+F. (Dropping that old label also clears up the confusing second "LOCKED" -- "lock" now only means the arrangement padlock.)
- **The arrangement bar keeps the playing pattern in view.** On big songs with lots of patterns, the pattern-slot bar now scrolls automatically so the currently-playing pattern never runs off the edge -- nothing to switch on, it just follows.
- **Lock the arrangement so it can't be changed by accident.** Click the "SEQ" badge on the left of the arrangement bar to lock it (a small padlock under the label shows the state, and it turns amber when locked). While locked, a stray click, scroll or drag can't swap which pattern a slot plays, change a pattern's length, reorder slots, or add/delete patterns -- the chevrons and length chip stop responding and the matching right-click entries grey out. Viewing patterns, double-click-to-play, queueing and setting loop points all still work. There's a matching "Lock sequence" item in the right-click menu. A brand-new song opens unlocked so you can build freely; a song you open or import opens locked to protect it -- just click "SEQ" to unlock.
- **Double-click a pattern in the arrangement bar to play from there.** Double-clicking a slot now starts playback from that pattern when the transport is stopped -- before, it only did something while already playing. If a pattern is already playing it still jumps there at the next line, and under a host the host stays in charge of the transport. (Single click still just shows the pattern in the grid without touching playback.)
- **Amiga "sound" for imported `.mod` modules.** ProTracker `.mod` files now play with the authentic Amiga character: no sample interpolation (the bright, crunchy zero-order-hold the real Paula chip used) plus the Amiga's analog low-pass filter, faithful to the 8bitbubsy ProTracker reference. Defaults to the **Amiga 1200** model (bright, no fixed filter - matching how most players sound); the warmer **Amiga 500** model (with its ~4.4 kHz low-pass) is also available, and you can pick between them (see the Amiga sound picker + `E0x` LED filter entries above). (`.xm`/`.it`/`.s3m` and your own songs are unaffected.)
- **Import Impulse Tracker `.it` modules.** WiseTrax now loads `.it` songs - drag one in or use File -> Import Module. Samples (including IT-compressed samples), instruments, notes, pitch (C5Speed tuning) and song structure import faithfully. (Instrument envelopes and a few advanced IT effects are refined in a later update.)
- **Import Scream Tracker 3 `.s3m` modules.** WiseTrax now loads `.s3m` songs too - drag one in or use File -> Import Module, and the same import box shows the song info and the Authentic/Wise playback-style choice. Samples, notes, pitch (C2SPD tuning) and song structure import faithfully; a few ST3-specific effect quirks and Adlib/OPL instruments are noted in the import box and refined later.
- **Import older 15-sample `.mod` modules.** WiseTrax now also loads the original Amiga 15-sample Soundtracker / Noisetracker `.mod` format (the one from before the 31-sample "M.K." files), not just the newer 31-sample modules. It's detected automatically -- drag it in like any other module. (The common layout is supported; a few of the very oldest Ultimate Soundtracker quirks are still to come.)

### Changed
- **One control for pattern-vs-song playback: the transport Loop button.** The separate SONG / PAT switch on the arrangement bar is gone. The transport Loop button (Off / Pattern / Points / Song) now decides everything -- Loop:Pattern keeps you on the one pattern (and, under a DAW, locks the host timeline to it); Off / Points / Song play through the whole arrangement in order. One button, one place, no two settings to keep straight.
- **New, opened and imported songs start set to loop the whole song.** A fresh song, a song you open, and any module you import now begin with Loop:Song on, so playback loops the arrangement instead of stopping at the end. Change it any time with the Loop button (the standalone also has Off for play-through-once).
- **Module-import wording now covers all four formats.** With `.mod`, `.s3m` and `.it` joining `.xm`, the import box, menus, sample labels and in-app help now say "the original tracker" rather than "FT2 / XM", and the help lists every supported format.

## [0.2.2] - 2026-06-20 - Public Beta

### Added
- **Import Amiga `.mod` modules.** You can now drag an Amiga ProTracker `.mod` onto WiseTrax (or use File -> Import Module) just like an `.xm` - the same import box shows the song info and the Authentic/Wise playback-style choice, then loads it as an editable song. Handles the common variants (4/6/8-channel M.K./FLT/CHN) with faithful Amiga pitch and playback (a blank slide command doesn't carry the previous value, matching ProTracker's lack of effect memory). (More ProTracker playback quirks and the older 15-sample format are still to come.)

### Fixed
- **Imported modules: "slide to note" (tone portamento) now lands on the right note.** A tone-portamento command (`3xx`/`5xy`) targets a note *without* re-stating the instrument -- the normal way Amiga `.mod` files (and some XM) write a pitch slide. WiseTrax used to ignore that target note and drift to the wrong pitch; it now slides toward the written note, like the original tracker. (Wise style and your own songs are unaffected.)
- **Imported modules: "ghost instrument" notes now revive and re-pan correctly.** Building on the 0.2.1 volume fix: when an XM puts an instrument number on a row with no note, FastTracker also resets the note's panning and re-arms its envelopes -- including bringing a note that was just released back to life. WiseTrax now does all of that, not just volume, so imported parts that lean on this trick (a faded or note-off'd note snapping back, panning re-centring) play the original way. (Wise style and your own songs are unaffected.)
- **Imported modules: notes without a volume envelope now fade out on release.** Some XM instruments have no volume envelope and rely on a "fadeout" to ease a note down after it's released. WiseTrax used to cut those notes off sharply instead; they now fade over the instrument's fadeout time, like the original tracker. (Wise style keeps the clean cut; your own songs are unaffected.)
- **Note fadeouts now play at the right speed.** The fadeout that fades a released note down to silence was running at half speed, so released notes lingered about twice as long as they should. It now matches the original tracker. This affects any instrument with a fadeout set -- in practice, imported XM songs.
- **Imported modules: a note-off carrying an instrument number now resets the note's volume and panning.** FastTracker snaps a released note back to the instrument's own volume and panning (not wherever a panning effect had moved it) as it fades. WiseTrax now does the same on these rows, so imported parts that release a panned note play the original way. (Wise style and your own songs are unaffected.)
- **Imported modules: the note-delay effect (EDx) now lands at the right moment.** EDx delays a note by a fraction of a row (a number of ticks). WiseTrax was delaying by whole *rows* instead, so delayed notes landed far too late. A delayed note now fires at the correct point within its row, like the original tracker -- and EDx with a delay longer than the row drops the note, as it should.
- **Imported modules: the retrigger effects (Rxy and E9x) now roll within the row.** These re-strike a note several times per row -- a fast roll or stutter. WiseTrax was re-striking only every couple of *rows*, so rolls came out far too slow. They now roll at the correct per-tick speed, with Rxy's per-hit volume change applied, like the original tracker. (Wise style keeps its own per-row timing.)
- **Imported modules: the tremor effect (Txy) remembers its last setting.** A `T00` (tremor with no value) now repeats the previous tremor rhythm instead of resetting, matching the original tracker's effect memory.
- **Imported modules: more effects remember their last setting.** Following the tremor fix, the global volume slide (`Hxy`), panning slide (`Pxy`), fine pitch slides (`E1x`/`E2x`) and fine volume slides (`EAx`/`EBx`) now repeat their previous value when written with no value (e.g. `H00`, `EA0`) -- the original tracker's "effect memory", which imported songs use as shorthand to keep a slide going. Before, those `00` rows did nothing and the slide stopped. (Wise style and your own songs are unaffected.)
- **Imported modules: the retrigger roll (`Rxy`) remembers its speed and volume.** A retrigger written with a missing value -- `R00` to keep the roll going, or just one nibble like `R04` -- now repeats the last retrigger speed and volume step independently, the way the original tracker does, so rolls that lean on this shorthand keep going instead of stopping. (Wise style and your own songs are unaffected.)

## [0.2.1] - 2026-06-18 - Public Beta

### Added
- **Import box for modules.** Dragging in or opening an `.xm` now shows an import dialog before it loads: the song's tempo, speed, channels, patterns and instruments at a glance, a choice of **Authentic** or **Wise** playback style right there, and an honest list of anything that had to be approximated or dropped on import (or a clean bill of health if nothing was). **Import** loads it with your chosen style; **Cancel** leaves your current song untouched. The drag-in and menu routes show the same box.
- **Switch a module's playback style.** There's now a **Playback style** choice -- **Authentic** (plays an imported song's effects, like volume slides and arpeggio, the original FastTracker/XM way) or **Wise** (smooths them out). It's in two linked places -- the **Menu** and **Settings -> Tracker Grid** -- and changing one updates the other. Imported modules start on Authentic; flip either way while a song is loaded and hear the change right away. Songs that don't use those effects sound the same in both.
- **App icon for the standalone.** WiseTracker.exe now has a proper app icon -- a two-tone "W" in the app's own colors -- in the taskbar, Explorer and Alt-Tab, instead of the generic default window icon.
- **Built-in output safety ceiling.** The master output is now gently capped just below the clipping point, so a loud song or an imported module can't blast or distort your ears and speakers. It's transparent at normal levels, always on, and applied to exported audio too, so a render matches what you hear.
- **Imported modules load at a safer level.** XM/MOD songs with many channels used to import at near-blasting volume. Each channel now comes in with mixing headroom (quieter the more channels a module has), so an imported song sits at a comfortable level instead of slamming the output. Combined with the safety ceiling, imports no longer load loud or distorted. (Your own songs are unaffected.)

### Fixed
- **Imported modules: notes that "re-pump" their volume now play right.** Some XM songs put an instrument number on a row with no note to snap a note's volume back up to its own level -- a common chiptune trick, often paired with volume slides. WiseTrax ignored that, so those notes faded out and went silent; the volume now snaps back to the playing note's own level (not to full), so a volume-slide run comes out as the original stuttering/pumping sound at the right loudness instead of dying or jumping too loud. (Wise style and your own songs are unaffected.)
- **Arpeggio plays properly now.** The arpeggio effect (`0xy`) now strums through its three notes *within* each row -- a fast chord ripple, the way classic trackers do it -- instead of only changing pitch once per row. It also stops cleanly at the end of its row, so the note returns to normal pitch on the next row.
- **A leftover "song file is missing" message no longer lingers.** If opening a recent song failed because the file had moved, that message could stay on screen even after you loaded another song. It now clears the moment any song loads.
- **Imported modules keep their playback speed.** A module's speed changes (the `Fxx` "speed" commands) now import and play -- including unusual speeds that WiseTrax used to drop silently -- so songs that change speed mid-pattern come out with the right timing and effects. The speed shows on the grid as a `Z` effect.
- **In a host, the host's transport is now in charge.** Previously, pressing WiseTrax's own Play inside a DAW could keep the song going even after you hit the DAW's Stop -- you had to use WiseTrax's own Stop. Now the host's Play/Stop always wins; WiseTrax's own Play is still there for previewing while the DAW is idle, and it yields to the host the moment the DAW's transport moves.
- **Imported modules: the tremor effect gates at the right speed.** The `Txy` tremor (rhythmic on/off volume gating) now switches within each row at the proper per-tick rate, like the original tracker, instead of a coarse once-per-row chop. (Your own songs are unaffected.)
- **Imported modules: pattern jumps land on the right row.** The module "pattern break" command (`Dxx`), which jumps into a specific row of the next pattern, now lands on the correct row. Before, breaks to row 10 or higher went to the wrong place. (Your own songs are unaffected.)
- **Imported modules: note-cut and key-off land at the right moment.** Module commands that cut a note short (`ECx`) or release it (`Kxx`) now act at the right point *within* the row, like the original tracker, instead of letting the note ring on for several rows. Plucked and gated parts in imported songs come out tight instead of holding too long. (Your own songs are unaffected.)
- **Imported modules: set-volume commands play at the right level.** A note whose volume was set with the module's `Cxx` command used to import about half as loud as intended. It now comes in at the correct level. (Your own songs are unaffected -- this only changes how XM files are read in.)
- **Imported modules play their volume fades faithfully.** Volume-slide commands in an imported XM now fade across each row the way the original tracker does -- including the common "keep sliding" shorthand (`A00`) that continues the last fade -- so plucked and fading notes come out short and punchy like the original instead of holding too long. Applies to imported modules; your own songs are unaffected.
- **The plugin locks to your DAW's position when you start it mid-preview.** If you were previewing in WiseTrax while your DAW was stopped, then pressed Play in the DAW, WiseTrax used to keep playing from the preview spot -- out of sync with the DAW. Now it jumps straight to the DAW's playhead and plays in time with it.
- **Saved module imports keep their speed and level when reopened.** Importing an XM and saving it as a `.wise` file now stores its playback speed and the import loudness trim, so reopening that file sounds the same as it did right after importing. Before, a reloaded import could come back at the wrong speed or louder than intended. (Older `.wise` files open unchanged.)

## [0.2.0] - 2026-06-15 - Public Beta

### Added
- **New song.** The top-bar **Menu** now has a **New** item that clears the current song -- pattern, samples and settings -- and starts fresh. It asks first, since it can't be undone (save first if you want to keep your work).
- **Save and open songs as files.** The new top-bar **Menu** has **Save**, **Save As...** and **Open...** -- write your whole session (samples, patterns, kit, settings) to a `.wise` file and load it back later, independently of the host project. Save remembers the file so the next Save just overwrites it.
- **Export and import from the Menu.** The Menu also covers the rest of your files: **Export instrument** and **Import instrument** (`.wiseinst`), **Import module** (`.xm` / `.xi`), and **Import sample**. Importing an instrument or sample adds a new slot (one Ctrl+Z removes it); importing an `.xm` opens it as a full song. Drag-and-drop still works exactly as before.
- **Export audio (render to a file).** Menu -> **Export audio...** renders your music to a **WAV, FLAC or OGG** file. Choose what to render -- the **whole song**, just the **loop range**, or the **current pattern** -- plus bit depth, sample rate (or follow the host) and a release tail so reverbs and long samples ring out. Pick where to save, and a progress bar shows it rendering offline (faster than real time); you can cancel. Each choice shows an estimated length and file size up front. **Normalize** lifts the loudest peak to just under 0 dB.
- **Open Recent.** The Menu now has an **Open Recent** submenu listing the last songs you saved or opened, so you can jump back into a project in one click. The list is kept per user (not tied to the host project), so it follows you across instances and sessions; **Clear recent** empties it.
- **The waveform editor follows the sample you select.** In a multisample instrument, clicking a sample (in the keymap or the list) now shows *that* sample in the WAVEFORM editor, and every edit -- Normalize, Reverse, Fade, Crop, Cut/Paste, Delete, loop points -- applies to the sample you're looking at (it used to always edit the first one). **Double-click a keymap block** to jump straight to the WAVEFORM tab on that sample. **Click-to-preview, the inspector card (length / root / tempo / loop), and the root-note override all follow the selected sample too** -- so what you hear, see, and tune is always the sample you picked. Single-sample instruments behave exactly as before.
- **Delete Selection on the waveform right-click menu.** The ripple-delete that removes a selected chunk and closes the gap is now also on the waveform's right-click menu, not just the toolbar button -- right-click the waveform and pick **Delete Selection**. It's greyed out until you've drag-selected a region. Undoable with Ctrl+Z.
- **Build multisample instruments (sampler KEYZONES).** On the KEYZONES tab there's now a **+ Add sample** button -- and you can drag files straight onto the sample list -- to add one or more samples to the *current* instrument instead of making new ones. WiseTrax maps them automatically based on what they are: a set of clearly-pitched samples (a real multisample) is spread tonally around each one's pitch, while loops / one-shots / drums get one sample per key, each playing at its own pitch. Either way the instrument plays the right sample for every key -- in the grid, on the on-screen keyboard, and over MIDI. The sample list shows each one's root and the keys it covers. Undoable one step at a time with Ctrl+Z. (A single-sample instrument is unchanged -- it still plays across the whole keyboard.)
- **Visual keymap on the KEYZONES tab.** The KEYZONES page now shows a horizontal keyboard with a colored block for each sample, laid out across the keys it plays -- so you can finally *see* your multisample at a glance. Click a block to select it; its sample is highlighted in the list below, and every sample's list row is tinted with the same color as its block so the two line up. (Dragging the blocks to re-map, a layout menu, and a live highlight of what's playing are coming in the next steps.)
- **Drag keymap blocks to re-map a sample.** On the KEYZONES tab you can now reshape a sample's key range by hand: select a block, then drag its left or right edge to resize it, or grab the middle to slide it across the keyboard. It snaps to whole notes, the cursor shows whether you'll resize or move, and the change takes effect on the keys straight away. Undoable with Ctrl+Z.
- **Zoom and scroll the KEYZONES keyboard.** The keymap now opens framed on just the octaves your samples actually use, so the keys are big and easy to grab instead of all 120 notes crammed across the width. Scroll the mouse wheel over the keyboard to zoom the keys in and out (centered on the pointer); drag an empty part of the keyboard or use the scrollbar below it to move along the keys. Switching instruments or adding a sample re-frames it for you, and the **Fit** / **Full** buttons re-frame to your samples or zoom right out to the whole keyboard. The sample name on each key reads vertically so it fits the tall, narrow keys.
- **Resize the KEYZONES keyboard vs the sample list.** Drag the divider between the keyboard and the sample list to make the keyboard taller (or shorter) -- bigger when you're mapping, smaller when you want to see more of the list. The list always keeps a few rows and scrolls, so it never fully hides; double-click the divider to snap back to the default split. Your size is remembered per instance.
- **The KEYZONES keymap lights up as you play.** Play the selected instrument -- from the grid, the on-screen keyboard, or MIDI -- and the keymap shows it live: the zone whose sample is sounding glows, the exact key you hit flashes, and the sample's row in the list below lights up too -- all fading away like the note's tail. So you can finally *see* which sample a key triggers (and spot a wrong mapping) at a glance. It costs nothing when the page isn't open.
- **Readable sample names on the keymap.** The name on each colored key now scales to fit the key instead of staying pinned at a tiny fixed size, so it's legible at a normal zoom.
- **Right-click a keymap block for its options.** Right-click any sample's block on the KEYZONES keyboard to: switch it between **Play melodically (track pitch)** -- transposes up and down the keyboard, for tonal sounds -- and **Play at fixed pitch (one-shot)** -- plays at its recorded pitch on every key, for drums and one-shots; or **Delete sample from instrument** to remove that sample and its block. Both are one Ctrl+Z away.
- **Drag a sample onto the keyboard to place its zone.** On the KEYZONES tab you can now drag a sample straight from the list onto a key on the keyboard -- its block lands there (keeping its width), the target key highlights while you drag, and it's one Ctrl+Z. Great for laying out a drum kit by dropping each hit on its own key.
- **Layout menu on the KEYZONES tab.** A new **Layout** button re-maps every sample across the keyboard in one click: **Auto** (WiseTrax picks the best fit and tells you which one it lands on), **One sample per key** (drum-kit style, each at its recorded pitch), **Distribute evenly**, or **Spread by root note** (each sample covers the keys around its own detected pitch). The menu reads your instrument and only offers what makes sense -- "Spread by root note" stays greyed until two or more samples have a detected root. Re-mapping never changes your audio, re-frames the keyboard on the result, and is one Ctrl+Z step.
- **The RHYTHM panel: instant beats from two numbers.** A new foldable RHYTHM section sits between SAMPLES and TRACKER (folded by default -- click its header to open). Pick how many **hits** to spread over how many **steps** and the panel shows the result as a ring of dots and a step strip; tons of classic patterns drop out of simple numbers, and when you land on a famous one the panel tells you its name (3 over 8 is the Cuban tresillo). **Drag** the values (or scroll, or double-click to type), drag the ring sideways to **rotate** the pattern, add **accents** (louder hits, spread just as evenly), pick the **note**, and set **PLAY** to one note, root+octave, or a minor/major chord walk for instant basslines and arpeggios. **STAMP** writes it into the grid as real notes at your cursor -- one Ctrl+Z takes the whole thing back. **Fill the gaps** flips hits and rests, so stamping the flip on a second track gives call-and-response. Every dial is **undoable** (one Ctrl+Z per change, even a long drag or scroll) and **remembered** with your project, so your rhythm is right where you left it when you reopen. Hover any control for a hint.
- **Pick a famous rhythm from a library.** Click the rhythm name in the RHYTHM panel to open a browser of real world rhythms grouped by culture -- Cuban, Brazilian, West/Central African, Balkan, Arabic, and more -- each shown as a little ring so you can see its shape. Search by name or culture, click one (or use the arrows and Enter), and it sets the hits, steps and rotation for you; your note, accents and play mode stay as they are. One Ctrl+Z undoes it.
- **More ways for each hit to play.** The RHYTHM panel's PLAY setting now offers more chord walks beyond one-note / octave / minor / major: **5th** (power), **sus**, **7th** (dominant), **m7** and **M7**. Each hit steps through the chord one note at a time, so a Euclidean pattern turns into an instant arpeggio or bassline -- drag or scroll PLAY to try them.
- **Walk a scale -- always in key.** PLAY now also has **scl+** and **scl-**: each hit climbs (or descends) a scale, so a Euclidean pattern becomes an instant melody that can't hit a wrong note. The NOTE chip is the key; when a scale mode is on, the scale's name appears in the panel -- click it to pick from 16 scales (major, minor, the modes, the pentatonics, blues, and exotic ones like Phrygian dominant and whole tone), searchable and grouped by family. Saved with your project; one Ctrl+Z to undo.
- **Two more scale walks.** Besides up (scl+) and down (scl-), PLAY now has **scl~** (bounce up and down) and **scl?** (wander the scale) -- both stay in key, and they make the generated melodies feel far less mechanical than a straight run.
- **Spread a scale walk over more octaves.** When a scale PLAY mode is on, the scale label now shows how many octaves the walk covers (e.g. "Dorian - 2 oct"). **Scroll** over it to spread the melody across 1 to 4 octaves -- bigger range for leads, tighter for basslines. Saved with your project; one Ctrl+Z to undo.
- **Ready-made grooves, one click.** Clicking the rhythm name now opens a richer browser. Alongside the world rhythms (now grouped under "Rhythms (shape)", which still only set the shape and keep your sound), there are full **grooves** grouped by sound -- **Bass, Lead, Keys, World, Drums**. Picking a groove sets *everything* at once (rhythm + how each hit plays + scale + octaves + accents), so one click gives a finished riff or bassline instead of a few bare notes. Search across the lot; pick with the mouse or arrows + Enter; one Ctrl+Z undoes it. ("My Presets" is there for saving your own, coming soon.)
- **Tune a sample up or down.** The instrument inspector now has a **Pitch** (semitones) and **Fine** (cents) value under the Root/Tempo chips. **Drag** a value up or down to re-pitch the selected sample, **scroll** the wheel over it to nudge by one, hold **Shift** while dragging for fine control, or **double-click** to type an exact number; **reset** zeroes it. It works on any sample -- including fixed one-shots and drums, where the root note is just a label and Tune is the only way to change the pitch (the cue under the control tells you which case you're in). Every change is one Ctrl+Z, and your tune is saved with the project.
- **A home page for Help.** Opening Help now lands on a searchable map of every topic -- cards grouped by area (Get Started, Make Sound, Sequence, and so on), each with a one-line summary and how many pages it holds. Click a card to read that topic; a **Home** button at the top of the list always brings you back. Typing in the search box jumps straight to matching pages.
- **Transport bar.** A new foldable TRANSPORT section sits at the top (above SAMPLES) with Play/Stop, a live position + an mm:ss clock, the song BPM, and a Loop control. In the standalone it drives playback (press Play or SPACE); in the VST it follows your DAW -- play, position and tempo mirror the host -- and the Play button auditions the pattern while the host is stopped. Fold it away with the chevron to reclaim grid height.
- **Tempo (BPM) is part of the song.** The BPM now lives with your song and is saved in the `.wise` file and the host project. In the standalone, set it on the transport bar -- drag the value, scroll the wheel, or double-click to type an exact number. In the VST the host owns tempo, so BPM is shown read-only and follows the host.
- **Loop control.** The transport's Loop pill cycles through loop modes and shows the type at a glance: **Patt** (loop just the current pattern) and **Song** (loop the whole track). Set a loop range by right-clicking sequence slots (**Set loop start / Set loop end**) and a `[1-3]` step joins the cycle that loops only between the brackets; **Song** loops the whole track even with a range set. In the **standalone** the pill is the transport, so it also has an **Off** (play through and stop at the end). In the **VST** the pill controls WiseTrax's own preview playback (the audition you hear when the host is stopped), so it always loops -- Patt / `[1-3]` / Song, no Off -- because your DAW handles linear playback. Default is Song. To remove a loop range, right-click **any** slot and choose **Clear loop points** -- no need to find the exact start/end slots.
- **Tap tempo.** The transport bar has a **TAP** button (standalone): tap it in time with your music and WiseTracker sets the BPM from your timing. Keep tapping to refine it. In the VST the host owns tempo, so Tap is hidden.
- **Metronome.** The transport bar has a **metronome** toggle (the small pendulum icon next to Stop): click it for a click on every beat while playback is rolling, with a higher accent on the downbeat. Works in both the standalone and the VST.
- **The transport bar adapts to the width.** On a narrow window or at high zoom the controls collapse in priority order behind a **More v** button (the metronome and loop move into its menu; Tap tucks away) so Play/Stop, the position, and BPM stay visible and nothing overlaps. Widen the bar and they come straight back.
- **Horizontal scrollbar for the tracker grid.** When you have more tracks than fit across the window -- lots of tracks, a zoomed-in view, or a narrow window -- a slim scrollbar appears at the bottom of the grid. Drag its handle to slide across your tracks, or click the track to jump there. It only shows up when you actually need it, so it never costs you grid height otherwise, and it stays in step with the cursor and Shift+scroll (which still pans sideways too).
- **The folded transport stays a working control strip.** Collapse the TRANSPORT section with its chevron and the thin header keeps a compact, always-visible cluster -- position, BPM, a play/stop button, and the loop mode -- so you don't lose the transport when it's folded away to give the grid more room. It's interactive, not just a readout: **play/stop**, **cycle the loop** (click), and **set the BPM** (drag / scroll / double-click to type, standalone) right from the slim bar. The readouts are fixed-width so nothing shifts as the values change, and clicking the BPM or loop never toggles the fold.
- **WiseTracker is now a standalone app.** The same tracker/sampler/engine from the WiseTrax plugin runs on its own desktop window -- no DAW required. It has its own transport (Play/Stop, BPM, Tap, Loop), saves and opens `.wise` sessions, and a new **Audio settings** item in the Menu picks your sound card, sample rate and MIDI input.
- **Master level + CPU meter in the top bar.** A small VU shows the overall output level, with a CPU gauge beside it.

### Changed
- **The top bar now reads "WiseTrax."** The wordmark matches the name used everywhere else in the app, with "Trax" picked out in the theme accent.
- **One Menu in the top bar.** A single **Menu** in the top-right corner now holds everything -- Save/Open, Export/Import, and Settings + Help -- replacing the old separate gear icon. The cluster reads piano - MIDI - zoom - Menu, and the menu scales with the plugin zoom.
- **Help content brought up to date.** The in-plugin Help has been rewritten to match the app as it is now -- clearer, more compact, and useful whether you're new to trackers or already fluent.
- **More hover hints.** The folded transport's BPM and Loop readouts now have tooltips, and the master level/CPU meter in the top bar explains itself on hover.
- **Settings is grouped to match Help.** The Settings list now sorts its pages under the same kind of headers as Help -- **Setup** (General, MIDI), **Editing** (Samples, Tracker Grid), and **About** -- so the two tabs feel like one place.
- **A clearer welcome card.** The card that greets you on first open now leads with what WiseTrax *is* -- six feature tiles (Sampler, Multisample, Tune & shape, Rhythm generator, Tracker grid, DAW sync) -- plus a flip-through panel of quick tips you page with the dots or arrows (first sound in 30s, first beat in 30s, the essential keys, and more). The keyboard cheat-sheet it used to be is now one of those flip cards.
- **The RHYTHM panel is more compact.** The ring, value boxes, STAMP / Fill buttons and step strip are a bit shorter, so the section takes less vertical space and leaves more room for the pattern grid -- the text stays the same size.
- **The rhythm/groove name badge now shows what you actually loaded.** It used to label by hits+steps alone, so any 5-over-16 read as "Bossa-Nova" and a loaded groove showed a coincidental rhythm name (or "Pick a rhythm" when there was no match). It now identifies the current setup exactly -- your groove's name (e.g. "Off-beat pluck"), or a world rhythm only when the pattern (including rotation) genuinely matches one.
- **Stamped rhythms now fill the pattern.** A Euclidean rhythm whose length isn't 16 or 32 -- like the 12-step Bembe bell or 9-step Aksak -- used to stop partway down and leave the rest of the pattern empty, so it didn't loop in time. STAMP now repeats the rhythm from the cursor to the end of the pattern, so any length grooves correctly. (One Ctrl+Z still undoes the whole fill.)
- **The groove browser reopens where you are.** It now opens on -- and highlights -- the groove (or rhythm) that matches your current settings, instead of always jumping back to the top, so picking and re-opening feels consistent.
- **The on-screen Undo button stands out as the safe undo.** When there's something to undo, the chrome's ? Undo button now gets a subtle accent, and its tooltip explains it's the reliable undo: it always undoes inside WiseTrax, whereas **Ctrl+Z can reach the host** if you've just clicked Reason's own frame/rack (where Reason's Ctrl+Z can remove the device). Same undo stack -- the button just can't ever escape to the host.
- **Clearer sampler tabs.** The WAVEFORM / SLICE / KEYZONES / FX tabs now show an icon above the label, and the active tab is marked with a gold chip so it's easy to see at a glance which page you're on.
- **More room in the sampler.** The waveform's zoom and snap-to-zero buttons moved up onto the tab row, and the duplicate metadata box (sample rate / channels / length -- already shown in the instrument inspector on the right) was removed. That reclaims a full row of height for the waveform.
- **SPACE and Esc swapped roles.** **SPACE** is now Play/Stop and **Esc** toggles Edit (record) mode (Edit used to be on SPACE). In the VST, SPACE is left for the host, so your DAW's transport still responds to it. Esc still clears a selection first if you have one.
- **Tidier top bar.** The slice-sensitivity slider, the slice count, and the detected-sample BPM readout were removed from the top bar -- they're not needed up there (the detected tempo still shows in the instrument inspector), leaving more room for the brand and controls.

### Fixed
- **Samples with the loop set to None play to the end again.** A sample whose loop was off but still carried leftover loop markers (common after importing an `.xm` -- it keeps its loop points even when looping is disabled) was being cut off at those old markers, so its notes went silent unless they happened to have a sample-offset (`9xx`) that jumped past them. Now a loop set to None plays the whole sample, every time -- the way it always should (and the way the older WiseTracker did).
- **"Open sampler" now works even when the SAMPLES panel is folded.** Clicking the open-sampler button (the corner-arrows icon on the SAMPLES header) while SAMPLES was folded did nothing visible -- it switched to sampler mode, but because a folded panel has no height the big sampler had nowhere to draw, so the click just looked like it toggled the tracker grid open/closed. Now opening the sampler always expands the SAMPLES panel first, and closing it restores the panel to however it was folded before.
- **Your sample settings survive saving and reopening the project.** When you reopened a host project, per-sample details were being lost and reset to defaults. Most importantly, a zone set to **fixed pitch (one-shot)** reverted to *track pitch* -- so a drum kit started transposing across the keyboard after a reload. Now key-tracking, detected root/tempo (and how they were detected), and each sample's keymap colour are all saved with the project and restored exactly. (Old projects still load fine -- missing details just fall back to the previous defaults.)
- **Keymap colours stay with their sample.** Each sample's colour on the KEYZONES keymap (and its row in the list) is now tied to the sample itself, not its position -- so deleting a sample no longer makes the remaining ones swap colours. Build a multisample, delete one in the middle, and every other zone keeps the colour you learned it by.
- **Dropping a sample on the KEYZONES keyboard adds it to that instrument.** Dropping audio onto the keymap used to spin off a *separate* instrument -- so a sample meant for the multisample you were building "left" it. Now dropping on the keyboard appends into the **current** instrument, the same as dropping on the sample list below it (the keyboard highlights while you hover). Dropping on the tab strip or the tracker grid still makes a new instrument, as before.
- **A single sample shows one resizable zone on the keymap, not two.** A loaded sample used to map a narrow "kit slot" plus a hidden full-keyboard fallback, which showed up on the KEYZONES keymap as a draggable zone sitting on top of a full-width backdrop -- two overlapping markings for one sample. Now a freshly-loaded sample maps the whole keyboard as **one** zone you can resize by dragging its edges (what you see is what plays). Existing instruments made before this can be tidied in one click with **Layout -> Auto**.
- **MIDI now plays the instrument you've selected.** When you had several instruments loaded -- especially with a multisample among them -- notes from your DAW's keyboard or sequencer ignored which instrument was selected and collided (the multisample grabbed its keys, and a single instrument grabbed everything else), so it didn't matter what you clicked in the list. MIDI now plays the **selected** instrument, plain and simple; a multisample still chooses the right sample per key inside that instrument. (Trade-off: triggering a kit spread across *separate* instrument slots by note is gone -- build the kit as one multisample instrument on the KEYZONES tab instead.)
- **Ctrl+Z / Ctrl+Y no longer escape to the host during a long undo streak.** When you pressed Ctrl+Z many times in a row (e.g. undoing several sample loads back to empty) and then Ctrl+Y to redo, keyboard focus could drift to the host and the first redo hit Reason's undo (removing the device). WiseTrax now re-claims the plugin window's keyboard focus on every undo/redo -- including the presses with nothing left to undo -- so the whole undo/redo path stays inside the plugin.
- **Ctrl+Z no longer escapes to the host after using a right-click menu.** After picking an item from any right-click menu in the plugin, keyboard focus could land back on the host instead of WiseTrax -- so the next Ctrl+Z hit the host's undo (in Reason, that removes the device). Now every popup menu hands keyboard focus back to the plugin window when it closes, so undo/redo stays inside WiseTrax. Most visible with the new Delete Selection item, but it covers every menu.
- **Folded sections stay the way you left them.** Whether each section -- TRANSPORT, SAMPLES, RHYTHM, TRACKER -- is folded or open is now remembered with your project (and across quit/relaunch in the standalone). Previously the TRANSPORT and RHYTHM panels always reopened folded, and the SAMPLES/TRACKER folds could reset to their defaults when you reloaded a project.
- **Loading a folder of one-shots no longer scrambles the keymap.** When you added several samples that share the same detected pitch (e.g. a pack of melodic one-shots all near C-6), the auto-map could pile them onto a single key while two samples stretched across the rest of the keyboard. It now lays same-pitch samples out one per key (each at its own pitch); genuine multisamples with distinct pitches still spread across the keyboard as before.

## [0.1.6] - 2026-06-09 - Closed Beta

### Added
- **Navigate the waveform when zoomed in.** A navigator strip appears along the bottom of the sample waveform whenever you're zoomed in: it shows a miniature of the whole sample with a highlighted box marking the part you're currently viewing. Drag the box to move through the sample, click anywhere on the strip to jump there, or **drag the box's left/right edge to zoom** (the opposite edge stays put). (Shift + mouse-wheel scrolls too.) It hides itself when the whole sample already fits on screen. The mouse cursor is also clearer over a waveform now: an I-beam where a drag starts a new selection, a left-right arrow over a selection edge, loop marker, or navigator-box edge you can drag, and a hand over the navigator.
- **Delete part of a sample and close the gap.** Drag-select a region in the waveform editor and press the new **Delete** button to remove that chunk -- the audio after it slides back to meet the audio before it, so the sample gets shorter with no silent gap left behind. (This is a true ripple delete, unlike Silence Range, which leaves a same-length stretch of silence.) Undoable with Ctrl+Z. The button lights up only when you have a selection.
- **Real tempo detection.** The inspector's TEMPO now shows a loop's actual BPM when the file knows it -- read straight from the file (ACIDized WAVs / Apple Loops) or from a "...128bpm..." in the filename -- with a green dot. When there's no such info it falls back to a length-based guess shown with a gold dot, so you can tell an exact tempo from an estimate. One-shots show no tempo.
- **Set a sample's root note yourself.** Click the ROOT field in the instrument inspector and pick any note from the menu -- handy when the auto-detect gets it wrong, or to tune a loop or drum on purpose. It retunes instantly and is undoable (Ctrl+Z). Hovering the ROOT field now explains, in plain words, what the root note does, and the text follows the current note.
- **See where a sample's root note came from.** The instrument inspector's ROOT field now has a small status dot: green = taken from the file's own info, gold = worked out by listening to the audio (hover to see how confident it is), grey = default / not detected (loops and drums are left alone). The note still shows what plays -- the dot just tells you how it was decided, so a default C-5 no longer looks like a confident detection.
- **Single-note samples tune themselves when you load them.** Drag in a sample that's one clear pitch -- a synth or guitar note, a tonal stab -- and WiseTrax works out its note and sets the root so it plays in tune across the keyboard, no manual tuning. It trusts the file's own info first (ACIDized WAV / Apple Loops root note) and listens to the audio when there isn't any. Loops, riffs and drum hits are deliberately left alone -- they keep playing at their recorded pitch -- so only clearly-pitched one-shots get tuned. The note it found shows in the instrument inspector's ROOT field.

### Changed
- **Bigger, clearer sampler tool buttons.** The waveform editor's tool buttons (Normalize, Reverse, Crop, Cut, and the rest) now use larger text and a little more height so they're easier to read. When the panel is narrow or zoomed in (e.g. 200%), a button that no longer fits its label shows just its icon instead of a cut-off word like "R..." -- hover any icon to see its full name.

### Fixed
- **Instrument inspector no longer breaks when the panel is narrow.** Dragging the panel to its narrowest left the ROOT field holding empty space while TEMPO collapsed to an unreadable "TEM 1". The two fields now share the width evenly and their text auto-fits, so both stay readable at any panel width -- and the sample details below them are no longer pushed off the bottom.
- **Offset info is back on the big sampler.** The hover chip that reads out a position in the sample as an offset command (9xx / Oxx) works again in the full-size sampler view, and its "i" toggle button turns it on and off there. It had stopped appearing on the big view when that view became its own panel; the small waveform strip above the grid was never affected.
- **Clearer waveform cursors.** Over a sample's waveform you now see an I-beam where a click-drag starts a new selection, and a left-right arrow when you hover an existing selection's edge (or a loop marker) to drag it -- so it's obvious what a drag will do. The selection edge under the cursor also highlights. Previously a "grab" hand appeared when zoomed in, which suggested you could drag to scroll the waveform when you actually couldn't.
- **Undo/redo label no longer drops its last letter.** The action pill that flashes on Ctrl+Z/Ctrl+Y ("Undid: Edit note") was clipping the final character of the action name -- it read "Edit not". It now shows the full name.
- **Menu text no longer spills outside the box.** Right-click menus drew their keyboard shortcuts ("Insert", "Ctrl+A", "Shift+Delete"...) and the submenu arrows hard against -- and sometimes past -- the right edge. They now sit inside the menu with a clean margin. Affects every menu in the plugin.
- **Loading a sample is now undoable -- and won't drop the plugin.** Dropping a sample (or loading one from the instrument list) can be undone with Ctrl+Z, the same as every other edit: undo a load onto a new slot and the slot disappears entirely; undo a load that replaced an existing sample and the previous sample comes back. This works the same from every place you can load -- the sample tabs up top, the instrument list on the right, drag-and-drop, "Load sample...", multi-file and folder loads. Previously a load left an empty leftover slot when undone, the very first load couldn't be undone at all, and undoing right after dropping on the sample tabs could remove the whole plugin from the project. All fixed.

## [0.1.5] - 2026-06-07 - Closed Beta

### Added
- **Undo and redo buttons in the toolbar.** Two labeled buttons next to the logo show what your next undo or redo will do -- "Undo Edit note", "Redo Paste" -- so you can see what's queued without guessing. They grey out when there's nothing to undo/redo, and work from any view (the tracker grid or the sampler), since they share the same history as Ctrl+Z. Hover either one for the action name and the keyboard shortcut.
- **Undo/redo now tells you what it did.** When you press Ctrl+Z or Ctrl+Y, a small label briefly appears showing the action -- "Undid: Paste", "Redid: Edit note", "Undid: Delete instrument", and so on -- so you always know what just changed. It shows wherever you're working (the tracker grid or the sampler). Pressing undo/redo with nothing left says "Nothing to undo" / "Nothing to redo" instead of doing nothing silently. Cell edits are named by what you actually changed -- "Edit note", "Edit instrument", "Edit volume", "Edit effect", or "Clear" -- rather than a blanket "Edit note".
- **Instrument list panel.** A foldable panel on the right lists every instrument in the song in a scrollable list, so you can reach any of them (and add a new one with "+ Add instrument") no matter how many there are. Drag its left edge to resize it, or collapse it to a thin tab to give the grid more room; the size and folded state are remembered. Collapsing and reopening it slides smoothly, and the collapsed tab shows the section colour, an open arrow, and a vertical "INSTRUMENTS" label. Click a row to pick that instrument and hear it at the same time -- a short preview plays it at the current octave (imported modules preview at the correct pitch too). Empty slots stay silent. Each row with a sample shows a small waveform of it on the right, so you can spot the sound you want at a glance.

- **Sample inspector.** Selecting an instrument shows a panel under the list with that sample's details: root note, tempo (when known), length, sample rate, channels, loop type, and how many patterns it's actually used in. It also draws a waveform of the sample, with the loop region marked in green. A small line tells you if it's a native sample or an imported module sample, and hovering any field gives a plain-language explanation (with the precise detail for power users). Empty slots show a tidy placeholder. You can preview the sample right there with a play/stop button, plus a loop toggle: off plays the sample once through, on repeats it until you press stop. While it plays, a marker rides the waveform and the play button follows the real sound -- it stops exactly when the sample does. An "Auto-preview" toggle controls whether clicking an instrument in the list plays it: turn it off to browse silently and use the play button to hear only what you choose. The inspector can be folded away by clicking its title row -- it slides shut to give the instrument list more room and slides back open when you click it again, so the sample info is never lost when the panel gets short. The Auto-preview setting and the folded state are both remembered per instance.

- **Manage instruments by right-click.** Right-click an instrument -- its tab up top, or a row in the list -- to Rename, Duplicate, or Delete it. The list's menu matches the rest of the app's menus.

- **Load several samples at once.** Drag a batch of audio files onto the instrument panel -- each file becomes its own instrument slot, instead of only the first one loading. You can also right-click a slot, choose Load sample, and select more than one file in the picker.

- **"+" in the instrument panel header.** Add a new instrument straight from the top of the list, without scrolling a long list down to the "+ Add instrument" row. The list jumps to the new slot so you can name it or drop a sample on it right away.

- **Load samples from the instrument list, not just by dragging.** Right-click an instrument in the list to load a sample into it -- or replace the one it already has -- and you can pick several files at once. Right-click the "+" (in the panel header or the "+ Add instrument" row), or any empty space in the list, to choose between adding an empty slot and loading sample files straight into new slots.

- **Load a whole folder of samples at once.** Drag a folder onto the instrument panel, or use "Load folder..." in the "+" menu, and every audio file inside loads into its own slot, in name order (kick1, kick2, ... kick10). A short summary tells you how many loaded, and warns if the kit filled up before they all fit.

- **Drag an instrument onto the grid to place a note.** Drag any instrument from the list onto the pattern editor and drop it on a cell -- it writes a note there set to that instrument, at the same pitch you hear when you preview it (the sample's natural playback pitch). The target cell highlights and shows the note before you let go, and it's a single undo.

- **Undo for instrument changes.** Adding, duplicating, and deleting an instrument can now be undone with Ctrl+Z (and redone with Ctrl+Y or Ctrl+Shift+Z), the same key that undoes grid edits. Undoing a delete restores the instrument together with the notes that referenced it.

### Changed
- **One set of undo/redo buttons for the whole plugin.** The sampler's own undo/redo arrows were removed -- the toolbar undo/redo buttons (and Ctrl+Z / Ctrl+Y) already cover the sampler, so there's a single place to undo from no matter which view you're in.
- **The toolbar stays usable when the window is small or zoomed in.** When space gets tight, the undo/redo buttons and the MIDI chip drop their text and shrink to icons (their tooltips still spell everything out) instead of overlapping each other. They return to full labels when there's room again.
- **The MIDI drag-out chip moved next to the other controls.** The green "MIDI" chip (drag it onto your DAW to drop the current pattern as a MIDI clip) now sits in the right-hand control cluster, next to the on-screen-keyboard button, instead of out on its own next to the logo. The toolbar reads more as one tidy group, and frees space on the left.
- **Deleting an instrument that's in use now asks first.** If an instrument is used by notes in your patterns, deleting it (from the list or a tab) shows a confirm that tells you how many notes it affects; an unused instrument deletes without a prompt.
- **The window resizes cleanly now.** It has a sensible minimum size so the layout never collapses into overlapping or cut-off controls, and when the pattern/sequence row gets narrow, the Oct / Step / LPB / Page / note-off controls tuck into a "..." button (click it to reach them) instead of overlapping the pattern slots.
- **Calmer, clearer colour scheme.** Panel frames and most controls are now neutral, and each theme's accent colour is reserved for what's active or selected (the playing row, the chosen instrument, primary buttons) instead of tinting everything. The SAMPLES / TRACKER / INSTRUMENTS sections carry a small colour on their badge to tell them apart -- one coherent colour family per theme (a blue family on the default themes, teal on Petrol, amber on Phosphor) rather than three unrelated colours, so the panels read as a set. The settings gear, fold arrows, and the title now follow this on all four themes, and the on-screen-keyboard button is drawn as real piano keys (and lights up while the keyboard is open).

- **Pick a pattern from a searchable grid.** "Change to pattern" now opens a compact picker -- a grid of pattern numbers you can type-to-filter (type a number to jump, arrows to move, Enter to pick) -- instead of a long scrolling menu. Every right-click menu now shares one consistent themed look, too.

### Fixed
- **Deleting or duplicating an instrument now updates the grid display immediately.** The pattern grid already renumbered its instrument references and played the right sounds, but it wasn't being redrawn after a delete/duplicate, so it could keep showing the old numbers. It now refreshes right away, so what you see matches what plays.
- **The layout stays clean at high zoom and small window sizes.** When there isn't room for both the instrument panel and a usable tracker, the instrument panel now folds to its tab on its own (and reopens when you make the window bigger), so the controls never overlap -- and the window never resizes itself.
- **Setting a loop in the sampler now links to the sample inspector and actually loops.** When you set a loop end (or "Fit Loop to Whole Sample", or drag the loop-end handle), the loop turns on automatically, and the inspector panel updates to show the loop and its region right away. Editing or cropping a sample also refreshes the inspector. (Setting only the loop *start* still leaves it as a start marker, and imported module loops are untouched.)
- **The on-screen keyboard button glows gold when open**, instead of a blue frame.
- **Duplicating or deleting an instrument no longer breaks the grid.** When you add or remove an instrument, the pattern cells that reference instruments are renumbered to follow the change, so notes keep playing the sample they always did (previously, duplicating an instrument shifted the others and the grid started playing the wrong sounds).

## [0.1.4] - 2026-06-04 - Closed Beta

### Added
- **Pattern view modes (Settings -> Pattern view).** Choose how the grid behaves during playback: **Cinema** (the playhead stays put and the grid scrolls, as before), **Classic** (the grid stays still and a highlight bar moves down the rows), or **Locked** (Classic, but the view doesn't follow playback so you can edit one pattern while the song plays elsewhere). On big / 4K displays, Classic and Locked redraw far less of the screen. Saved per plugin instance.
- **Import FastTracker II modules (.xm).** Drag an `.xm` file onto the plugin and it loads as a full editable song - patterns, instruments, and the sequence, at the correct pitch automatically (no manual octave setting). On import you get a summary showing the module's original **tempo** (so you can match your DAW's BPM - the plugin follows the host tempo), the pattern/instrument counts, and a note of anything that was approximated.
- **More actions can be undone.** Ctrl+Z (and redo) now covers renaming a track, muting/soloing tracks (including "mute all" and exclusive-solo - one undo restores the whole previous mute/solo state), changing a track's colour, volume, or pan (a whole fader drag is a single undo), and adding, removing, renaming, auto-marking, and clearing bookmarks (including "clear all bookmarks in song" in a single undo), alongside the pattern-grid edits that were already undoable. Editing the sequence strip is now undoable too - reordering pattern slots (drag), inserting/removing/pasting a slot, stepping a slot to a different pattern, setting the loop-range brackets, renaming a pattern, and adding, duplicating, making-unique, deleting, or clearing a whole pattern. Undo now covers essentially every edit in the tracker. (Clearing or deleting a pattern used to warn "this cannot be undone" - it now says so correctly: you can undo it.)
- **The footer tells you when an effect's value is capped.** For effects with a limited range (Set Volume, Set Global Volume), the status strip at the bottom of the grid now shows the limit, and if you enter a value above it, shows what actually plays - e.g. `C9F -> 7F` - so a value that gets clamped is never a silent surprise.

### Changed
- **The tracker now keeps the keyboard from the host.** Clicking anywhere in WiseTrax reclaims keyboard focus from the DAW, so SPACE (Edit mode), Ctrl+Z (undo), and all the tracker keys reliably reach WiseTrax instead of the host - even right after you've pressed the host's Play/transport. Previously, after touching the host the next Ctrl+Z could be swallowed by the DAW (in Reason that removed the device).
- **Volume now reads in decibels and feels right.** The volume pop-ups (track, note, and the Cxx volume effect) show the level in dB - e.g. `-5.8 dB`, with `-inf dB` at silence - and keep the 0-127 value and hex underneath. The fader also uses a perceptual (logarithmic) taper, so moving it changes loudness evenly across the whole throw instead of barely doing anything near the top, and shows a dB scale down the side (0, -6, -12, -24 dB) with the 0 dB unity mark highlighted. The stored value and the sound are unchanged - this is display and feel only, so existing songs are identical. The "Half" quick-button now sets about half the perceived loudness (~-10 dB) instead of half the raw number, so it actually sounds half; "Mute" and "Full" are unchanged.
- **Auto note-off now starts OFF.** The "auto note-off on key release" toggle (in the sequence strip, between LPB and the + button) now defaults to off. Recording no longer drops a Note-Off into the grid when you let go of a key - you write note-offs yourself (CapsLock writes one in the focused cell), the classic tracker way. Turn the toggle on any time you want the automatic note-offs back.
- **A couple of keystrokes now explain themselves instead of doing nothing.** Pressing paste with an empty clipboard shows "Nothing to paste", and interpolate without a 3+ row selection shows "Select 3+ rows to interpolate", in the footer - rather than silently failing.
- **Retrigger volume modes now read in plain language.** The first digit of a retrigger (`Rxy`) is a volume mode - an opaque `0`-`F` that nobody could guess. Now the footer, the effect picker, and Help all spell it out: `R71` reads "vol: halve", `RF1` reads "vol: double", `R03` reads "vol: no change", and so on. The Help entry was also corrected (it wrongly said retrigger counts "ticks" and listed the wrong volume table).
- **Retrigger keeps rolling on short samples - and a second one changes the rate.** A retrigger (`Rxy` / `E9x`) used to go quiet after the first hit when the sample was shorter than the gap between hits - so a short hi-hat couldn't roll at `R03`/`R04`. Now it re-strikes the note each time, so it rolls cleanly no matter how short the sound is, and keeps going until you stop it (a new note, a note-off, `R00`, or pressing Stop). Putting a different retrigger further down the same track now re-aims the speed with no gap at the switch - e.g. `R03` then `R02` then `R01` gives a clean accelerating fill. An instrument's envelope shape is preserved on every retriggered hit.
- **Two-setting effects now show two labelled faders.** Effects that pack two values into one - Volume Slide (Up / Down), Vibrato (Speed / Depth), Tremor (On / Off), Multi-Retrigger, Pan Slide and more - now show two named faders instead of a single slider, so you set each part directly with no hex in your head. Works the same whether you pick the effect from the menu or from "Choose Effect...".
- **"Choose Effect..." moved to the top of the cell right-click menu** so the by-name effect picker is the first thing you reach.
- **Clearer volume names.** The menus now spell out which volume you're changing: "Track Volume" (the whole track), "Note Volume" (how loud one note is), and "Set Volume (Cxx effect)" (the effect-column command). Each dialog's title matches its menu item.
- **Typed notes play at full volume by default.** Notes you type now leave the volume column blank and play at the instrument's full volume - the standard tracker behaviour - instead of being stamped at a fixed lower level. Type a value into the Vol column only when you want one note quieter.
- **Hover tooltips look like the rest of the app and read correctly.** Tooltips now use the themed rounded-card style instead of the plain box, the volume column tooltip says "7F = full (127)" (it wrongly said FF), and the two extra effect columns (F2 / P2) now have tooltips too.

### Fixed
- **Imported XM samples with a zero-length loop no longer buzz.** Some `.xm` files mark a sample as looping but give the loop a length of zero. These now play once (one-shot), the way FastTracker 2 plays them, instead of being forced into a 1-sample loop that buzzed.
- **Imported module notes play from the start of the sample again.** A note from an imported module (`.xm`) now begins at the very start of the sample - its attack - the way the original tracker plays it, instead of jumping straight into the sample's loop. Each note's onset now sounds correct (this also fixed a subtle "the next note sounds different" character on sustained/looped instruments). Loops you set yourself on a sample in the sampler are unchanged - they still start at the loop point.
- **Clicking a sample in the sampler plays it at the right pitch.** After the XM-import octave fix, clicking a sample to audition it played an octave too low (slow-motion) for imported modules. It now previews at the correct playing pitch (matching the keyboard's note), so you can actually listen to imported samples. (Dropped-WAV samples were already correct.)
- **The pattern grid scrolls smoothly during playback.** It used to jump a whole row at a time, which read as juddery / hard to follow - especially on large or 4K displays. The rows now glide between lines, so the grid stays readable while it moves. This applies to Cinema (always) and to Classic when it actually scrolls (Classic stays perfectly still - and clearest - when zoomed out so the whole pattern fits). Locked stays static for editing while the song plays.
- **Scrolling the pattern slots no longer jumps playback.** When there are enough patterns to need the ? ? overflow arrows, clicking an arrow to scroll the slot strip (especially clicking fast) used to leap the song to a slot deep in the track. The arrows now only scroll the view; jumping to a slot still happens only when you double-click the slot itself.
- **Ctrl+Z no longer risks removing the plugin.** On a fresh load, if you only touched the sequence strip (added or reordered patterns) and never clicked the grid, keyboard focus stayed with the host - so Ctrl+Z went to the host, which read it as "undo = remove the device" and deleted WiseTrax. The grid now takes keyboard focus when the plugin opens, and the sequence strip hands focus back after every edit, so Ctrl+Z always lands inside WiseTrax.
- **Ctrl+Z behaves while a value pop-up is open.** With a volume/pan/effect pop-up open, pressing Ctrl+Z now reverts that pop-up's in-progress change back to where it opened (for the sliders) instead of doing nothing - and it can no longer slip past the pop-up to undo an unrelated earlier edit. Esc still cancels. Covers every value picker and dialog, not just one.
- **Mouse-wheel scrolling keeps the cursor on screen.** Scrolling the pattern grid with the wheel moves the cursor, but the view used to stay frozen so the cursor scrolled out of sight (only the arrow keys brought the view along). Now the view follows the cursor on a wheel scroll too, exactly like the arrow keys.
- **Ctrl+C / Ctrl+X now work on a single cell.** Copy and Cut used to do nothing unless you'd made a selection first - on a single cell under the cursor they silently failed (so a later paste replayed whatever you last copied). Now `Ctrl+C` / `Ctrl+X` copy or cut the cell under the cursor when there's no selection, like every tracker.
- **The "Welcome" card now sits dead-centre.** It was drifting slightly to the right and down at larger sizes; it's now properly centred at any zoom.
- **Retriggers no longer click.** A fast or sustained retrigger (a held bass, a roll) used to click each time it restarted the sound, like a bad loop point. Restarts now crossfade smoothly, so rolls and stutters are clean.
- **Retrigger now repeats at exactly the rate you set.** A note with a retrigger effect (`Rxy` multi-retrigger or `E9x`) used to fire one row too slowly and with an uneven first gap - so `R04` on a kick didn't line up as a clean four-on-the-floor. Now the spacing is exact and even from the first hit: `R04` = a hit every 4 rows, `R02` = every 2, `R01` = every row.
- **No more crash when editing a sample's loop or cropping it while it plays.** Setting a loop region (or cropping) on a sample that was sounding - especially at high tempo with a note retriggering fast - could crash the plugin (and the host) in the audio engine. The loop now plays through safely even mid-edit; a loop that briefly has no length just plays to the end instead of crashing.

## [0.1.3] - 2026-06-02 - Closed Beta

Pick effects by name, every value pop-up and confirm/rename/number dialog now
opens inside the plugin window (nothing hides behind the host), and a cell's
volume is capped at full so it can't overdrive.

### Added
- **Rename Track uses a new in-window dialog.** Renaming a track now opens a themed dialog *inside* the plugin (a dimmed background + a centered card) instead of a separate system window that could hide behind the plugin. (More text/confirm dialogs move to this next.)
- **Keyboard and scrub control for the value pop-ups.** The Set Volume / Set Pan pop-ups now take the keyboard: arrow keys nudge the value (Shift or PageUp/PageDown for bigger steps, Home/End jump to min/max), Enter applies, Esc cancels back to where it started. You can also drag the number itself to scrub it (hold Shift for fine), or double-click it to reset to the default. The track header briefly flashes when its pop-up opens, so you can see which track you're editing.
- **More cell pop-ups use the same picker.** Right-click a cell -> Effects -> (any effect), and right-click -> Quick FX -> Set Volume / Set Pan / Set Tempo / Fade In / Fade Out, now open the same fader-style picker as the track Volume/Pan controls instead of the old small sliders (tempo and fade length show as a plain number). Set a value and press Enter to apply (a single undo step); Esc cancels.
- **Right-click menus follow your theme.** The right-click menus now use your theme's colours with rounded corners, a soft shadow, and an accent highlight on the hovered item, instead of the plain system-grey menu.
- **Set Volume on a cell uses the picker too - and no longer hides behind the plugin.** Right-click a cell -> Set Volume... (the volume column) now opens the same in-window picker, with a **Clear** button to remove the volume; it applies across a selection. Previously it was a plain box that could slip behind the plugin window.
- **Choose an effect by name.** Right-click a cell -> Effects -> "Choose Effect..." opens an in-window dialog where you pick the effect from a list by its plain-language name and set its value on a slider (shown in decimal and hex), with the effect's meaning displayed below. Applies across a selection and can be undone. Replaces the old hex-only box and reaches effects that box couldn't enter.
- **Value pop-ups have an OK button + bigger text.** Set Volume / Set Pan / effect-value pop-ups now have a clear **OK** button (a visible mouse accept, alongside Enter / click-away), all use the same fader, and their text is larger so it reads on big / high-DPI screens.

### Changed
- **Confirm dialogs open inside the plugin, with a clearer warning.** The "Delete Track", "Clear pattern", and "Delete pattern" confirmations now open as in-window dialogs (they can't hide behind the plugin window anymore). The title and the confirm button are shown in red, and the safe option - Cancel - is selected by default, so pressing Enter cancels instead of deleting; you click the red button (or Tab to it) to confirm. Long messages wrap onto more than one line.
- **Rename dialogs open inside the plugin too.** Renaming a pattern (song strip) and naming a section/bookmark (grid gutter) now open the same in-window text dialog as Rename Track, instead of a separate system window that could hide behind the plugin.
- **Number-entry dialogs open inside the plugin.** Go To Line, Auto-mark Every N Lines, and the custom Pattern length dialog now use the same in-window dialog instead of a separate system window.

### Fixed
- **The volume column now tops out at full instead of going past it.** A cell's volume now stops at 127 (7F = full) everywhere you set it - the Set Volume pop-up, typing in the grid, dragging, the mouse wheel, and interpolate. Before, it allowed up to 254, and anything above 127 played louder than full (a doubling at 254) which could distort. Existing patterns that were set above 127 now also play at full rather than overdriving.
- **Effect value sliders stop at each effect's real maximum.** The Set Volume effect slider now stops at 127 (7F) and Set Global Volume at 64 (40), instead of running to 255 where the extra range did nothing. The picker's range follows the chosen effect.
- **Menu shortcuts no longer get cut off.** Right-click menu keyboard shortcuts (e.g. Ctrl+Shift+V, Shift+Delete, Alt+X) now show in full instead of truncating to "Ctrl...". Other custom labels (pattern names in the ghost view, card headers, sampler buttons) now shrink to fit rather than clip silently.
- **Default track names are consistent.** The four starting tracks are now named "Track 1"-"Track 4" to match the names new tracks get (they were "1"-"4").
- **Value pop-up text no longer gets cut off.** Titles and the one-line description in the Set Volume / Set Pan / effect pop-ups now shrink to fit (and the description can wrap to two lines), so longer effect explanations show in full. Also fixed a doubled word in effect titles ("Set Set Volume" -> "Set Volume").

## [0.1.2] - 2026-05-31 - Closed Beta

Reworked Set Volume and Set Pan pop-ups, a fix for the pop-ups that could hide
behind the plugin, and What's New now opens itself once when you update.

### Added
- **Set Volume picker.** Right-click a track header -> Set Volume now opens a slider with the volume shown as both a big decimal *and* hex, a tick at the default, and one-click **Mute / Half / Full** buttons. It follows your theme, scales with the plugin zoom, and stays inside the window.
- **Set Pan picker.** Set Pan uses the same picker - a left?right slider with a centre point, an "L 32 / C / R 14" readout, and one-click **L / C / R** buttons. Both pop-ups share the same look (rounded panel, soft shadow) and follow your theme.
- **"What's New" opens automatically after you update.** When you load a newer build of WiseTrax, the What's New page pops open once on its own so you can see what changed - then stays out of your way until the next update. Brand-new users still get the friendly welcome card instead.

### Changed
- **Number values show as decimal *and* hex together** in the Set Volume / Set Pan pop-ups - decimal first, hex alongside. (Foundation for a future option to show everything as decimal.)

### Fixed
- **Pop-up sliders no longer hide behind the plugin.** The little value pop-ups (set Volume / Pan, and the Quick FX sliders like Pitch Slide and the fades) used to open as their own floating window - which could slip *behind* the WiseTrax window after you resized the plugin, so it looked like nothing happened until you clicked the grid again. They now open *inside* the plugin window, so they always stay in front where you can see them.
- **Right-click menus and value pop-ups now open exactly where you click.** On scaled / high-DPI displays the track-header menu (and the value pop-ups) could open a couple of tracks to the *left* of the click. They now anchor precisely at the spot you clicked.

## [0.1.1] - 2026-05-31 - Closed Beta

Tracker-grid editing update: work on one sub-column at a time (copy / cut /
paste / clear), type effect letters directly, a cleaner right-click menu, and
a couple of fixes from beta feedback.

### Added
- **Version badge on the welcome card.** A small `v0.1.1` chip sits in the top-right of the welcome card - click it to jump straight to "What's New" in Help. Handy for knowing which build you're on when reporting bugs.
- **Copy only the FX (or Note, or Vol) column.** New `Ctrl+Shift+C` copies just the sub-column band under the cursor - Note (with instrument), Vol, or FX. A plain `Ctrl+V` then overlays only those fields onto the destination cell and leaves the others alone, so you can move FX patterns around without touching the notes. Also available from the right-click menu under Copy -> Whole Cell / Note Only / Vol Only / FX Only. Plain `Ctrl+C` still copies whole cells. Reported by beta tester.
- **Scoped Cut and smart-paste partner.** `Alt+X` cuts just the sub-column band under the cursor (mirror of `Ctrl+Shift+C`; uses Alt because every major DAW host intercepts `Ctrl+Shift+X` for its own "Cut Time"). `Ctrl+Shift+V` does the smart-paste: same scope-aware overlay as plain `Ctrl+V`, but if your cursor isn't already in the matching sub-column band, it jumps the cursor there first and flashes the destination so you can see where it landed. The right-click Cut and Paste menus also gain the 4-scope submenu - and `Paste -> FX Only` (etc.) lets you spray just one sub-column out of a whole-cell clipboard without re-copying.
- **Note Off in the right-click menu.** The `1` key has always written a Note Off (the green `OFF` release marker) in the note column - now it's also in the right-click menu, near the top, with its `1` shortcut shown, so it's easy to find. Writing it keeps any FX already on the row.
- **Type effect letters straight into the FX column.** In the Fx / F2 column you can now type the extended effect letters directly - `G H K L O P R T X` - instead of only hex digits or the right-click menu. (e.g. cursor on the Fx letter, press `R` -> writes a Multi-Retrigger.) Hex `0-9 / A-F` still works as before.
- **Scoped Clear.** `Alt+Delete` (or `Alt+Backspace`) wipes only the sub-column band your cursor is in - Note (with instrument), Vol, or FX - across the selection if you have one, or just the cursor cell. Plain `Delete` still wipes the whole cell so muscle memory is preserved. The right-click "Clear" menu now opens the same 4-scope submenu as Cut/Copy (Whole Cell / Note Only / Vol Only / FX Only), and scope items grey out when there's nothing in that band to clear - so the menu shows at a glance what would actually do something. Footer pill says "Cleared: fx" (or note/vol) in the matching column colour. Uses `Alt+Delete` instead of `Ctrl+Delete` because Reason, Reaper and Cubase all bind that chord at the host level - it would never reach the plugin.

### Changed
- **Cleaner right-click menu: Presets / Quick FX / Effects.** The old "Insert Preset" menu mixed musical templates with effect shortcuts that duplicated "Set Effect". It's now three clear menus: **Presets** (Beats, Chords - ready-made musical content), **Quick FX** (guided slider helpers: Pitch Slide, Fade In/Out, Set Volume/Pan/Tempo, Loop Pattern, End Pattern Early), and **Effects** (renamed from "Set Effect" - the full effect picker by code, including the percent `O` offset). No more duplicated entries across menus.
- **Right-click menu now shows keyboard shortcuts** next to every action that has one (Clear / Insert Row / Delete Row / Select All / Go To Line / Transpose / Interpolate Volume in addition to the existing Cut / Copy / Paste). Pure visual addition - no behaviour changed.
- **Copy/cut/paste now show a status message** in the bottom bar (e.g. "Copied: FX", "Pasted: note") - a small colour-coded pill that fades out after a couple of seconds, right under the grid where your eye already is. The scope word is tinted in its column colour (note/volume/FX) so you can tell what you grabbed at a glance.
- **Richer, friendlier welcome card.** The first-run "Quick start" card is rebuilt: colour-coded sections, a CLIPBOARD and SELECT section, a highlighted "right-click any cell" pro tip, an "Open the full guide" link to Help, and it now scales up so it's readable on big screens. The dismiss controls changed: a small **Close** button hides it for now (it returns next time), and a separate **"Don't show again"** checkbox hides it for good (re-enable any time in Settings -> General).

### Fixed
- **The percent Sample Offset (`O`) is now in the right-click effect menu.** It already worked if you typed `O`, but it was missing from the Set Effect list, so it was easy to think it wasn't there. The frame offset is now labelled `9 Sample Offset (frame)` and the percent one `O Sample Offset (percent)` so the pair reads clearly.
- **Right-click "Clear" now clears the clicked cell** when there's no selection. Previously it was a silent no-op in that case (the Delete key always worked though). Menu and key now agree.
- **Note entry no longer wipes the effect columns.** Typing a note (PC keyboard, MIDI piano, or drum pad) on a row that already has an effect (`R03`, `E 00`, etc.) now preserves the effect - same as every classic tracker. Previously, typing a pitch silently cleared any effect already on that row. Reported by beta tester. Commit `6fc45a5`.

## [0.1.0] - 2026-05-29 - Closed Beta

First closed beta. **Early build:** plenty is still missing or half-built and
there will be bugs - please report them (as specifically as possible) in the
Discord.

### Highlights
- **Sampler + tracker in one** - drop a `.wav/.aif/.flac/.ogg` and play it from a
  MIDI clip, a MIDI keyboard, or the QWERTY keys.
- **Tracker grid** with multi-pattern **Song mode** that follows the host
  transport and tempo (SONG / PATTERN toggle).
- **Auto BPM + slice detection** on dropped loops, with a dedicated sampler view
  and waveform tools (normalize, reverse, fades, crop, loop, slice).
- **Pattern -> MIDI drag-out** - drag the green "MIDI" chip in the top bar onto
  your DAW to drop the current pattern as a `.mid` clip. Notes, velocities and
  per-instrument channels carry over; tracker effect columns don't (by design).
  Optional drag-out velocity override in Settings -> MIDI.
- **On-screen keyboard**, multiple instruments, **four dark themes**, free
  whole-plugin zoom (50-200%) and host-resizable UI.
- **In-app Help & Settings**, per-instance and saved with the host project.
- **Community:** Discord link in the Help panel.

### Known limitations (beta)
- Many planned features are not in yet; expect rough edges and bugs.
- Tracker effect columns and sub-line timing are not exported in MIDI drag-out.
- Pattern-effect tempo changes (Fxx) aren't reflected in SONG mode yet.

