瀏覽單個文章
Baseball
Master Member
 
Baseball的大頭照
 

加入日期: Feb 2005
您的住址: MLB
文章: 1,833
EMU系列使用ASIO的方法

Tested with E-MU 1212, should work at least with other E-MU cards
0. This is _ONLY_ for foo_out_asio.dll w/modification date of April 08, 2006, Tested with E-MU 1212, should work at least with other E-MU cards
0. This is _ONLY_ for foo_out_asio.dll w/modification date of April 08, 2006, 9:11:32 AM (current official for 0.9.1)
1. Start Foobar2000, setup ASIO, start playback (you'll hear silence)
2. In command line: ntsd -pn foobar2000.exe
3. In debugger prompt:
CODE
a foo_out_asio+5959
push eax
push ecx
jmp foo_out_asio+5991

a foo_out_asio+5991
mov ecx, [foo_out_asio+27BE0]
mov eax, [ecx]
call [eax+5C]
pop ecx
pop eax
retn

qd

(if you copy this code including the last linebreak, it will spare you of having to press Enter in ntsd window after 'qd' command)
4. Sound should appear

Tech info: Peter's implementation does not call outputReady() from bufferSwitch() callback
Otachan's did - which I figured made a difference. (a day spent tracing ASIO calls)
Personally, i don't understand why reinvent the bicycle ... but anyway, i hope Peter will add this workaround/fix/improvement to plugin soon.

Code comments: I patch tail of bufferSwitch() to call outputReady() from there (vtbl+0x5C).
轉貼官網的文章....請點我
請高手來翻譯一下吧....有點小看不懂
     
      
__________________
殺生為護生..斬業非斬人...HI-FI之路不由分說!!!!!!!!!!!
舊 2006-05-03, 03:42 PM #1
回應時引用此文章
Baseball離線中