![]() |
Quote:
|
Quote:
И еще: 1) Может паузу повесить не на Alt+P, а на кнопку Pause? 2) Для переключения частоты экрана используется комбинация Сtrl+F9,F10. Но Ctrl используется в раскладке Вектора, может переназначить? Хотя конечно вряд ли это создаст проблемы. |
Quote:
|
Quote:
Включить/Выключить проигрыватель Alt+F6 |
Вопрос по DXSoundNotify:
как я понял, это фича генерирует события, которые нужно как то периодически сканировать загадочной функцией WaitForMultipleObjects(2, m_pHEvent, FALSE, 0); которая есть в С++, в Delphi я такую функцию ненаблюдаю вообще, че посоветуете заюзать? У меня уже башню сносит, как эти эвенты получить? |
Эта функция не может быть в одном языке и не быть в другом. Это же API, оно существует независимо от языков программирования. :)
Получаются эвенты при помощи CreateEvent, их нужно передать DXSoundNotify, а DX будет переодически их устанавливать (signaled state). А ждать возникновения нужно, как ты правильно подметил, при помощи WaitForMultipleObjects. |
Ура! :v2_yahoo: с саунд буфером все получилось более менее как надо,
Удивляет только одно, как мало информации на эту тему, а примеров на дельфи ваще нет, пришлось в Сишных кодах разбираться, про книги я ваще молчу :mad: |
b2m, Если не секрет, как ты решал проблему синхронизации звукового буффера и самого эмулятора?
у меня прерывание Вектора повешано на MMTimer, а DXBuffer с этим таймером конечно ничего общего неимеет, и хотя их скорости теоретически равны, на практике они немного отличаются, что приводит к тому, что звук постепенно пытается либо убежать вперед, либо отстать, но буффер то небесконечный |
Quote:
|
В раздел "Эмуляторы" выложена новая версия эмулятора Ramiros. Таймер и бипер переведены на новый движок, пауза теперь дублируется на PauseBreak, в настройках клавиатуры разделены.
|
| All times are GMT +4. The time now is 23:42. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.