Apple Audio Codec Management
If your system has multiple sound cards with
identical devices, fldigi will only enumerate the last one
identified.
- This has been
problematic throughout the history of Mac OS. The
root cause of the problems are many. First, many
vendors who use Texas Instruments silicon do not generate
their own USB Device Descriptors and rely on the default
descriptors. The vendor ID and product ID fields
remain the same, as do the vendor and product strings.
So you get a product string that statues "USB Audio
CODEC" instead of something like "Icom IC-7300".
SignaLink, Kenwood radios, Icom radios and Berringer
audio mixers all exhibit this behavior.
- Next is none
of the vendors using USB audio codecs implement the
optional serial number field, and leave this field at it's
default value of 0. This contributes to not being
able to identify devices uniquely and track their
repositioning in the USB topology in a plug and play (plug
and pray) environment.
- Next is the
Mac OS USB Audio Driver, which does not generate a unique
ID based on the device's position in the IO Registry.
- Lastly is
the behavior of menus, eliminating duplicate entries so
that the user isn't even given the opportunity to sort out
the issue.
Use the Apple utility
application "Audio MIDI Setup" to create aggragate devices with
specific names.
https://support.apple.com/en-us/HT202000
The new aggragate devices will then be exposed by the OS to
fldigi. It would be really convenient if the OS exposed
the multiple C-Media devices by the MIDI enumeration but it does
not.
Note that fldigi still only lists a single C-Media USB Audio
Device (not the OS fault, but an unwanted characteristic of the
selection menu control used to display the devices)
The aggragate name to physical device will only be stable so
long as no devices are added or removed from the computer USB
bus.
Adjustment of input and output signal level must be made in the
MIDI Setup for the actual physical codec. It cannot be
made in the virtual or aggragate device.