Once more thing: I’ve modified (again) the jacknetumpd service to include support for client mode. Now, you can run it with the option --host, and it will try to initiate a session with the given hostname (or IP address). You can also set the --port to a given number (by default, it is 5504), and also the --endpoint-name (by default, “Zynthian UMP”). Once connected, you can use it locally through its in/out Jack ports. If no option is given, it will work as before, waiting for another peer to initiate a session (server mode).
For example, to connect to your Zynthian from your Linux machine, run:
I have added you as a contributor to the jacknetumpd github (you should have received an invitation at the time I write these lines)
I propose that you push directly your change to this repository (normally, you will get the write access once you accept the invitation… this is still something I am not very good at managing, so tell me if something goes wrong )
, so we keep a single source for the Zynthian daemon
Hi @BEB ! And thank you for giving me access to your repo. Normally, I would just send a pull request, that you can review and accept into your code. But this way can also work . I have two questions:
Did you review the changes? Do you want me to commit everything? (In my fork, I added a single Makefile to compile the service, instead of the Netbeans project, and also added the Debian package related files, the Zynthian service descriptor, and the commented changes). I’ve also added your depends (BEBSDK and NetUMP) as git submodules, so they can be easily retrieved when clonning the repo.
I added support for event callbacks on your NetUMP library, and that changes are needed for the Jack property support. Do you want me to make a pull request on that repo with the changes?
I have reviewed the code for jacknetumpd, and you did a great work
I am ok to merge the code on my github, it will be easier to manage rather than two code bases.
About the NB project : I use it to generate the makefile on the final target (my Zynthian), as @jofemodo needs it (on my side, I prefer to code using CodeBlocks IDE on a dedicated Raspberry machine rather than the Zynthian, as it is easier to debug - just personal taste )
For now, I am integrating your callback changes in my NetUMP implementation to check if I don’t get any side effect (I use this library in many projects here)
What is the solution you prefer finally ? Getting direct access to my Git or making pull requests ? Personnally, I don’t mind
Sorry for the late response, I’ve seen that you already included some of the changes. Do you still want me to make a PR with the Debian package files (and/or the top-level Makefile)? I think it would be easier for @jofemodo or @riban to just grab the .deb package, instead of compiling it in-device, but I’ll let them to say the final word .
I think it is not in the spec, by most of them will advertise using mDNS, so you can have a listener to build up that registry . At least, jacknetumpd does!
Although we can enable jacknetumpd and route MIDI messages to/from it, we don’t yet have a way to configure network connections which is a rather important part. I guess zynthian will appear as a target for other devices via the UMP discovery mechanism but we need to add a mechanism into zynthian to discover other UMP hosts and enable sessions. I did some work (in a dev branch) for managing AoIP connections so we could use the same technique for consistency. This could work thus:
Bold press on the UMP input/output to show a list of discovered remote hosts, presented as list with checkboxes.
Check each host that you want to connect/disconnect.
We may wish to conisider how to manage incoming connections where a remote device has created a session with zynthian and a mechanism to configure network security, e.g. passcode.
What is the current status of this in oram/vangelis?
Suppose I want to create a virtual midi device on linux, can this currently be recognized as a device by zynthian through netump or rtmidi?
I ask mainly because I am going on a trip and want to continue hacking on my sooperlooper variant of the apc key25 mk2 driver, yet want to carry as little as possible.