# The full description of the plugin is in this file, which is linked to from
# `manifest.ttl`.  This is done so the host only needs to scan the relatively
# small `manifest.ttl` files to quickly discover all plugins.

@prefix doap:  <http://usefulinc.com/ns/doap#> .
@prefix lv2:   <http://lv2plug.in/ns/lv2core#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix units: <http://lv2plug.in/ns/extensions/units#> .

# First the type of the plugin is described.  All plugins must explicitly list
# `lv2:Plugin` as a type.  A more specific type should also be given, where
# applicable, so hosts can present a nicer UI for loading plugins.  Note that
# this URI is the identifier of the plugin, so if it does not match the one in
# `manifest.ttl`, the host will not discover the plugin data at all.
<http://lv2plug.in/plugins/eg-amp>
	a lv2:Plugin ,
		lv2:AmplifierPlugin ;
# Plugins are associated with a project, where common information like
# developers, home page, and so on are described.  This plugin is part of the
# LV2 project, which has URI <http://lv2plug.in/ns/lv2>, and is described
# elsewhere.  Typical plugin collections will describe the project in
# manifest.ttl
	lv2:project <http://lv2plug.in/ns/lv2> ;
# Every plugin must have a name, described with the doap:name property.
# Translations to various languages can be added by putting a language tag
# after strings as shown.
	doap:name "Simple Amplifier" ,
		"简单放大器"@zh ,
		"Einfacher Verstärker"@de ,
		"Simple Amplifier"@en-gb ,
		"Amplificador Simple"@es ,
		"Amplificateur de Base"@fr ,
		"Amplificatore Semplice"@it ,
		"簡単なアンプ"@jp ,
		"Просто Усилитель"@ru ;
	doap:license <http://opensource.org/licenses/isc> ;
	lv2:optionalFeature lv2:hardRTCapable ;
	lv2:port [
# Every port must have at least two types, one that specifies direction
# (lv2:InputPort or lv2:OutputPort), and another to describe the data type.
# This port is a lv2:ControlPort, which means it contains a single float.
		a lv2:InputPort ,
			lv2:ControlPort ;
		lv2:index 0 ;
		lv2:symbol "gain" ;
		lv2:name "Gain" ,
			"收益"@zh ,
			"Verstärkung"@de ,
			"Gain"@en-gb ,
			"Aumento"@es ,
			"Gain"@fr ,
			"Guadagno"@it ,
			"利益"@jp ,
			"Увеличение"@ru ;
# An lv2:ControlPort should always describe its default value, and usually a
# minimum and maximum value.  Defining a range is not strictly required, but
# should be done wherever possible to aid host support, particularly for UIs.
		lv2:default 0.0 ;
		lv2:minimum -90.0 ;
		lv2:maximum 24.0 ;
# Ports can describe units and control detents to allow better UI generation
# and host automation.
		units:unit units:db ;
		lv2:scalePoint [
			rdfs:label "+5" ;
			rdf:value 5.0
		] , [
			rdfs:label "0" ;
			rdf:value 0.0
		] , [
			rdfs:label "-5" ;
			rdf:value -5.0
		] , [
			rdfs:label "-10" ;
			rdf:value -10.0
		]
	] , [
		a lv2:AudioPort ,
			lv2:InputPort ;
		lv2:index 1 ;
		lv2:symbol "in" ;
		lv2:name "In"
	] , [
		a lv2:AudioPort ,
			lv2:OutputPort ;
		lv2:index 2 ;
		lv2:symbol "out" ;
		lv2:name "Out"
	] .
