Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


A plugin to submit listens from VLC to Listenbrainz.

VLC supports two ways to distribute plugins: in tree and out of tree. In tree plugins come bundled with the VLC installation. Out of tree plugins have to manually installed after VLC has been installed. As of now, this plugin is not included with the official VLC distributions. Once this plugin has been tested thoroughly, it will be submitted to the official VLC repo. Till then, you can continue to test and try out the plugin by compiling VLC yourself.

Compiling out of tree

  1. Follow these instructions to install the VLC development files.
  2. Clone this git repository.
  3. cd into the repository. Run sudo make install.

The plugin shared library file will be generated and copied to the VLC plugins folder.


There are two ways to compile the plugin for windows:

  • cross-compiling for Windows on a linux machine. The steps are similar to cross compiling VLC. For details, see this.
  • using Cygwin, MSYS2, MINGW or any other toolchain on windows. The steps should be more or less the same irrespective of the toolchain.

Here are the instructions to build using MSYS2 on Windows:

  1. Install the mingw64 toolchain and other required packages.
    pacman -S base-devel mingw-w64-x86_64-toolchain pkg-config make
  2. Obtain the libVLC SDK by downloading .7z or .zip VLC archive. Extract the archive. Open MINGW shell from MSYS directory. cd into the extracted vlc archive. Then, execute
    cd sdk
    sed -i "s|^prefix=.*|prefix=${PWD}|g" lib/pkgconfig/*.pc
    export PKG_CONFIG_PATH="${PWD}/lib/pkgconfig:$PKG_CONFIG_PATH"
  3. Clone this git repository.
  4. cd into the repository. Run make. The liblistenbrainz_plugin.dll file will be generated.
  1. Install development toolchain. Launch the Terminal and type the following command:
    brew install make gcc pkg-config
  2. VLC for macOS contains all libVLC SDK files except some header and pkg-config files. The missing files from libVLC SDK for Windows.
    curl -OL
    brew install p7zip
    7za x vlc-3.0.8-win64.7z -owin-sdk sdk\* -r
    mkdir macos-sdk && cd macos-sdk
    cp -r /Applications/{include,lib} .
    cp -r ../win-sdk/vlc-3.0.8/sdk/include/vlc/plugins ./include/vlc/
    cp -r ../win-sdk/vlc-3.0.8/sdk/lib/pkgconfig ./lib/
    sed -i "" "s|^prefix=.*|prefix=${PWD}|g" lib/pkgconfig/*.pc
    export PKG_CONFIG_PATH="${PWD}/lib/pkgconfig"
  3. Clone this git repository.
  4. cd into the repository. Run make. The liblistenbrainz_plugin.dylib file will be generated.

Compiling in tree

Here are the instructions to build the plugin as an in tree plugin:

  1. Clone the VLC git repo.
  2. Copy the vlc-3.0\listenbrainz.c file from this repository to <your local vlc repo path>\modules\misc directory.
  3. Add the following lines to in <your local vlc repo path>\modules\misc.
    liblistenbrainz_plugin_la_SOURCES = misc/listenbrainz.c
    liblistenbrainz_plugin_la_LIBADD = $(SOCKET_LIBS)
    misc_LTLIBRARIES +=
  4. Build VLC.

Using the plugin

To use the plugin, you can either compile it manually by following the steps above or you can download your OS specific plugin file.


Windows: liblistenbrainz_plugin.dll

macOS: liblistenbrainz_plugin.dylib

    • Linux: If you compiled the plugin yourself, you can skip this step. Copy the file to \misc. To find the plugin directory, execute pkg-config --variable=pluginsdir vlc-plugin in the terminal.

    • macOS: Go to Finder->Applications and right click on VLC.

      • Click on Show Package Contents and browse the Contents\MacOS\plugins folder (/Applications/
      • Copy the liblistenbrainz_plugin.dylib to plugins folder
    • Windows: Copy the liblistenbrainz_plugin.dll to \plugins\misc.

  1. Run VLC.
    • Go to Preferences, press Show All button in the left right corner.
    • In the Preferences->Interfaces->Control Interfaces section, enable the listenbrainz plugin. (If the plugin does not show up in the list, you might need to clear the plugins cache or reset your preferences)
  2. Enter your ListenBrainz User Token in the required field. This token can be found in the Profile section of your profile.

You are all set to submit listens from VLC to ListenBrainz.