Error attempting plugin without Audio in and out

I had another thread where I was talking about writing a MIDI Sequencer plugin for ModDwarf. This leads on from that but I think it might be a bug?

As this is just a MIDI Sequencer it’ll have a MIDI Output port firing MIDI messages to a connected synth. I’m not sure if I need a MIDI input port for MIDI Clock info, get to that later. For the minute I was trying to minimise a ttl file and I’ve found that if you don’t have both an Audio Input port and an Audio Output port then you can’t load the plugin in the ModDwarf. It kinda falls over.

Obviously I can work around this by having audio ports I’m not connecting to, but I asked on the lv2 IRC about whether it’s legal to have an LV2 plugin with only a MIDI output port, and I’m told that’s legal, you don’t have to have audio ports.

Here’s my ttl file. Obviously the index numbers change depending on what ports you remove but you have to have the Audio Input and Output or it won’t work on the ModDwarf.

@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# .
@prefix atom: http://lv2plug.in/ns/ext/atom# .
@prefix midi: http://lv2plug.in/ns/ext/midi# .

http://es.com/plugins/lv2/esSequencer
a lv2:Plugin ,
lv2:AmplifierPlugin ;

lv2:project <http://es.com/plugins/lv2/esSequencer> ;
doap:name "esSequencer" ;
doap:license <http://opensource.org/licenses/isc> ;
lv2:port [
	a lv2:AudioPort ,
		lv2:InputPort ;
	lv2:index 0 ;
	lv2:symbol "in" ;
	lv2:name "In"
] , [

a lv2:AudioPort ,

lv2:OutputPort ;

lv2:index 0 ;

lv2:symbol “out” ;

lv2:name “Out”

] , [

            a lv2:OutputPort ,
                    atom:AtomPort ;
            atom:bufferType atom:Sequence ;
            atom:supports midi:MidiEvent ;
            lv2:index 1 ;
            lv2:symbol "midi_out" ;
            lv2:name "MIDI Out"
]
.

Sorry should have had a cooling off period on that one. It’s the C side of things that caught me. mismatch on ports :frowning:

1 Like