Skip to content

Config API

English API reference for the config family.

This page is the primary owner for the namespaces listed below. Method names, parameter keys, and return fields follow the C++ RegisterApi handlers.

config

config.export

Public API method. Runtime authority: src/api/ConfigApi.cpp:923.

No parameters.

Returns: {"count":0,"data":"...","json":"...","success":true}

js
const result = await fb2k.invoke('config.export');

config.get

Public API method. Runtime authority: src/api/ConfigApi.cpp:920.

ParameterTypeRequiredDescription
defaultjsonNoOptional; default omitted.
keystringNoOptional; default .

Returns: {"error":"...","found":"...","key":"...","success":true,"value":"..."}

js
const result = await fb2k.invoke('config.get', { default: /* value */, key: /* value */ });

config.getActiveDspPreset

Public API method. Runtime authority: src/api/ConfigApi.cpp:950.

No parameters.

Returns: {"index":0,"isActive":true,"name":"..."}

js
const result = await fb2k.invoke('config.getActiveDspPreset');

config.getAdvancedConfig

Public API method. Runtime authority: src/api/ConfigApi.cpp:932.

ParameterTypeRequiredDescription
parentGuidstringNoOptional; default .

Returns: JSON object from the runtime handler.

js
const result = await fb2k.invoke('config.getAdvancedConfig', { parentGuid: /* value */ });

config.getAdvancedConfigValue

Public API method. Runtime authority: src/api/ConfigApi.cpp:933.

ParameterTypeRequiredDescription
guidstringNoOptional; default .

Returns: {"guid":"...","name":"...","type":"...","value":"..."}

js
const result = await fb2k.invoke('config.getAdvancedConfigValue', { guid: /* value */ });

config.getAll

Public API method. Runtime authority: src/api/ConfigApi.cpp:922.

No parameters.

Returns: {"configs":"...","count":"...","items":"...","success":true}

js
const result = await fb2k.invoke('config.getAll');

config.getComponents

Public API method. Runtime authority: src/api/ConfigApi.cpp:940.

No parameters.

Returns: JSON object from the runtime handler.

js
const result = await fb2k.invoke('config.getComponents');

config.getCursorFollowPlayback

Public API method. Runtime authority: src/api/ConfigApi.cpp:954.

No parameters.

Returns: {"enabled":"...","value":"..."}

js
const result = await fb2k.invoke('config.getCursorFollowPlayback');

config.getDspPresets

Public API method. Runtime authority: src/api/ConfigApi.cpp:949.

No parameters.

Returns: JSON object from the runtime handler.

js
const result = await fb2k.invoke('config.getDspPresets');

config.getLibraryFilePatterns

Public API method. Runtime authority: src/api/ConfigApi.cpp:945.

No parameters.

Returns: {"images":[],"tracks":[]}

js
const result = await fb2k.invoke('config.getLibraryFilePatterns');

config.getLibraryStatus

Public API method. Runtime authority: src/api/ConfigApi.cpp:944.

No parameters.

Returns: {"enabled":true,"initialized":"...","itemCount":"..."}

js
const result = await fb2k.invoke('config.getLibraryStatus');

config.getOutputConfig

Public API method. Runtime authority: src/api/ConfigApi.cpp:927.

No parameters.

Returns: {"bitDepth":"...","bufferLength":"...","deviceId":"...","deviceName":"...","outputId":"...","outputName":"...","useDither":"...","useFades":"..."}

js
const result = await fb2k.invoke('config.getOutputConfig');

config.getOutputDevices

Public API method. Runtime authority: src/api/ConfigApi.cpp:926.

No parameters.

Returns: JSON object from the runtime handler.

js
const result = await fb2k.invoke('config.getOutputDevices');

config.getPlaybackFollowCursor

Public API method. Runtime authority: src/api/ConfigApi.cpp:956.

No parameters.

Returns: {"enabled":"...","value":"..."}

js
const result = await fb2k.invoke('config.getPlaybackFollowCursor');

config.getPreferencesPages

Public API method. Runtime authority: src/api/ConfigApi.cpp:938.

No parameters.

Returns: JSON object from the runtime handler.

js
const result = await fb2k.invoke('config.getPreferencesPages');

config.getPreferencesStandardGuids

Public API method. Runtime authority: src/api/ConfigApi.cpp:939.

No parameters.

Returns: {"advanced":"...","components":"...","core":"...","display":"...","dsp":"...","hidden":"...","input":"...","keyboardShortcuts":"...","mediaLibrary":"...","output":"...","playback":"...","root":"...","shell":"...","tagWriting":"...","tagging":"...","tools":"...","visualisations":"..."}

js
const result = await fb2k.invoke('config.getPreferencesStandardGuids');

config.getReplaygainMode

Public API method. Runtime authority: src/api/ConfigApi.cpp:960.

No parameters.

Returns: {"mode":"...","value":"..."}

js
const result = await fb2k.invoke('config.getReplaygainMode');

config.getVersionInfo

Public API method. Runtime authority: src/api/ConfigApi.cpp:941.

No parameters.

Returns: {"foobar2000":"...","is64bit":true,"isPortable":true,"plugin":"...","profilePath":"...","version":"...","versionFull":"..."}

js
const result = await fb2k.invoke('config.getVersionInfo');

config.remove

Public API method. Runtime authority: src/api/ConfigApi.cpp:921.

ParameterTypeRequiredDescription
keystringNoOptional; default .

Returns: {"error":"...","existed":"...","key":"...","success":true}

js
const result = await fb2k.invoke('config.remove', { key: /* value */ });

config.resetAdvancedConfig

Public API method. Runtime authority: src/api/ConfigApi.cpp:935.

ParameterTypeRequiredDescription
guidstringNoOptional; default .

Returns: {"success":true}

js
const result = await fb2k.invoke('config.resetAdvancedConfig', { guid: /* value */ });

config.set

Public API method. Runtime authority: src/api/ConfigApi.cpp:919.

ParameterTypeRequiredDescription
keystringNoOptional; default .
valuejsonYesRequired.

Returns: {"error":"...","key":"...","success":true}

js
const result = await fb2k.invoke('config.set', { key: /* value */, value: /* value */ });

config.setActiveDspPreset

Public API method. Runtime authority: src/api/ConfigApi.cpp:951.

ParameterTypeRequiredDescription
indexintegerYesRequired.

Returns: {"success":true}

js
const result = await fb2k.invoke('config.setActiveDspPreset', { index: /* value */ });

config.setAdvancedConfigValue

Public API method. Runtime authority: src/api/ConfigApi.cpp:934.

ParameterTypeRequiredDescription
guidstringNoOptional; default .
valuebooleanYesRequired.

Returns: {"success":true}

js
const result = await fb2k.invoke('config.setAdvancedConfigValue', { guid: /* value */, value: /* value */ });

config.setCursorFollowPlayback

Public API method. Runtime authority: src/api/ConfigApi.cpp:955.

ParameterTypeRequiredDescription
enabledbooleanNoOptional; default false.
valuebooleanNoOptional; default false.

Returns: {"enabled":"...","success":true}

js
const result = await fb2k.invoke('config.setCursorFollowPlayback', { enabled: /* value */, value: /* value */ });

config.setOutputBuffer

Public API method. Runtime authority: src/api/ConfigApi.cpp:929.

ParameterTypeRequiredDescription
bufferLengthnumberNoOptional; default 0.
millisecondsnumberNoOptional; default 0.

Returns: {"success":true}

js
const result = await fb2k.invoke('config.setOutputBuffer', { bufferLength: /* value */, milliseconds: /* value */ });

config.setOutputDevice

Public API method. Runtime authority: src/api/ConfigApi.cpp:928.

ParameterTypeRequiredDescription
deviceIdstringNoOptional; default .
outputIdstringNoOptional; default .

Returns: {"success":true}

js
const result = await fb2k.invoke('config.setOutputDevice', { deviceId: /* value */, outputId: /* value */ });

config.setPlaybackFollowCursor

Public API method. Runtime authority: src/api/ConfigApi.cpp:957.

ParameterTypeRequiredDescription
enabledbooleanNoOptional; default false.
valuebooleanNoOptional; default false.

Returns: {"enabled":"...","success":true}

js
const result = await fb2k.invoke('config.setPlaybackFollowCursor', { enabled: /* value */, value: /* value */ });

config.setReplaygainMode

Public API method. Runtime authority: src/api/ConfigApi.cpp:961.

ParameterTypeRequiredDescription
modeintegerNoOptional; default -1.
sourceModestringNoOptional; default omitted.
valueintegerNoOptional; default -1.

Returns: {"code":"...","error":"...","mode":"...","success":true,"value":"..."}

js
const result = await fb2k.invoke('config.setReplaygainMode', { mode: /* value */, sourceMode: /* value */, value: /* value */ });

config.showLibraryPreferences

Public API method. Runtime authority: src/api/ConfigApi.cpp:946.

No parameters.

Returns: {"success":true}

js
const result = await fb2k.invoke('config.showLibraryPreferences');

Contract supplements

The sections below close public-contract findings from the strict parameter audit without replacing existing explanations.

Contract supplement: config.set

Verified contract supplement. Runtime authority: src/api/ConfigApi.cpp:821-840.

ParameterTypeRequiredDefaultDescription
keystringNo``Optional; default .
valuejsonYesnoneRequired.

Return fields

FieldTypeOptional
errorstringYes
successbooleanNo
keyjsonNo

Semantics: omitted optional parameters use handler defaults; failure branches and error fields are defined by this source file.

js
const result = await fb2k.invoke('config.set', { key: /* value */, value: /* value */ });

Contract supplement: config.setAdvancedConfigValue

Verified contract supplement. Runtime authority: src/api/ConfigApi.cpp:321-387.

ParameterTypeRequiredDefaultDescription
guidstringNo``Optional; default .
valuebooleanYesnoneRequired.

Return fields

FieldTypeOptional

Semantics: omitted optional parameters use handler defaults; failure branches and error fields are defined by this source file.

js
const result = await fb2k.invoke('config.setAdvancedConfigValue', { guid: /* value */, value: /* value */ });

Contract supplement: config.setCursorFollowPlayback

Verified contract supplement. Runtime authority: src/api/ConfigApi.cpp:689-697.

ParameterTypeRequiredDefaultDescription
enabledbooleanNofalseOptional; default false.
valuebooleanNofalseOptional; default false.

Return fields

FieldTypeOptional
enabledjsonNo
successbooleanNo

Semantics: omitted optional parameters use handler defaults; failure branches and error fields are defined by this source file.

js
const result = await fb2k.invoke('config.setCursorFollowPlayback', { enabled: /* value */, value: /* value */ });

Contract supplement: config.setOutputBuffer

Verified contract supplement. Runtime authority: src/api/ConfigApi.cpp:138-164.

ParameterTypeRequiredDefaultDescription
bufferLengthnumberNo0Optional; default 0.
millisecondsnumberNo0Optional; default 0.

Return fields

FieldTypeOptional

Semantics: omitted optional parameters use handler defaults; failure branches and error fields are defined by this source file.

js
const result = await fb2k.invoke('config.setOutputBuffer', { bufferLength: /* value */, milliseconds: /* value */ });

Contract supplement: config.setPlaybackFollowCursor

Verified contract supplement. Runtime authority: src/api/ConfigApi.cpp:702-710.

ParameterTypeRequiredDefaultDescription
enabledbooleanNofalseOptional; default false.
valuebooleanNofalseOptional; default false.

Return fields

FieldTypeOptional
enabledjsonNo
successbooleanNo

Semantics: omitted optional parameters use handler defaults; failure branches and error fields are defined by this source file.

js
const result = await fb2k.invoke('config.setPlaybackFollowCursor', { enabled: /* value */, value: /* value */ });

Contract supplement: config.setReplaygainMode

Verified contract supplement. Runtime authority: src/api/ConfigApi.cpp:720-744.

ParameterTypeRequiredDefaultDescription
modeintegerNo-1Optional; default -1.
sourceModestringNoomittedOptional; default omitted.
valueintegerNo-1Optional; default -1.

Return fields

FieldTypeOptional
codestringYes
errorstringYes
modejsonNo
successbooleanNo
valuejsonNo

Semantics: omitted optional parameters use handler defaults; failure branches and error fields are defined by this source file.

js
const result = await fb2k.invoke('config.setReplaygainMode', { mode: /* value */, sourceMode: /* value */, value: /* value */ });

Storage and preference semantics

config.set, config.get, config.remove, config.getAll, and config.export operate on the component's persistent configuration object. config.get requires key; when the key is absent it returns found: false and uses the optional default value when supplied. config.set requires both key and value; the value can be any JSON value.

Output and advanced-preference methods use foobar2000 services. In particular, config.setOutputDevice requires valid outputId and deviceId GUIDs, while config.setOutputBuffer accepts either seconds in bufferLength or milliseconds in milliseconds. Advanced entries require a valid guid; their accepted value type depends on the entry type rather than a single universal schema.

The cursor-follow and ReplayGain setters accept their documented compatibility forms. For ReplayGain, mode and value are numeric forms, while sourceMode accepts track, album, auto, byPlaybackOrder, or none. The handler returns INVALID_PARAMS for an unknown string source mode.