Discussion:
[LAD] Capturing MIDI from Windows program running under Wine?
Christopher Arndt
2018-06-14 15:35:59 UTC
Permalink
Hi all,

I have a proprietary Windows application (tc electronic TonePrint
editor) running under Wine, which talks to a class-compliant* USB MIDI
device (Flashback delay pedal).

I'd like to monitor, what MIDI data the application is sending to the
device. How can I do that, short of capturing and decoding the USB
communication with wireshark?


* At least I think it is. It shows up with "amidi -l", and I can connect
with aseqdump to the port, although the _device_ itself doesn't seem to
output any MIDI when I turn the knobs.



Cheers, Chris
Clemens Ladisch
2018-06-14 20:14:58 UTC
Permalink
Post by Christopher Arndt
I have a proprietary Windows application (tc electronic TonePrint
editor) running under Wine, which talks to a class-compliant* USB MIDI
device (Flashback delay pedal).
I'd like to monitor, what MIDI data the application is sending to the
device.
Does Wine use sequencer ports? Then you could configure the snd-seq-dummy
module to use duplex ports, tell the editor to use that, and connecte the
other ends to the actual port. You can then use aseqdump to monitor the
ports.


Regards,
Clemens
Christopher Arndt
2018-06-14 22:43:43 UTC
Permalink
Post by Clemens Ladisch
Does Wine use sequencer ports? Then you could configure the snd-seq-dummy
module to use duplex ports, tell the editor to use that, and connecte the
other ends to the actual port.
Unfortunately the editor doesn't provide the means to select the MIDI
output, I guess it just searches and openes it by name.

I'm currently reading up on the Windows MIDI mapper, maybe this will be
helpful here? Not sure, though.


Chris
Jacek Konieczny
2018-06-15 07:25:48 UTC
Permalink
Post by Clemens Ladisch
Post by Christopher Arndt
I have a proprietary Windows application (tc electronic TonePrint
editor) running under Wine, which talks to a class-compliant* USB MIDI
device (Flashback delay pedal).
I'd like to monitor, what MIDI data the application is sending to the
device.
Does Wine use sequencer ports? Then you could configure the snd-seq-dummy
module to use duplex ports, tell the editor to use that, and connecte the
other ends to the actual port. You can then use aseqdump to monitor the
ports.
Unfortunately wine opens the MIDI sequencer ports with no permissions to
change their connections (with aconnect or qjackctl) – I have learned
that when trying to to some other wine MIDI magic. A trivial patch would
probably fix that, bu I haven't tried that yet.

Jacek
Clemens Ladisch
2018-06-15 11:24:38 UTC
Permalink
Post by Jacek Konieczny
Post by Clemens Ladisch
Post by Christopher Arndt
I'd like to monitor, what MIDI data the application is sending to the
device.
Does Wine use sequencer ports? Then you could configure the snd-seq-dummy
module to use duplex ports, tell the editor to use that, and connecte the
other ends to the actual port. You can then use aseqdump to monitor the
ports.
Unfortunately wine opens the MIDI sequencer ports with no permissions to
change their connections (with aconnect or qjackctl) – I have learned
that when trying to to some other wine MIDI magic.
This is why I suggested snd-seq-dummy; Wine does _not_ use exclusive
connections, so you can add your own connections:

+------+ +---------+ +---------+ +------+
| WINE |---->| Through |>| Through |---->| USB |
| |<----| A |<| B |<----| MIDI |
+------+ +---------+ +---------+ +------+
| |
v v
aseqdump aseqdump

(Without the Through port, you could monitor only data coming from
the device.)


Regards,
Clemens

Loading...