Предлагаю вашему вниманию мою версию драйвера VoodooHDA
От оригинальной версией от команды Voodoo эта версия отличается несколькими моментами:
был изменен набор настроек в PrefPanel, что позволило в моем случае завести микрофон
добавлена возможность вносить изменения в настройки нод через редактирования Info.plist драйвера.
Рассмотрим способ внесения изменений в настройки нод.
Для того чтобы изменить настройки ноды добавте в секцию NodesToPath в файле Info.plist дочерние ключи так как это показано в примере:
CODE
<key>NodesToPatch</key>
<array>
<dict>
<key>Codec</key>
<integer>0</integer>
<key>Node</key>
<integer>20</integer>
<key>Config</key>
<string>0x99130110</string>
<key>Type</key>
<integer>4</integer>
</dict>
<dict>
<key>Codec</key>
<integer>0</integer>
<key>Node</key>
<integer>8</integer>
<key>select</key>
<integer>1</integer>
<key>Type</key>
<integer>1</integer>
</dict>
</array>
<array>
<dict>
<key>Codec</key>
<integer>0</integer>
<key>Node</key>
<integer>20</integer>
<key>Config</key>
<string>0x99130110</string>
<key>Type</key>
<integer>4</integer>
</dict>
<dict>
<key>Codec</key>
<integer>0</integer>
<key>Node</key>
<integer>8</integer>
<key>select</key>
<integer>1</integer>
<key>Type</key>
<integer>1</integer>
</dict>
</array>
В примере меняются настройки двух нод 20 и 8 кодека номер 0.
Для Ноды 20 с помощью ключа Config задается новый PinConfig.
С помощью ключа Conns указывается номер ноды к которой будет подключатся нода 20. Получается цепочка 20 -> 12
С помощью ключа Type задается тип коннектора.
возможные значения:
0 - [Audio Output]
1 - [Audio Input]
4 - [Pin Complex]
В версии 2.5.3 появилась возможность указывать в Info.plist настройки регуляторов из PrefPanel по умолчанию. Для этого в Info.plist появилась новая секция - MixerValues
CODE
<key>IOUserClientClass</key>
<string>VoodooHDAUserClient</string>
<key>MixerValues</key>
<dict>
<key>iMix</key>
<string>90</string>
</dict>
<key>NodesToPatch</key>
<array/>
<key>VoodooHDAVerboseLevel</key>
<integer>1</integer>
<string>VoodooHDAUserClient</string>
<key>MixerValues</key>
<dict>
<key>iMix</key>
<string>90</string>
</dict>
<key>NodesToPatch</key>
<array/>
<key>VoodooHDAVerboseLevel</key>
<integer>1</integer>
В это секции нужно перечислить те регуляторы значения которых вы хотите задать. В примере задано значение для регулятора iMix. Значение можно задавать от 0 до 99.
Вот перечень имен регуляторов:
CODE
Main
Bass
Trable
Synth
PCM
Speaker
Line
Mic
CD
iMix
AltPCM
Rec
iGain
oGain
Line1
Line2
Line3
Dig1
Dig2
Dig3
PhoneIn
PhoneOut
Video
Radio
Monitor
Bass
Trable
Synth
PCM
Speaker
Line
Mic
CD
iMix
AltPCM
Rec
iGain
oGain
Line1
Line2
Line3
Dig1
Dig2
Dig3
PhoneIn
PhoneOut
Video
Radio
Monitor
Имена некоторых регуляторов для Info.plist были сокращены для удобства их записи, но их соответствие регуляторам из PrefPanel вполне очевидно.
VoodooHDA является заменой стандартному AppleHDA. Поэтому во избежание kernel panic бекапте и удаляете AppleHDA.kext прежде чем ставить VoodooHDA!
Господа, драйвер находиться на этапе разработки. Возможно и даже наверняка у кого-нибудь он не заработает. Чтобы помочь нам исправить ошибки в драйвере в ваших сообщениях приводите следующую информацию:
- напишете драйвером какой версии вы воспользовались
- называйте вашу звуковую карточку
- описывайте какие входы/выходы существуют на вашем компьютере. Например: Разъем для наушников джек черного цвета, и т.д.
- перечислите какие из них работают и какие нет
- прикрепите к вашем сообщению результат работы утилиты getDump
Утилита getDump - позволяет получить все настройки драйвера VoodooHDA + схемы соединения нодов.
Click to view attachment
Утилита getExtDump - позволяет получить из загруженного драйвера VoodooHDA текущие настройки усиления для всех нод
Click to view attachment
Наиболее полную информацию о системе дадут оба дампа.
PrefPanel - позволяет настраивать усиление звука для каждого входа и выхода
Click to view attachment
UPDATE 22.08.2009
- убрано сообщение VoodooHDAEngine[0x4e41500]::volumeChanged из лога
+ добавлен параметр Codec в настройках нода в Info.plist для задание адреса кодека
UPDATE 28.08.2009
*исправлена работа с внутренним микрофоном.
*исправлен алгоритм вычисления рабочих цепочек.
UPDATE 06.10.2009
+Сделана автосмена названия устройства в настройках звука
*некоторые исправления связанные с работой автодетекта
UPDATE 20.12.2009
+Сделано чтение настроек регуляторов из Info.plist
UPDATE 7.02.2010
+Теперь регулятор imix не будет влиять на выходные миксеры
+добавлен параметр select в настройках ноды в Info.plist для задания выбранного выхода ноды.
Click to view attachment
Click to view attachment
Click to view attachment
UPDATE 15.02.2010 (Экспериментальная версия)
+Добавлен параметр DAC
UPDATE 26.02.2010 (Экспериментальная версия)
+Добавлен параметр SwitchCh
Click to view attachment
Click to view attachment
Click to view attachment
Версия 2.6.2
Click to view attachment
Click to view attachment
