#macos #midi #audiokit
#macos #midi #audiokit
Вопрос:
Я создаю приложение, которое прослушивает входящие MIDI с помощью AudioKit v5.
У меня есть общий экземпляр AudioKit MIDI в моем AppDelegate, и у меня есть класс, который соответствует MIDIListener.
Приложение представляет собой приложение на основе документов, и когда пользователь закрывает документ, чтобы освободить все ссылки на экземпляры моего класса MIDIListener, мне нужно удалить каждый экземпляр из массива слушателей моего общего экземпляра AudioKit MIDI. Однако всякий раз, когда я вызываю appDelegate.midi.removeListener(self)
из своего экземпляра класса MIDIListener, я испытываю сбой в следующей строке протокола MIDIListener:
func == (lhs: MIDIListener, rhs: MIDIListener) -> Bool {
return lhs.isEqualTo(rhs)
}
Вызов appDelegate.midi.clearListeners()
не вызывает сбоя, но для меня не подходит, поскольку у пользователя могут быть другие открытые документы с экземплярами MIDIListener, которые не хотят удаляться из общего массива прослушивателей экземпляров.
Я делаю что-то не так, или это может быть ошибка с реализацией AudioKit MIDI?