Skip to content

API Reference

This section documents the C# scripting API for Fast Video Cataloger.

Quick Start

Scripts are executed from the Script Console window in Fast Video Cataloger. Each script receives an IScripting object that provides access to all other interfaces.

using VideoCataloger;
using VideoCataloger.RemoteCatalogService;

class Script
{
    public static void Run(IScripting scripting, string arguments)
    {
        // Get interfaces
        IConsole console = scripting.GetConsole();
        ISelection selection = scripting.GetSelection();
        IVideoCatalogService catalog = scripting.GetVideoCatalogService();

        // Get selected videos
        List<long> selected = selection.GetSelectedVideos();
        console.WriteLine($"Selected {selected.Count} videos");

        // Search all videos
        VideoFileEntry[] videos = catalog.SearchVideos(new VideoQuery());
        console.WriteLine($"Catalog contains {videos.Length} videos");
    }
}

Scripting Interfaces

These interfaces are provided by the main application (VideoCataloger.exe):

Interface Description
IScripting Root interface - provides access to all other interfaces
ISelection Get and set current selection (videos, thumbnails, actors, bins)
IConsole Console output and script execution
IGUI User interface control, refresh, progress
IUtilities Path conversion and masking utilities
IVideoPlayer Video playback control
IVideoIndexer Video indexing and frame capture
IVideoIndexerCallbacks Callbacks for indexing events
IActionPipe External process communication

Catalog Service

The catalog service provides all database operations:

Interface Description
IVideoCatalogService Main catalog interface - videos, tags, actors, thumbnails

Data Types

These classes are used for passing data to and from the catalog service:

Type Description
VideoFileEntry Video file data (path, title, description, rating, etc.)
VideoQuery Search query parameters for videos
SceneQuery Search query parameters for thumbnails/scenes
ThumbnailEntry Thumbnail data (image, time, tags)
Tag Keyword tag
TagGroup Tag grouping
Actor Actor/cast member
Bin Video bin/collection
VideoPlaylist Video playlist
Archive Archive information
ExtendedProperty Custom extended property