<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://daw-musicstation.de/en/versions/feed.xml</id>
  <title>MusicStation – English</title>
  <subtitle>Every MusicStation release with its release notes, newest first – in English and in German.</subtitle>
  <updated>2026-10-11T21:10:00.788Z</updated>
  <link rel="self" type="application/atom+xml" href="https://daw-musicstation.de/en/versions/feed.xml"/>
  <link rel="alternate" type="text/html" href="https://daw-musicstation.de/en/versions/"/>
  <author><name>MusicStation</name></author>
  <entry>
    <id>https://daw-musicstation.de/en/versions/#v0-4-0</id>
    <title>MusicStation 0.4.0</title>
    <updated>2026-10-11T21:10:00.788Z</updated>
    <link rel="alternate" type="text/html" href="https://daw-musicstation.de/en/versions/#v0-4-0"/>
    <summary type="text">This release makes the window yours and gives MusicStation a memory. The window is built from panels you dock, resize and arrange into workspaces; the keyboard follows a shortcut map of your own; a third theme and track colours make a large session readable at a glance. And MusicStation saves: a project file holds your clips, the tempo, the launch quantisation and the track colours, a version history keeps named snapshots of it, and you can compare two of those snapshots and go back to one of them without losing the state you are on. The release notes in the About dialog are searchable now, and an optional update check can tell you when a newer version exists. The product website with the complete manual, the feature overview and the release history is online too.</summary>
    <content type="html">&lt;h2 id=&quot;v0-4-0&quot;&gt;&lt;a href=&quot;#v0-4-0&quot; aria-label=&quot;Permanent link to MusicStation 0.4.0&quot;&gt;MusicStation 0.4.0&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This release makes the window yours and gives MusicStation a memory. The window is built from panels
you dock, resize and arrange into workspaces; the keyboard follows a shortcut map of your own; a third
theme and track colours make a large session readable at a glance. And MusicStation saves: a project
file holds your clips, the tempo, the launch quantisation and the track colours, a version history
keeps named snapshots of it, and you can compare two of those snapshots and go back to one of them
without losing the state you are on. The release notes in the About dialog are searchable now, and an
optional update check can tell you when a newer version exists. The product website with the complete
manual, the feature overview and the release history is online too.&lt;/p&gt;
&lt;h3&gt;New&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Dockable, resizable panels&lt;/strong&gt;: every movable view of the window is a panel, and every panel sits in
one of the three dockable regions &lt;strong&gt;Left&lt;/strong&gt;, &lt;strong&gt;Right&lt;/strong&gt; and &lt;strong&gt;Bottom&lt;/strong&gt; or in the &lt;strong&gt;Centre&lt;/strong&gt;. Its
header carries the &lt;strong&gt;Region&lt;/strong&gt; menu, which docks it into another region, and the &lt;strong&gt;Hide&lt;/strong&gt; button,
which closes it. A region stacks the panels docked in it in the order they arrived, and only one
panel fits into the centre: docking another one there closes the panel that was there. Between
every region and the centre sits a &lt;strong&gt;splitter&lt;/strong&gt;: drag it with the pointer, or focus it and use the
arrow keys (one percent of the window per press, &lt;strong&gt;Shift&lt;/strong&gt; five percent), and &lt;strong&gt;Home&lt;/strong&gt; snaps the
region to its documented minimum. A region is never narrower than 120 px and never takes more than
half of the window, so the other half always stays for the centre - and when less than 120 px are
left for it, the centre is not rendered at all.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The Panels menu&lt;/strong&gt;: the header carries a &lt;strong&gt;Panels&lt;/strong&gt; menu, and the menu bar lists the same set under
&lt;strong&gt;View ▸ Panels&lt;/strong&gt;. Both show one entry per panel, engaged while the workspace in effect shows that
panel, and a press closes or opens it - opening one puts it back into the left region, where you
dock it where you want it. A closed panel is not rendered at all; its content keeps its state, so
the settings panel keeps your settings and the history panel keeps your versions while it is
closed. The five panels of this build are &lt;strong&gt;Session&lt;/strong&gt;, &lt;strong&gt;Settings&lt;/strong&gt;, &lt;strong&gt;Browser&lt;/strong&gt;, &lt;strong&gt;Inspector&lt;/strong&gt; and
&lt;strong&gt;History&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Browser&lt;/strong&gt;: lists the clips the session holds, grouped by track and in ascending scene order, under
a header line that counts them - &lt;strong&gt;3 clips from 2 files&lt;/strong&gt; means three slots carry clips and two of
them were loaded from the same file. A row shows the colour of its track, the scene, the clip&apos;s
name and length, the marker &lt;strong&gt;same file&lt;/strong&gt; while another clip shares that file, and whether the clip
loops or plays once. The list follows the engine without a refresh of its own; a session without a
single clip says so.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Inspector&lt;/strong&gt;: shows the details of the slot that is selected in the grid - the grid address, the
clip&apos;s name, its length, its sample rate, its loop flag, its play state and the colour of its track.
Select another slot with a click or with the arrow keys and every row follows. The one gesture of
the panel is the colour control of the selected track; everything else is read-only data.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Four workspaces, and your own&lt;/strong&gt;: a workspace is the arrangement of the window, and four of them
ship with every build. &lt;strong&gt;Default&lt;/strong&gt; shows the session grid in the centre and the settings panel on
the right, &lt;strong&gt;Recording&lt;/strong&gt; puts the Browser on the left, the grid in the centre and the Inspector
with the History panel on the right, &lt;strong&gt;Mix&lt;/strong&gt; puts the Browser on the left, the grid in the centre
and the settings panel with the History panel on the right, and &lt;strong&gt;Live&lt;/strong&gt; shows the session view
alone. The &lt;strong&gt;Workspace&lt;/strong&gt; menu in the header and &lt;strong&gt;View ▸ Workspace&lt;/strong&gt; switch between them, and both
end in &lt;strong&gt;Manage Workspaces…&lt;/strong&gt;, the manager: &lt;strong&gt;Save current as…&lt;/strong&gt; stores the arrangement you see
right now under a name of 1 to 60 characters, &lt;strong&gt;Rename&lt;/strong&gt; changes a name you gave, &lt;strong&gt;Delete&lt;/strong&gt; removes
one (asking first), &lt;strong&gt;Reset to built-ins&lt;/strong&gt; drops your workspaces and restores the four shipped ones
(asking first), and &lt;strong&gt;Export…&lt;/strong&gt; / &lt;strong&gt;Import…&lt;/strong&gt; carry a single workspace as a &lt;code&gt;.mshworkspace.json&lt;/code&gt;
file to another machine and back. An imported workspace becomes the active one at once; a file that
names a workspace you already have asks before it is replaced, and one written by a newer version
of MusicStation is rejected as a whole. The four shipped workspaces cannot be renamed or deleted,
their arrangement is yours to change, and the document holds up to 60 workspaces of your own. Your
arrangements are stored in the application&apos;s config directory and read again at the next start, so
a panel you dock today is where you left it tomorrow.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;High contrast theme&lt;/strong&gt;: beside &lt;strong&gt;Dark&lt;/strong&gt; and &lt;strong&gt;Light&lt;/strong&gt; there is a third theme for maximum legibility:
black surfaces with dark grey raised areas, white text and light-grey borders, plus a saturated
amber accent that cannot be mistaken for text. It exists for working in a very bright room, on a
projector or with reduced vision, where the softer contrast of the other two themes stops being
comfortable. A theme is a complete set of design tokens: it applies to the whole window at once,
covers text, borders, focus rings and the track colour palette, is remembered for the next start,
and changes nothing about your music. Your own accent colour can be laid over any of the three
themes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Track colours&lt;/strong&gt;: each of the 16 tracks can carry a colour - &lt;strong&gt;Blue&lt;/strong&gt;, &lt;strong&gt;Teal&lt;/strong&gt;, &lt;strong&gt;Green&lt;/strong&gt;,
&lt;strong&gt;Amber&lt;/strong&gt;, &lt;strong&gt;Red&lt;/strong&gt;, &lt;strong&gt;Violet&lt;/strong&gt;, &lt;strong&gt;Neutral&lt;/strong&gt; or no colour at all, and &lt;strong&gt;Default&lt;/strong&gt; in the palette
clears the colour of that one track. You set it with the swatch at the end of the track&apos;s column
header in the grid or with the &lt;strong&gt;Track colour&lt;/strong&gt; row of the Inspector; the Browser shows the colour
of every clip read-only. Clips paint the colour of their track as a slim bar, so a whole column
reads as one track, and the four slot states stay readable on top of it. A track colour is project
data: it belongs to the file you save, travels with it, and the colours themselves come from the
active theme, so switching the theme swaps the palette underneath your choices without changing the
choices.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Keyboard shortcuts you define&lt;/strong&gt;: the window&apos;s own keys come from a shortcut map you edit in the
&lt;strong&gt;Keyboard shortcuts&lt;/strong&gt; section of the settings panel (or via &lt;strong&gt;Keyboard Shortcuts…&lt;/strong&gt; in the menu,
which brings you there). Six bindings cover five actions: &lt;strong&gt;Play/Stop&lt;/strong&gt; (Space), &lt;strong&gt;Go to bar 1&lt;/strong&gt;
(Enter), &lt;strong&gt;Launch the focused clip slot&lt;/strong&gt; (Enter inside the grid), &lt;strong&gt;Toggle the loop of the
focused clip slot&lt;/strong&gt; (L) and &lt;strong&gt;Help for the control under the pointer&lt;/strong&gt; (F1 and ⌘? / Ctrl+?). Press
&lt;strong&gt;Capture&lt;/strong&gt; in a row and then press the keys - the row shows &lt;em&gt;Press keys…&lt;/em&gt; while it waits, and the
captured press does not run the action it used to. A binding is one key plus the modifiers you hold
with it; a modifier on its own is not a binding, &lt;strong&gt;Escape&lt;/strong&gt; cancels the capture and &lt;strong&gt;Tab&lt;/strong&gt; leaves
it. The switch &lt;strong&gt;Disable&lt;/strong&gt; switches a shortcut off entirely: it never fires and its keys are free
for another action. Two actions that end up on the same combination are both flagged with the
warning that the first one in the list wins - the map is saved as you made it, a conflict is
reported and never blocked. A &lt;strong&gt;Search&lt;/strong&gt; field at the head of the list filters it by the action&apos;s
name and by the key it prints, so &amp;quot;loop&amp;quot; and &amp;quot;space&amp;quot; both find what you are looking for.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Presets, reset and exchange for the shortcut map&lt;/strong&gt;: the &lt;strong&gt;Preset&lt;/strong&gt; select offers &lt;strong&gt;MusicStation&lt;/strong&gt;
(the shipped map), &lt;strong&gt;Ableton-like&lt;/strong&gt; and &lt;strong&gt;Logic-like&lt;/strong&gt; - a preset is a complete map, so choosing one
replaces your own bindings and disabled entries. &lt;strong&gt;Reset&lt;/strong&gt; in a row returns that one shortcut to the
preset&apos;s key, and &lt;strong&gt;Reset all shortcuts&lt;/strong&gt; asks once (&lt;em&gt;Reset all now?&lt;/em&gt;) and then returns the whole map
to the shipped one. &lt;strong&gt;Import…&lt;/strong&gt; and &lt;strong&gt;Export…&lt;/strong&gt; exchange the map as a JSON file: an
import replaces the whole map and leaves it untouched when the file cannot be read or is not a
shortcut file, and a file that names shortcuts this build does not know keeps them for a newer one.
Every change is written at once and takes effect immediately, without a restart.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Projects: Save, Save As… and Open…&lt;/strong&gt;: MusicStation saves its state into a &lt;strong&gt;&lt;code&gt;.mshproj&lt;/code&gt;&lt;/strong&gt; file -
one readable JSON document that holds the clips with the paths they were loaded from and their loop
flags, the tempo, the launch quantisation and the 16 track colours. The file names the format
version it was written in, and an older file is brought to the current one when it is opened; a
file written by a newer version of MusicStation is refused with a translated message when it is
opened, instead of being half-read. &lt;strong&gt;Open…&lt;/strong&gt; (⌘O / Ctrl+O) asks for a file with the shell&apos;s
native dialog and replaces the whole session: every slot the document
does not list is cleared, and every clip the document adds or lists with a different source is
decoded again, while a clip the session already holds from the same source keeps its buffer - the
answer can take a moment for a large project. A source file that is missing or cannot be decoded
leaves its slot empty and everything else is applied. &lt;strong&gt;Save&lt;/strong&gt; (⌘S / Ctrl+S) writes to the file the
project already has, or asks for one when it
has none yet, and &lt;strong&gt;Save As…&lt;/strong&gt; (⌘⇧S / Ctrl+Shift+S) always asks, suggesting the name the project has
plus &lt;code&gt;.mshproj&lt;/code&gt;. The header shows which project the state belongs to - the base name of the file, or
&lt;strong&gt;Untitled&lt;/strong&gt; while there is none - and the full path while you point at it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The unsaved marker and the question before an open&lt;/strong&gt;: as soon as the state differs from the file it
was saved to, the word &lt;strong&gt;unsaved&lt;/strong&gt; appears next to the project name in the accent colour; it
disappears again when the engine reports the state as matching its file. What counts is what the
file really holds - a marker is not raised by a change the file deliberately ignores, such as a
re-decode at another device sample rate. Opening another project while the marker stands asks first:
&lt;strong&gt;Save&lt;/strong&gt; writes the current state and opens the other project only once the write is through,
&lt;strong&gt;Discard&lt;/strong&gt; opens it without writing, &lt;strong&gt;Cancel&lt;/strong&gt; does nothing at all - and so do &lt;strong&gt;Escape&lt;/strong&gt; and a
click beside the dialog.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Snapshot on save&lt;/strong&gt;: the preference in the settings panel is engaged by default and decides whether
saving a project also stores a snapshot in its version history. With it on, every save records the
document it just wrote as an automatic version labelled &lt;strong&gt;Snapshot on save&lt;/strong&gt;, so a save is always a
checkpoint you can return to; with it off, a save writes the file and records no version at all. The
preference never deletes a version that already exists, its own &lt;strong&gt;Reset snapshot on save&lt;/strong&gt; returns it
to on, and it is shared by every project rather than kept per project.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The version history&lt;/strong&gt;: the &lt;strong&gt;History&lt;/strong&gt; panel - reached through &lt;strong&gt;Project ▸ Version History&lt;/strong&gt;, the
Panels menu or a workspace that docks it - lists the stored versions of the current project,
newest first, each with the name you gave it or the label of an automatic marker, the date and time
it was created, the note you stored with it, the marker &lt;strong&gt;automatic&lt;/strong&gt; while the engine created the
entry itself and the marker &lt;strong&gt;current&lt;/strong&gt; on the row the state you are looking at corresponds to.
&lt;strong&gt;New snapshot&lt;/strong&gt; stores the state you see right now under a name of 1 to 120 characters and an
optional note of up to 2000 characters; &lt;strong&gt;Rename&lt;/strong&gt; changes name and note of a stored version, and
&lt;strong&gt;Delete&lt;/strong&gt; removes one after a confirmation that says plainly that this cannot be undone. The engine
keeps at most 200 versions per project and prunes older entries on its own, its own automatic
entries first, so a long series of saves does not eat the checkpoints you named.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Compare two versions&lt;/strong&gt;: press the row of one version, press the row of another, then press
&lt;strong&gt;Compare&lt;/strong&gt; - the dialog shows the change from the older version to the newer one, grouped into
&lt;strong&gt;Clips&lt;/strong&gt;, &lt;strong&gt;Tempo&lt;/strong&gt;, &lt;strong&gt;Quantisation&lt;/strong&gt; and &lt;strong&gt;Track colours&lt;/strong&gt; tables with the columns &lt;strong&gt;Slot&lt;/strong&gt;,
&lt;strong&gt;Property&lt;/strong&gt;, &lt;strong&gt;Before&lt;/strong&gt; and &lt;strong&gt;After&lt;/strong&gt;. Only what really differs is listed, a value that does not
exist on one side reads as &lt;em&gt;not set&lt;/em&gt;, and two versions that hold the same document answer with the
sentence that they have no differences. A comparison never touches the session: no clip is loaded or
stopped, no tempo is set, nothing is sent to the engine beyond the one read.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Restore a version&lt;/strong&gt;: &lt;strong&gt;Restore&lt;/strong&gt; puts a stored version back into the session, and it is
deliberately harmless. The confirmation spells it out - the current state is kept as a new version
labelled &lt;strong&gt;Before the restore&lt;/strong&gt; before anything is applied, so nothing you have now is lost, and the
way back exists even if the restore fails halfway. Then the version is applied exactly like an open:
every affected clip is decoded again, the answer follows once those decodes settled, and the
transport and the playhead keep running right through it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Searchable release history&lt;/strong&gt;: the About dialog carries the notes of every version this build ships,
in the language the dialog shows, and it now has a &lt;strong&gt;Search release notes&lt;/strong&gt; field above them. The
search filters as you type - every word you enter has to appear in a version&apos;s number or its text,
so a second word narrows the list instead of widening it - and &lt;strong&gt;Escape&lt;/strong&gt; clears the field and
restores the whole history. Nothing matches: &lt;em&gt;No release note matches this search.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Optional update check&lt;/strong&gt;: the preference &lt;strong&gt;Check for updates in the About dialog&lt;/strong&gt; is off by
default - MusicStation contacts no release source unless you ask for it. With it on, opening the
About dialog asks the release feed the build was made with, once per session, and shows one quiet
status line: &lt;em&gt;MusicStation is up to date.&lt;/em&gt;, &lt;em&gt;Version x.y.z is available.&lt;/em&gt; with an &lt;strong&gt;Open download
page&lt;/strong&gt; button that hands the address to your browser, or the line that no update information is
available right now, with a &lt;strong&gt;Retry&lt;/strong&gt; button that is the only gesture that asks again. The check
never runs at start-up, it downloads and installs nothing, and a build made without a feed address
answers the neutral line instead.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Website and brand&lt;/strong&gt;: https://daw-musicstation.de is online in German and English, with a language
chooser, a language switch on every page and the language as part of the address. It offers the
feature overview with a page per feature and an availability badge, the release history with the
same notes the application shows plus an Atom feed per language, the online manual with a table of
contents on every page, permanent links into every section and a search that runs in your browser,
the download page for macOS on Apple Silicon with the waitlist as its fallback, the beta waitlist
form and the contact, privacy and imprint pages. No page sets a cookie, loads anything from another
origin or needs JavaScript - the manual&apos;s search field is the one extra that does. The site carries
the brand as well: the clip-grid mark with its &lt;strong&gt;Music&lt;/strong&gt;Station word mark in the self-hosted
typeface, the favicons, the touch icon and the preview images of a shared link.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Engine, protocol and remote&lt;/strong&gt;: the engine publishes the &lt;strong&gt;project&lt;/strong&gt; state as a third state domain
next to transport and session, and the nine &lt;code&gt;project.*&lt;/code&gt; operations between app and engine save, open,
list, create, rename, delete, compare, restore and colour a project. The bridge keeps the whole
project surface off the network: a paired iPad client never sees which project file the engine has
open and can never save, open or version a project on the host, while transport and session keep
working as before. The iPad app carries the app icon of the product, taken from the same mark as the
macOS icon.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Improved&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Nothing in the workspace disturbs the music: applying a workspace, docking, hiding or resizing a
panel, switching the theme and colouring a track are pure window gestures. No clip stops, the tempo
does not change and no command is sent to the engine - playback and the playhead run on while the
window rearranges itself around them.&lt;/li&gt;
&lt;li&gt;Your settings from the previous version are carried over: the settings document is versioned and
migrated on load, so language, theme, accent colour and UI scale keep the value you gave them and
the two new preferences arrive at their defaults. A single malformed value falls back to its own
default instead of discarding the rest, and a document from a newer build is read as the defaults
rather than guessed at. Each setting still has its own reset next to it, and &lt;strong&gt;Reset all to
defaults&lt;/strong&gt; puts the whole column back - the keyboard and the workspace have their own resets.&lt;/li&gt;
&lt;li&gt;A remapped shortcut is live at once: the map is written the moment you change it and the window&apos;s
keys use it immediately, the old key is gone, and a disabled binding stops firing without a
restart.&lt;/li&gt;
&lt;li&gt;The manual knows all of it: the workspace and its panels, the workspace manager, the shortcut
editor, the Browser and the Inspector, the project menu, the version history with its comparison
and restore and the two new preferences are described in English and in German, and &lt;strong&gt;F1&lt;/strong&gt;
deep-links into the new sections.&lt;/li&gt;
&lt;li&gt;The release history stays part of the application: every note is bundled with the build and renders
without a network, in both languages. Only the optional update check ever opens a connection, and
only while you have it switched on.&lt;/li&gt;
&lt;li&gt;A save writes its file atomically: the document goes to a temporary file and is renamed onto the
target, so an interrupted save leaves the previous file intact. The automatic snapshot a save owes is
recorded right after the successful write; a version store that cannot keep it is reported as a
diagnostic while the project file itself is written and acknowledged.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Fixed&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Resetting the workspaces to the built-ins keeps the built-in you are working in active instead of
switching you to &lt;strong&gt;Default&lt;/strong&gt;: the reset puts the four shipped arrangements back and leaves your
current built-in selected.&lt;/li&gt;
&lt;li&gt;A client that sends an operation the bridge does not forward - a project operation above all - is
answered like an unknown operation without spending command budget and without counting as a dropped
command, so a client is never pushed towards a disconnect by operations that were never forwarded in
the first place.&lt;/li&gt;
&lt;li&gt;The home page keeps no empty place for a screenshot: as long as no capture of the session view is
published, the hero ends with the animated clip grid, without a placeholder drawing and without a
caption waiting for an image.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Known limits&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;The Mixer, the Editor and the Arrangement are not there yet&lt;/strong&gt;: the three panel ids are reserved
and a stored layout may name them, but this build renders nothing for them, and there is no panel,
no menu entry and no button that opens one - so no per-track gain, pan, mute/solo, sends or inserts,
no MIDI or audio editing and no timeline.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No audio in the project file and no streaming from disk&lt;/strong&gt;: a project references its audio files by
their absolute path and their size; nothing is embedded, copied, packed or streamed, so a project
stays a few kilobytes and a file you move is found by its stored path or not at all. A clip is still
decoded completely before it can play - up to five minutes of audio at the engine&apos;s sample rate, at
most two channels and 2 GiB of decoded clips in total.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The comparison covers clips, the tempo, the launch quantisation and the track colours&lt;/strong&gt; - that is
everything the project file holds. Mixer values and plugin state are neither stored nor compared
yet, and each of them needs its own format version and migration before it can be added.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Only the window&apos;s own six bindings are yours&lt;/strong&gt;: menus, panels, workspaces and the project commands
have no remappable shortcut, and the fixed accelerators of the menu bar - Settings, What&apos;s New,
Open/Save/Save As and the context help - stay as they are. &lt;strong&gt;Escape&lt;/strong&gt; and &lt;strong&gt;Tab&lt;/strong&gt; can never be
bound, a modifier on its own is never a binding, and the capture always writes exactly one key;
a shortcut map that names several keys per action can only arrive by an import.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Docking happens through the Region menu&lt;/strong&gt; of a panel header; dragging a panel by its header is not
part of this build, and neither is a per-workspace &amp;quot;reset layout&amp;quot; or a &amp;quot;duplicate workspace&amp;quot; - the
manager saves, renames, deletes, resets and exchanges workspaces, nothing more.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A version is not an undo&lt;/strong&gt;: the history holds the checkpoints you asked for, it is not a list of
steps you can walk backwards through, and a deleted version is gone. There is no recent-projects
list, no autosave interval and no backup job either, no lock against a second engine instance, no
cloud sync and no merge of two projects - the only automatic versions are the two a command asks
for, on a save and before a restore.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The update check is a notification, nothing more&lt;/strong&gt;: it tells you that a newer version exists and
opens the download page in your browser; MusicStation downloads and installs nothing itself. Its
address is baked into the build, so a build made without one always answers that no update
information is available right now.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The iPad remote has none of this&lt;/strong&gt;: it has no panels, no workspaces, no themes and no track
colours, and it has no project surface at all - it neither saves, opens nor versions a project, and
a restore carried out on the desktop is simply the session the remote sees afterwards.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://daw-musicstation.de/en/versions/#v0-3-0</id>
    <title>MusicStation 0.3.0</title>
    <updated>2026-10-11T21:10:00.788Z</updated>
    <link rel="alternate" type="text/html" href="https://daw-musicstation.de/en/versions/#v0-3-0"/>
    <summary type="text">This release adds the session view: MusicStation works with clips now. Under the transport bar sits a grid of tracks and scenes whose clips you launch, stop and loop - on the desktop and, mirrored live, on the remote app for the iPad. Engine, interface and remote share one session state, so the grid you are looking at is the state the engine reports.</summary>
    <content type="html">&lt;h2 id=&quot;v0-3-0&quot;&gt;&lt;a href=&quot;#v0-3-0&quot; aria-label=&quot;Permanent link to MusicStation 0.3.0&quot;&gt;MusicStation 0.3.0&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This release adds the session view: MusicStation works with clips now. Under the transport bar sits a
grid of tracks and scenes whose clips you launch, stop and loop - on the desktop and, mirrored live,
on the remote app for the iPad. Engine, interface and remote share one session state, so the grid you
are looking at is the state the engine reports.&lt;/p&gt;
&lt;h3&gt;New&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Session view&lt;/strong&gt; under the transport bar: the tracks are the columns, the scenes are the rows, and
the scene column on the left starts a whole row. In this version the grid is fixed to 16 tracks by
16 scenes (256 slots), its labels count from 1 (&lt;code&gt;Track 1&lt;/code&gt;, &lt;code&gt;Scene 1&lt;/code&gt;), and an occupied slot shows
the name of its audio file without folder and extension and the length of the clip as &lt;code&gt;m:ss.d&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Four slot states&lt;/strong&gt;: empty (the engine&apos;s snapshot does not list the slot, and a click sends no
command), stopped (holds a clip that produces no samples), playing (produces samples, fade-in and
fade-out included; the cell wears the accent colour) and &lt;em&gt;waiting for its start&lt;/em&gt; (armed: an accent
outline that blinks until the engine starts the clip; with &lt;em&gt;reduce motion&lt;/em&gt; the outline stays and
the blink is left out).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Launching a clip&lt;/strong&gt;: click a slot, or focus it and press &lt;strong&gt;Enter&lt;/strong&gt;. A stopped slot is armed and
starts at the next quantisation boundary with a 5 ms fade-in; a slot that is already playing keeps
sounding until that boundary and then restarts from its first frame. Launching a different clip of
the same track stops the clip that runs there at the very same boundary - at most one clip per
track plays, and both transitions share one frame.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Stopping&lt;/strong&gt;: &lt;strong&gt;Stop&lt;/strong&gt; in the transport bar ends playback and stops every sounding clip, each with
its 5 ms fade-out, and cancels every armed launch. On the remote a tap on a playing slot stops it at
the next boundary, while a tap on a waiting slot cancels the armed launch right away.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scene launch&lt;/strong&gt;: the button at the left of a row starts every clip of that scene at the same
boundary, in ascending track order. Empty slots of the scene are left alone, so they never stop
what happens to be playing on their track; one press is one gesture, even if the key is held.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Quantisation&lt;/strong&gt; (the select in the header line of the session view): &lt;strong&gt;Off&lt;/strong&gt;,
&lt;strong&gt;1/16&lt;/strong&gt;, &lt;strong&gt;1/4&lt;/strong&gt;, &lt;strong&gt;1 bar&lt;/strong&gt;, &lt;strong&gt;2 bars&lt;/strong&gt;, &lt;strong&gt;4 bars&lt;/strong&gt; and &lt;strong&gt;8 bars&lt;/strong&gt;; a fresh session reports
&lt;strong&gt;Off&lt;/strong&gt;. It decides where a launch, a stop and a scene launch land, applies from the moment the
engine applies the change, and never moves a gesture that is already armed. MusicStation counts in
quarter notes and assumes a 4/4 bar.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Loop&lt;/strong&gt; per clip: the switch in an occupied slot, or &lt;strong&gt;L&lt;/strong&gt; on the focused slot. With &lt;strong&gt;Loop&lt;/strong&gt; on
the clip wraps at its end, with the switch off it plays through once and the slot stops at the end
of its material with the 5 ms fade-out; every clip keeps its own flag. A file that arrives by drag
and drop is loaded with &lt;strong&gt;Loop&lt;/strong&gt; on.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Files from Finder&lt;/strong&gt;: drag a WAV, AIFF or FLAC file onto a slot. The engine decodes the whole
file in the background - resampled to the sample rate of the engine, up to five minutes of audio
and at most two channels - and the addressed slot pulses while it works; the slot keeps its
previous content until the answer arrives. More than five minutes, an unreadable or unsupported
file, more than two channels, or more than 2 GiB of decoded clips in total are rejected, and the
header line of the session view shows the translated reason; of several files dropped at once,
only the first one is loaded.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Keyboard in the grid&lt;/strong&gt;: &lt;strong&gt;Tab&lt;/strong&gt; reaches the grid once; the arrow keys walk it and wrap around
its edges, &lt;strong&gt;Home&lt;/strong&gt; and &lt;strong&gt;End&lt;/strong&gt; jump to the first and the last track of the row, &lt;strong&gt;PageUp&lt;/strong&gt; and
&lt;strong&gt;PageDown&lt;/strong&gt; to the first and the last scene, &lt;strong&gt;Enter&lt;/strong&gt; launches the focused slot or the focused
scene, and &lt;strong&gt;L&lt;/strong&gt; flips the loop of the focused slot. &lt;strong&gt;Space&lt;/strong&gt; stays the transport&apos;s key, and
&lt;strong&gt;F1&lt;/strong&gt; still opens the manual of the control under the pointer.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Remote app for the iPad&lt;/strong&gt; (MusicStationRemote): the app finds bridges over Bonjour, pairs with
the 32-character pairing token of the bridge and shows the session grid of the running
MusicStation, mirrored live. A tap on a stopped slot launches it; a tap on a playing slot stops it
at the next boundary, and a tap on a waiting slot cancels its armed launch. A tap on the play
symbol of a scene launches the whole row, and the quantisation picker changes the value for every
client. The texts of the app are English and German, follow the language of the device and can be
switched in the app itself.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Engine and bridge carry the session&lt;/strong&gt;: the engine holds the slots, resolves launches, stops and
scene launches sample-accurately inside the audio block and sends the whole session state as a
snapshot at most 30 times a second; the bridge passes that snapshot on to every paired client and
forwards the clip and scene commands unchanged.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Improved&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The grid shows the engine&apos;s state and never a copy of its own: every snapshot replaces the whole
grid, and a gesture is only shown ahead of the answer for as long as it takes to bridge the moment
between your click and the engine&apos;s reply. A rejected command is taken back and named in the
header line of the session view.&lt;/li&gt;
&lt;li&gt;Files are decoded completely before a clip exists, so playback never reads from the disk and the
interface stays usable while a decode runs.&lt;/li&gt;
&lt;li&gt;Dragging a file over the grid marks the addressed slot with the accent ring and does not flicker
while you move inside one cell; outside the grid the mark disappears again.&lt;/li&gt;
&lt;li&gt;Every rejection is visible: the header line of the session view names the reason in the language
of the interface (for example a file that cannot be loaded, or an engine that is busy) instead of
failing silently.&lt;/li&gt;
&lt;li&gt;The manual knows the session view: launching and stopping, the quantisation values, the loop
switch, files by drag and drop, the keyboard of the grid and the grid of the remote are described
in English and in German, and &lt;strong&gt;F1&lt;/strong&gt; deep-links into the new sections.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Fixed&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;A clip that is relaunched while it is already playing stays shown as &lt;em&gt;playing&lt;/em&gt; until its boundary:
the grid no longer presents a sounding slot as waiting for its start, which would have claimed a
silence that is not there. The same holds for the sounding slots of a scene that is launched.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Known limits&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;No streaming from disk&lt;/strong&gt;: a clip is decoded completely before it can play, which is why a clip is
limited to five minutes of audio at the sample rate of the engine, at most two channels, and 2 GiB
of decoded clips in total.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No clip editing&lt;/strong&gt;: a slot cannot be cleared, renamed, moved, transposed, warped or stretched, and
a clip has no gain of its own; its file and its loop flag are its whole content.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No arrangement, no MIDI, no mixer&lt;/strong&gt;: the session grid is the only clip surface, and there is no
timeline, no recording, no MIDI, no track gain, pan, mute/solo, sends or inserts, no plugin
hosting and no project files to save.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The grid is fixed&lt;/strong&gt;: 16 tracks by 16 scenes. Track and scene names do not travel between engine
and interface, so the headings are numbers and a slot shows the file name of its clip.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Loading files needs the application&lt;/strong&gt;: the path of a dropped file is handed from the shell of the
MusicStation application to the engine, so a drop onto the grid in a browser preview of the
interface does nothing. The remote cannot load files at all, because the file lives on the machine
that runs the engine, and it has no loop switch.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;An armed start or stop needs a moving playhead&lt;/strong&gt;: while the transport stands still, a launch or
the stop of a sounding clip is carried out at once only if the playhead already sits exactly on the
chosen boundary (bar 1 after &lt;strong&gt;Enter&lt;/strong&gt;, or any other boundary of the chosen value); otherwise the
slot stays armed - it keeps blinking - until you start playback. The clock that would carry an
armed gesture to its boundary while the transport is stopped is not built yet.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Stop is immediate&lt;/strong&gt;: the session-wide &lt;strong&gt;Stop&lt;/strong&gt; stops the sounding clips at once instead of at the
chosen quantisation boundary; only a stop of a single slot (a tap on the remote) waits for a
boundary.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The remote app is built for the iPad&lt;/strong&gt; in this version: the remote UI and the library behind it are
an iOS package that is meant to run on the iPhone as well, so a layout for the iPhone and the
remote&apos;s own About and &amp;quot;What&apos;s new&amp;quot; screens follow later.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://daw-musicstation.de/en/versions/#v0-2-0</id>
    <title>MusicStation 0.2.0</title>
    <updated>2026-10-11T21:10:00.788Z</updated>
    <link rel="alternate" type="text/html" href="https://daw-musicstation.de/en/versions/#v0-2-0"/>
    <summary type="text">Project foundation, made usable: the real-time safe engine core (transport, lock-free queues), the desktop interface shell, the remote bridge and the remote library of 0.1.0 are no longer separate pieces - this release joins them into one application you can start and work with.</summary>
    <content type="html">&lt;h2 id=&quot;v0-2-0&quot;&gt;&lt;a href=&quot;#v0-2-0&quot; aria-label=&quot;Permanent link to MusicStation 0.2.0&quot;&gt;MusicStation 0.2.0&lt;/a&gt;&lt;/h2&gt;
&lt;h3&gt;New&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Project foundation, made usable: the real-time safe engine core (transport, lock-free queues), the
desktop interface shell, the remote bridge and the remote library of 0.1.0 are no longer separate
pieces - this release joins them into one application you can start and work with.&lt;/li&gt;
&lt;li&gt;MusicStation runs: the audio engine is a program of its own that opens the default output device
of your Mac, plays the reference tone through it whenever the test tone is on, and can also run
completely without a device for tests. It stays on your machine - the desktop application reaches
it over the local address only.&lt;/li&gt;
&lt;li&gt;Native application for macOS on Apple Silicon: MusicStation ships as an arm64 bundle for macOS 13
and later.&lt;/li&gt;
&lt;li&gt;Transport bar: the &lt;strong&gt;Play&lt;/strong&gt; and &lt;strong&gt;Stop&lt;/strong&gt; buttons with their latched highlighting, the playhead
position in bars.beats.ticks, the &lt;strong&gt;Tempo&lt;/strong&gt; field (20 to 999 BPM, default 120.00 BPM), the
&lt;strong&gt;Test tone&lt;/strong&gt; switch and the engine status at its right end.&lt;/li&gt;
&lt;li&gt;Reference tone: &lt;strong&gt;Test tone&lt;/strong&gt; puts a 440 Hz sine (concert A) at -20 dBFS on the master output.
That is the quickest way to check the device, the level and the monitoring path, and it is faded
in and out over 5 ms, so the tone never clicks.&lt;/li&gt;
&lt;li&gt;Keyboard shortcuts: &lt;strong&gt;Space&lt;/strong&gt; starts and stops playback, &lt;strong&gt;Enter&lt;/strong&gt; moves the playhead to bar 1,
&lt;strong&gt;F1&lt;/strong&gt; (or the key combination named in the menu) opens the manual section of the control under
the pointer or of the focused control.&lt;/li&gt;
&lt;li&gt;Native menu bar in English and German with &lt;strong&gt;MusicStation&lt;/strong&gt;, &lt;strong&gt;Edit&lt;/strong&gt;, &lt;strong&gt;View&lt;/strong&gt;, &lt;strong&gt;Window&lt;/strong&gt; and
&lt;strong&gt;Help&lt;/strong&gt;: the about dialog, the release notes, the settings, the context help, the manual and the
standard editing and window entries. The whole menu follows a change of the language at once.&lt;/li&gt;
&lt;li&gt;About dialog: the product name, the version of the running build, the build commit, the control
protocol version and the release-note history of every bundled version. Its own &lt;strong&gt;Language&lt;/strong&gt;
switch shows the history in the other language without closing the dialog.&lt;/li&gt;
&lt;li&gt;&amp;quot;What&apos;s New&amp;quot;: the release notes of the running version open by themselves once after an update
and can be opened again at any time from the menu.&lt;/li&gt;
&lt;li&gt;Settings: &lt;strong&gt;Language&lt;/strong&gt; (English or Deutsch), &lt;strong&gt;Theme&lt;/strong&gt; (Dark or Light), &lt;strong&gt;Accent colour&lt;/strong&gt; (six
colours plus a hex colour of your own) and &lt;strong&gt;UI scale&lt;/strong&gt; (75 % to 200 %, default 100 %). Every
setting applies at once and is remembered for the next start; &lt;strong&gt;Theme&lt;/strong&gt;, &lt;strong&gt;Accent colour&lt;/strong&gt; and
&lt;strong&gt;UI scale&lt;/strong&gt; each have their own reset next to them, plus one reset for everything, which also
returns the language to the one your system uses. The settings are stored in the config directory
of the application.&lt;/li&gt;
&lt;li&gt;Built-in manual: the complete manual in English and German comes with the application, works
offline and opens in the help panel at the control you ask about.&lt;/li&gt;
&lt;li&gt;Remote for iPad and iPhone: the bridge runs next to MusicStation, connects to it locally and is
the only part of the program that is visible in your network. It advertises itself over Bonjour,
pairs a remote after you enter its 32-character pairing token (shown when it starts, printed
again on request and replaceable at any time) and answers OSC control commands on UDP port 9000.&lt;/li&gt;
&lt;li&gt;Remote library for iPad and iPhone (MSHRemoteKit): it finds bridges over Bonjour, pairs with the
pairing token and drives the transport (play, stop, tempo and test tone) while following the
playhead.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Improved&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The transport follows the engine and stays honest: a button reacts immediately, the engine&apos;s next
state confirms it, and a command the engine rejects takes the display back and shows a translated
message instead of failing silently.&lt;/li&gt;
&lt;li&gt;The playhead readout keeps moving smoothly between the engine&apos;s states instead of stepping 30
times a second, freezes as soon as the connection is gone, and stays where it is when you send a
command.&lt;/li&gt;
&lt;li&gt;The interface reconnects on its own after a lost connection: the first attempt follows after
about 250 ms, every further one doubles the wait up to 10 s, and a stable connection resets it.
An engine with a different protocol version is reported instead of being retried forever.&lt;/li&gt;
&lt;li&gt;The engine sends its transport state at most 30 times per second and merges quick changes, so
even fast movement cannot flood the connection.&lt;/li&gt;
&lt;li&gt;The bridge limits what it passes on: it throttles the state for each client in the network,
limits how many commands one client may send and answers a command it cannot take with a message
that it is busy instead of losing it.&lt;/li&gt;
&lt;li&gt;Tempo changes keep the musical position: a new tempo takes effect at the start of the next audio
block and does not make the playhead jump.&lt;/li&gt;
&lt;li&gt;Language, theme, accent colour and UI scale apply without a restart, and a setting stored by an
older build is carried over instead of being dropped.&lt;/li&gt;
&lt;li&gt;The help panel is a proper overlay: it takes the keyboard while it is open, keeps Tab inside
itself and follows the language you have chosen for the interface.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Fixed&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;Tempo&lt;/strong&gt; and &lt;strong&gt;UI scale&lt;/strong&gt; fields no longer change a value you did not enter: looking into a
field and leaving it again keeps the engine&apos;s value. Numbers you type are rounded before they are
limited to the allowed range, and a value that is not a number never appears in the field as
technical text.&lt;/li&gt;
&lt;li&gt;Holding a key down no longer repeats a transport command, and the play/stop key no longer runs the
action of a focused button on top of its own.&lt;/li&gt;
&lt;li&gt;Menu entries reliably carry out their action; a click can no longer be dropped without a trace.&lt;/li&gt;
&lt;li&gt;The manual help returns you where you were: after the panel is closed, the same key again opens
the control you were pointing at, even if you did not move the pointer in between, and the
keyboard focus returns to the control you came from.&lt;/li&gt;
&lt;li&gt;The remote reports a command that never reached the engine instead of staying silent, and takes
its display back to the engine&apos;s last confirmed value.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://daw-musicstation.de/en/versions/#v0-1-0</id>
    <title>MusicStation 0.1.0</title>
    <updated>2026-10-11T21:10:00.788Z</updated>
    <link rel="alternate" type="text/html" href="https://daw-musicstation.de/en/versions/#v0-1-0"/>
    <summary type="text">Project foundation: real-time safe engine core (transport, lock-free queues), desktop interface shell, remote bridge and iOS remote library.</summary>
    <content type="html">&lt;h2 id=&quot;v0-1-0&quot;&gt;&lt;a href=&quot;#v0-1-0&quot; aria-label=&quot;Permanent link to MusicStation 0.1.0&quot;&gt;MusicStation 0.1.0&lt;/a&gt;&lt;/h2&gt;
&lt;h3&gt;New&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Project foundation: real-time safe engine core (transport, lock-free queues), desktop interface
shell, remote bridge and iOS remote library.&lt;/li&gt;
&lt;li&gt;The interface can be switched between English and German at any time.&lt;/li&gt;
&lt;li&gt;Dark and light themes.&lt;/li&gt;
&lt;li&gt;Transport bar: play and stop, the playhead position in bars.beats.ticks, the tempo field
(20 to 999 BPM, default 120.00 BPM), the 440 Hz test tone at -20 dBFS and the engine status.&lt;/li&gt;
&lt;li&gt;Keyboard shortcuts: &lt;strong&gt;Space&lt;/strong&gt; starts and stops playback, &lt;strong&gt;Enter&lt;/strong&gt; moves the playhead to bar 1,
&lt;strong&gt;F1&lt;/strong&gt; (or ⌘?/Ctrl+?) opens the manual section of the control under the pointer.&lt;/li&gt;
&lt;li&gt;Settings for language, theme, accent colour (six colours or your own hex value) and UI scale
(75 % to 200 %), each with its own reset and one reset for everything; every setting is applied at
once and remembered for the next start.&lt;/li&gt;
&lt;li&gt;Native menu bar with About, What&apos;s New, Settings, the editing and window commands and the manual.&lt;/li&gt;
&lt;li&gt;About dialog with the version, the build commit, the control-protocol version and the release-note
history of every shipped version; &amp;quot;What&apos;s New&amp;quot; opens once per version, and both dialogs can be
opened again at any time.&lt;/li&gt;
&lt;li&gt;Built-in help panel: the complete English and German manual ships with the application, works
offline and opens at the control you ask about.&lt;/li&gt;
&lt;li&gt;Remote library for iPad and iPhone: it finds bridges with Bonjour, pairs a LAN connection with
the bridge&apos;s pairing token and drives the transport (play, stop, tempo, test tone) while tracking
the playhead position; the bridge and the remote never touch the audio path.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
</feed>
