The Graphical User Interface (GUI) is everything you see on the screen, that is all the windows, editors, buttons, sliders, scrollbars, etc..., which are called the GUI components (aka widgets, controls).
The GUI is the interface by which you tell the app what you want to do.
Most GUI components work as you're used to from other applications, but some components have more specific behaviours, which are described as follows.
Important Note To MacOS Users
These docs are written from a Windows user view.
Not because MuTools prefers Windows, no, it's just that repeating the platform-specific differences all the time would be boring and distracting.
So that's why the following is mentioned only once here:

Whenever this user guide mentions
right-click, do
Ctrl+click. Note that a right-click might work too, it depends on your MacOS setup.

Whenever this user guide mentions
Ctrl+click, do
[Apple]+click.

Whenever this user guide mentions
Ctrl+key, do
[Apple]+key.
Windows
You can move a window around by dragging its title bar or title display.
Alternatively you can also move a window by Alt+click-dragging or right-click-dragging its borders.
This may be handy when the title bar is off screen.
The main project window has no explicit title bar, but you can also move the project window by dragging the project name display or by dragging the 'Move' window button near the Close window button:

You can resize a window by dragging its borders or its corners.
Not all windows are resizable though.
Right-click a window's title bar or buttons or borders to popup its context menu.
That context menu also contains a "Move To Top-Left" function in case you can't reach the title bar anymore.
Most floating windows can also be closed by pressing Esc when the window is focused.
You can press Ctrl+Tab to focus the next window.
On MacOS, this is also done by Ctrl+Tab as Cmd+Tab is already used by the system.
GUI Focus
When you press a key, then the question is: what part of the GUI will process that key?
Imagine, you press [Delete], then should the app delete the selected clips or a track or a rack or...
So it's important to have a certain focused component that will process the keys you press.
This is applies to all software applications.
Normally this is the last component that you clicked in, or mouse-wheeled in.
The app can clearly indicate the focused GUI component by drawing a colored rectangle around that component cfr this picture:

But by default this focus box is not drawn as it can be distracting for some users.
That's why this is a user preference that can be set via "Edit Preferences" -> "Draw GUI Focus Box".
Alert boxes
Whenever an alert box pops up, you can choose one of the button options by clicking on it (of course), but also by pressing the first character of that option.
And when there is a "Cancel" option, you can press
Esc to cancel.
So for example for this question alert:
Pressing
[Y] = Yes
Pressing
[N] = No
In Yes-No question alerts, [Enter] and [Return] also mean "Yes" and [Escape] means "No".
Numeric Input Fields
Numeric values can be changed by dragging the value up/down, by mouse-wheeling the value and by double-clicking the value.
At places where a numeric value is edited separately (e.g. when double-clicking a value in the Event List Editor), new values can now be instantly typed in without the need for that extra double-click.
Knobs and Sliders
Above are examples of a knob and a slider. Knobs and sliders almost work in the same way:
- Clicking on it and dragging it up-down OR left-right will tweak the knob/slider. For a vertical slider you can only drag up-down of course.
- When you hold Ctrl while dragging, the changes are much finer.
- When you hold Shift while dragging, the changes are more extreme.
- When you hold Shift when you click a slider, the handle immediately jumps to that position.
- When you hover a knob/slider with the mouse, you can also use the mouse wheel to tweak the knob/slider.
And again Ctrl and Shift give you more control, cfr above, thus hold Ctrl while scrolling the mouse wheel for scrolling values in smaller steps.
- When the knob/slider has the focus (=colored box around it), you can also press the +, - for tweaking. Pressing Ctrl and Shift works similar as above, thus Ctrl[+] increase the value in small steps.
- Pressing the Home key sets the knob/slider to its default value. This can also be done via a Alt+click on the knob/slider.
- You can double-click the value of a module parameter to set that value via an input dialog.
If you want you can design the looks of the knobs and sliders yourself, or import presets from other users.
For more details see
this doc page
Menus / Tree Lists / File Browsers
- The Desktop button brings you to the Desktop.
- The Favorite Folders button allows you to quickly go to one of your favorite folders, or manage them.
- The File Name Filter button allows you to set the name filter to e.g. "B*.Mux" which means that the browser will list all files starting with B and having a 'Mux' extension.
- When also a new file can be chosen, Ctrl+N corresponds to the "New File" button.
- When browsing for an audio file, then when you click the file name, the audio file plays one-shot AND it is active on your MIDI keyboard so you can instantly play some notes with the preview.
- You can also drag-drop a file from the Windows Explorer / MacOS Finder on the file browser so to sync it to that dropped file/folder.
- [Arrow Right] opens a group. [Arrow Left] closes a group.
- You can type in characters to search for an item. Press Ctrl+G to search for the next item.
Context Menus
Context menus are popup menus that are only relevant to a specific context/object.
Context menus are opened by
right-clicking on the relevant object.
On MacOS that is Ctrl+click. Note that a right-click might work too, it depends on your MacOS setup.
Within these context menus, you can press the first character(s) of an option to choose that option.
Sometimes this might be quicker than selecting the option with the mouse.
If you often use the same menu options it might be a good idea to assign a shortcut key to it, that will speed up your workflow.
See the
Function Shortcuts doc page for detailed info.
While a context menu is open pressing Alt+S lets you quickly assign a shortcut to the highlighted option.
When holding the mouse over certain menu options, an into tip window shows a description of the menu item.
Not all menu options show such description, often menu options are self-explanatory.
The "Show menu info popups" preference defines whether these menu info popups should be shown or not.
Unicode, Fonts
As of version 10.3, MuLab supports unicode texts and file/folder paths.
Some detailed notes:
Unicode DATA
MuLab supports unicode on data level for 100% :)
Any text, name, folder or file path, etc. can contain characters of any language on earth, any unicode emoji, symbol, etc.
Eg. samples with Japanese characters and/or emoji unicodes play fine, saving and reloading projects and presets with such unicode file paths also works fine.
Unicode DISPLAY
MuLab displays many ten thousands of characters as well as musical symbols and emojis.
However some complex language scripts (eg. Arabic, Hebrew, Indic, ...) are not yet 100% properly displayed as they use contextual glyph substitution, ligatures, and bidi reordering.
Support for such complex scripts may be implemented in a future update. For now such special script characters are displayed a bit uncompliantly, but it won't harm anything.
Practically
MuLab comes with a bunch of selected Google Noto fonts, as these are very compatible with MuLab's default built-in font, which is Google Roboto.
The bundled fonts files are stored in the MuLab/App/Graphics/Common/Fonts subfolder.
The built-in font together with these bundled fonts cover most characters, emojis and symbols.
In case you would see undefined character boxes and want to see them defined, you can add extra Google Noto font to your MuLab/User/Graphics/Fonts subfolder.
For now only Google Noto Sans fonts are recommended/supported as they nicely match MuLab's built-in font.
You could try adding other font files too, but it could result in small graphic mismatches and that's unsupported.