|
Может не в тему, но проблема замучала меня уже.
Пытаюсь понять midi файл. Задача - оставить только ноты и необходимые мета-события (темп, ключ и др.) и убрать всю лишнюю инфу, ну попутно чуток изменить ноты, но это не так важно. Так вот для каждого трека устанавливаю переменную абсолютного времени. Из каждого события беру delta-time и приплюсовываю к моей переменной. И записываю только необходимые события в массив, указывая там абсолютное время для трека.
И когда записываю миди обратно, вычитаю из времени текущего события время предыдущего - получаю реальный дельта-тайм. Но в половине случаев длинна получившегося трека искажается. Сравниваю исходный и получившийся миди в Cubase - ноты правильные вначале все нормально, но потом треки сбиваются относительно друг друга и в конце дурь получается.
Из за чего такое может быть ?
Заранее спасибо за любой ответ.
|