Единый регулятор громкости

Drivers for sound cards
  • Тебя прёт на хорошие идеи в последнее время. Поддерживаю.

    >> Оптимальным я считаю получение через системную функцию. Которая будет получать, хранить и отдавать произвольный блок с данными (формат которого нужно проработать), определяющими громкость отдельных устройств (есть ведь еще, как минимум, и на запись регулировка громкости).
    Из хаоса в космос
  • Mario_r4
    Приложения уровень программно регулируют. А системные настройки имеют смысл для master volume.
  • Системная функция не нужна. Приложение "Единый регулятор громкости" взаимодействует с драйвером. Другие приложения запускают его с параметром.
  • Надо этот "Единый регулятор громкости" встроить в панель.
  • Serge wrote:Надо этот "Единый регулятор громкости" встроить в панель.
    Может отдельное приложение? Так удобнее будет модифицировать, не комильфо всё в панель засовывать :)
    Регулятор будет открываеться как Календарь возле панели. Скрытие при повторном нажатии на значёк звука или при деактивации окна.
    Из хаоса в космос
  • Asper wrote:Системная функция не нужна. Приложение "Единый регулятор громкости" взаимодействует с драйвером. Другие приложения запускают его с параметром.
    Ага, а если драйвер не запускается, то пользователь крутит регулятор и удивляется почему звука нет. Надо продумывать все ситуации.
    Еще я не видел, чтобы один и тот же регулятор из выложенных работал и с AC97 и HDA.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Mario_r4
    Если драйвер не запускается должен быть значок с перечёркнутым динамиком. И пользователь всё поймёт.
    Еще я не видел, чтобы один и тот же регулятор из выложенных работал и с AC97 и HDA.
    API для всех одинаковое. Если у драйвера проблема с регулировкой громкости, приложение не виновато.
    Last edited by Serge on Sun Oct 27, 2013 4:28 pm, edited 1 time in total.
  • Mario_r4 wrote:Ага, а если драйвер не запускается, то пользователь крутит регулятор и удивляется почему звука нет. Надо продумывать все ситуации.
    Если драйвер не запускается, то регулятор не запускается тоже, и сообщает пользователю об ошибке.
    Mario_r4 wrote:Еще я не видел, чтобы один и тот же регулятор из выложенных работал и с AC97 и HDA.
    Эта версия "регулятора" работает и с HDA tv 12 и c AC97.
    Last edited by Asper on Sun Oct 27, 2013 8:15 pm, edited 1 time in total.
  • Asper wrote:Эта версия "регулятора" работает и с HDA tv 0.12 и c AC97.
    Замечательно, беру сборку 4107, запускаю Qemu 0.12.2 со строкой:

    Code: Select all

    qemu -L . -m 128 -fda kolibri.img -fdb w98.img -boot a -hda c100.img -hdb c100_2.img -cdrom kolibri.iso -localtime -k ru -vga vmware -net nic,model=ne2k_pci -net user -soundhw ac97,pcspk
    Запускаю MP3 ассоциации из файлового менеджера. Файл проигрывает AC97SND. Запускаю MIXER, проверяю все 6 кнопок совместно с PgUp|PgDn и Home|End - никакого эффекта. Может быть проблема в том, что:
    Из AC97 тестировался только на EMU10K1X
    Кстати о том что он не работает в Qemu я писал. Реакции не было совсем никакой. Так что утверждать о работоспособности наверняка, если не проверено - нельзя.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Serge wrote:Если драйвер не запускается должен быть значок с перечёркнутым динамиком. И пользователь всё поймёт.
    Еще я не видел, чтобы один и тот же регулятор из выложенных работал и с AC97 и HDA.
    API для всех одинаковое. Если у драйвера проблема с регулировкой громкости, приложение не виновато.
    И по какому критерию/признаку приложение должно выводить перечеркнутый динамик?
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Mario_r4
    Qemu стал эталоном железки ?
  • И по какому критерию/признаку приложение должно выводить перечеркнутый динамик?
    Чтобы работать с драйвером надо получить его логический номер. Если вместо номера ядро возвращает 0, значит драйвер не загружается.
  • Serge wrote:Mario_r4
    Qemu стал эталоном железки ?
    Т.е. то что драйвер используется стандартный, звук проигрывается что в плеера аудио, что в плеере видео, в них же регулируется, а в миксере не регулируется это нормальное положение вещей? По мне так никак это не является нормальной ситуацией.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Mario_r4
    Потому что приложения регулируют громкость программно. Infinity при помощи нехитрой математики

    Code: Select all

    .mix_loop:
            add     dword [edx], 8
            add     edx, 12
            dec     ecx
            jz      @F
    
            mov     eax, [edx]
            movq    mm1, [eax]        ;семпл
            movd    mm2, [edx+4]      ;громкость
            punpckldq mm2, mm2
            pmulhw  mm1, mm2
            psllw   mm1, 1
            paddsw  mm0, mm1
            jmp     .mix_loop
    
    независимо управляет громкостью каждого звукового буфера. А насколько достоверно Qemu эмулирует AC97 вопрос к разработчикам эмулятора. Есть ещё Vbox, правда он прямой потомок Qemu.
  • Who is online

    Users browsing this forum: No registered users and 7 guests