Library Window Plug-in API

Overview

The Library Window Plug-in API allows developers to extend or replace CLO’s Library Window with a custom data source (e.g., PLM, DAM, or cloud storage) and user interface tab. It enables seamless integration of external content systems directly inside CLO.

Implement CLOAPI::LibraryWindowImplPlugin (derived from LibraryWindowInterface) and export a factory function Create() that returns your implementation instance.

Warning

Plug-ins must be built in Release mode. Debug binaries (.dll / .dylib) will not load in CLO.

Build Requirements

  • Language: C++17 or later

  • Framework: Qt 5.15.x (same version used by CLO)

  • Build type: Release only

  • Export macro: define LIBRARYAPIIMPLEMENTATION_LIB when compiling

Supported binary formats - Windows: .dll - macOS: .dylib

Installation

After building, place your compiled plug-in binary in the following folder and restart CLO to load the plug-in:

  • Windows: C:/Users/Public/Documents/CLO/Plugins

  • macOS: $HOME/Documents/CLO/Plugins

Create the folder if it does not exist.

Development Summary

To create a Library plug-in, you will:

  1. Implement the required interface methods (tab name, item list, icons, etc.).

  2. Connect to your external data source (optional).

  3. Return a JSON list of items for CLO to display in the Library panel.

  4. Export a Create() function returning your implementation.

  5. Build in Release mode and drop the binary into the plug-in folder.

For details on the full API surface and example implementations, refer to the Library Window SDK Sample Project included in the SDK package.