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

MIDI note events not played #1751

Closed
manuvi opened this issue Apr 18, 2023 · 8 comments
Closed

MIDI note events not played #1751

manuvi opened this issue Apr 18, 2023 · 8 comments
Assignees

Comments

@manuvi
Copy link

manuvi commented Apr 18, 2023

Hydrogen version * : [1.2.0-beta1][1.2.0]
Operating system + version : Debian sid
Audio driver + version : jack 1.9.21 with alsa midi seq


Connecting a midi device to MIDI input port, activity led blinks when events are played but no instrument (sound) is played.
This happens both in instrument or drumkit mode, all the events seems to be muted.
If i click manually on the single instrument, sound is played on jack output.
From log, note seems to be correctly handled, if I play a note outside drumkit extension, warning log appears.
No others messages (any kind of warning) are present in log file.

With version 1.1.1, same setup but instruments (and then sound) is played on input event from MIDI.


@theGreatWhiteShark
Copy link
Contributor

Hey @manuvi ,

Hmm. That's odd. I can't reproduce it.

You are using ALSA MIDI as MIDI driver? Do the inputs show up in the mixer?

Also, could you increase the verbosity level to Info and append a log file?

@sirsipe
Copy link

sirsipe commented May 6, 2023

I have the same issue. Hydrogen 1.2.0-beta. Ubuntu 23.04 which uses Pipewire. Using ALSA or JACK-MIDI makes no difference. Also setting the midi input device (tested eDrums and midi-keyboard) via Preferences and/or via Patchance makes no difference.

Edit: Easy to reproduce by just booting to Live version of Ubuntu Studio 23.04.

@theGreatWhiteShark
Copy link
Contributor

Hi @sirsipe ,

Could you provide a log file generated while the error occurs? In addition, would it be possible for you to check whether this issue does occur too when using plain JACK instead of JACK via PipeWire (there have been some issues with the latter lately)?

Edit: Easy to reproduce by just booting to Live version of Ubuntu Studio 23.04.

Good to know. I will try in a couple of days.

@sirsipe
Copy link

sirsipe commented May 7, 2023

Having Hydrogen pre-configured for JACK and Midi for ALSA, without configuring MIDI input in Preferences, and option to use midi output note as input note set:

  1. Open Hydrogen -> loads GMRockKit which has Kick assigned for Midi Note 36.
  2. Let log level to Debug
  3. Used Carla to map my Midi keyboard to Hydrogen
  4. Pressed C on midi keyboard (Mini note 36) -> Hydrogen registers the midi input, but doesn't play the kick.
  5. Opened the log and saved it; it's attached.

Ubuntu Studio 23.04 has an option to switch away from Pipewire to Jack, which is actually recommended for pro-audio usage. (https://ubuntustudio.org/switching-audio-setup/). I tested this and then quickly tested Hydrogen but it didn't make any difference.

I downgraded to Hydrogen 1.1.1 from Ubuntu 22.10 repos (in Ubuntu 23.04) and it worked immediately. I'm next trying to re-enable pipewire and see if Hydrogen still works with that.

EDIT: Confirmed Hydrogen 1.1.1 works with Pipewire in Ubuntu 23.04.
EDIT2: Confirmed upgrading back to Hydrogen 1.2.0~beta1 breaks the midi input playback.

hydrogen.log

@theGreatWhiteShark
Copy link
Contributor

Thanks a lot for your research!

I was able to reproduce it by throwing away my $HOME/.hydrogen/hydrogen.conf file. It's indeed an upgrade error.

As a work around you can disable Preferences > MIDI System > "Discard MIDI messages after action has been triggered"

@theGreatWhiteShark theGreatWhiteShark self-assigned this May 7, 2023
theGreatWhiteShark added a commit to theGreatWhiteShark/hydrogen that referenced this issue May 8, 2023
While adding a handler function allowing to process multiple actions at once I seem to misinterpreted the intention of `handleAction`s return value.

The value returned by `handleActions` does now indicate whether an action was successfully processed and thus the event triggering the action should be consumed.
@theGreatWhiteShark
Copy link
Contributor

Hey @sirsipe ,

Could you check whether #1768 fixes this issue at your end?

@sirsipe
Copy link

sirsipe commented May 10, 2023

I can confirm both the workaround and that #1768 fixes the issue.

Thank you and great work, @theGreatWhiteShark!

theGreatWhiteShark added a commit that referenced this issue May 11, 2023
@theGreatWhiteShark
Copy link
Contributor

Closed with #1768

theGreatWhiteShark added a commit that referenced this issue May 11, 2023
While adding a handler function allowing to process multiple actions at once I seem to misinterpreted the intention of `handleAction`s return value.

The value returned by `handleActions` does now indicate whether an action was successfully processed and thus the event triggering the action should be consumed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants