schema_version: 0.2
type: filter
identifier: panner
title: Audio Pan
version: 2
copyright: Meltytech, LLC
creator: Dan Dennedy
license: LGPLv2.1
language: en
tags:
  - Audio
description: Pan an audio channel, adjust balance, or adjust fade.
notes: Only handles up to 6 channels. Needs more work balance for surround and other channel layouts.
parameters:
  - identifier: start
    title: Start
    description: >
      The position of the audio relative to its neighbor channel. For example,
      when channel is set to 0 for left, then start 0 is full left, 0.5 is
      center, and 1.0 is full right.
       
      If value for property "split" is set value of this property is discarded.
    type: float
    argument: true
    mutable: yes
    minimum: 0
    maximum: 1

  - identifier: end
    title: End
    description: >
      The ending value of the audio position. It will be interpolated from
      start to end over the in-out range.
       
      If value for property "split" is set value of this property is discarded.
    type: float
    mutable: yes
    minimum: 0
    maximum: 1

  - identifier: channel
    title: Channel
    type: integer
    description: >
      For stereo: 0 for front left, 1 for front right, -1 for front balance.
      For quad: 2 for back left, 3 for back right, -2 for rear balance,
      -3 for left fade, -4 for right fade.
    minimum: -4
    maximum: 5
    default: -1

  - identifier: gang
    title: Gang
    description: >
      Whether to gang together the front and back when using balance or to
      gang together the left and right when using fade.
    type: integer
    minimum: 0
    maximum: 1
    default: 0
    widget: checkbox

  - identifier: split
    title: Split
    description: >
      The animated position of the audio relative to its neighbor channel. For example,
      when channel is set to 0 for left, then start 0 is full left, 0.5 is
      center, and 1.0 is full right.
       
      If this value is set, values for properties "start" and "end" are discarded.
    type: float
    mutable: yes
    minimum: 0
    maximum: 1
