# LV2 Port Groups

http://lv2plug.in/ns/ext/port-groups
Multi-channel groups of LV2 ports.

Version | 1.2
Date | 2018-03-16
Discuss | devel@lists.lv2plug.in (subscribe)
Developers | David Robillard, Lars Luthman

- Index
- Reference
- History
- API

## Index

Classes | Properties | Instances | Files
--- | --- | --- | ---
Element Group AmbisonicGroup AmbisonicBH1P0Group AmbisonicBH1P1Group AmbisonicBH2P0Group AmbisonicBH2P1Group AmbisonicBH2P2Group AmbisonicBH3P0Group AmbisonicBH3P1Group AmbisonicBH3P2Group AmbisonicBH3P3Group DiscreteGroup FivePointOneGroup FivePointZeroGroup FourPointZeroGroup MidSideGroup MonoGroup SevenPointOneGroup SevenPointOneWideGroup SixPointOneGroup StereoGroup ThreePointZeroGroup InputGroup OutputGroup | element group mainInput mainOutput sideChainOf source subGroupOf | center centerLeft centerRight left lowFrequencyEffects rearCenter rearLeft rearRight right side sideLeft sideRight | lv2-port-groups.doap.ttl port-groups.ttl

## Reference

### Class pg:AmbisonicBH1P0Group

Ambisonic B stream of horizontal order 1 and peripheral order 0.

Sub-class of | pg:AmbisonicGroup
pg:element |
lv2:designation | amb:ACN0
lv2:index | 0
pg:element |
lv2:designation | amb:ACN1
lv2:index | 1
pg:element |
lv2:designation | amb:ACN3
lv2:index | 2

### Class pg:AmbisonicBH1P1Group

Ambisonic B stream of horizontal order 1 and peripheral order 1.

Sub-class of | pg:AmbisonicGroup
pg:element |
lv2:designation | amb:ACN0
lv2:index | 0
pg:element |
lv2:designation | amb:ACN1
lv2:index | 1
pg:element |
lv2:designation | amb:ACN2
lv2:index | 2
pg:element |
lv2:designation | amb:ACN3
lv2:index | 3

### Class pg:AmbisonicBH2P0Group

Ambisonic B stream of horizontal order 2 and peripheral order 0.

Sub-class of | pg:AmbisonicGroup
pg:element |
lv2:designation | amb:ACN0
lv2:index | 0
pg:element |
lv2:designation | amb:ACN1
lv2:index | 1
pg:element |
lv2:designation | amb:ACN3
lv2:index | 2
pg:element |
lv2:designation | amb:ACN4
lv2:index | 3
pg:element |
lv2:designation | amb:ACN8
lv2:index | 4

### Class pg:AmbisonicBH2P1Group

Ambisonic B stream of horizontal order 2 and peripheral order 1.

Sub-class of | pg:AmbisonicGroup
pg:element |
lv2:designation | amb:ACN0
lv2:index | 0
pg:element |
lv2:designation | amb:ACN1
lv2:index | 1
pg:element |
lv2:designation | amb:ACN2
lv2:index | 2
pg:element |
lv2:designation | amb:ACN3
lv2:index | 3
pg:element |
lv2:designation | amb:ACN4
lv2:index | 4
pg:element |
lv2:designation | amb:ACN8
lv2:index | 5

### Class pg:AmbisonicBH2P2Group

Ambisonic B stream of horizontal order 2 and peripheral order 2.

Sub-class of | pg:AmbisonicGroup
pg:element |
lv2:designation | amb:ACN0
lv2:index | 0
pg:element |
lv2:designation | amb:ACN1
lv2:index | 1
pg:element |
lv2:designation | amb:ACN2
lv2:index | 2
pg:element |
lv2:designation | amb:ACN3
lv2:index | 3
pg:element |
lv2:designation | amb:ACN4
lv2:index | 4
pg:element |
lv2:designation | amb:ACN5
lv2:index | 5
pg:element |
lv2:designation | amb:ACN6
lv2:index | 6
pg:element |
lv2:designation | amb:ACN7
lv2:index | 7
pg:element |
lv2:designation | amb:ACN8
lv2:index | 8

### Class pg:AmbisonicBH3P0Group

Ambisonic B stream of horizontal order 3 and peripheral order 0.

Sub-class of | pg:AmbisonicGroup
pg:element |
lv2:designation | amb:ACN0
lv2:index | 0
pg:element |
lv2:designation | amb:ACN1
lv2:index | 1
pg:element |
lv2:designation | amb:ACN3
lv2:index | 2
pg:element |
lv2:designation | amb:ACN4
lv2:index | 3
pg:element |
lv2:designation | amb:ACN8
lv2:index | 4
pg:element |
lv2:designation | amb:ACN9
lv2:index | 5
pg:element |
lv2:designation | amb:ACN15
lv2:index | 6

### Class pg:AmbisonicBH3P1Group

Ambisonic B stream of horizontal order 3 and peripheral order 1.

Sub-class of | pg:AmbisonicGroup
pg:element |
lv2:designation | amb:ACN0
lv2:index | 0
pg:element |
lv2:designation | amb:ACN1
lv2:index | 1
pg:element |
lv2:designation | amb:ACN2
lv2:index | 2
pg:element |
lv2:designation | amb:ACN3
lv2:index | 3
pg:element |
lv2:designation | amb:ACN4
lv2:index | 4
pg:element |
lv2:designation | amb:ACN8
lv2:index | 5
pg:element |
lv2:designation | amb:ACN9
lv2:index | 6
pg:element |
lv2:designation | amb:ACN15
lv2:index | 7

### Class pg:AmbisonicBH3P2Group

Ambisonic B stream of horizontal order 3 and peripheral order 2.

Sub-class of | pg:AmbisonicGroup
pg:element |
lv2:designation | amb:ACN0
lv2:index | 0
pg:element |
lv2:designation | amb:ACN1
lv2:index | 1
pg:element |
lv2:designation | amb:ACN2
lv2:index | 2
pg:element |
lv2:designation | amb:ACN3
lv2:index | 3
pg:element |
lv2:designation | amb:ACN4
lv2:index | 4
pg:element |
lv2:designation | amb:ACN5
lv2:index | 5
pg:element |
lv2:designation | amb:ACN6
lv2:index | 6
pg:element |
lv2:designation | amb:ACN7
lv2:index | 7
pg:element |
lv2:designation | amb:ACN8
lv2:index | 8
pg:element |
lv2:designation | amb:ACN9
lv2:index | 9
pg:element |
lv2:designation | amb:ACN15
lv2:index | 10

### Class pg:AmbisonicBH3P3Group

Ambisonic B stream of horizontal order 3 and peripheral order 3.

Sub-class of | pg:AmbisonicGroup
pg:element |
lv2:designation | amb:ACN0
lv2:index | 0
pg:element |
lv2:designation | amb:ACN1
lv2:index | 1
pg:element |
lv2:designation | amb:ACN2
lv2:index | 2
pg:element |
lv2:designation | amb:ACN3
lv2:index | 3
pg:element |
lv2:designation | amb:ACN4
lv2:index | 4
pg:element |
lv2:designation | amb:ACN5
lv2:index | 5
pg:element |
lv2:designation | amb:ACN6
lv2:index | 6
pg:element |
lv2:designation | amb:ACN7
lv2:index | 7
pg:element |
lv2:designation | amb:ACN8
lv2:index | 8
pg:element |
lv2:designation | amb:ACN9
lv2:index | 9
pg:element |
lv2:designation | amb:ACN10
lv2:index | 10
pg:element |
lv2:designation | amb:ACN11
lv2:index | 11
pg:element |
lv2:designation | amb:ACN12
lv2:index | 12
pg:element |
lv2:designation | amb:ACN13
lv2:index | 13
pg:element |
lv2:designation | amb:ACN14
lv2:index | 14
pg:element |
lv2:designation | amb:ACN15
lv2:index | 15

### Class pg:AmbisonicGroup

Ambisonic channel configurations. These groups are divided into channels which together represent a position in an abstract n-dimensional space. The position of sound in one of these groups does not depend on a particular speaker configuration; a decoder can be used to convert an ambisonic stream for any speaker configuration.

Sub-class of | pg:Group

### Class pg:DiscreteGroup

Discrete channel configurations. These groups are divided into channels where each represents a particular speaker location. The position of sound in one of these groups depends on a particular speaker configuration.

Sub-class of | pg:Group

### Class pg:Element

Element

An ordered element of a group.

Restriction on lv2:designation |
owl:cardinality | 1
An element MUST have exactly one lv2:designation.
In range of | pg:element

### Class pg:FivePointOneGroup

5.1 Surround (3-2 stereo)

Sub-class of | pg:DiscreteGroup
pg:element |
lv2:designation | pg:left
lv2:index | 0
pg:element |
lv2:designation | pg:center
lv2:index | 1
pg:element |
lv2:designation | pg:right
lv2:index | 2
pg:element |
lv2:designation | pg:rearLeft
lv2:index | 3
pg:element |
lv2:designation | pg:rearRight
lv2:index | 4
pg:element |
lv2:designation | pg:lowFrequencyEffects
lv2:index | 5

### Class pg:FivePointZeroGroup

5.0 Surround (3-2 stereo)

Sub-class of | pg:DiscreteGroup
pg:element |
lv2:designation | pg:left
lv2:index | 0
pg:element |
lv2:designation | pg:center
lv2:index | 1
pg:element |
lv2:designation | pg:right
lv2:index | 2
pg:element |
lv2:designation | pg:rearLeft
lv2:index | 3
pg:element |
lv2:designation | pg:rearRight
lv2:index | 4

### Class pg:FourPointZeroGroup

4.0 Surround (Quadraphonic)

Sub-class of | pg:DiscreteGroup
pg:element |
lv2:designation | pg:left
lv2:index | 0
pg:element |
lv2:designation | pg:center
lv2:index | 1
pg:element |
lv2:designation | pg:right
lv2:index | 2
pg:element |
lv2:designation | pg:rearCenter
lv2:index | 3

### Class pg:Group

Port Group

A set of ports/channels/controls/etc that are are logically grouped together, e.g. two audio ports in a group may form a stereo stream. In order to avoid the need to define large numbers of identical group definitions, a group definition may be shared. For example, a plugin collection may define a single URI for a pg:StereoGroup with the symbol "input" and use it in many plugins.

Restriction on lv2:symbol |
owl:cardinality | 1
A pg:Group MUST have exactly one string lv2:symbol. This symbol must be unique according to the same rules as the lv2:symbol for an lv2:Port, where group symbols and port symbols reside in the same namespace. In other words, a group on a plugin MUST NOT have the same symbol as another group or a port on that plugin. This makes it possible to uniquely reference a port or group on a plugin with a single identifier and no context.
In domain of | pg:subGroupOf
In range of | pg:group
| pg:subGroupOf

### Class pg:InputGroup

Input Group

A group which contains exclusively inputs.

Sub-class of | pg:Group
In range of | pg:source
| pg:mainInput

### Class pg:MidSideGroup

Mid-Side Stereo

Sub-class of | pg:DiscreteGroup
pg:element |
lv2:designation | pg:center
lv2:index | 0
pg:element |
lv2:designation | pg:side
lv2:index | 1

### Class pg:MonoGroup

Mono

Sub-class of | pg:DiscreteGroup
pg:element |
lv2:designation | pg:center
lv2:index | 0

### Class pg:OutputGroup

Output Group

A group which contains exclusively outputs.

Sub-class of | pg:Group
In domain of | pg:source
In range of | pg:mainOutput

### Class pg:SevenPointOneGroup

7.1 Surround

Sub-class of | pg:DiscreteGroup
pg:element |
lv2:designation | pg:left
lv2:index | 0
pg:element |
lv2:designation | pg:center
lv2:index | 1
pg:element |
lv2:designation | pg:right
lv2:index | 2
pg:element |
lv2:designation | pg:sideLeft
lv2:index | 3
pg:element |
lv2:designation | pg:sideRight
lv2:index | 4
pg:element |
lv2:designation | pg:rearLeft
lv2:index | 5
pg:element |
lv2:designation | pg:rearRight
lv2:index | 6
pg:element |
lv2:designation | pg:lowFrequencyEffects
lv2:index | 7

### Class pg:SevenPointOneWideGroup

7.1 Surround (Wide)

Sub-class of | pg:DiscreteGroup
pg:element |
lv2:designation | pg:left
lv2:index | 0
pg:element |
lv2:designation | pg:centerLeft
lv2:index | 1
pg:element |
lv2:designation | pg:center
lv2:index | 2
pg:element |
lv2:designation | pg:centerRight
lv2:index | 3
pg:element |
lv2:designation | pg:right
lv2:index | 4
pg:element |
lv2:designation | pg:rearLeft
lv2:index | 5
pg:element |
lv2:designation | pg:rearRight
lv2:index | 6
pg:element |
lv2:designation | pg:lowFrequencyEffects
lv2:index | 7

### Class pg:SixPointOneGroup

6.1 Surround

Sub-class of | pg:DiscreteGroup
pg:element |
lv2:designation | pg:left
lv2:index | 0
pg:element |
lv2:designation | pg:center
lv2:index | 1
pg:element |
lv2:designation | pg:right
lv2:index | 2
pg:element |
lv2:designation | pg:sideLeft
lv2:index | 3
pg:element |
lv2:designation | pg:sideRight
lv2:index | 4
pg:element |
lv2:designation | pg:rearCenter
lv2:index | 5
pg:element |
lv2:designation | pg:lowFrequencyEffects
lv2:index | 6

### Class pg:StereoGroup

Stereo

Sub-class of | pg:DiscreteGroup
pg:element |
lv2:designation | pg:left
lv2:index | 0
pg:element |
lv2:designation | pg:right
lv2:index | 1

### Class pg:ThreePointZeroGroup

3.0 Surround

Sub-class of | pg:DiscreteGroup
pg:element |
lv2:designation | pg:left
lv2:index | 0
pg:element |
lv2:designation | pg:right
lv2:index | 1
pg:element |
lv2:designation | pg:rearCenter
lv2:index | 2

### Property pg:element

element

Indicates that a group has a certain element (a parameter or channel designation with a possible index).

OWL Type | Object Property
Range | pg:Element

### Property pg:group

group

Indicates that this port is a part of a group of ports on the plugin. The port should also have an lv2:designation property to define its designation within that group.

OWL Type | Object Property
Domain | lv2:Port
Range | pg:Group

### Property pg:mainInput

main input

Indicates that this group should be considered the "main" input, i.e. the primary task is processing the signal in this group. A plugin MUST NOT have more than one pg:mainInput property.

OWL Type | Object Property
Domain | lv2:Plugin
Range | pg:InputGroup

### Property pg:mainOutput

main output

Indicates that this group should be considered the "main" output. The main output group SHOULD have the main input group as a pg:source.

OWL Type | Object Property
Domain | lv2:Plugin
Range | pg:OutputGroup

### Property pg:sideChainOf

side-chain of

Indicates that this port or group should be considered a "side chain" of some other port or group. The precise definition of "side chain" depends on the plugin, but in general this group should be considered a modifier to some other group, rather than an independent input itself.

OWL Type | Object Property

### Property pg:source

source

Indicates that this port or group should be considered the "result" of some other port or group. This property only makes sense on groups with outputs when the source is a group with inputs. This can be used to convey a relationship between corresponding input and output groups with different types, e.g. a mono->stereo plugin.

OWL Type | Object Property
Domain | pg:OutputGroup
Range | pg:InputGroup

### Property pg:subGroupOf

sub-group of

Indicates that this group is a child of another group. This property has no meaning with respect to plugin execution, but the host may find this information useful (e.g. to provide a compact user interface). Note that being a sub-group does not relax the restriction that the group MUST have a unique symbol with respect to the plugin.

OWL Type | Object Property
Domain | pg:Group
Range | pg:Group

### Instance pg:center

center

Type | lv2:Channel

### Instance pg:centerLeft

center left

Type | lv2:Channel

### Instance pg:centerRight

center right

Type | lv2:Channel

### Instance pg:left

left

Type | lv2:Channel

### Instance pg:lowFrequencyEffects

low-frequency effects

Type | lv2:Channel

### Instance pg:rearCenter

rear center

Type | lv2:Channel

### Instance pg:rearLeft

rear left

Type | lv2:Channel

### Instance pg:rearRight

rear right

Type | lv2:Channel

### Instance pg:right

right

Type | lv2:Channel

### Instance pg:side

side

Type | lv2:Channel

### Instance pg:sideLeft

side left

Type | lv2:Channel

### Instance pg:sideRight

side right

Type | lv2:Channel

## History

Version 1.2 (2012-10-14)
  - Use consistent label style.
Version 1.0 (2012-04-17)
  - Initial release.