Изменить подпись времени в MusicSequence

Я пытаюсь изменить сигнатуру времени (по умолчанию 4/4) в MusicSequence, но, похоже, я не понимаю, как это сделать. У меня есть 2 MusicTracks внутри последовательности, а MusicPlayer также воспроизводит музыку. Как я могу изменить это значение?

РЕДАКТИРОВАТЬ:

Теперь я знаю, что мне нужно добавить событие Time Sig к методу MusicSequence Tempo Track. Я знаю, что я могу получить этот трек с MusicSequenceGetTempoTrack , но как добавить к нему время сиг- сигнала ?

EDIT 2:

Изучив, я понял, что мне нужно создать MusicTrackExtendedMetaEvent для Music Tempo Track. Теперь мне нужно знать, как правильно форматировать MIDIMetaEvent (я знаю, что 88 – это metaEventType, но не знаю, как добавить остальную информацию).

После того, как я потратил 4 часа на это, я понял, как это сделать. Здесь код:

//Getting the tempo track MusicTrack tempoTrack; MusicSequenceGetTempoTrack (musicSequence, &tempoTrack); //Set time signature to 7/16 MIDIMetaEvent timeSignatureMetaEvent; timeSignatureMetaEvent.metaEventType = 0x58; timeSignatureMetaEvent.dataLength = 4; timeSignatureMetaEvent.data[0] = 0x07; timeSignatureMetaEvent.data[1] = 0x04; timeSignatureMetaEvent.data[2] = 0x18; timeSignatureMetaEvent.data[3] = 0x08; MusicTrackNewMetaEvent(tempoTrack, 0, &timeSignatureMetaEvent); 

Вот ссылка на спецификацию файла MIDI для поиска кодов подписи времени на http://www.somascape.org/midi/tech/mfile.html

Interesting Posts
Давайте будем гением компьютера.