Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux and support for softsynths and bridged midi ports #90

Open
Kirtai opened this issue Dec 1, 2024 · 1 comment
Open

Linux and support for softsynths and bridged midi ports #90

Kirtai opened this issue Dec 1, 2024 · 1 comment

Comments

@Kirtai
Copy link

Kirtai commented Dec 1, 2024

I just found out that the that Edisyn only connects directly to hardware MIDI ports.
If your device is on a software port or accessed via a bridge then it won't be recognized.

A workaround is to use

sudo modprobe snd-virmidi midi_devs=1

to create a virtual hardware port and connect via that.

I have tested this and got it working with some softsynths.

@eclab
Copy link
Owner

eclab commented Dec 1, 2024

This isn't Edisyn or even Java. The MIDI spec, as implemented by all three major operating systems (MacOS, Windows, Linux) has a very stupid connection model. Unlike hardware MIDI, software MIDI has typed endpoints: one end has to be an application and the other end has to be a "device". Normally devices are hardware devices. Thus applications cannot connect to or even see one another: they can only see devices.

However MacOS and Linux both have support for creating virtual bridge devices, called MIDI Loopbacks, so Edisyn can connect to one end of the loopback, and (say) a softsynth or DAW can connect to the other end. That's what you've discovered. Windows doesn't have OS support for it: you have to buy a program which does it.

This model is so stupid that recently a number of DAWs have begun providing a virtual bridge device built into the DAW itself as a workaround. Logic I think was the first one to do it. But this requires low-level OS API support and Java doesn't have that.

Anyway, if you check in Edisyn's manual, it goes on in some detail about how to set up a MIDI loopback in Linux. You might look there and compare it against your suggestion and verify that the manual looking correct.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants