uFMOD & C++

Тема в разделе "Библиотеки и интерфейсы", создана пользователем Barracuda, 3 мар 2005.

  1. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    Quantum >




    Дык в том-то и дело, что задержка получается намного больше чем нужно - я сам столкнулся с проблемами при проигрывании музыки из-за этого. Видимо, воспроизвеление через winmm не является лучшим решением для NT+. MS рекомендует использовать DirectSound + синхронизацию на событиях буфера. Свой проигрыватель я переделаю: там использовался Sleep(1) и Asterix ругал качество звучания. :) Может быть стОит добавить и в μFMOD поддержку DirectSound? Могу попробовать, только утрясите все остальные вопросы.
     
  2. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    S_T_A_S_

    > Свой проигрыватель я переделаю: там использовался Sleep(1) и Asterix ругал качество звучания.



    Видимо в твоем проигрывателе что-то другое влияет, ибо в оригинальном minifmod юзалось Sleep(10) и на звуке вроде как не отражалось
     
  3. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    S_T_A_S_

    Даже с 15ms - вроде нормально звучит, а 20 - уже хуже. Мы Sleep используем не для синхронизации, а для снижения загрузки процессора в бесконечном цикле треда. Над DirectSound будем думать.



    Four-F



    Уже. 5 байт пришлось заплатить :)
     
  4. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    Asterix >




    Ты же это под мастдаем слушал? Там 10мс и есть.

    Хотя от размера буфера ещё зависит.





    Quantum >




    Ну я это и имел ввиду :) Пока в буфере есть данне для воспроизведения - трэд спит, как только данные заканчиваются трэд пробуждается. И опросы позиции в цикле не нужны.
     
  5. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Four-F

    Мне всё больше нравится ваша идея. Видимо так и сделаем, да и ошибок от неправильной последовательности вызовов функций не будет, если функций будет всего 2: SetCallbacks (optional) и PlaySong.



    All

    Ещё раз спасибо всем за тестирование. Чтоб в дальнейшем не засорять форум багрепортами, прошу слать найденные вами глюки мне на мыло cpp_master#ukr.net.
     
  6. Four-F

    Four-F New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2002
    Сообщения:
    1.237
    <font color="gray][ Quantum</font><!--color--><font color="gray]: Мне всё больше нравится ваша идея. ]</font><!--color-->



    Обижаете, дорогой товарищ Quantum. Даже два раза. Второй раз потому, что с маленькой буквы ;)
     
  7. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Four-F

    Я не хотел вас обидеть. Просто я предпочитаю писать это слово с маленькой буквы. Написание с большой пахнет модернизмом, ровно как и обращение на "ты". А идея нравится даже потому, что так может получиться исправить ещё один старый баг в либе. Это связано с WINMM на 9x.
     
  8. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Quantum

    > Чтоб в дальнейшем не засорять форум багрепортами, прошу слать найденные вами глюки мне на мыло



    Да пусть пишут в форум, чтоб было место куда послать почитать о разрешении возникших проблем с ufmod, в том числе и при компиляции. Я сегодня так и сделал :derisive:
     
  9. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    S_T_A_S_



    Как могли назвать DirectSound интерфейс, к которому нужно добираться через тройной степени вложенности указатель?! Бета-версия μFMOD с поддержкой DirectSound уже тестируется. Результаты впечатляют. А возродил я этот топ только чтобы поблагодарить (с почти годовым опозданием...) за великолепную идею!