2

I'm developing a USB MIDI device using a PIC32 and I need to change the USB name of the device without changing the Vendor ID (VID) or Product ID (PID) in the "USB Device Descriptor".

I'm using a Macintosh as the USB host and the driver works fine. However when I change the device name in the "Product String Descriptor" the Mac remembers the previous name even after the computer is rebooted. I'm referring to the name that appears in the Mac Audio MIDI Setup App. I tried using the Rescan MIDI command in Audio MIDI Setup but it makes no difference.

How can I force the Mac to refresh it's cache of USB MIDI device names vs VID and PID so my new device name appears?

1
  • Try changing the serial number.
    – CL.
    Commented Oct 25, 2019 at 11:12

1 Answer 1

1

While Audio MIDI Setup is launched but the USB MIDI device is disconnected, locate the cached device in the MIDI Studio window and delete it. Then re-attach the device. CoreMIDI will re-read the configuration descriptor and retrieve the string at the specified descriptor index in order to create a new cached device.

It is not possible to force CoreMIDI to re-read the string without first deleting the cached device, but it is possible to programmatically rename the MIDIDevice(Ref) or MIDIEntity(Ref) after the fact using MIDIObjectSetStringProperty on kMIDIPropertyName if you are also supplying your own software.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .