Manual: Hidden Settings

From OpenMPT Wiki
Jump to navigation Jump to search
Advanced tab of the settings dialog

Some settings for advanced users cannot be changed directly in OpenMPT, however they can be changed by modifying OpenMPT’s configuration file, mptrack.ini, or from the Advanced Settings. When using the latter method, it might be necessary to restart OpenMPT for some options to take effect.

[Broken Plugin Workarounds][edit]

  • VSTMaskAllCrashes: Determines whether crashes in VST plugins should be reported to the user (1) or passed on to the system, i.e. OpenMPT crashes (0). Note that if a plugin crashed, its internal state or even OpenMPT’s state may be inconsistent, so in this situation it is best to close and reopen the tracker anyway.
  • VSTNeverUnloadAnyPlugin: If set to 1, VST plugins are not fully unloaded when closing them. This may help with some buggy plugins (e.g. made with older versions of SynthEdit 1.4). Do not enable this setting unless you have issues when unloading plugins that cannot be solved by using the plugin bridge.

[Components][edit]

  • BlockASIO, BlockPortAudio, BlockRtAudio, BlockWaveOut: If set to 1, the respective sound device types do not get initialized or queried by OpenMPT. You should not need to disable any of these unless told to do so by the OpenMPT developers in order to diagnose problems.
  • BlockMediaFoundation: If set to 1, OpenMPT will not load any samples using MediaFoundation codecs.
  • BlockWineWrapper: If set to 1, OpenMPT will not load the Wine native audio wrapper.
  • KeepLoaded: If set to 0, optional OpenMPT components (e.g. MP3 codecs) are unloaded after usage. This frees up memory used by these components but slows down subsequent uses.
  • LoadOnStartUp: If set to 1, some optional components are loaded right on statup instead of when they are first used.

[Debug][edit]

Options in this section should generally only be changed if you are advised by an OpenMPT developer to do so.

  • DelegateToWindowsHandler: If set to 1, OpenMPT will invoke the Windows default crash handler after its own crash handler has finished generating the crash report which had been the behaviour in OpenMPT before 1.27.
  • StopSoundDeviceBeforeDump: By default, the sound device is closed after writing out a crash dump. Setting this option to 1 inverts the behaviour.
  • StopSoundDeviceOnCrash: If set to 0, OpenMPT will not close or otherwise touch the state of the sound device when writing out a crash dump. Only change this setting when asked by the OpenMPT developers to do so in order to diagnose sound device related crashes.
  • TraceAlwaysDump: If set to 1 and TraceEnable is also set to 1, OpenMPT will always write out the trace log on program exit even if no crash happened. Do not enable this setting unless you are advised by the developers to do so.
  • TraceEnable: If set to 1, a trace logging system is enabled which can be used by the OpenMPT developers to debug certain problems. Do not enable this setting unless you are advised by the developers to do so.
  • TraceSize: Configures the tracer buffer size. By default, it contains 1,000,000 entries.

[Display][edit]

  • FSUpdateInterval: OpenMPT watches the file system in order to update the instrument library tree view when files get added or removed to the directory while OpenMPT is running. This setting limits the rate of the GUI updates in these cases to the given value in milliseconds. The default is 500ms.
  • GUIUpdateInterval: Defines the update interval of the GUI in milliseconds (default: depends on the period value found in the sound card settings).
  • HighResUI: If enabled, OpenMPT reports itself to Windows as a DPI-aware application. This setting might have to be disabled if you are using a high-DPI screen in combination with VST plugins that do not have a DPI-aware user interface.
  • ShowSplashScreen: If set to 0, no splash screen is shown when starting the program (same effect as command line option /NoLogo).
  • UseGDIUpscaling: If the HighResUI setting is disabled, OpenMPT will by default instruct Windows 10 and newer to use an enhanced upscaling method that will render various parts of its user interface at native resolution, so only bitmap-based GUI elements (such as the pattern, sample and envelope displays) will remain blurry. However, some older VST plugins have issues when this upscaling method is used, and will crash or freeze when opening their editor window. If this happens to you, you can set this setting to 0.
  • VuMeterUpdateInterval: Defines the update interval of the VU meters in milliseconds (default: 15ms).
  • VuMeterDecaySpeedDecibelPerSecond : Sets the VU meter's decay speed The default value is 88 dB/s.

[Export][edit]

  • DefaultToSoundcardSamplerate: By default, the export dialog presets the export frequency to the tracker’s currently selected sample rate. One reason for this behaviour is that some plugins do not like it when the sample rate is changed between normal playback and export. If you do not like this behaviour, you can set this value to 0. In this case, OpenMPT remembers the previously selected sample rate instead.
  • FLACCompressionLevel: When exporting to FLAC format, this value sets the FLAC compression level. Higher values mean better compression ratio and require more CPU time. For details, please refer to the FLAC documentation.
  • MP3ID3v2MinPadding: This value is the minimum amount of padding bytes to add to ID3v2 tags.
  • MP3ID3v2PaddingAlignHint: This aligns the MP3 data after the ID3v2 tag in addition to the minimum padding to a multiple of the configured value. Set to 0 to disable additional aligning.
  • MP3ID3v2WriteReplayGainTXXX: Write ReplayGain information (if calculated, see MP3LameCalculateReplayGain and MP3LameCalculatePeakSample) to the ID3v2 tag. This setting defaults to 1.
  • MP3LameCalculateReplayGain and MP3LameCalculatePeakSample: When exporting to MP3 format, calculate the ReplayGain track gain adjustment and the peak sample value (as require by ReplaGain) respectively. The calculated values get written to the VBR/Lame info header automatically in VBR mode. Additionally, the values can be written to the ID3v2 tags when enabled (see MP3ID3v2WriteReplayGainTXXX). Both settings default to 1.
  • MP3LameID3v2UseLame: If set to 1, when exporting to MP3 format, uses the libmp3lame ID3v2.3 implementation instead of the OpenMPT ID3v2.4 implementation. ID3v2.3 is more widely supported by older player software.
  • MP3LameQuality: When exporting to MP3 format using libmp3lame, this value selects the internal algorithm quality used by LAME. Lower values mean better quality and require more CPU time. This is the same as the -q command line parameter for LAME. More details can be found e.g. on Hydrogenaudio.
  • OpusComplexity: When exporting to Opus format, this value selects the internal complexity used by libopus. Higher values mean better encoding efficiency and require more CPU time. Value -1 uses the libopus default value. For details, please refer to the libopus documentation.

[MIDI Input Ports][edit]

In this section, you can set “friendly names” for all MIDI input ports. If you have lots of MIDI ports with undescriptive names (such as “MIDI Device Port 1”, “MIDI Device Port 2”, …), it can be useful to replace those names with more suitable names, e.g. to describe which device is connected to a specific port. To replace a name, add a pair like MIDI Device Port 1=Synthesizer 1 to this section.

Friendly names are also recognized by the MIDI Input / Output plugin: If the selected ports have friendly names assigned when the module is saved, the next time is opened it will try to find the correct device by its friendly name. So if a MIDI device is connected to a different MIDI port, you can rename the ports and OpenMPT will automatically choose the correct port.

[MIDI Output Ports][edit]

Same as [MIDI Input Ports], but for MIDI output ports.

[Misc][edit]

  • AllowMultipleCommandsPerKey: By default, a key combination can be used by only one command. Setting this to 1 allows you to bind more than one command to a key combination. Beware that this might lead to problems with existing keyboard mappings with overlapping commands!
  • CacheCompleteFileBeforeLoading: If set to 1, OpenMPT caches entire (module, instrument, etc.) files in memory, which may improve file reading performance at the expense of more memory being used.
  • DistinguishModifiers: Enable this option to distinguish between left and right Ctrl / Alt / Shift modifiers, e.g. to create FastTracker 2-like pattern play shortcuts.
  • FlushFileBuffersOnSave: Disabling this option avoids flushing of file buffers after saving modules, samples and other files on disk. This can speed up the write operation but increases the risk of data loss e.g. in case of a power failure.
  • ITCompressionMono: Enables IT-compressed mono samples when saving IT/MPTM files, depending on the value. To enable saving for normal IT files, add 1 to the value, for IT files saved through Compatibility Export, add 2, and for MPTM files add 4. So to enable saving of compressed samples in compatible ITs and MPTMs only, you would use the value 6. Some caveats regarding the usage of compressed samples have been written down on the forum.
  • ITCompressionStereo: Enables IT-compressed stereo samples when saving IT/MPTM files, depending on the value (see above).
  • MRUListLength: Sets the maximum length of the most recently used file list in the file menu. Allowed values are between 0 (no list) and 15 entries.
  • ProcessPriorityClass: Set the Windows process priority class for OpenMPT. Possible values are: "idle", "below", "normal", "above", "high", "realtime". The default is "normal". See further discussion on the forum. Warning: Changing this setting can cause system lockups requiring hard system reset.
  • SaveChannelMuteStatus: If set to 0, OpenMPT will not save the channel mute status in IT, MPTM and S3M files.
  • SmoothFT2Ramping: If set to 1, XM files made with Fasttracker 2 will automatically use very smooth sample ramping settings (like Fasttracker 2 did).
  • UseSingleInstance: Always forces OpenMPT to only use a single program instance, even when the /shared command line switch is not specified.

[Paths][edit]

  • Export_Directory: The default export directory for lossless and lossy audio export. OpenMPT always uses the last used directory for exporting, so changing this setting does not make a lot of sense.
  • UseAppDataDirectory: This is a legacy setting imported from portable OpenMPT installations prior to version 1.29. If mptrack.ini is found next to OpenMPT.exe and this value is to 0, portable mode is assumed and all other configuration files are searched directly in the same directory as OpenMPT’s executable (by default they are placed in %APPDATA%\OpenMPT). When upgrading to a newer OpenMPT version, this setting is automatically converted to the new way of enabling portability. See also: System Setup.

[Pattern Editor][edit]

  • AccessibilityFormat: Defines the description of the pattern editor that can be obtained by screen readers. The string may contain the following variables: %sequence%, %order%, %pattern%, %row%, %channel%, %channel_name%, %column_type%, %column_description%.
  • AlwaysDrawWholePatternOnScrollSlow: If set to 1, OpenMPT will always repaint the whole pattern display instead of re-using parts of the window that have only moved and not changed. This will be measurably slower, however in some situation the display will look broken otherwise (like jittering play cursor, not updating regions of the pattern display properly when switching to and from the window, or generally sluggish/jerky display). The problem is related to certain graphics drivers (known examples are systems with multiple AMD GPUs in Windows 7, Windows XP in VirtualBox, and all Wine systems). By default, this setting is 0. On Wine, this setting has no effect and is treated as always 1, regardless of its actual value.
  • DefaultSequenceMargins: Defines how many order items are shown at least before and after the currently selected order item (0 by default).
  • EditStepAppliesToCommands: When set to 1, the edit step setting is also applied when entering a command into the volume or effect column.
  • FontDot: Overriding this setting allows to specify a custom character to be used for empty cells with user-configured pattern fonts.
  • IgnoreSongTimeSignature: When set to 1, row highlights for beats and measures ignore the song-specific time signature information and instead always use the default values specified in the Display settings.
  • NoEditPopup: Disables the reminder popup when trying to edit patterns while editing is disabled and treats all channel columns like the note column to simplify jamming (keyjazz).
  • OrderListOldDropBehaviour: Restores pre-OpenMPT 1.29 drag & drop behaviour in the order list editor. That is, patterns are always dropped left of the drop position, even if the drop position is right of the source.
  • RowDisplayOffset: Defines the displayed number of the first pattern row; by default, it is 0. This does not affect the Goto dialog or break commands in patterns.

[Sound Settings][edit]

  • AllowDeferredProcessing: If set to 0, deferred processing is never used for ASIO drivers.
  • BoostedThreadPriority: Set the priority (for Windows XP) used for sound devices which have "Boost thread priority" set. Possible values are -15,-2,-1,0,1,2,15 (or the full range -15..15 if [Misc]ProcessPriorityClass is set to "realtime"). Default value is 2. See further discussion on the forum. Warning: Changing this setting can cause system lockups requiring hard system reset.
  • BoostedThreadMMCSSClass: Set the Multimedia Class Scheduler Service (MMCSS) class used for sound devices which have "Boost thread priority" set. Possible values are "Pro Audio", "Games", "Audio" or anything else that may be configured on your systems MMCSS. Default value is "Pro Audio". See further discussion on the forum. Warning: Changing this setting can cause system lockups requiring hard system reset.
  • MaskDriverCrashes: If set to 1, OpenMPT will try ignore crashes in ASIO drivers.
  • MixChannels: Default is 256. The maximum number of sound channels that OpenMPT will use to render. In other words, Polyphony is the allowable number of notes that OpenMPT will process at once. Any computer that has been built in the last ten years should be able to handle the maximum amount of channels for most modules, but while older, low-end computers you will want to decrease the number of channels. Note that reducing the maximum polyphony only reduces the CPU load if those extra channels were actually used — if you play a 10-channel MOD file, it does matter little, if at all, whether the maximum polyphony is set to 16 or 256.
  • ResamplerWFIRCutoff: Configures the bandwidth of the audio signal that is retained by the 8-tap Sinc filter (without low-pass) in percent. The default of 97% offers a good compromise between “freshness” and quality of the resampled sound.
  • SampleRates: A comma-separated list of sample rates that OpenMPT will show in the sound device settings (if supported by the device) and when exporting a WAVE or FLAC file.
  • XMMSModplugResamplerWFIRType: Configures the windowing function of the 8-tap Sinc filter (without low-pass). The windowing functions, from 0 to 7, are: Hann, Hamming, Blackman Exact, Blackman 3-Tap 61, Blackman 3-Tap 67, Blackman-Harris, Blackman 4-Tap 74, Kaiser α=7.5

[Update][edit]

  • SuggestDifferentBuildVariants: By default, if the currently installed OpenMPT version is not optimal for the computer, it will suggest to install a different build variant. This check can be disabled by setting this variable to 0.

[VST Plugins][edit]

  • BridgeAllPlugins: All plugins are forced to be used through the integrated plugin bridge.
  • EnableAutoSuspend: Enables auto-suspend for all plugins newly added to modules after this setting is turned on. If a plugin did not emit any sound during the last four seconds, it is suspended until new notes or sound data are fed into the plugin.
  • EnableMidiMappingInEditor: If set to 0, holding Shift while modifying a plugin parameter does not open the MIDI Mapping dialog.
  • HostProductString: Here you can enter a custom host name that is sent to VST plugins. This can be useful if a plugin claims to only run in certain hosts and refuses to run in others.
  • HostVendorString: Here you can enter the host vendor name for the same reasons as above.
  • HostVendorVersion: Here you can enter the host version as a 32-Bit integer for the same reasons as above.
  • ProjectPath: Some plugins can store extra data alongside the module file. This behaviour can be overridden so that plugins use a different path. This setting can be either a normal absolute path or use the variables %1 (module path) and %2 (module filename) to build a path relative to the module location. So if all external plugin data should be stored in the folder module.mptm-data (assuming module.mptm is the module filename) next to the module, this value should be set to %1%2-data.
    Due to restrictions posed by the VST architecture, this path must not contain characters outside the current Windows ANSI code page.