New engine Jalv: LV2 plugins as standalone layers

Hi,

I’m unable to load any LV2 plugin. I’ve already ran update_zythian.sh a couple of times and did the ./waf install as suggested above.

Here’s what happens when I select the MDA JX10 engine, it hangs on the channel selection screen. Any ideas?

root@zynthian:~# /zynthian/zynthian-sys/sbin/zynthian.sh

X.Org X Server 1.18.4
Release Date: 2016-07-19
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.4.26-v7+ armv7l Raspbian
Current Operating System: Linux zynthian 4.14.61-v7+ #1132 SMP Tue Aug 7 15:36:25 BST 2018 armv7l
Kernel command line: 8250.nr_uarts=1 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
Build Date: 11 November 2016 11:59:59AM
xorg-server 2:1.18.4-2+rpi1 (Debian -- User Support)
Current version of pixman: 0.33.3
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (–) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: “/var/log/Xorg.0.log”, Time: Sat Nov 17 09:38:47 2018
(==) Using config directory: “/etc/X11/xorg.conf.d”
(==) Using system config directory “/usr/share/X11/xorg.conf.d”
INFO:root:Wiring Layout MCP23017_ENCODERS
DEBUG:root:ZYNCODER A: [102, 105, 110, 113]
DEBUG:root:ZYNCODER B: [101, 104, 109, 112]
DEBUG:root:SWITCHES layout: [100, 103, 108, 111]
DEBUG:root:DISABLED_MIDI_IN = [‘’]
DEBUG:root:ENABLED_MIDI_OUT = [‘ttymidi:MIDI_out’, ‘QmidiNet:in_1’]
ZynMidiRouter: MIDI tuning frequency set to 440 Hz (8192)
INFO:root:SWITCHES INIT…
INFO:root:SETUP GPIO SWITCH 0 => 100
INFO:root:SETUP GPIO SWITCH 1 => 103
INFO:root:SETUP GPIO SWITCH 2 => 108
INFO:root:SETUP GPIO SWITCH 3 => 111
INFO:root:STOPPING QMIDINET
DEBUG:root:ZCTRL ‘Layer’: 0 (0 → 4), None, None
DEBUG:root:Snapshot Bank ‘00001’ => MIDI bank 0.
DEBUG:root:ZCTRL ‘Bank’: 0 (0 → 1), None, None
DEBUG:root:ZCTRL ‘Layer’: 0 (0 → 4), None, None
INFO:root:Short Switch 3
DEBUG:root:ZCTRL ‘Engine’: 0 (0 → 34), None, None
INFO:root:Short Switch 3
INFO:root:NO REMOTE DISPLAY
INFO:root:Starting Engine Jalv/MDA JX10
ERROR:root:Can’t start engine Jalv/MDA JX10 => End Of File (EOF). Exception style platform.
<pexpect.pty_spawn.spawn object at 0x6e7b76d0>
command: /usr/local/bin/jalv
args: [‘/usr/local/bin/jalv’, ‘OrderedDict([(URL,’, ‘http://moddevices.com/plugins/mda/JX10),’, ‘(TYPE,’, ‘MIDI Synth)])’]
buffer (last 100 chars): b’’
before (last 100 chars): b"\r\nerror: attempt to map invalid URI `MIDI Synth)])‘\r\nMissing plugin URI, try lv2ls to list plugins\r\n"
after: <class ‘pexpect.exceptions.EOF’>
match: None
match_index: None
exitstatus: None
flag_eof: True
pid: 1713
child_fd: 18
closed: False
timeout: 30
delimiter: <class ‘pexpect.exceptions.EOF’>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: None
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
0: re.compile(b’\n> ‘)
INFO:root:No defined MIDI controllers for ‘{}’.
INFO:root:Getting Controller List from LV2 Plugin …
ERROR:root:Can’t exec engine command: \info_controls => End Of File (EOF). Exception style platform.
<pexpect.pty_spawn.spawn object at 0x6e7b76d0>
command: /usr/local/bin/jalv
args: [’/usr/local/bin/jalv’, ‘OrderedDict([(URL,’, ‘http://moddevices.com/plugins/mda/JX10),’, ‘(TYPE,’, ‘MIDI Synth)])’]
buffer (last 100 chars): b’’
before (last 100 chars): b’\info_controls\r\n’
after: <class ‘pexpect.exceptions.EOF’>
match: None
match_index: None
exitstatus: 1
flag_eof: True
pid: 1713
child_fd: 18
closed: False
timeout: 30
delimiter: <class ‘pexpect.exceptions.EOF’>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: None
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
0: re.compile(b’\n> ‘)
INFO:root:Getting Preset List from LV2 Plugin …
ERROR:root:Can’t exec engine command: \get_presets => End Of File (EOF). Exception style platform.
<pexpect.pty_spawn.spawn object at 0x6e7b76d0>
command: /usr/local/bin/jalv
args: [’/usr/local/bin/jalv’, ‘OrderedDict([(URL,’, ‘http://moddevices.com/plugins/mda/JX10),’, ‘(TYPE,’, ‘MIDI Synth)])’]
buffer (last 100 chars): b’’
before (last 100 chars): b’\get_presets\r\n’
after: <class ‘pexpect.exceptions.EOF’>
match: None
match_index: None
exitstatus: 1
flag_eof: True
pid: 1713
child_fd: 18
closed: False
timeout: 30
delimiter: <class ‘pexpect.exceptions.EOF’>
logfile: None
logfile_read: None
logfile_send: None
maxread: 2000
ignorecase: False
searchwindowsize: None
delaybeforesend: None
delayafterclose: 0.1
delayafterterminate: 0.1
searcher: searcher_re:
0: re.compile(b’\n> ')
DEBUG:root:ZCTRL ‘Channel’: 0 (0 → 16), None, None
ERROR:zynautoconnect.zynthian_autoconnect:‘NoneType’ object has no attribute ‘encode’
ERROR:zynautoconnect.zynthian_autoconnect:‘NoneType’ object has no attribute ‘encode’
ERROR:zynautoconnect.zynthian_autoconnect:‘NoneType’ object has no attribute ‘encode’
ERROR:zynautoconnect.zynthian_autoconnect:‘NoneType’ object has no attribute ‘encode’
^Cxinit: connection to X server lost

waiting for X server to shut down (II) Server terminated successfully (0). Closing log file.

xinit: unexpected signal 2
root@zynthian:~#

It seems like your image is not OK. I would suggest to re-burn and update …

I’m playing around with remid as a LV2 plugin. How much would it take to add remid to my engine list while testing? Does I have to recompile Zynthian or is it possible through a bit of configuration? I’m not afraid of a little hacking, but I would hate to break the Zynthian updates.

If the LV2 plugin is installed in the zynthian-plugins directory, it should appear in the webconf list.
If not, you could create a soft link :wink:

Nice, I’ll check that out :+1:

Just for the record. If anyone should dare to doubt the words of jofemodo.
A symlink in /zynthian/zynthian-plugins/lv2/ pointing at the lv2 plugin directory, was exactly what I needed.

2 Likes