Спокойнее, парни. давайте разберемся.
При открытии готовых мидифайлов Сонар получает информацию каким-то образом об патчах инструментов банка GM
Внутри файла имеется специальный заголовок, в котором записывается кроме всего прочего инструмент/банк, присвоенный каждому каналу по умолчанию. Вот оттуда-то и берется информация о патче.
т.е. он показывает инструменты на мидитреках, даже если их не видно в EventList.
Именно! Именно в заголовках треков их он и показывает. Зачем же еще их показывать в EventList?
Откуда он берет (и не только он) информацию о патчах банка, если она зашита в мидифайле?
Ну так, как раз из информации, зашитой в мидифайле (а точнее, в заголовке мидифайла), он и берет информацию.
Миди-файл любого формата - это не просто поток миди-сообщений. Он имеет намного более сложную структуру, в числе коей имеется также заголовок, где, собственно, и прописаны банки и патчи для каждого канала.
Как можно эти данные автоматически при помощи Сонара прописать как сообщения контроллеров PatchChange прямо на мидитреках?
Зачем? Программа, которая может читать миди-файл формата MID, при старте воспроизведения, перед передачей собственно миди-данных, сама посылает сообщения о патче и банке соответсвующему инструменту.
Или это нужна какая-то другая программа? Мне это нужно, чтобы мидитреки можно было использовать в других прогах с выставленными патчами и по новой не выставлять инструменты...
Любая программа, которая умеет читать файлы формата MID, должна уметь самостоятельно настраивать инструменты на воспроизведение именно того банка/патча, который указан в заголовке миди-файла. То есть перед началом воспроизведения она должна самостоятельно послать сообщения об изменении банка/патча для каждого из каналов по миди-интерфейсу.
То есть, открываешь миди файл, хоть в сонаре, хоть в другой проге, и патчи будут выставляться автоматически при старте воспоизведения. Прога это будет делать сама, зачем тебе еще заботиться об этом?
Ну, а если ты в начале трека прописываешь команду изменения патча, то, разумеется, играть будет последний, потому-как данные об изменении патчей, прописанные в свойствах треков, передаются по миди ПЕРЕД передачей непосредственно миди-данных. Так что, стирай все данные об изменении патча в треках (не в заголовках), и не забивай голову.
[ADDED=Serg196]1124906047[/ADDED]
Мидифайлы есть такие у каждого музыканта и не только. Не получилось найти нужную только мне прогу.
Тьфу, у меня, кажется, что-то с головой.
так у тебя УСТАНАВЛИВАЮТСЯ или НЕ УСТАНАВЛИВАЮТСЯ автоматически патчи в свойствах треков?
Или ты уверяешь, что в Сонаре - устанавливаются, а в другой - нет? В какой именно? В Кубе?
Если в Сонаре устанавливаются, им и пользуйся. Нафига тебе еще какие-то проги?
Или все не так? Ничего не понимаю...