Skip to content

0.1.0-alpha.7

Released 2026-11-04. Compare on GitHub

  • Window and Help menus. Window has Minimize, the Mixer, Editor and Event List in Separate Window items (moved from View) and a list of the open windows to bring one to the front. Help opens the User Guide, the changelog, a new GitHub issue or the website in the browser, and Settings › Key Commands.

  • Snap: Division and Ticks. Division is a quarter of a beat (the position display’s third number: a sixteenth in 4/4, a thirty-second in 6/8), Ticks 1/240 of that. In the Snap pop-up, the ruler’s menu and Settings › Editing.

  • The Step Sequencer picks rows for the instrument. A new pattern region on a track that already plays notes gets a row for each pitch it plays (up to 16); on a kit (the Sampler, or an instrument or track named Drums, Kit, Perc…) the General MIDI kit; on any other instrument an octave of the project key’s scale from C3. A pitched instrument’s rows are named by note, not by drum, and + adds the next note down.

  • HiDPI plug-in editors on Linux: each editor is told the display’s scale as it opens (GDK_SCALE, the desktop’s GTK scale, or Xft.dpi), and its window takes the size the plug-in gives at that scale. LSP, Dragonfly, Zam, CHOW Tape and TONE3000 draw at 2x; nothing changes at 1x. scripts/editor-scale-check.sh checks it on a private Xvfb display.

  • Native Wayland, opt-in: MARBBLE_WAYLAND=1 runs the interface natively on Wayland. Plug-in editors still open through XWayland, with their OpenGL kept apart from GTK’s, so DPF editors (Zam, Dragonfly) open there too. The default stays XWayland.

  • Keyboard control of knobs and faders. Tab reaches the channel strip’s fader, pan and send knobs, the track headers’ volume sliders, the master volume, VCA faders and the built-in effects’ knobs; the arrow keys step them (Shift for fine), Page Up and Page Down step further, Home and End go to the ends. A change goes the way a drag does, so it writes automation in Touch and Latch and a run of presses undoes as one step. Screen readers hear each control as a slider with its name and value, and buttons that show only an icon by their tooltip.

  • A keyboard focus ring. What Tab reaches shows a ring in the accent colour; clicks never do.

  • The CPU meter shows its load as a percentage beside the label.

  • Double-click a region to open its editor: the Piano Roll for a MIDI region, the Audio Track Editor for an audio region, as the Step Sequencer already opened for a pattern region.

  • The ruler has a right-click menu: Move Playhead Here, Create Marker Here, Cycle, Autopunch, Set Locators by Regions and Snap.

  • Rename the old projects folder: while ~/Music/Fermata is the projects folder, Settings › General offers Rename to Marbble. It refuses while a project from it is open or anything is called ~/Music/Marbble, never copies or overwrites, and takes Recent Projects, the folder settings and the projects’ track heights along.

  • The Inspector’s Track section edits the track: Name, Color (the colour grid), Input (audio tracks) and Output pop-ups, and Freeze, besides the type, instrument, region count and group.

  • One kind of button wording in sheets: Bounce in Place confirms with Bounce and Strip Silence with Strip Silence instead of OK; the Project Chooser’s dismiss button is Cancel at launch too. The recovery sheet’s Cancel is Decide Later, and a line for each button says what it does.

  • The menu bar’s one-of-several choices are radio items on Linux (View › Theme, File › Project Alternatives), and a submenu whose items all don’t apply is greyed out (Repeat, Move, Name and Color with no regions selected), as in the Tracks area’s menus.

  • Tooltips show the key of every control that has one, from Settings › Key Commands, so a reassigned key shows: Stop, Rewind, Forward, Catch Playhead and the track headers’ Mute, Solo and Record Enable now do too.

  • The Audio FX menu has a VST3 heading over the VST3 categories, so Delay, Dynamics, EQ and Reverb don’t appear to be listed twice; the VST3 list by vendor is By Manufacturer.

  • A send slot greys out the buses the strip already sends to, marked “Already sent”.

  • Project Settings keeps one height on every tab, as Settings does.

  • The editors’ bars fit narrow panes. At 1280 px, at 125 %, or with the Inspector and Library open, the Piano Roll, Event List, Step Sequencer and Audio Track Editor drop their captions (each control keeps its tooltip), then shorten their sliders, then move what’s left to a second row; nothing runs off the edge. The control bar tightens at 1280 px and 125 % so its view buttons stay in the window.

  • The Mixer opens with its faders. Its default height is 560 px (was 400), and when it’s shorter than a strip the Audio FX and Sends sections show fewer rows before the fader shrinks below 120 px; when even that doesn’t fit, the strips scroll from the bottom so faders, meters and names stay in view. The selected track’s strip has its name plate lit.

  • The Piano Roll gives the notes more room. The Editors pane opens at 360 px (was 300), the velocity lane takes a third of the height and keeps that share as the pane is resized, and opening a region scrolls its whole pitch range into view (it centred on the average pitch, which could leave notes below the view).

  • Secondary text is easier to read: the dim and faint text colours are at least 4.5:1 on every surface in every theme (Studio’s faint text was 2.4:1 on some), checked by a test.

  • One pop-up style. Settings and the dialogs use the toolbars’ neutral pop-up instead of a blue chevron box.

  • A type scale. The interface uses six text sizes (10 to 17 px) instead of twelve with half pixels among them. Text is 11 px or more (the body went from 11.5 to 12 px, the smallest labels from 9–10.5 to 11 px); 10 px is kept for numbers inside fixed readouts such as meter scales and the LCD’s captions.

  • Quieter defaults. The automation mode button is grey in Read, as in Off, and keeps its colour for Touch, Latch (orange) and Write (red). The track power button is grey while the track plays and stands out only when the track is off.

  • Labels instead of bare icons: the Count-in button reads “Count-in” (it read “1234”), the zoom sliders in the Tracks area, Piano Roll and Audio Track Editor read “Height”, “Zoom” and “Wave”, and the Piano Roll’s velocity readout says “No notes” instead of “–” when nothing is selected.

  • Every colour comes from the theme. The colours written into the stylesheets moved into theme variables. In High Contrast, text on a selection, a menu highlight, a default button and the Mute button is black for legibility; the effect panels’ peak-hold lines show on the Light theme; Marbble Sampler’s record and level colours follow the theme’s red and green.

  • The metronome has one home, Project Settings › Metronome, with its defaults for new projects (Use for New Projects, Revert to Default, Factory Settings) under New Projects. The Settings window no longer has a Metronome tab holding the same per-project settings.

  • The interface no longer compares Marbble to Logic Pro (the metronome’s footer and the About box).

  • The menu bar agrees with the app’s own menus. Every item with a key command shows its key (Space, R, C, K, X, Y, Ctrl+C…), taken from Settings › Key Commands, so a reassigned key shows there too. The keys are only shown, not bound by the menu bar, so typing in a text field or with Musical Typing is untouched and nothing runs twice. Toggles are ticked (View’s panes, Record’s Cycle, Autopunch, Metronome, Count-in and Low Latency Mode, Snap Edits to Zero Crossings, Track On, the theme), items that don’t apply are greyed out as in the Tracks area’s menus, and Undo and Redo name the edit. Both Edit menus now have the same items in the same order (Strip Silence, Pack Take Folder and Name and Color in both; Edit › Repeat is a submenu) and the same names (Cut, Copy, Paste; Track › Toggle Track On/Off is now Track On); a region’s right-click menu drops “Regions” from them.

  • Shortcuts are written as the menu bar writes them: on Linux GTK’s order and names (“Shift+Ctrl+Z”, “Ctrl+Right”), the same in the menu bar, the in-app menus, tooltips, Settings › Key Commands and the User Guide.

  • Processing threads that can’t be relied on are left out. On Linux, a thread the system refuses real-time priority no longer plays tracks at normal priority, where it could be late: the others play on, or the audio thread alone, and Settings › Audio says so under Processing Threads. A thread given up on in a plug-in that stops responding is taken off real-time priority at once and left out until Reset Audio Engine, so the system can’t kill Marbble for it, and the other threads play on once the plug-in returns.

  • The Mixer’s rows line up. Strips side by side show the same number of insert and send slots (as many as the strip that needs the most, up to 6 and 4), so faders, meters, pan knobs and automation buttons share one line; a strip with more scrolls its slots and its label shows “+N”. Stereo Out, folder and VCA strips keep blank rows in place of sections they don’t have. The Inspector’s two strips line up the same way.

  • Track header buttons line up. Each button has a column, with a gap where a track has no such button (I on instrument tracks, R, I and Freeze on auxes), on one-line headers too.

  • Mixer header: the Audio, Inst and Aux filters have a light that shows whether they’re on; “Mixer” reads as a title; Options also has New Aux, the filters, Show Hidden Tracks and Reset All Clip Indicators.

  • Slots show more of their names: built-in instruments show their model (Tre, Sampler), with the full name in the tooltip, and a filled slot’s power and pop-up buttons appear on hover, so “Compressor” fits. Empty insert and send slots show a faint “+”.

  • The Settings window keeps one size: a long tab scrolls, the footer stays at the bottom with Done on the right, and every tab’s footer says how its changes apply. Appearance’s five themes fit in one row.

  • Instrument panels show a fade on the edge where the sections go on out of view (below in Grid, to the right in Row), with a line above the keyboard bar.

  • Click Moves Playhead defaults to Empty space only for new installs, so clicking a region selects it without moving the playhead (Split at Playhead after a selection click works as in Logic). Settings saved before keep their choice; Anywhere and Never are still in Settings › Editing.

  • Show Automation keeps M, S, R and I in the track headers. On headers under 76 px the automation mode, the lane’s parameter (no longer cut to “Volu…”) and + take the volume slider’s place instead of the buttons’.

  • Track Color is a grid of 20 swatches, five to a row, each named in its tooltip and for screen readers, instead of a 20-row list. Region, marker, VCA and arrangement colours use it too.

  • The Marker row above the track headers is a row of its own, level with the ruler’s marker lane, like the other global tracks, with + and H above it.

  • A muted track’s regions are drawn grey, as a muted region is.

  • Region length is in bars and beats everywhere: the Inspector’s Length shows “4 0 0 0 · 00:08.000” like the Audio Track editor, where it showed only the time.

  • A single click in the Tempo track adds a tempo change only on the line; away from it a double-click does, so a click that just lands in the lane no longer changes the tempo.

  • One header for every plug-in panel. Effects, instruments, the Sampler and the Channel EQ, docked, floating or in their own window, show the same controls in the same order: power, name, track, presets, Side Chain, then the window buttons and ×. The window buttons keep their order and their names say where the panel goes: Float in Main Window or Dock in Bottom Section, then Open in Separate Window or Attach to Main Window, then Close (its tooltip names the panel). The Channel EQ’s On button is now the power button, its presets moved into the header, and Reset, Copy and Paste into the preset menu (Reset to “Flat”, Copy Channel EQ, Paste Channel EQ); the Linear Phase EQ’s Reset is Reset to “Default” there too.

  • Docked panels no longer pile up. Up to five stay docked; opening a sixth closes the one looked at longest ago. Tabs keep their names whole and scroll sideways when they don’t fit. The header’s × closes the front tab and Shift-click closes them all; the other tabs have their own × on hover, a middle-click closes a tab, and a tab’s right-click menu has Close, Close Other Tabs and Close All Tabs.

  • File › Save As (or any file dialog) no longer ends the app on Linux when GTK’s file chooser schema isn’t installed. A binary started outside the dev shell finds the schema itself, and where it can’t, a message says what to install and the project stays open.

  • The Light theme’s menu bar on Linux was near-black with dark, disabled-looking titles: the window’s background behind the menu bar now follows the theme.

  • Keys read the same in the menu bar and the app’s own menus on Linux (“Backspace”, not “BackSpace” in one and “Backspace” in the other): the app takes GTK’s names, in the interface’s language.

  • About Marbble shows the app icon instead of a missing-image glyph.

  • Settings panes open at their top rather than at the last pane’s scroll position, and the empty Notes field in Project Settings no longer shows a horizontal scroll bar.

  • Plug-in meters read −∞ until audio runs. A built-in effect’s or instrument’s meters started at zero, which the Compressor’s and Limiter’s In and Out meters showed as 0.0 dBFS while no audio device was open or before a new effect’s first block. Each instance now starts with its own idle readings.

  • Knobs in a row line up on instrument and Sampler panels: a name on two lines (Accent at Velocity, Wheel to Amp) no longer pushes its knob down. Knob names there take two lines’ height.

  • Switching themes clears the last theme’s own colours: after Light, the R and I letters kept Light’s darker red and orange in the other themes until a restart.

  • Long paths in the Project Chooser and Settings › General start with “…/” at a folder boundary instead of being cut mid-name; the tooltip has the whole path.

  • Labels no longer wrap: “Record Enable” in New Tracks sits beside its checkbox, Count-in stays on one line at 125 %, and “No notes” in the Piano Roll’s bar stays on one line. The Step Sequencer’s row names have room for “Closed Hi-Hat” and “Crash Cymbal 1”.

  • The Compressor’s floating panel opens wide enough for its knobs; it opened with a sideways scrollbar and its Mix and Output knobs cut off. A floating panel that hasn’t been resized now opens as wide as its controls need, and the Noise Gate’s groups wrap in a narrow window.

  • Light theme: the window’s own theme follows Marbble’s, so the GTK menu bar draws light under the Light theme. The R and I buttons’ letters are darker there, so the I no longer fades into its button.

  • Stereo Out no longer shows an empty Input slot.

  • The Inspector no longer shows one track’s region over another track. Choosing a track (its header, its Mixer strip, a right-click on its empty lane, Up or Down) deselects the regions on other tracks, as a click on an empty lane already did.

  • Marbble › Quit Marbble works and has Ctrl+Q. It drew greyed out on Linux; it now closes the main window as its close button does, asking first about unsaved changes (also on macOS, where the old item quit without asking).

  • The bottom section can no longer cover the Tracks area. A Mixer, editor or docked panel remembered taller than the window allows shows at the height there is room for, so the Tracks area keeps its menu bar, ruler, overview and some track rows, and the divider stays in reach. Dragging the divider starts from the height shown. This holds when the window is made smaller and when a panel opens, and a size saved too tall recovers without clearing anything.

  • A wide Mixer scrolls instead of widening the whole window’s layout: with more strips than fit, the control bar and the rest of the window stay on screen.

  • A preset loaded before shows by name. Which preset a built-in instrument, effect or Channel EQ has loaded is now saved in the project, so the preset box shows it after reopening the project (it showed “Manual” for presets loaded by an earlier session or by a script), and undo takes it back with the settings. Renaming or deleting a user preset updates the slots that show it.

  • An X error raised while a plug-in’s editor first opened could end Marbble: the handler that logs such errors is now installed before the editor attaches.

  • The first bounce or export after adding a send could differ slightly from the next one, as the send’s level was still gliding up from wherever playing had left it. Renders now start every send at its level, as they did the faders.

  • parallel_check failed now and then on a busy machine: its live runs play a debug build flat out, slower than real time when the cores are shared, and the engine shed load as for a real overload, at a block that depended on the load. Checks that ask for it (ParallelTest::patient) no longer shed load, and the check fails plainly if an overload happens anyway.

  • parallel_check’s runs with workers refused real-time priority failed now and then, more often without LSP’s plug-ins (as on CI): their output differed from the serial run’s from the first block on. Not the pool: every block went through it, and the run with every worker refused, serial throughout, differed the same way. The live runs give a compressor a lookahead, and with an audio device running its latency reaches delay compensation only at the next idle after the engine has the new value. The refused runs call idle while their workers start, so whether they began with 240 frames of compensation or 76 depended on whether the null device had played a block by then. Every live run now lets the engine take the value and calls idle before it plays.

  • The Region inspector’s rows no longer overlap with an audio region selected: the rows (Delay, Gain, Fade In, Curve, Fade Out) were 19 px tall around 24 px number fields. Rows now fit their controls, “Fade Out” keeps to one line, and a style test guards it.

  • Clicking the global tracks or the ruler ends typing in a text field, so the next key is a key command again (Y after the Library’s search typed “y” into it).

  • Up and Down scroll the newly selected track into view.

  • A pattern region made at the playhead no longer lands on top of a region: Track › New Pattern Region and the Step Sequencer’s Create Pattern Region use the first free bar from the playhead.

Marbble is released under the MIT licence.Source on GitHub.