Workspace
MusicStation organises its views as panels. A panel is one framed area of the window: a frame with the translated title, the menu that docks the panel somewhere else and the control that closes it, and inside it whatever that panel shows (see Panels, which describes the five panels of this build and their content). Every panel has an id, a minimum size of 120 px and a section in this manual.
A panel sits in one of the three dockable regions around the centre of the window - Left,
Right and Bottom - or in the Centre itself. A workspace is nothing but that
arrangement: which panel sits where, how wide each region is and which panels are kept closed. The
window renders the workspace that is in effect; the arrangement is stored in the workspace document
workspaces.json in the application's config directory and is read again at the next start, so a
panel you dock today is where you left it tomorrow.
The panels this build ships are:
- Session - the 16 tracks by 16 scenes clip grid; docked in the centre of the shipped arrangement.
- Settings - language, theme, accent colour, UI scale, the two preferences and the shortcut editor; docked on the right in the shipped arrangement.
- Browser - the clips the session holds, grouped by track.
- Inspector - the details of the selected slot of the grid.
- History - the version history of the current project: the stored snapshots with their names, notes and dates, and the gestures that create, rename, delete, compare and restore a version (see Version history).
Three further panel ids are reserved for later epics and are not available yet: the Mixer (per-track gain, pan, mute/solo, sends and inserts), the Editor (MIDI and audio editing) and the Arrangement (timeline and arrangement view). None of the three exists in this build - there is no panel, no menu entry and no button that opens one, so do not look for them. A workspace document that names one of them keeps the entry, which is what lets a workspace written by a newer build survive an older one, but this build renders nothing for it.
You change the arrangement with the three controls documented on this page:
- the Panels menu in the header, which opens and closes a panel,
- the header of a panel itself, which docks it into another region or hides it,
- and the splitter between a region and the centre, which sizes the region.
The four workspaces every build ships are Default, Recording, Mix and Live; they are described under Manage workspaces, and the Workspace menu switches between them. Saving your own arrangements, renaming, deleting, resetting, importing and exporting them happens in the workspace manager.
Panels (menu)
The Panels menu sits in the header, directly behind the project name. It lists the five panels with their current visibility, one entry per panel, in the order Browser, Inspector, Session, Settings, History. Press an entry to close or to open that panel:
- the entry is engaged (highlighted) while the panel is visible, that is while it is placed in a region of the active workspace and that region is visible;
- the entry is not engaged while the panel is closed - a closed panel is not rendered at all.
The menu always shows the current state: a panel you closed with the Hide control of its header is listed as not engaged, and the list follows every docking gesture. Pressing an entry of a closed panel puts the panel back into the window: it is appended to the left region, which becomes visible. Dock it where you want it with its Region menu.
Opening or closing a panel changes the arrangement only. The window re-renders, playback and the transport keep running, and the new arrangement is written to the workspace document once.
The menu bar lists the same panels under View ▸ Panels: one entry per panel, with a check mark while the workspace in effect shows it (see Panels (View menu)). Both surfaces read and write the same arrangement - which one you use is a matter of where your pointer is, and a panel closed in one of them is closed in the other.
The iPad remote has no panels and no such menu: it is one screen (see iPad remote). A panel that is opened, moved or closed on the desktop changes nothing on the remote.
Hide
The Hide button at the right end of a panel header closes that one panel. The panel disappears from the window and the workspace remembers it as closed; nothing is deleted, and a panel whose content carries state of its own keeps that state - the settings panel keeps your settings, the shortcut map inside it keeps your bindings.
A closed panel is not rendered at all, so nothing inside it can be reached until it is shown again. There are two ways back:
- its entry in the Panels menu of the header, which shows it again;
- the menu entries that address a panel: Settings… and Keyboard Shortcuts… show the settings panel first when the workspace keeps it closed, and then bring you to the control they name. Version History does the same for the history panel: a workspace of your own that holds that panel is applied first, while the shipped placement of a built-in workspace is never a reason to rearrange the window (see Version history).
Region
The Region menu at the right end of a panel header docks that panel somewhere else. It opens a select with the four places a panel can sit, in this order:
- Left - the left side column of the window.
- Centre - the middle area, where the session grid sits in the shipped arrangement. Only one panel fits into the centre: the panel that was there is closed instead, and comes back through the Panels menu.
- Right - the right side column of the window.
- Bottom - the row below the centre.
Picking one removes the panel from its previous place and appends it to the stack of the chosen region, and that region becomes visible. A region stacks the panels that are docked in it, in the order they were docked: top to bottom in a side column, left to right in the bottom row. The region keeps its size - the splitter value belongs to the region, not to a panel - so a panel docked into an empty region appears at the width or height that region last had.
Dragging a panel by its header, the contract's second docking gesture, is not part of this build: the Region menu is the way to move a panel.
Splitter
One splitter sits between every visible region and the centre. Drag it with the pointer, or use the keyboard once it has the focus (Tab reaches it):
- Drag - the region follows the pointer while you drag, and the size is stored when you release. Dragging towards a region makes it bigger.
- Arrow keys - the arrow pointing at the region grows it and the opposite arrow shrinks it, by one percent of the window per press: → grows the left region, ← the right one, ↓ the bottom row. Hold Shift for the coarse step of five percent.
- Home - snaps the region to its documented minimum.
A region is never smaller than 120 px, the minimum panel size, and never takes more than half of the window, so the other half always stays for the centre. When less than 120 px remain for the centre, the centre area is not rendered at all and the window shows the regions alone; drag the splitter back to bring it in again.
The splitter is a focusable control and reads its value out to assistive technology. A running gesture never re-renders the panels beside it, and the workspace document is written once per finished gesture - on release, or once per key press - not for every pointer move. Resizing changes no clip, no tempo and no transport state: playback and the playhead run on while you drag.
Workspace (menu)
The submenu View ▸ Workspace lists the workspaces of the workspace document
(workspaces.json in the application's config directory). It opens with the fixed entry
Manage Workspaces…, followed by a separator and then one entry per
workspace: the four workspaces every build ships - Default, Recording, Mix and Live -
and, behind them, the workspaces you saved yourself, in the order of the document. The workspace in
effect carries a check mark, so the entry you are on is visible at a glance.
Picking an entry applies that workspace at once: the panels of the window rearrange, the workspace becomes the active one and its id is written to the document. Nothing else changes - a running transport keeps running, clips keep playing and no command is sent to the engine, because a workspace is a pure arrangement of the window. A user workspace is listed under the name you typed, stored verbatim and never translated; the four built-in workspaces are listed under their translated names. The entry has no accelerator. The whole gesture never touches the audio path.
The header of the window carries the same list as the Workspace button next to the Panels menu: it shows the workspaces with their markers, applies one on a press and ends in the same Manage Workspaces… entry. Both surfaces read the same document and label it the same way, so a workspace you saved turns up in both of them.
Manage Workspaces…
The fixed entry of the Workspace submenu, and the last entry of the workspace menu in the header. It opens the Workspaces dialog, the manager of the workspace document: the list of every workspace, saving the current arrangement under a name, renaming, deleting, the reset to the four shipped workspaces and the import and export of one workspace file - all documented in Workspace manager. The entry has no accelerator.
The three dialogs of the window are modal and make room for each other: opening the manager closes About and "What's New", and opening one of those closes the manager. The manager is never open by itself: it appears when you open it, and the window starts on the workspace the document names as active - Default, unless a stored document names another.
Panels (View menu)
The submenu View ▸ Panels opens and closes the panels of the window: one entry per panel this build renders, in the order Browser, Inspector, Session, Settings, History. An entry carries a check mark while the workspace in effect shows that panel, and a press closes or shows it - the same gesture as the Panels menu of the header, which lists the same set.
The list follows the workspace in effect: switch to another workspace and the check marks move to the panels of that arrangement. The panel set is data, not a fixed table, so this entry has no accelerator and no entries of its own; a panel id this build does not know is not listed and keeps its placement in the document. The three ids reserved for later epics - mixer, editor, arrangement - are not listed for exactly that reason: they are not panels of this build.
Workspace manager
The Workspaces dialog is the manager of the workspace document: it lists every workspace with the one in effect and carries the operations that do not fit into a menu - saving the current arrangement under a name, renaming a saved one, deleting it, resetting the document to the four shipped workspaces, and importing or exporting a single workspace file. Open it with the entry Manage Workspaces… of the menu bar or with the Workspace menu of the header; both lead to the same dialog.
The dialog is modal: it dims the window behind it, keeps the keyboard inside itself (Tab cycles through its controls and stays there) and closes on Escape, on a click on the dimmed area or with the Close button. Its title is Workspaces, and like every other surface of the window it follows a language switch while it is open.
Manage workspaces
Every workspace of the document is one row of the list, in the order of the document: the four shipped workspaces first - Default, Recording, Mix and Live - and then the ones you saved yourself. A row shows its name and up to two markers: built-in for the four shipped workspaces and active for the workspace in effect. A list longer than the dialog scrolls within it.
The four shipped workspaces are fixed panel sets: Default shows the session grid in the centre and the settings panel on the right, Recording puts the Browser on the left, the session grid in the centre and the Inspector with the History panel in the right column, Mix puts the Browser on the left, the session grid in the centre and the settings panel with the History panel in the right column, and Live shows the session grid in the centre and nothing else. Their labels come from the interface language - Standard, Aufnahme, Mix and Live in German - and are never translated in the document itself. A shipped workspace cannot be renamed or deleted, but its arrangement can be changed and is stored like any other; you may save your own arrangement as a new workspace next to it.
Press a row - with the pointer, or with Enter or Space while it has the keyboard focus - to make that workspace the one in effect; it is the same gesture as an entry of the Workspace menu. The workspace in effect is highlighted and carries the active marker, so where you are is never a guess, and pressing the row of the workspace already in effect changes nothing and writes nothing.
Applying a workspace rearranges the panels only: no clip stops, the tempo does not change and no
message leaves the window. The chosen workspace is written to workspaces.json in the config
directory, so the next start shows it again. The document holds at most 64 workspaces, of which the
four shipped ones always keep their slot - 60 workspaces of your own. The dialog itself is never open
at start-up: it appears only when you open it, from the menu bar or from the header.
Save current as…
The name field and the Save current as… button under the list save the arrangement the window shows right now as a new workspace. Type a name and press Enter, or press the button next to the field; both save the text that stands in the field. Leaving the field - a click on another control - only hands the text over without saving, so you may type a name, change the arrangement once more and save afterwards.
The new workspace is appended to the list as a workspace of your own, becomes the one in effect at
once and is written to the document together with the arrangement you see. A name may be 1 to 60
characters long and must not be the name of another workspace; the comparison ignores case, so a
saved mix cannot end up next to the built-in Mix, and it compares what a row shows - the name
you typed for one of your workspaces, the translated name of a built-in in the current language.
A rejected name changes nothing. The dialog reports it under the list: Please enter a name. for an empty field, Another workspace already uses this name. for a duplicate, and The list is full. Delete a workspace first. while 60 workspaces of your own are already stored. A name longer than 60 characters cannot be typed - the field stops there.
Rename
Rename in the row of a workspace turns that row into its edit form: a name field with Rename and Cancel. Type the new name and press Enter or Rename; Cancel leaves the edit form without changing anything, and starting a rename in another row moves the form to that row. Enter commits the text and renames in one gesture; leaving the field only commits, so a click on Cancel or on the next control does not rename anything. The same name rules apply as when saving: 1 to 60 characters, no name that another row already shows, and a rejection leaves the old name in place and reports the reason under the list.
The four built-in workspaces cannot be renamed - their Rename button is disabled, because their labels come from the interface language. Renaming changes the label of the row, of the Workspace menu and the suggested file name of an Export…; the arrangement of the workspace stays what it is.
Delete
Delete in the row of a workspace removes that workspace. The first press asks: the button becomes Delete? and a Cancel appears next to it; the second press on Delete? removes the workspace. Cancel takes the question back, and so does starting any of the other operations of the dialog - saving, renaming, exporting, importing or resetting.
Deleting the workspace in effect switches the window to the built-in Default; deleting any other
one leaves the workspace in effect where it is. Nothing can be undone - a deleted workspace is gone
from workspaces.json and with it the arrangement it held. The four built-in workspaces cannot be
deleted: their Delete button is disabled.
Export…
Export… writes the workspace in effect into one file: the workspace document of the contract with
exactly this one workspace in it, layout, name and id included. The shell opens its native save
dialog, which starts with the label of the workspace as the file name and the extension
.mshworkspace.json; characters a file name should not carry are replaced by a dash in that
suggestion.
Choose a place and confirm. The file holds the arrangement of the workspace in effect at that moment, also when it was changed since the last operation in the dialog. A cancelled dialog changes nothing and says nothing, and a write that did not reach a file - a read-only folder, for example - is reported under the list as The file could not be written. The workspace was not exported.. Exporting is the way to carry a workspace to another machine or to keep it outside the config directory. An export is a UI file operation like the rest of this dialog: no clip, tempo or transport state is involved.
Import…
Import… reads one exported file and adds it to the document as a workspace of your own, which becomes the one in effect at once - a new entry that changed nothing on screen would look like a failed import. The shell opens its native open dialog; a cancelled dialog changes nothing.
A document that names a workspace of your own which is already in the list is not replaced silently: the dialog asks A workspace named {name} already exists. Replace it? and offers Replace and Cancel. Only Replace overwrites that workspace with the name and the arrangement of the file; Cancel drops the import. The four built-in workspaces are never replaced: an imported copy of one of them gets a free id, and a name that is already in the list gets a number behind it, because the list never shows the same name twice.
A file that is not a workspace document, that was written by a newer version of MusicStation or that would push the document past its 60 workspaces of your own is rejected as a whole: nothing is added and nothing is changed. The dialog reports the reason under the list - This is not a workspace file. The workspaces are unchanged., This file was written by a newer version of MusicStation. or The list is full; nothing was imported.. A file that cannot be read at all is reported there too, as The file could not be read. The workspaces are unchanged..
Reset to built-ins
Reset to built-ins drops every workspace you saved and restores the four shipped workspaces with their shipped panel sets and sizes. The first press asks - the button becomes Reset now? and a Cancel appears next to it; the second press resets. The workspace in effect survives when it is one of the four shipped ones; if you were on a workspace of your own, the window switches to Default.
The reset cannot be undone, and it is the one gesture that touches every workspace at once. Like
every other gesture here it changes the arrangement only - no clip, no tempo and no transport state
is involved - and it writes the four built-ins into workspaces.json instead of deleting the file.
Close
The Close button in the footer of the dialog puts it away; the window behind it stays exactly as it is, showing the workspace you last applied. Escape and a click on the dimmed area around the dialog do the same.
Closing is not a cancel: everything you did in the dialog - a saved workspace, a rename, a deletion, an import, a reset - was written to the workspace document the moment you did it. Only the gesture that was still asking a question (a Delete?, a Reset now?, an import waiting for Replace) is dropped.
Workflow: dock a panel where you want it
- Open the Panels menu in the header and press the panel you want - for example Browser. A closed panel is appended to the left region and shows up there.
- Open the Region menu in the header of that panel and pick the place you want it: Left, Centre, Right or Bottom.
- Size its region with the splitter: drag it, or focus it and use the arrow keys.
- If you want the panel out of the way again, press Hide in its header - your arrangement is stored, and the panel comes back from the Panels menu.
Workflow: keep an arrangement of your own
- Arrange the window as you want it: open and close panels with the Panels menu, dock them with their Region menus and size the regions with the splitter.
- Open the workspace manager from the header or with Manage Workspaces…, type a name into the field and press Enter - the arrangement is now a workspace of yours and is in effect at once.
- Switch between arrangements with the Workspace menu in the header or under View ▸ Workspace; the workspace in effect is marked in both.
- Rename a saved arrangement with Rename, remove one with Delete, or take the whole document back to the four shipped workspaces with Reset to built-ins.
- To carry an arrangement to another machine, use Export… there and Import… here - or the other way round.
Workflow: get the settings back
- If the settings panel is not in the window, open the Panels menu and press Settings - or use the menu entry Settings…, which shows the panel and hands it the keyboard.
- Dock it where you want it with its Region menu; the shipped arrangement has it on the right.
- Inside it, the shortcut editor sits below the settings themselves (see Keyboard shortcuts).
Remote
The iPad remote has no panels and no workspace: it is one screen with the connect view, the session grid and the transport, and its own text resources (see iPad remote). A panel that is docked, resized or closed on the desktop changes nothing on the remote, and the remote never sends a layout anywhere. Neither the workspace document nor the workspace manager has an equivalent there: arrangements and workspaces are desktop state only.