Инициализация структуры MIDIMetaEvent

Я пытаюсь инициализировать структуру MIDIMetaEvent, найденную в MusicPlayer.h, с помощью swift. Заголовочный файл определяет структуру следующим образом:

struct MIDIMetaEvent {
  var metaEventType: UInt8
  var unused1: UInt8
  var unused2: UInt8
  var unused3: UInt8
  var dataLength: UInt32
  var data: (UInt8)
}

Что кажется довольно простым до тех пор, пока этот элемент данных. Это определение кортежа из 1 элемента? Я могу легко инициализировать все остальные элементы структуры, но тщетно пытался установить для «данных» что-либо еще, кроме одного значения. В моем коде я использовал массив UInt8 с именем myData и попытался инициировать структуру следующим образом:

var msg = MIDIMetaEvent(
  metaEventType : UInt8(0x7F),
  unused1       : UInt8(0),
  unused2       : UInt8(0),
  unused3       : UInt8(0),
  dataLength    : UInt32(myData.count),
  data          : UnsafeBufferPointer<UInt8>(start: UnsafePointer<UInt8>(myData), count:myData.count) )

Но компилятор недоволен этим и жалуется на «UnsafeBufferPointer no конвертируемый в UInt8». Если я просто установлю данные на одно значение, но установлю dataLength на значение больше 1, результирующие MIDIEventData показывают, что первое значение в событии - это то, что я вставил в «data», за которым следуют байтовые байты данных в соответствии с байтами «dataLength». , Ясно, что «данные» рассматриваются как некая непрерывная память.

Итак, как мне установить этот элемент «data» на элементы UInt8 из массива?

Ответы на вопрос(2)

Ваш ответ на вопрос