Commit 1b961acf authored by jhammen's avatar jhammen
Browse files

add 16-channel version

parent 146d6227
......@@ -19,5 +19,6 @@ install(
"manifest.ttl"
"handrumr.ttl"
"handrumr2.ttl"
"handrumr16.ttl"
DESTINATION
/usr/local/lib/lv2/${PROJECT_NAME}.lv2)
\ No newline at end of file
......@@ -35,6 +35,8 @@ instantiate(const LV2_Descriptor* descriptor, double rate, const char *path,
uint16_t channels = 1;
if(!strcmp(descriptor->URI, HANDRUMR2_URI)) {
channels = 2;
} else if(!strcmp(descriptor->URI, HANDRUMR16_URI)) {
channels = 16;
}
return (LV2_Handle)new Plugin(features, channels);
}
......@@ -122,6 +124,17 @@ static const LV2_Descriptor descriptor2 = {
extension_data
};
static const LV2_Descriptor descriptor16 = {
HANDRUMR16_URI,
instantiate,
connect_port,
activate,
run,
deactivate,
cleanup,
extension_data
};
LV2_SYMBOL_EXPORT const LV2_Descriptor* lv2_descriptor(uint32_t index)
{
switch (index) {
......@@ -129,7 +142,9 @@ LV2_SYMBOL_EXPORT const LV2_Descriptor* lv2_descriptor(uint32_t index)
return &descriptor;
case 1:
return &descriptor2;
default:
case 2:
return &descriptor16;
default:
return NULL;
}
}
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix doap: <http://usefulinc.com/ns/doap#> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix patch: <http://lv2plug.in/ns/ext/patch#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix state: <http://lv2plug.in/ns/ext/state#> .
@prefix ui: <http://lv2plug.in/ns/extensions/ui#> .
@prefix urid: <http://lv2plug.in/ns/ext/urid#> .
@prefix work: <http://lv2plug.in/ns/ext/worker#> .
@prefix param: <http://lv2plug.in/ns/ext/parameters#> .
<http://j2page.org/lv2/handrumr16>
a lv2:Plugin ;
doap:name "handrumr16.lv2" ;
doap:license <https://opensource.org/licenses/GPL-3.0> ;
lv2:requiredFeature urid:map ;
lv2:optionalFeature lv2:hardRTCapable ;
lv2:extensionData state:interface ;
lv2:port [
a lv2:InputPort ,
atom:AtomPort ;
atom:bufferType atom:Sequence ;
atom:supports <http://lv2plug.in/ns/ext/midi#MidiEvent> ,
patch:Message ;
lv2:designation lv2:control ;
lv2:index 0 ;
lv2:symbol "control" ;
lv2:name "Control"
] , [
a lv2:AudioPort ,
lv2:OutputPort ;
lv2:index 1 ;
lv2:symbol "out_1" ;
lv2:name "Out 1"
] , [
a lv2:AudioPort ,
lv2:OutputPort ;
lv2:index 2 ;
lv2:symbol "out_2" ;
lv2:name "Out 2"
] , [
a lv2:AudioPort ,
lv2:OutputPort ;
lv2:index 3 ;
lv2:symbol "out_3" ;
lv2:name "Out 3"
] , [
a lv2:AudioPort ,
lv2:OutputPort ;
lv2:index 4 ;
lv2:symbol "out_4" ;
lv2:name "Out 4"
] , [
a lv2:AudioPort ,
lv2:OutputPort ;
lv2:index 5 ;
lv2:symbol "out_5" ;
lv2:name "Out 5"
] , [
a lv2:AudioPort ,
lv2:OutputPort ;
lv2:index 6 ;
lv2:symbol "out_6" ;
lv2:name "Out 6"
] , [
a lv2:AudioPort ,
lv2:OutputPort ;
lv2:index 7 ;
lv2:symbol "out_7" ;
lv2:name "Out 7"
] , [
a lv2:AudioPort ,
lv2:OutputPort ;
lv2:index 8 ;
lv2:symbol "out_8" ;
lv2:name "Out 8"
] , [
a lv2:AudioPort ,
lv2:OutputPort ;
lv2:index 9 ;
lv2:symbol "out_9" ;
lv2:name "Out 9"
] , [
a lv2:AudioPort ,
lv2:OutputPort ;
lv2:index 10 ;
lv2:symbol "out_10" ;
lv2:name "Out 10"
] , [
a lv2:AudioPort ,
lv2:OutputPort ;
lv2:index 11 ;
lv2:symbol "out_11" ;
lv2:name "Out 11"
] , [
a lv2:AudioPort ,
lv2:OutputPort ;
lv2:index 12 ;
lv2:symbol "out_12" ;
lv2:name "Out 12"
] , [
a lv2:AudioPort ,
lv2:OutputPort ;
lv2:index 13 ;
lv2:symbol "out_13" ;
lv2:name "Out 13"
] , [
a lv2:AudioPort ,
lv2:OutputPort ;
lv2:index 14 ;
lv2:symbol "out_14" ;
lv2:name "Out 14"
] , [
a lv2:AudioPort ,
lv2:OutputPort ;
lv2:index 15 ;
lv2:symbol "out_15" ;
lv2:name "Out 15"
] , [
a lv2:AudioPort ,
lv2:OutputPort ;
lv2:index 16 ;
lv2:symbol "out_16" ;
lv2:name "Out 16"
] ;
state:state [
<http://j2page.org/lv2/handrumr#config>'''
{}
'''
] .
......@@ -10,3 +10,8 @@
a lv2:Plugin ;
lv2:binary <handrumr.so> ;
rdfs:seeAlso <handrumr2.ttl> .
<http://j2page.org/lv2/handrumr16>
a lv2:Plugin ;
lv2:binary <handrumr.so> ;
rdfs:seeAlso <handrumr16.ttl> .
\ No newline at end of file
......@@ -34,6 +34,7 @@
#define HANDRUMR_URI "http://j2page.org/lv2/handrumr"
#define HANDRUMR2_URI HANDRUMR_URI "2"
#define HANDRUMR16_URI HANDRUMR_URI "16"
#define HANDRUMR__config HANDRUMR_URI "#config"
#define MAX_POLYPHONY 1024
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment