Permalink
Fetching contributors…
Cannot retrieve contributors at this time
52 lines (48 sloc) 2.67 KB

Settings

On Windows, the config files are saved with the executable in an ini file bakamplayer.ini. On Linux, they are saved in the Qt location ~/.config/bakamplayer.ini.

# As of 2.0.3 we use JSON format:
# Below are the keys and comments specify setting details
{
  "autoFit": n,                # autoFit percentage (0 = no autofit)
  "debug": b,                  # debugging enabled (output box)
  "gestures": b,               # enable/disable gesture support
  "hideAllControls": b,        # enable/disable hide all control mode
  "hidePopup": b,              # hide tray icon notifications
  "input": {                   # input macros
    "Ctrl+Q": [                # key-binding
      "baka quit",             # baka command (for command information see Commands section)
      "Quit"                   # label
    ],
    ...
  },
  "lang": "",                  # the language used by the program (auto selects from locale)
  "lastcheck": "",             # last time we checked for updates
  "maxRecent": n,              # the maximum files saved in recent
  "mpv": {                     # mpv specific options
    "screenshot-format": "",   # format of mpv's screenshots
    "speed": f                 # speed of the video playback
    "vf": ""                   # video filters
    "volume": n,               # volume
    "msg-level": s,            # set mpv message level
    ...
  },
  "onTop": "b",                # on top setting (always, never, or playing)
  "recent": [                  # recent file history
    {
      "path": "/file/path",
      "title": "The Title in case of Url!",
      "time": n
    },
    ...
  ],
  "remaining": b,              # display remaining time or duration time label
  "resume": b,                 # enable/disable auto resume from last time feature
  "screenshotDialog": b,       # always show the screenshot dialog when taking screenshots
  "showAll": n,                # should we load files of different extensions
  "splitter": n,               # the normal splitter position (playlist size)
  "trayIcon": b,               # should we display the trayIcon
  "version": "a.b.c"           # the settings version (do not modify)
}

Note that the [mpv] section is using mpv's options. See mpv's manual for a list of valid options.

Json should be relatively self explanitory; it's simple tree format makes it very dynamic compared to the previous .ini format. Largely seen in recent and input parameters, json's syntax allowed us to save more complex objects with less crazy string parsing.