http://bugs.winehq.org/show_bug.cgi?id=21714
Summary: Moraff's Maximum MahJongg Vol. 2: Midi's won't play - page fault Product: Wine Version: 1.1.38 Platform: x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: gaming4jc2@yahoo.com
Created an attachment (id=26245) --> (http://bugs.winehq.org/attachment.cgi?id=26245) Fixme + backtrace of midi crash...
While attempting to play the background music on Moraff's Maximum MahJongg, I receive numerous fixmes and a pagefault which eventually crashes the game during play. Attached is the log.
http://bugs.winehq.org/show_bug.cgi?id=21714
Raymond superquad.vortex2@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |superquad.vortex2@gmail.com
--- Comment #1 from Raymond superquad.vortex2@gmail.com 2010-07-28 04:06:48 --- may need two midi devices to support 17 tracks since each midi device support 16 midi channels
fixme:mcimidi:MIDI_mciPlay NIY: SMPTE track start 96:0:3 0.0 fixme:mcimidi:MIDI_mciPlay NIY: MIDI port=0, track=1 fixme:mcimidi:MIDI_mciPlay NIY: MIDI port=0, track=2 fixme:mcimidi:MIDI_mciPlay NIY: MIDI port=0, track=3 fixme:mcimidi:MIDI_mciPlay NIY: MIDI port=0, track=4 fixme:mcimidi:MIDI_mciPlay NIY: MIDI port=0, track=5 fixme:mcimidi:MIDI_mciPlay NIY: MIDI port=0, track=6 fixme:mcimidi:MIDI_mciPlay NIY: MIDI port=0, track=7 fixme:mcimidi:MIDI_mciPlay NIY: MIDI port=0, track=8 fixme:mcimidi:MIDI_mciPlay NIY: MIDI port=0, track=9 fixme:mcimidi:MIDI_mciPlay NIY: MIDI port=0, track=10 fixme:mcimidi:MIDI_mciPlay NIY: MIDI port=0, track=11 fixme:mcimidi:MIDI_mciPlay NIY: MIDI port=0, track=12 fixme:mcimidi:MIDI_mciPlay NIY: MIDI port=0, track=13 fixme:mcimidi:MIDI_mciPlay NIY: MIDI port=0, track=14 fixme:mcimidi:MIDI_mciPlay NIY: MIDI port=0, track=15 fixme:mcimidi:MIDI_mciPlay NIY: MIDI port=0, track=16 fixme:mcimidi:MIDI_mciPlay NIY: MIDI port=0, track=17
http://bugs.winehq.org/show_bug.cgi?id=21714
Jörg Höhle hoehle@users.sourceforge.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hoehle@users.sourceforge.ne | |t
--- Comment #2 from Jörg Höhle hoehle@users.sourceforge.net 2010-07-30 09:47:14 --- Is there a demo? or free download URL? Is the crashing version any of the 2 versions present in AppDB (8.0/2009)? If yes, please link the bug to the appropriate version. Is there a known work-around to prevent the crash (e.g. disable music in settings file)?
You set "x86-64 Linux". Are you actually running the 64bit version of Wine? I can't recommend doing so because of bug #22146.
You can ignore the fixme:mcimidi:... track=N messages. Do you actually hear anything? Do you have any other .exe that manages to play MIDI with Wine on your machine, proving that your Linux/MIDI setup is correct? See http://wiki.winehq.org/MIDI
Your backtrace shows that one crash happens from mciSendCommandW. Please attach a WINEDEBUG=+mci,+mcimidi trace so that we can see the offending MCI command and parameters.
I suppose that you attached the logs of several test runs because the crash is not always the same (e.g. only your last run produced a backtrace). Please try to find out how to cause reproduceable crashes. WINEDEBUG=warn+heap may help here. Setting HKCU\Software\Wine\WineDbg "ShowCrashDialog"=dword:00000000 also.
If you have reasons to believe race conditions are involved, add +tid to WINEDEBUG.
http://bugs.winehq.org/show_bug.cgi?id=21714
--- Comment #3 from Luke gaming4jc2@yahoo.com 2010-07-31 09:54:55 --- Created an attachment (id=29945) --> (http://bugs.winehq.org/attachment.cgi?id=29945) WINEDEBUG=+mci,+mcimidi wine jongg.exe
Tested in wine 1.2. No longer catching pagefault, still issue with playback. I am using the x64 version of wine. Just found out none of my programs are playing midi properly. I tested linux midi-playback apps with the wiki article and they work fine, so it must be an issue with wine.
Probably isn't much good but I'm attaching a newer log with debug channels you mentioned. Also, I couldn't find any demos online. :/
http://bugs.winehq.org/show_bug.cgi?id=21714
--- Comment #4 from Raymond superquad.vortex2@gmail.com 2010-07-31 18:49:29 --- (In reply to comment #3)
Created an attachment (id=29945)
--> (http://bugs.winehq.org/attachment.cgi?id=29945) [details]
WINEDEBUG=+mci,+mcimidi wine jongg.exe
Tested in wine 1.2. No longer catching pagefault, still issue with playback. I am using the x64 version of wine. Just found out none of my programs are playing midi properly. I tested linux midi-playback apps with the wiki article and they work fine, so it must be an issue with wine.
Probably isn't much good but I'm attaching a newer log with debug channels you mentioned. Also, I couldn't find any demos online. :/
use "WINEDEBUG=+midi,+mci,+mcimidi"
your midi file has more than 16 tracks
trace:mcimidi:MIDI_mciReadMTrk Track 16 has 660 bytes and 113177 pulses trace:mcimidi:MIDI_mciReadMTrk Track 17 has 9 bytes and 0 pulses
http://bugs.winehq.org/show_bug.cgi?id=21714
Luke gaming4jc2@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #29945|0 |1 is obsolete| |
--- Comment #5 from Luke gaming4jc2@yahoo.com 2010-07-31 19:28:55 --- Created an attachment (id=29958) --> (http://bugs.winehq.org/attachment.cgi?id=29958) WINEDEBUG=+midi,+mci,+mcimidi wine jongg.exe
adding more parameters...
http://bugs.winehq.org/show_bug.cgi?id=21714
--- Comment #6 from Raymond superquad.vortex2@gmail.com 2010-07-31 23:11:40 --- if you want to play midi file with more than 16 tracks , the wineoss.drv need to send the tracks to two midi devices which support 16 channels
trace:midi:OSS_MidiInit OSS info: midi[1] dev-type=0 capa=0 MidiOut[1] name='L"TiMidity port 0"' techn=1 voices=0 notes=0 chnMsk=ffff support=0 trace:midi:OSS_MidiInit OSS info: midi[2] dev-type=0 capa=0 MidiOut[2] name='L"TiMidity port 1"' techn=1 voices=0 notes=0 chnMsk=ffff support=0
http://bugs.winehq.org/show_bug.cgi?id=21714
--- Comment #7 from Raymond superquad.vortex2@gmail.com 2010-07-31 23:21:38 --- you need to modify midi.c of wineoss.drv
Track 0 to 15 play through TiMidity port 0 Track 16 to 17 play through TiMidity port 1
http://bugs.winehq.org/show_bug.cgi?id=21714
--- Comment #8 from Raymond superquad.vortex2@gmail.com 2010-07-31 23:31:26 ---
THe bug is "fixme:mcimidi:MIDI_mciPlay" should use two or more midiout devices when midi file has more than 16 tracks assuming each midiout device support 16 channels
http://bugs.winehq.org/show_bug.cgi?id=21714
--- Comment #9 from Raymond superquad.vortex2@gmail.com 2010-08-01 04:48:11 --- timitidy -iA
can play midi with 22 tracks when select ALSA driver (i.e alsa midi ) , the program open MidiOut[0] name='L"TiMidity - TiMidity port 0"
no sound when select oss driver because the program cannot select midi out and just open MidiOut[0] name='L"Midi Through Port-0"'
I guess the problem is similar to http://bugs.winehq.org/show_bug.cgi?id=8054
just because the user cannot select midi out device
http://bugs.winehq.org/show_bug.cgi?id=21714
--- Comment #10 from Jörg Höhle hoehle@users.sourceforge.net 2010-08-02 04:29:14 ---
Just found out none of my programs are playing midi properly.
Things to do to help identify the error: a) Try out the 32bit version of Wine if that makes any difference. I have no idea whether MIDI works with the x64 version. b) Use a MIDI sample with 16 samples or less.
c) You should re-read the "MIDI mapper" section of my wiki article.
trace:midi:OSS_MidiInit OSS info: midi[0] dev-type=0 capa=0 MidiOut[0] name='L"Midi Through Port-0"' techn=1 voices=0 MidiOut[1] name='L"TiMidity port 0"' techn=1 voices=0 notes=0 chnMsk=ffff support=0
If you don't have real MIDI HW attached, Wine's MIDI output is probably sent to Nirvana over your serial port... => You hear no music. Does configuring the mapper to open device 1 (where Timidity listens) instead of 0 ("Midi through") help to produce sound? If yes then I should probably reformat the article to better catch the eye.
http://bugs.winehq.org/show_bug.cgi?id=21714
--- Comment #11 from Raymond superquad.vortex2@gmail.com 2010-08-03 00:15:41 --- (In reply to comment #10)
If you don't have real MIDI HW attached, Wine's MIDI output is probably sent to Nirvana over your serial port... => You hear no music. Does configuring the mapper to open device 1 (where Timidity listens) instead of 0 ("Midi through") help to produce sound? If yes then I should probably reformat the article to better catch the eye.
Using MIDI in Wine The MCI shell
What is the command to set the mapper to midiout device 2 in order the sequencer can use device 2 and 3
http://www.winehq.org/docs/winedev-guide/mm-conf 14.8.3. Per driver/DLL configuration 14.8.3.1. Midi mapper
How to set oss driver to use midiout device 2 and 3 ? Do I have to set 32 channels in this case ?
I guess only those musicians who familiar with midi know how to configure but an game player properly lack of the knowledge about midi channels, voice , tracks and notes
http://bugs.winehq.org/show_bug.cgi?id=21714
--- Comment #12 from Jörg Höhle hoehle@users.sourceforge.net 2010-08-04 04:28:48 --- How to use the third winmm MIDI device (#2) instead of the first (#0) one:
REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Multimedia\MIDIMap] "CurrentInstrument"="#2"
Isn't it what the docs say? Please feel free to contribute to the Wiki. Luke, please test if you get music this way.
How to set oss driver to use midiout device 2 and 3 ?
I'm not aware of the possibility to use 2 devices for one piece of music in Wine. MSDN's description of the MIDI mapper makes one believe it should work in native, but somehow I doubt it (given their design).
http://bugs.winehq.org/show_bug.cgi?id=21714
--- Comment #13 from Jörg Höhle hoehle@users.sourceforge.net 2011-01-12 15:21:52 CST --- Luke, I haven't heard from you since July. Your trace trace:midi:OSS_MidiInit OSS info: midi[0] dev-type=0 capa=0 MidiOut[0] name='L"Midi Through Port-0"' matches what I mention in http://wiki.winehq.org/MIDI
If you don't have MIDI HW, the app's MIDI output will be sent to your serial HW where nothing is attached. Given such a setup, it's normal not to hear any MIDI music. Hence if you don't respond, this issue should be resolved as invalid.
MIDI output should work with OSS, but you need to set the mapper to use port #1 where you have Timidity running trace:midi:OSS_MidiInit OSS info: midi[1] dev-type=0 capa=0 MidiOut[1] name='L"TiMidity port 0"' like I explain in the Wiki page as well as comment #12. I asked you to check this in comment #10.
BTW, please remove the "page fault" from the subject as per comment #3.
http://bugs.winehq.org/show_bug.cgi?id=21714
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Moraff's Maximum MahJongg |Moraff's Maximum MahJongg |Vol. 2: Midi's won't play - |Vol. 2: Midi's won't play |page fault |
http://bugs.winehq.org/show_bug.cgi?id=21714
Luke gaming4jc2@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #14 from Luke gaming4jc2@yahoo.com 2011-01-12 22:29:15 CST --- (In reply to comment #13)
Luke, I haven't heard from you since July. Your trace trace:midi:OSS_MidiInit OSS info: midi[0] dev-type=0 capa=0 MidiOut[0] name='L"Midi Through Port-0"' matches what I mention in http://wiki.winehq.org/MIDI
If you don't have MIDI HW, the app's MIDI output will be sent to your serial HW where nothing is attached. Given such a setup, it's normal not to hear any MIDI music. Hence if you don't respond, this issue should be resolved as invalid.
MIDI output should work with OSS, but you need to set the mapper to use port #1 where you have Timidity running trace:midi:OSS_MidiInit OSS info: midi[1] dev-type=0 capa=0 MidiOut[1] name='L"TiMidity port 0"' like I explain in the Wiki page as well as comment #12. I asked you to check this in comment #10.
BTW, please remove the "page fault" from the subject as per comment #3.
The bug is now fixed (1.3.11 [perhaps was fixed sooner but had issues w/ my distro])! Here's how to make it work, big help to your wiki page though I had to read it a few times to comprehend it... 1. Start Timidity as follows: timidity -iAD -B2,8 -Os1l -s 44100 -x'soundfont /usr/share/midi/sf2/mypatches.sf2 order=1' 2. Apply ALSA if it is not already selected in winecfg. 3. Save: --------------- REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Multimedia\MIDIMap] "CurrentInstrument"="#1" ------------------- as "foo.reg" in gedit and import via wine regedit.
4. Test via aplay and winetest.
5. Run Moraff's in style! Output is now: fixme:mixer:ALSA_MixerInit No master control found on HDA ATI HDMI, disabling mixer fixme:mcimidi:MIDI_mciPlay NIY: SMPTE track start 96:0:3 0.0 fixme:mcimidi:MIDI_mciPlay NIY: MIDI port=0, track=1 fixme:mcimidi:MIDI_mciPlay NIY: MIDI port=0, track=2 fixme:mcimidi:MIDI_mciPlay NIY: MIDI port=0, track=3 fixme:mcimidi:MIDI_mciPlay NIY: MIDI port=0, track=4
There's a few graphical bugs introduced now but that's out of the scope of the current bug. Also, PulseAudio and Timidity seem to be coexisting happily on Ubuntu Maverick. Haven't experienced any issues as of yet. Thanks for your work.
http://bugs.winehq.org/show_bug.cgi?id=21714
--- Comment #15 from Luke gaming4jc2@yahoo.com 2011-01-12 22:35:06 CST --- As a minor edit, I found out a 'few' of the midi still refuse to play. Perhaps this is best in another bug report though since it doesn't seem to be related to the game. It's as Raymond mentioned, midis with over a certain number of tracks require more than one midi device. Depending on which one the game chooses on bootup, you might not get sound. One work around would be to delete the offending midi from the playlist in-game.
http://bugs.winehq.org/show_bug.cgi?id=21714
--- Comment #16 from Raymond superquad.vortex2@gmail.com 2011-01-13 03:10:22 CST --- it seem MIDI_AlsaToWindowsDeviceType(type) is wrong
MOD_MIDIPORT is mpu401 device , not sure this include those mpu401_uart on those 25 pin gameport on the motherboard or sound card
MOD_SYNTH may be those wave blaster or Roland SCB-55 , YAMAHA DB50XG daugther card for sb 16
MOD_FMSYNTH seem to be those sb16 FM synth or opl3 FM synth
MOD_WAVETABLE is EMU10K1 wavetable which need to load soundfont
MOD_SWSYNTH are those timidity , fluidsynth software synth
http://bugs.winehq.org/show_bug.cgi?id=21714
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #17 from Alexandre Julliard julliard@winehq.org 2011-01-21 13:43:28 CST --- Closing bugs fixed in 1.3.12.