@@Michael,
@EUGEN27771,
есть идеи, где можно взять инфу о пользовательских пресетах, которая в ini-файлах vst пресетов?
Хорошо бы запилить скриптовый экшен для сохранения пресетов, а не тыкать мышью по маленькому плюсику. Сделал экшены переименовывания и удаления текущего пресета активного vst-окна, завтра выложу на гитхаб, идеально бы и сохранение однокнопочное сделать, но не понятно, откуда брать инфу о пресете; зашифрована она очевидно не как в чанке трека. Тж пока неясно, что за переменная Len
[DOUBLEPOST=1459610248,1459444364][/DOUBLEPOST]Почти полностью разгадал создание пресетов при их сохрании
1. Берется кусок чанка трека начиная со второго абзаца после знака "<" и следующего за ним названия плагина (например <VST "VST3i: Zebra2 (u-he)") и до знака >.
2. Кусок чанка, полученный в п.1, кодируется в HEX (то есть по сути base64 to hex).
3. В файл пресета (путь которого можно получить с помощью API) записывается результат, полученный в п.2 после "Data=". Если длина строки превышает 32700 символов, строка разбивается на Data, Data_1, Data_2 ... .
4. Кроме Data в информацию о пресете входит порядковый номер (индекс), название, а также "Len" - длина строки Data, разделенная пополам.
На данный момент единственное, что непонятно -
в конец Data, (и в конец каждого блока Data, если их несколько) рипер
дописывает окончание, насколько понял -
два символа. Это может быть 'FC', 'FD', 'A9' и тд. Причем может вписывать, а может не вписывать (как например для родных плагинов, но проверена только часть), и для одного и того же плагина при разных настройках может дописывать разные окончания.
Удобство системы пресетов в рипере трудно переоценить - между пресетами можно перемещаться множеством способов, в том числе без мыши (двумя хоткеями), когда пресетов много - можно перемещаться, например, с определенным шагом (например перепрыгивать через 10 или 100 пресетов); не нужно загружать банки, вспоминая их названия - все пресеты находятся всегда в одном месте, это удобно; можно перемещаться по пресетам, не открывая интерфейс плагина; можно менять порядок пресетов, добавлять сепараторы и тд.
Однако при работе с пресетами часто приходится сохранять их - это делается в несколько щелчков мыши, но при сохранении большого числа пресетов выигрыш времени при сохранении пресетов в одно касание будет очевиден.
Если же понять, по какому правилу рипер дописывает окончания, можно уже сегодня начать сохранять пресеты в одно касание. Даже без ввода имени пресета и нажатия на Enter