Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
  • Sign in / Register
  • midi midi
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

We will soon be undergoing scheduled maintenance to our database layer. We expect GitLab.com to be unavailable for up to 2 hours starting from 2022-07-02 06:00 UTC. Please note that any CI jobs that start before the maintenance window but complete during the window period will fail and may need to be started again.

  • gomidi
  • midimidi
  • Issues
  • #21
Closed
Open
Created Jan 22, 2021 by Matéo Zanibelli@mzanibelli

Impossible to receive SysEx response

Hi,

First of all, great work. Especially since this package has no dependency and a clear API, I appreciate that a lot.

I'm facing a problem using this library to send a SysEx request and read the corresponding SysEx response.

Disclaimer: I just discovered all this stuff (details of the MIDI protocol, SysEx messages...) a few days ago and I've been coding a lot since then, but I could be missing a trivial info.

Basically, if I use amidi -p <device> -S <SysExRequest> to send a raw request while listening to the response using amidi -p <device> -d with standard ALSA tools, everything happens as expected and I can see the exact expected response being dumped in the terminal.

But if I send the request via writer.SysEx (omitting the last 0xf7 byte since this one is added by the library AFAIK) while having a reader listening to the port with reader.Each, no SysEx response is ever received. Other MIDI events are perfectly received by the reader.

Reading some of the code, I understand that SysEx messages must start with 0xf0 and end with 0xf7 to be identified as such, which is the case. I'm pretty sure the request is perfectly sent to the device because I used a virtual port to dump it and check the content.

Which leaves me with the impression that the library doesn't receive the message correctly.

What would be some starting point to investigate this? Where can I dump the low level USB data which is being sent by the device? I'm sure the response is there, somewhere :-)

I'm using the rtmidi driver on Linux.

Thanks for your time!

Assignee
Assign to
Time tracking