Run mod-ui on Arch Linux


#1

I have a 2010 MacMini with Arch Linux installed and a USB audio interface with a guitar input. Jack runs (at 5ms latency!) and mod-host compiles and runs fine. I can interactively add and connect plugins from the mod-host cli. I also can run mod-host as a server and use telnet to send it commands, adding and connecting the same plugin chain. This works as well. I would like to run mod-ui to make plugin connections and control easier.

I have built mod-ui from a git checkout from today. I have set MOD_DEV_ENVIRONMENT=0 and the virtualenv and setup.py runs without error. But the server fails.

Here is the log output from running ./server.py

(modui-env) [noisebridge@jonesy mod-ui]$ ./server.py 
ERROR: Failed to open HMI serial port, error was:
__init__() got an unexpected keyword argument 'write_timeout'
Using HMI => False
cc start socket missing
jack client activated
[W 170812 23:51:41 iostream:1126] Connect error on fd 11: ECONNREFUSED
[I 170812 23:51:41 host:987] [host] popped from queue: feature_enable processing 0
[I 170812 23:51:41 host:1014] [host] sending -> feature_enable processing 0
[I 170812 23:51:41 host:999] [host] received <- 'resp 0\x00'
[I 170812 23:51:41 host:987] [host] popped from queue: remove -1
[I 170812 23:51:41 host:1014] [host] sending -> remove -1
last state file does not exist or is corrupt
[I 170812 23:51:41 host:987] [host] popped from queue: feature_enable link 0
[I 170812 23:51:41 host:1014] [host] sending -> feature_enable link 0
[I 170812 23:51:41 host:987] [host] popped from queue: transport 0 4.000000 120.000000
[I 170812 23:51:41 host:1014] [host] sending -> transport 0 4.000000 120.000000
[I 170812 23:51:41 host:987] [host] popped from queue: connect system:capture_1 mod-monitor:in_1
[I 170812 23:51:41 host:1014] [host] sending -> connect system:capture_1 mod-monitor:in_1
[I 170812 23:51:41 host:987] [host] popped from queue: connect system:capture_2 mod-monitor:in_2
[I 170812 23:51:41 host:1014] [host] sending -> connect system:capture_2 mod-monitor:in_2
[I 170812 23:51:41 host:987] [host] popped from queue: midi_program_listen 1 15
[I 170812 23:51:41 host:1014] [host] sending -> midi_program_listen 1 15
[I 170812 23:51:41 host:987] [host] popped from queue: feature_enable processing 2
[I 170812 23:51:41 host:1014] [host] sending -> feature_enable processing 2
[I 170812 23:51:41 host:999] [host] received <- 'resp 0\x00'
Host failed to initialize, is the backend running?
jack client deactivated

It looks like some code in utils/utils_jack.cpp is throwing that iostream error but I don’t have enough debug tooling to figure out why. This seems like a configuration problem rather than a bug.

Halp?


#2

Have you done the following after checkout?

cd utils; make

Regards, Holger


#3

You need to run mod-host with the ‘-f’ argument.
mod-host -p 5555 -f 5556


#4

Yea! Thanks. I can help with some chores like doc gardening on github. Looks like you added the feedback socket option less than a month ago! I’ll send a few pull requests your way.


Live MOD
#5

next little bump, which also seems like a configuration issue, is the web-ui doesn’t make the final connection between the mod-monitor:out_1 port and my hardware’s system:playback_1 port. The following opened up audio output

jack_connect mod-monitor:out_1 system:playback_1

which makes sense. Prior to creating this connection, my graph looks like the following,

[noisebridge@jonesy ~]$ jack_lsp -c
system:capture_1
   effect_0:in
   mod-monitor:in_1
system:capture_2
   mod-monitor:in_2
system:playback_1
system:playback_2
alsa_midi:Midi Through Port-0 (out)
alsa_midi:Midi Through Port-0 (in)
alsa_midi:FastTrack Pro MIDI 1 (out)
alsa_midi:FastTrack Pro MIDI 1 (in)
mod-monitor:in_1
   effect_0:out
   system:capture_1
mod-monitor:in_2
   system:capture_2
mod-monitor:out_1
mod-monitor:out_2
mod-host:midi_in
effect_0:control
effect_0:notify
effect_0:out
   mod-monitor:in_1
effect_0:in
   system:capture_1

My hack is to have a shell script that bootstraps everything and manually makes that final output connection.


#6

Something is strange then, because directly in the code it connects to the system output ports.

(it also tries to connect to mod-peakmeter ports, but only if they exist)


#7

Short follow up on this, I have a second copy of mod-ui running on different hardware with an older git checkout. The monitor-out connects to playback_1 correctly. I’ll compare the two checkouts and perhaps move this to github.


#8

mod-ui is not the one doing this.
monitor-out connects to system playback on start, you can see it right there in the code.
maybe you need to update mod-host?


#9

Hey all,
I wrote a docker container that runs mod-ui on any machine that has jack2 and docker installed:

Enjoy :slight_smile:


#10

On KXStudio, I have to set MOD_APP=1 and MOD_LIVE_ISO=1 to get mod-ui to be able to connect to the playback output instead of to some non-existent monitors.


#11

If I can get Jack running in docker, it means mod-ui could also run on windows.