Обновление до последней версии AudioKit привело к тому, что я изменил несколько экземпляров AKCallbackInstrument на новый класс AKMIDICallbackInstrument, который теперь включает первый как устаревшее поведение.Однако при этом я столкнулся с этой странной ошибкой.Может быть, нюанс Swift, которого мне не хватает?
let callback = AKMIDICallbackInstrument() { status, note, velocity in
if status == .noteOn { //errors out
// do something
}
}
Сравнение status с .noteOn с: «Тип выражения« Bool »неоднозначен без дополнительного контекста.».Имеет смысл, потому что AKMIDICallbackInstrument больше не возвращает статус AKMIDIStatus, а прямой MIDIByte (UInt8).Использование прямой MIDI команды чисел работает.
let callback = AKMIDICallbackInstrument() { status, note, velocity in
if status == 0x90 {
// do something
}
}
Итак, у нас есть проблема и потенциальное решение.Я просто не уверен, что это путь, и AKMIDICallbackInstrument еще не попал в документы.