Takashi Sakamoto wrote:
On Aug 12 2014 16:33, Clemens Ladisch wrote:
Or just do the detection like the Windows driver, through the vendor/ model name strings (this is what my old Fireworks driver did because I didn't know all model IDs; see match_echofire_device_name). The Mackie driver's .inf file has this list of device identifiers:
"AVC\Loud_Technologies_Inc.&Onyxi&typ_1" "AVC\Loud_Technologies_Inc.&Onyx_1640i&typ_1" "AVC\Loud_Technologies_Inc.&Onyx-i&typ_1" "AVC\Loud_Technologies_Inc.&d.Pro&typ_1" "AVC\Loud_Technologies_Inc.&Mackie_Onyx_Satellite&typ_1" "AVC\Loud_Technologies_Inc.&Tapco_LINK.firewire_4x6&typ_1" "AVC\Loud_Technologies_Inc.&U.420&typ_1" "AVC\Mackie&Onyx_Firewire&typ_1"
This is a good idea.
I note that Mackie Onyx-i series has two revisions. OXFW was used for the former revision. Dice is used for the latter revision. See: http://www.mackie.com/products/onyxiseries/drivers/
When using this idea, we have a need to distinguish these two revisions for prevention from applying OXFW driver to the latter revision. Do you have any good idea?
The OXFW devices work with Core Audio, so they are marked as AV/C devices; the DICE devices are not. So it would be possible to use different specifier_id/version entries.
Anyway, the Windows DICE driver uses detection by name, too; the .inf entries show a different vendor name:
1394\LOUD&Onyxi 1394\LOUD&OnyxBlackbird
Regards, Clemens