MuLab 4 Docs Settings & Preferences   

In your MuLab folder there is a subfolder User/Settings. This folder contains files that define how MuLab will work.

The most important MuLab settings and preferences can be edited via MuLab's Edit menu -> Audio Setup / MIDI Setup / Preferences, and so normally you don't need to read the following info.

However some advanced preferences are only editable directly in these files, and so this section describes what you can do with these preference files.

Important notes

  • This section is meant for advanced users only. If you are not sure about what you're going to do, then don't edit these files!
  • Settings or preferences that are not described in this section may not be changed! They're used by the system.
  • IF you want to change something in these files, then first quit MuLab, then make the change and then launch MuLab again. So don't make changes while MuLab is running.
  • Preferences in .txt files are always written on a single line in the format "PreferenceName=PreferenceValue". Preferences in .xml files follow the standard XML syntax.

 

AudioSetup.txt

The AudioSetup.Txt file contains all settings regarding your audio device.

Everything can be edited via MuLab's Edit menu -> Audio Setup.

There currently is only one extra preference: PreferredAudioRecordingLatencyCompensation, cfr the "Device Latency Compensation" on the Recording page.

This preference can be any of these values:

  • "Input"=Input latency
  • "Output"=Output latency
  • "Input+Output"=Input+Output latency
  • Any number from 0 to 65536, in which case this defines the number of frames a new audio recording should be shifted to be in sync with the music

By default MuLab will use the "Input+Output" latency. Because when your HEAR the music, then this music already has the output latency. Then when you sing or play an instrument on hearing that music, that sound goes into your audio device and is delayed by input latency before it arrives in MuLab.

But, as said, not all drivers report correct latency values, or they may be other reasons why these theoretic latency values are not accurate.

This is why the MuLab offers this preference in case you want to finetune it for your recording setup.

 

MidiSetup.txt

The main part of the MIDI setup can be edited via the main user interface. Only 1 specific preference:

  • MidiOutputMicroTimeCompensation : Defines the time offset in microsecs to finetune the timing of MIDI output. This can be handy in case there would be a sync problem anywhere in the MIDI chain.

 

MULAB.txt

  • AutoPlay : 0=No, 1=Yes.
  • AutoSaveTimeOut : Number of minutes between auto saves. MuLab auto saves your current musession as AutoSaved.MuSession in your Mulab folder.
  • Logging : 0=No, 1=Yes.
  • MenuFontSize : Possible values: ExtraSmall,Small,Medium,Large,ExtraLarge,Giant. So e.g. 'MenuFontSize=Small'
  • OpenFilesInSosMode : 0=No, 1=Yes. Can be used to diagnose session files that won't load. If the problem is a VST plug-in, then the plug-in can be skipped.
  • SampleInterpolation : Possible values: Linear,Spline.
  • UseUnfoldedContextMenus : 0=No, 1=Unfold 1 level, 2=Unfold 2 levels, and so on.
  • OpenFilesInSosMode : 0=No, 1=Yes. Can be used to diagnose VST plug-in loading problems.
  • AudioRecordingFileType : AIFF or WAVE. If not defined, the default is AIFF on OSX, WAVE on Windows.
  • AudioRecordingMinimumLevelThreshold : Value in dB e.g. AudioRecordingMinimumLevelThreshold=-30

    By default, AudioRecordingMinimumLevelThreshold=-48

  • AudioRecordingIn32BitFloats : 0=Record audio in 16 bits integers, 1=Record audio in 32 bits floats.
  • FilterIncomingAllNotesOffEvents : 0=No, 1=Yes. Default=Yes.
  • AudioFileStreamBlockSize : Defines the size of the audio file stream buffers. Value is the number of milliseconds. Default=750.
  • MouseHoverDelayTime : Defines the delay time for mouse hover detection. Value=0 - N ms. Default=500ms.
  • DrawGuiFocusBox : Defines how to draw the GUI focus box. The GUI focus defines the component that will process the keys you press. Value is the opaqueness of the focus box and is between 0 and 100%. Default=100%.
  • GuiFocusOnHover : Defines whether the GUI focus must shift to a hovered component. Value=0 or 1. Default=1.
  • EditorNavigation : Defines how the editor panning and zooming is done. Value=MouseWheelZooms or MouseWheelScrolls. Default=MouseWheelZooms.
  • MonitorOnDrawNotes : Defines whether notes should be monitored while you draw them. Value=0 or 1. Default=1.
  • StandardCopyPartIsSharedCopy : Value=0 or 1. Default=0.
    If set to 1 then [Ctrl]+drag = copy as shared part, [Shift]+[Ctrl]+drag = copy as unique part.
  • ShowFocusedModuleKeyboard : Value=0 or 1. Default=1.
  • ShowDrumSlicerDialog : Value=0 or 1. Default=0.
  • LevelMeterMaximumLevelFallDownTime : In number of seconds.
  • DroppedAudioFilesLengthThreshold : In number of seconds. When dropping an audio file on the composer, then when it's shorter than this length it will be imported as a sliced sample part, else it's imported as an audio part. For the differences between audio files and samples, click here.
  • PreferredSessionWindowRectangle : X,Y,W,H. Defines the default session window size when opening a new session window. If this is not defined new session windows are opened full screen.

 

PreferredFilesAndFolders.txt

This file is automatically maintained by MuLab and contains info regarding your preferred files and folders.

 

VstPlugins.xml

This XML file contains all info regarding your VST Plug-Ins. Everything can be edited via the MuLab File menu -> VST Plug-In Manager.

If you delete this file, then MuLab's VST Plug-In Manager will be empty.

To ignore a plug-in: set <Valid> to 0.

To delete a plug-in: delete the relevant <plug>...</plug> block.

About ReGrouping a VST plug-in's IO pins

Normally, when a VST plug-in has multiple inputs/outputs, it will properly tell MuLab how these ins/outs are organized, i.e. whether these are mono or stereo.

Unfortunately there are VST plug-ins that don't properly report this. Technically: They don't support the effGetInputProperties/effGetOutputProperties calls.

In such case MuLab will default to group the ins/outs as stereo.

If this default behaviour does not match for a certain VST plug-in, then you can overwrite how its ins/outs should be grouped by adding these lines to the relevant plug-in block:

ReGroupAudioInputs=i1,i2,i3,...
ReGroupAudioOutputs=o1,o2,o3,...
where i1,i2,i3... and o1,o2,o3,... are numbers that indicate the number of VST pins per MuLab jack. Note that the sum must match the total number of ins/outs for that VST plug-in.

For example, if a VST plug has 4 input pins, but they should be grouped as 2 stereo jacks, then add this line to that plug-in item in Mulab/User/Settings/VstPlugins.Xml:

ReGroupAudioInputs=2,2
Similar story for outputs.

Of course all this is only necessary for VST plug-ins that don't tell the host how its IO pins are to be grouped. Normally a good VST plug-in will report that to the host, and so you don't have to take this extra action.

Table Of ContentsQuestions & Answers