Ingen is a modular audio processing environment. This vocabulary describes an Ingen configuration, and is used in both the control protocol and saved files. Conceptually, Ingen represents a tree of objects, each of which has a path (like /main/in or /main/osc/out) and a set of properties.

Reference

ClassesPropertiesInstances

Classes

Arc

In domain ofhead
incidentTo
tail
In range ofarc
Arc

A connection between two ports. Graphs have a set of arcs which define how its component blocks and ports are connected.

Restriction on tail
owl:allValuesFrom lv2:Portowl:cardinality 1
MUST have exactly one tail which is a lv2:Port.
Restriction on head
owl:allValuesFrom lv2:Portowl:cardinality 1
MUST have exactly one head which is a lv2:Port.

Block

Subclass ofNode
lv2:PluginBase
In domain ofenabled
prototype
In range ofblock
Block

A signal processing block, which is typically either a plugin instance, or a graph. A block MUST have at least one lv2:prototype property which is a subclass of lv2:Plugin. When there are many such properties, an applications SHOULD use the most specific class it understands.

BundleEnd

Bundle End

The end of an undo transaction.

BundleStart

Bundle Start

The start of an undo transaction.

Graph

Subclass ofPlugin
In domain ofarc
block
file
polyphony
sprungLayout
Graph

A collection of Blocks connected together. A Graph can itself be a Block within a parent Graph, and so on.

Internal

Subclass ofPlugin
Internal

An internal 'plugin'

Node

Node

An element of a Graph. A Node always has a valid path and symbol, with the possible exception of the root graph which may not have a symbol depending on context. Ingen uses restricted paths and/or URIs built from valid lv2:symbol components, so the symbol of a Node may be inferred from its URI if no explicit lv2:symbol property is given.

Plugin

Plugin

A class which can be instantiated into a ingen:Block. A plugin has a set of input and output "ports". In practice this class is semantically equivalent to lv2:Plugin, it only exists to allow the ingen ontology to be useful for "plugins" that aren't semantically LV2 plugins. See the LV2 specification for details about the required properties (rdf:type, doap:name, doap:license, and lv2:port).

Undo

Undo

A request to undo the previous change.

Properties

activity

TypeDatatype Property
Domainlv2:Port
activity

Transient activity. This property is used in the protocol to communicate activity at ports, such as MIDI events or audio peaks. It should never be stored in persistent data.

arc

TypeObject Property
DomainGraph
RangeArc
arc

An arc contained in this graph.

block

TypeObject Property
DomainGraph
RangeBlock
block

Signifies a graph contains some block.

broadcast

TypeDatatype Property
Domainlv2:Port
Rangexsd:boolean
broadcast

Whether or not the port's value or activity should be broadcast to clients.

canvasX

TypeDatatype Property
Rangexsd:decimal
canvas X

The X coordinate of an item on a canvas.

canvasY

TypeDatatype Property
Rangexsd:decimal
canvas Y

The Y coordinate of an item on a canvas.

enabled

TypeDatatype Property
DomainBlock
Rangexsd:boolean
enabled

Signifies the block is or should be running.

file

TypeDatatype Property
DomainGraph
Rangexsd:anyURI
file

The file a Graph was loaded from.

incidentTo

TypeObject Property
DomainArc
incident to

A special property used to describe any arc incident to a port or block. This is never saved in graph files, but is used in the control protocol to completely disconnect a Block or Port.

loadedBundle

TypeObject Property
loaded bundle

Whether or not a bundle is loaded into Ingen.

longSwitch

TypeDatatype Property
Domainrdf:Property
Rangexsd:string
long switch

Lowercase, hyphenated switch for long command line argument.

maxRunLoad

TypeDatatype Property
Rangexsd:decimal
maximum run load

The maximum fraction of a cycle spent running DSP.

meanRunLoad

TypeDatatype Property
Rangexsd:decimal
mean run load

The average fraction of a cycle spent running DSP.

minRunLoad

TypeDatatype Property
Rangexsd:decimal
minimum run load

The minimum fraction of a cycle spent running DSP.

numThreads

TypeObject Property
longSwitch threads
shortSwitch p
number of threads

polyphonic

TypeDatatype Property
Rangexsd:boolean
polyphonic

Signifies this node should be replicated when it is part of a polyphonic graph. The amount of polyphony (i.e. the number of voices) is determined by the ingen:polyphony property of the containing graph. This is a boolean property which defines whether the parent can access each voice individually: All nodes within a graph are either polyphonic or not from their parent's perspective. An Node may itself have "internal" polyphony but not be polyphonic according to this property, if those voices are mixed down.

polyphony

TypeDatatype Property
DomainGraph
Rangexsd:integer
polyphony

The amount of polyphony in a Graph. This defines the number of voices present on all :polyphonic children of this graph. Because a Graph is also a Block, a Graph may have both :polyphony and :polyphonic properties. These specify different things: :polyphony specifies the voice count of the Graph's children, and :polyphonic specifies whether the graph is seen as polyphonic to the Graph's parent.

prototype

TypeObject Property
DomainBlock
owl:deprecated true
prototype
Deprecated

The object which this block is an instance of, or derived from.

shortSwitch

TypeDatatype Property
Domainrdf:Property
Rangexsd:string
short switch

Single character switch for short command line argument.

sprungLayout

TypeDatatype Property
DomainGraph
Rangexsd:boolean
sprung layout

Whether or not the graph has a "sprung" force-directed layout.

tail

TypeObject Property
DomainArc
Rangelv2:Port
tail

The source/sending port of this arc

uiEmbedded

TypeDatatype Property
Rangexsd:boolean
UI embedded

Whether or not the block's GUI is embedded.

value

TypeDatatype Property
Domainlv2:Port
value

The current value of a port.

Instances

Typeowl:Ontology
doap:name Ingen
rdfs:seeAlso file:///git_repos/drobillad/new/ingen/bundles/ingen.lv2/ingen.ttl
owl:imports http://lv2plug.in/ns/lv2core
Ingen

Ingen is a modular audio processing environment. This vocabulary describes an Ingen configuration, and is used in both the control protocol and saved files. Conceptually, Ingen represents a tree of objects, each of which has a path (like /main/in or /main/osc/out) and a set of properties.

externalContext

Typerdfs:Resource
external context

The context for externally visible Graph properties, that is, properties which apply to the Graph when viewed as a Block within its parent Graph and should be saved in the parent's description.

GraphPrototype

Typelv2:PluginBase
lv2:binary file:///git_repos/drobillad/new/ingen/bundles/ingen.lv2/libingen_lv2.so

Template for all Ingen graphs. Saved Ingen graphs always set this as their lv2:prototype. When Ingen is installed, a bundle is installed which included the Ingen LV2 binary and a description of ingen:GraphPrototype which links to it. This way, Ingen graphs can be loaded by LV2 hosts without including binaries or symbolic links in saved Ingen bundles.

internalContext

Typerdfs:Resource
internal context

The context for internally visible Graph properties, that is, properties which are only relevant inside the graph and should be saved in the Graph's description.

History