mtytel / helm

Helm - a free polyphonic synth with lots of modulation
http://tytel.org/helm
GNU General Public License v3.0
2.35k stars 201 forks source link

No JACK MIDI in ports? #152

Open simonvanderveldt opened 6 years ago

simonvanderveldt commented 6 years ago

I just compiled and installed Helm 0.9.0 and ran into this issue: Helm doesn't have any JACK MIDI in ports, but it does appear to have an audio in port :? I'm not sure if I remember it correctly but I believe Helm used to have JACK MIDI in ports. Did I do something wrong when compiling? Are other dependencies needed apart from jack itself to get this to work? Or could this be a bug in Helm?

Patchbay screenshot for reference: image

shimpe commented 6 years ago

I can confirm that in helm 0.8.6 there are midi in ports

image

simonvanderveldt commented 6 years ago

@shimpe Thanks for the info. I just built 0.8.6 and I'm experiencing the issue with that as well. So I guess that means something is wrong with how I build Helm and/or it's dependencies?

shimpe commented 6 years ago

I guess it's some build flag, but since I'm only a casual user of helm I cannot tell you what went wrong. Just for fun I compiled git master and don't see any midi inputs in that version either...

simonvanderveldt commented 6 years ago

@shimpe Could it be that the MIDI in ports you see are actually ALSA MIDI ports, exposed through something like a2jmidid?

Since afaik Helm uses JUCE and JUCE apparently doesn't support JACK MIDI that would mean currently only ALSA MIDI should be supported.

ALSA MIDI isn't working for me either though :(

shimpe commented 6 years ago

To be honest I'd be surprised, because

On Mon, Aug 7, 2017 at 10:46 PM, Simon van der Veldt < notifications@github.com> wrote:

@shimpe https://github.com/shimpe Could it be that the MIDI in ports you see are actually ALSA MIDI ports, exposed through something like a2jmidid?

Since afaik Helm uses JUCE and JUCE apparently doesn't support JACK MIDI https://github.com/gentoo-audio/audio-overlay/pull/70#issuecomment-318995367 that would mean currently only ALSA MIDI should be supported.

ALSA MIDI isn't working for me either though :(

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/mtytel/helm/issues/152#issuecomment-320775846, or mute the thread https://github.com/notifications/unsubscribe-auth/AAssYtEekPgIs7i8k9iv9jWFEwpDs0qQks5sV3efgaJpZM4OghPg .

simonvanderveldt commented 6 years ago

I've checked the commits between 0.5.0 and 0.6.0 and the changes regarding JACK MIDI were actually related to ALSA MIDI. There is indeed no JACK MIDI support in JUCE, ALSA MIDI is currently the only supported option.

Using either something like a2jmidi or running jack with -Xseq will show ALSA MIDI ports in JACK, which is what's happening for everyone who does see the ports :)

Since this is something that needs to be fixed in JUCE I don't know if this issue should remain open? Judging by JUCE's responses to Linux requests so far I'm not holding my breath...

trebmuh commented 6 years ago

Same issue here, building it on a debian stretch up-to-date. No JACK-MIDI input connection. That said, one can connect a midi-usb or a virtual keyboard to "midi through port-0" in Catia (should/could be available in other jack patchbay such as qjackctl) and then, my virtual or midi-usb keyboard is able to control helm.

I've another build from https://github.com/mtytel/helm/commit/6784938fe3c124902e452f334970251d78f89b75 that I have access to a JACK-MIDI input with.

@mtytel : is there something we can do or try out or that's just because JACK-MIDI support has been abandoned in helm?

tavasti commented 5 years ago

I just downloaded prebuilt helm from https://tytel.org/helm/ and installed it. System is ubuntu 18.04.

No jack or alsa midi port shown in qjackctl.

layk commented 5 years ago

Just compiled and it seems helm is in some sort of 'universal omni mode' somewhere around alsa when using jack audio. It repeats everything i put on sequencer64 with no connections to it on every midi channel. Even changing channel won't help. Wery interesting synth. Midi bindings and all. And what a set of preset selection. Kudos to @mtytel

layk commented 5 years ago

I offer testing help here to get this working.

MarcoBodega commented 5 years ago

It's the nicer but the most difficult synth to connect to (probably because of JUCE?). I'm used to use only qjackctl to connect softwares. If MIDI input doesn't show up, then I start: "a2j -e" but in this very case, qjackctl-Connection doesn't help. Instead using Patchage I get Midi Through both via ALSA and JACK.

Helm conf: audio dev= JACK, output=system, Active MIDI Input=Midi Through Port-0

In my last use case, piloting Helm via Seq64 (JACK Transport + Native JACK MIDI), I can do something like:

screenshot_20190201_163732

anagram3k commented 4 years ago

Using the Helm deb provided on the homepage, I couldn't make it work even after following the instruction provided by MarcoBodega.

Compilation fails on Ubuntu Studio 20.04 with this error:

../../../JUCE/modules/juce_graphics/colour/juce_PixelFormats.h: In member function ‘juce::uint8& juce::PixelARGB::getAlpha()’:
../../../JUCE/modules/juce_graphics/colour/juce_PixelFormats.h:116:77: error: cannot bind packed field ‘((juce::PixelARGB*)this)->juce::PixelARGB::<anonymous>.juce::PixelARGB::<unnamed union>::comps[3]’ to ‘juce::uint8&’ {aka ‘unsigned char&’}
  116 |     forcedinline uint8& getAlpha() noexcept           { return comps [indexA]; }
      |                                                                ~~~~~~~~~~~~~^
lhanson commented 2 years ago

I'm having similar issues getting Helm to run standalone. I did have success at some point using qjackctl and routing my MIDI controller into Helm, and then Helm audio out to my soundcard. I'm not sure what changed, but I'm no longer able to do that; Helm only shows Jack audio inputs.

While messing around with Carla I discovered that I can use Helm as a plugin under the Rack tab, and then in Patchbay I can route MIDI through Carla like I used to be able to do with Helm as a standalone app.