http://bugs.winehq.org/show_bug.cgi?id=7297
Summary: MIDI in/out fails, ports recognized Product: Wine Version: 0.9.29. Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: wine-multimedia AssignedTo: wine-bugs@winehq.org ReportedBy: edfardos@yahoo.com
SuSE linux 2.6.13smp-15.8-default alsa-driver-1.0.13rc1 Wine 0.9.29, 0.9.26 http://www.midiox.com/ (test program) sblive emu10k1 midi
Midi ports are identified by the applications (MPU401 uart), however midi data does not transfer correctly, if at all. Sending a 16K sysex from a midi device to midiox.exe (see url above) results in roughly 1K received at which point wine (midi.c) hangs in a critical section.
Oher midi apps yield similar results. Alsa seems to be working as I can capture sysex streams with "cat /dev/midi > dump.syx" just fine, and send them back to the device with "cat dump.syx > /dev/midi" - all good.
thanks!
--edfardos
wine midiox.exe
trace:midi:ALSA_MidiInit Initializing the MIDI variables. trace:midi:ALSA_AddMidiPort OUT (0:System:kernel:0:Timer:0) trace:midi:ALSA_AddMidiPort IN (0:System:kernel:1:Announce:0) trace:midi:ALSA_AddMidiPort OUT (15:OSS sequencer:kernel:0:Receiver:0) trace:midi:ALSA_AddMidiPort OUT (16:SBLive! Value [CT4832]:kernel:0:EMU10K1 MPU-401 (UART):90002) trace:midi:ALSA_AddMidiPort MidiOut[0] name='L"SBLive! Value [CT4832]"' techn=1 voices=16 notes=16 chnMsk=ffff support=3 ALSA info: midi dev-type=90002, capa=0 trace:midi:ALSA_AddMidiPort IN (16:SBLive! Value [CT4832]:kernel:0:EMU10K1 MPU-401 (UART):90002) trace:midi:ALSA_AddMidiPort MidiIn [0] name='L"SBLive! Value [CT4832]"' support=3 ALSA info: midi dev-type=90002, capa=0 trace:midi:ALSA_AddMidiPort OUT (17:Emu10k1 WaveTable:kernel:0:Emu10k1 Port 0:5001e) trace:midi:ALSA_AddMidiPort MidiOut[1] name='L"Emu10k1 WaveTable"' techn=1 voices=16 notes=16 chnMsk=ffff support=3 ALSA info: midi dev-type=5001e, capa=0 trace:midi:ALSA_AddMidiPort OUT (17:Emu10k1 WaveTable:kernel:1:Emu10k1 Port 1:5001e) trace:midi:ALSA_AddMidiPort MidiOut[2] name='L"Emu10k1 WaveTable"' techn=1 voices=16 notes=16 chnMsk=ffff support=3 ALSA info: midi dev-type=5001e, capa=0 trace:midi:ALSA_AddMidiPort OUT (17:Emu10k1 WaveTable:kernel:2:Emu10k1 Port 2:5001e) trace:midi:ALSA_AddMidiPort MidiOut[3] name='L"Emu10k1 WaveTable"' techn=1 voices=16 notes=16 chnMsk=ffff support=3 ALSA info: midi dev-type=5001e, capa=0 trace:midi:ALSA_AddMidiPort OUT (17:Emu10k1 WaveTable:kernel:3:Emu10k1 Port 3:5001e) trace:midi:ALSA_AddMidiPort MidiOut[4] name='L"Emu10k1 WaveTable"' techn=1 voices=16 notes=16 chnMsk=ffff support=3 ALSA info: midi dev-type=5001e, capa=0 trace:midi:ALSA_MidiInit End trace:midi:ALSA_midMessage (0000, 0064, 00000000, 00000000, 00000000); trace:midi:ALSA_midMessage (0000, 0035, 00000000, 00000000, 00000000); trace:midi:ALSA_modMessage (0000, 0064, 00000000, 00000000, 00000000); trace:midi:ALSA_modMessage (0000, 0001, 00000000, 00000000, 00000000); trace:midi:ALSA_modMessage (0000, 0002, 00000000, 0034F318, 00000054); trace:midi:modGetDevCaps (0000, 0x34f318, 00000054); trace:midi:ALSA_modMessage (0001, 0002, 00000000, 0034F318, 00000054); trace:midi:modGetDevCaps (0001, 0x34f318, 00000054); trace:midi:ALSA_modMessage (0002, 0002, 00000000, 0034F318, 00000054); trace:midi:modGetDevCaps (0002, 0x34f318, 00000054); trace:midi:ALSA_modMessage (0003, 0002, 00000000, 0034F318, 00000054); trace:midi:modGetDevCaps (0003, 0x34f318, 00000054); trace:midi:ALSA_modMessage (0004, 0002, 00000000, 0034F318, 00000054); trace:midi:modGetDevCaps (0004, 0x34f318, 00000054); trace:midi:ALSA_midMessage (0000, 0036, 00000000, 0034FCB8, 0000004C); trace:midi:midGetDevCaps (0000, 0x34fcb8, 0000004C); trace:midi:ALSA_modMessage (0000, 0002, 00000000, 0034FCA8, 00000054); trace:midi:modGetDevCaps (0000, 0x34fca8, 00000054); trace:midi:ALSA_modMessage (0001, 0002, 00000000, 0034FCA8, 00000054); trace:midi:modGetDevCaps (0001, 0x34fca8, 00000054); trace:midi:ALSA_modMessage (0002, 0002, 00000000, 0034FCA8, 00000054); trace:midi:modGetDevCaps (0002, 0x34fca8, 00000054); trace:midi:ALSA_modMessage (0003, 0002, 00000000, 0034FCA8, 00000054); trace:midi:modGetDevCaps (0003, 0x34fca8, 00000054); trace:midi:ALSA_modMessage (0004, 0002, 00000000, 0034FCA8, 00000054); trace:midi:modGetDevCaps (0004, 0x34fca8, 00000054); trace:midi:ALSA_midMessage (0000, 0037, 0034FAFC, 001CEAC4, 00030000); trace:midi:midOpen (0000, 0x1ceac4, 00030000); trace:midi:midiOpenSeq Outport port created successfully (0) trace:midi:midiOpenSeq Input port created successfully (1) trace:midi:midOpen input port connected 1 16 0 trace:midi:midOpen Created thread for midi-in trace:midi:MIDI_NotifyClient wDevID = 0000 wMsg = 961 dwParm1 = 0000 dwParam2 = 0000 trace:midi:ALSA_midMessage (0000, 0039, 60BEED6B, 001D8568, 00000040); trace:midi:midPrepare (0000, 0x1d8568, 00000040); trace:midi:ALSA_midMessage (0000, 003B, 60BEED6B, 001D8568, 00000040); trace:midi:midAddBuffer (0000, 0x1d8568, 00000040); trace:midi:ALSA_midMessage (0000, 0039, 60BEED6B, 00211A18, 00000040); trace:midi:midPrepare (0000, 0x211a18, 00000040); trace:midi:ALSA_midMessage (0000, 003B, 60BEED6B, 00211A18, 00000040); trace:midi:midAddBuffer (0000, 0x211a18, 00000040); trace:midi:ALSA_midMessage (0000, 0039, 60BEED6B, 00211BB8, 00000040); trace:midi:midPrepare (0000, 0x211bb8, 00000040); trace:midi:ALSA_midMessage (0000, 003B, 60BEED6B, 00211BB8, 00000040); trace:midi:midAddBuffer (0000, 0x211bb8, 00000040); trace:midi:ALSA_midMessage (0000, 0039, 60BEED6B, 00211D58, 00000040); trace:midi:midPrepare (0000, 0x211d58, 00000040); trace:midi:ALSA_midMessage (0000, 003B, 60BEED6B, 00211D58, 00000040); trace:midi:midAddBuffer (0000, 0x211d58, 00000040); trace:midi:ALSA_midMessage (0000, 0039, 60BEED6B, 00211EF8, 00000040); trace:midi:midPrepare (0000, 0x211ef8, 00000040); trace:midi:ALSA_midMessage (0000, 003B, 60BEED6B, 00211EF8, 00000040); trace:midi:midAddBuffer (0000, 0x211ef8, 00000040); trace:midi:ALSA_midMessage (0000, 0039, 60BEED6B, 00212098, 00000040); trace:midi:midPrepare (0000, 0x212098, 00000040); trace:midi:ALSA_midMessage (0000, 003B, 60BEED6B, 00212098, 00000040); trace:midi:midAddBuffer (0000, 0x212098, 00000040); trace:midi:ALSA_midMessage (0000, 0039, 60BEED6B, 00212238, 00000040); trace:midi:midPrepare (0000, 0x212238, 00000040); trace:midi:ALSA_midMessage (0000, 003B, 60BEED6B, 00212238, 00000040); trace:midi:midAddBuffer (0000, 0x212238, 00000040); trace:midi:ALSA_midMessage (0000, 0039, 60BEED6B, 002123D8, 00000040); trace:midi:midPrepare (0000, 0x2123d8, 00000040); trace:midi:ALSA_midMessage (0000, 003B, 60BEED6B, 002123D8, 00000040); trace:midi:midAddBuffer (0000, 0x2123d8, 00000040); trace:midi:ALSA_midMessage (0000, 0039, 60BEED6B, 00212578, 00000040); trace:midi:midPrepare (0000, 0x212578, 00000040); trace:midi:ALSA_midMessage (0000, 003B, 60BEED6B, 00212578, 00000040); trace:midi:midAddBuffer (0000, 0x212578, 00000040); trace:midi:ALSA_midMessage (0000, 0039, 60BEED6B, 00212718, 00000040); trace:midi:midPrepare (0000, 0x212718, 00000040); trace:midi:ALSA_midMessage (0000, 003B, 60BEED6B, 00212718, 00000040); trace:midi:midAddBuffer (0000, 0x212718, 00000040); trace:midi:ALSA_midMessage (0000, 0039, 60BEED6B, 002128B8, 00000040); trace:midi:midPrepare (0000, 0x2128b8, 00000040); trace:midi:ALSA_midMessage (0000, 003B, 60BEED6B, 002128B8, 00000040); trace:midi:midAddBuffer (0000, 0x2128b8, 00000040); trace:midi:ALSA_midMessage (0000, 0039, 60BEED6B, 00212A58, 00000040); trace:midi:midPrepare (0000, 0x212a58, 00000040); trace:midi:ALSA_midMessage (0000, 003B, 60BEED6B, 00212A58, 00000040); trace:midi:midAddBuffer (0000, 0x212a58, 00000040); trace:midi:ALSA_midMessage (0000, 0039, 60BEED6B, 00212BF8, 00000040); trace:midi:midPrepare (0000, 0x212bf8, 00000040); trace:midi:ALSA_midMessage (0000, 003B, 60BEED6B, 00212BF8, 00000040); trace:midi:midAddBuffer (0000, 0x212bf8, 00000040); trace:midi:ALSA_midMessage (0000, 0039, 60BEED6B, 00212D98, 00000040); trace:midi:midPrepare (0000, 0x212d98, 00000040); trace:midi:ALSA_midMessage (0000, 003B, 60BEED6B, 00212D98, 00000040); trace:midi:midAddBuffer (0000, 0x212d98, 00000040); trace:midi:ALSA_midMessage (0000, 0039, 60BEED6B, 00212F38, 00000040); trace:midi:midPrepare (0000, 0x212f38, 00000040); trace:midi:ALSA_midMessage (0000, 003B, 60BEED6B, 00212F38, 00000040); trace:midi:midAddBuffer (0000, 0x212f38, 00000040); trace:midi:ALSA_midMessage (0000, 0039, 60BEED6B, 002130D8, 00000040); trace:midi:midPrepare (0000, 0x2130d8, 00000040); trace:midi:ALSA_midMessage (0000, 003B, 60BEED6B, 002130D8, 00000040); trace:midi:midAddBuffer (0000, 0x2130d8, 00000040); trace:midi:ALSA_midMessage (0000, 003C, 60BEED6B, 00000000, 00000000); trace:midi:midStart (0000); trace:midi:ALSA_modMessage (0000, 0003, 0034FC0C, 00213274, 00030000); trace:midi:modOpen (0000, 0x213274, 00030000); trace:midi:midRecThread Thread startup trace:midi:midRecThread Thread loop trace:midi:MIDI_NotifyClient wDevID = 0000 wMsg = 967 dwParm1 = 0000 dwParam2 = 0000 trace:midi:modOpen Successful ! trace:midi:ALSA_modMessage (0000, 0005, 00008001, 002132E0, 00000040); trace:midi:modPrepare (0000, 0x2132e0, 00000040); trace:midi:ALSA_modMessage (0000, 0005, 00008001, 00930300, 00000040); trace:midi:modPrepare (0000, 0x930300, 00000040); trace:midi:ALSA_modMessage (0000, 0005, 00008001, 009305E0, 00000040); trace:midi:modPrepare (0000, 0x9305e0, 00000040); trace:midi:ALSA_modMessage (0000, 0005, 00008001, 009308C0, 00000040); trace:midi:modPrepare (0000, 0x9308c0, 00000040); trace:midi:ALSA_modMessage (0000, 0005, 00008001, 00930BA0, 00000040); trace:midi:modPrepare (0000, 0x930ba0, 00000040); trace:midi:ALSA_modMessage (0000, 0005, 00008001, 00930E80, 00000040); trace:midi:modPrepare (0000, 0x930e80, 00000040); trace:midi:ALSA_modMessage (0000, 0005, 00008001, 00931160, 00000040); trace:midi:modPrepare (0000, 0x931160, 00000040); trace:midi:ALSA_modMessage (0000, 0005, 00008001, 00931440, 00000040); trace:midi:modPrepare (0000, 0x931440, 00000040); trace:midi:ALSA_modMessage (0000, 0005, 00008001, 00931720, 00000040); trace:midi:modPrepare (0000, 0x931720, 00000040); trace:midi:ALSA_modMessage (0000, 0005, 00008001, 00931A00, 00000040); trace:midi:modPrepare (0000, 0x931a00, 00000040); trace:midi:ALSA_modMessage (0000, 0005, 00008001, 00931CE0, 00000040); trace:midi:modPrepare (0000, 0x931ce0, 00000040); trace:midi:ALSA_modMessage (0000, 0005, 00008001, 00931FC0, 00000040); trace:midi:modPrepare (0000, 0x931fc0, 00000040); trace:midi:ALSA_modMessage (0000, 0005, 00008001, 009322A0, 00000040); trace:midi:modPrepare (0000, 0x9322a0, 00000040); trace:midi:ALSA_modMessage (0000, 0005, 00008001, 00932580, 00000040); trace:midi:modPrepare (0000, 0x932580, 00000040); trace:midi:ALSA_modMessage (0000, 0005, 00008001, 00932860, 00000040); trace:midi:modPrepare (0000, 0x932860, 00000040); trace:midi:ALSA_modMessage (0000, 0005, 00008001, 00932B40, 00000040); trace:midi:modPrepare (0000, 0x932b40, 00000040); trace:midi:midRecThread Event received, type = 82, device = 0 trace:midi:MIDI_NotifyClient wDevID = 0000 wMsg = 964 dwParm1 = 1D8568 dwParam2 = 67D8 trace:midi:midRecThread Thread loop trace:midi:ALSA_midMessage (0000, 003B, 60BEED6B, 001D8568, 00000040); trace:midi:midAddBuffer (0000, 0x1d8568, 00000040); trace:midi:ALSA_modMessage (0000, 0008, 00008001, 00932B40, 00000040); trace:midi:modLongData (0000, 0x932b40, 00000040); warn:midi:modLongData Alleged system exclusive buffer is not correct Please report with MIDI file trace:midi:modLongData dwBufferLength=256 ! trace:midi:modLongData F0 00 20 ... 32 00 00 warn:midi:modLongData Adding missing 0xF7 marker at the end of system exclusive byte stream trace:midi:modLongData client = 16 port = 0 trace:midi:MIDI_NotifyClient wDevID = 0000 wMsg = 969 dwParm1 = 932B40 dwParam2 = 0000 trace:midi:midRecThread Event received, type = 82, device = 0 trace:midi:MIDI_NotifyClient wDevID = 0000 wMsg = 964 dwParm1 = 211A18 dwParam2 = 6834 trace:midi:ALSA_modMessage (0000, 0008, 00008001, 00932B40, 00000040); trace:midi:modLongData (0000, 0x932b40, 00000040); warn:midi:modLongData Alleged system exclusive buffer is not correct Please report with MIDI file trace:midi:modLongData dwBufferLength=256 ! trace:midi:modLongData 00 00 00 ... 00 00 00 warn:midi:modLongData Adding missing 0xF0 marker at the beginning of system exclusive byte stream warn:midi:modLongData Adding missing 0xF7 marker at the end of system exclusive byte stream trace:midi:modLongData client = 16 port = 0 trace:midi:MIDI_NotifyClient wDevID = 0000 wMsg = 969 dwParm1 = 932B40 dwParam2 = 0000 trace:midi:midRecThread Thread loop trace:midi:ALSA_midMessage (0000, 003B, 60BEED6B, 00211A18, 00000040); trace:midi:midAddBuffer (0000, 0x211a18, 00000040); trace:midi:midRecThread Event received, type = 82, device = 0 err:ntdll:RtlpWaitForCriticalSection section 0x62436980 "midi.c: crit_sect" wait timed out in thread 0031, blocked by 002a, retrying (60 sec) wine: Critical section 62436980 wait failed at address 0x7bc2f740 (thread 0031), starting debugger... Unhandled exception: wait failed on critical section 0x62436980 _DYNAMIC+0x8b0 err:seh:raise_exception Unhandled exception code c0000194 flags 0 addr 0x7bc2f740 craiger@linux:~/.wine/c/Program Files/MIDIOX> Process of pid=0x00000029 has terminated No process loaded, cannot execute 'echo Modules:' Cannot get info on module while no process is loaded No process loaded, cannot execute 'echo Threads:' process tid prio (all id:s are in hex) 0000002c 0000002e 0 0000002d 0