ReaScripts (скрипты для Reaper) - обсуждение (1 онлайн

PianoIst

Well-Known Member
19 Май 2010
4.126
4.205
113
30
Kirchberg, kreis Zwickau
soundcloud.com
@Trasher, Теперь понятно, интересует метапрограммирование.
Ну… Зависит от среды, в которой запускается. Легче всего реализовать как плагин для редактора кода. Как это сделано, допустим, для KSP.

Там плагин офигеть какой здоровый и развёрнутый. Но в целом, в вашем случае, можно обойтись буквально ~30 строчками кода:
  1. Получаем из буфера редактора текст (В SublimeText это какая-то из вариаций API view.lines())
  2. Сравниваем через regex нужный вам паттерн
  3. Если надо заменить макрос на несколько строк, то пушим в вывод наши строки
  4. если regex не находит соответствие ‒ пушим оригинальную строку
  5. Пушим строки обратно в буфер редактора. Или в новый файл, как вам удобно.
К сожалению, не могу предоставить релевантный пример. Но, в общем и целом, без всякой подготовки в SublimeText можно написать свои макросы за вечер.

P.S. Тут надо понимать, что прямо совсем кошерно всё равно не получится, потому что в том же JSFX препроцессора нет. Но в целом, никто не мешает в билд добавить свой препроцессор, если и так там что-то экспандится.
 
  • Like
Реакции: Trasher

Trasher

Well-Known Member
12 Янв 2013
642
451
63
@PianoIst,все правильно мета программирование. Препроцессор появился в jsfx с 6.82(по-моему) Вот как раз для него и надо. Сам скрипт на семейках/cmake.(выбрал из-за открытости кода и кросс платформы, но минусом подтянул избыточность/многословность синтаксиса семеек и безобразное поведение при работе со строковыми типами из-за ";" ). Просто принт сишный(вроде просто на первый взгляд, для разбора) возникают проблемы из-за переменного количества аргументов и разнообразия вариантов оформления аргумента параметра строки форматирования. Да.... все-таки, придётся регулярки использовать(как они меня бесят) . Спасибо за наводку.
 
  • Like
Реакции: PianoIst

variator

Active Member
9 Сен 2008
432
45
28
Не. Просто там это было в первые и интересно. :)
[DOUBLEPOST=1481381492][/DOUBLEPOST]
Та я просил Женю перенести в скрипты, а он......
Попрошу модераторов перенести часть постов в профильную тему.
Люди, а как найти перенесенные скрипты?
 

fruitcore

Active Member
14 Дек 2013
290
76
28
NN
Привет. Подскажите плиз, какой командой происходит апдейт отображенных треков при SetMediaTrackInfo_Value с параметром "B_SHOWINTCP" ? ни UpdateArrange, ни UpdateItemLanes не помогают
 

Kokarev Maxim

Барыга от искусства
13 Май 2007
5.629
4.917
113
44
Барнаул
recording-studio.ru
Привет. Подскажите плиз, какой командой происходит апдейт отображенных треков при SetMediaTrackInfo_Value с параметром "B_SHOWINTCP" ? ни UpdateArrange, ни UpdateItemLanes не помогают
Вероятно
reaper.TrackList_AdjustWindows(true)
после команды SetMediaTrackInfo_Value
 
  • Like
Реакции: fruitcore

Сейчас онлайн (Пользователей: 0, Гостей: 1)