Skip to content

Hook Specifications

VSView uses pluggy for its plugin system. Register your implementations using the markers defined here.


UI Hooks

Processing Hooks

Hook


UI Hooks

Functions

vsview_register_tooldock

vsview_register_tooldock() -> type[WidgetPluginBase[Any, Any]]

Register a tool dock widget.

Returns:

Type Description
type[WidgetPluginBase[Any, Any]]

A WidgetPluginBase subclass defining a QDockWidget-based tool.

Source code in src/vsview/app/plugins/specs.py
@hookspec
def vsview_register_tooldock() -> type[WidgetPluginBase[Any, Any]]:
    """
    Register a tool dock widget.

    Returns:
        A WidgetPluginBase subclass defining a QDockWidget-based tool.
    """
    raise NotImplementedError

vsview_register_toolpanel

vsview_register_toolpanel() -> type[WidgetPluginBase[Any, Any]]

Register a tool panel widget.

Returns:

Type Description
type[WidgetPluginBase[Any, Any]]

A WidgetPluginBase subclass defining a panel-based tool.

Source code in src/vsview/app/plugins/specs.py
@hookspec
def vsview_register_toolpanel() -> type[WidgetPluginBase[Any, Any]]:
    """
    Register a tool panel widget.

    Returns:
        A WidgetPluginBase subclass defining a panel-based tool.
    """
    raise NotImplementedError

Processing Hooks

Functions

vsview_get_video_processor

vsview_get_video_processor() -> type[NodeProcessor[VideoNode]]

Retrieve a processor for the video streams.

Returns:

Type Description
type[NodeProcessor[VideoNode]]

A NodeProcessor[VideoNode] subclass.

type[NodeProcessor[VideoNode]]

The first registered plugin to return an object takes precedence.

Source code in src/vsview/app/plugins/specs.py
@hookspec(firstresult=True)
def vsview_get_video_processor() -> type[NodeProcessor[VideoNode]]:
    """
    Retrieve a processor for the video streams.

    Returns:
        A NodeProcessor[VideoNode] subclass.
        The first registered plugin to return an object takes precedence.
    """
    raise NotImplementedError

vsview_get_audio_processor

vsview_get_audio_processor() -> type[NodeProcessor[AudioNode]]

Retrieve a processor for the audio streams.

This hook allows for real-time processing of the raw audio stream before it reaches the output device.

Note

The input is the untouched audio node from the source. If downmixing to stereo is required, it is performed automatically on the node returned by this hook.

Returns:

Type Description
type[NodeProcessor[AudioNode]]

A NodeProcessor[AudioNode] subclass.

type[NodeProcessor[AudioNode]]

The first registered plugin to return an object takes precedence.

Source code in src/vsview/app/plugins/specs.py
@hookspec(firstresult=True)
def vsview_get_audio_processor() -> type[NodeProcessor[AudioNode]]:
    """
    Retrieve a processor for the audio streams.

    This hook allows for real-time processing of the raw audio stream before it reaches the output device.

    Note:
        The input is the untouched audio node from the source.
        If downmixing to stereo is required, it is performed automatically on the node returned by this hook.

    Returns:
        A NodeProcessor[AudioNode] subclass.
        The first registered plugin to return an object takes precedence.
    """
    raise NotImplementedError

Hook

Attributes

hookimpl

hookimpl = HookimplMarker('vsview')

Marker to be used for hook implementations.