ReaScripts (скрипты для Reaper) - Учимся создавать!!!

А может и ни как, если нет на это API - нужно глянуть
У меня есть уже такой скрипт, и он написан точно также - API для изменения масштаба пиков нет
[automerge]1616679209[/automerge]
Код:
  function Peaks()
    local _,_,_,_,_,_,val = reaper.get_action_context()
    if val > 0 then
    reaper.Main_OnCommand(40155, 0)
    else
    reaper.Main_OnCommand(40156, 0)
    end
  end


  Peaks()
 
  • Like
Реакции: Mr_Tsonts
Я для себя понял так: "Скрипты - это интелектуальные кастом экшены"
Их преимущество хотя бы в том, что при обработке можно выключать обновление экрана, что многократно ускоряет процесс, а для действий с окном аранжировки достаточно обновить его один раз - в конце.
 
Так нет никакой разницы, запускается это через API или просто экшеном.
Есть. Экшин может содержать в своём, не доступном нам теле, огромное кол-во строк кода и действий, а API управляем мы.
 
Я для себя понял так: "Скрипты - это интелектуальные кастом экшены"
Скорее - Экшины и Кастом Экшины - это скомпанованные в одну строку скрипты. Поменять особо ни чего нельзя и громоздкость кода не известна.
 
Есть. Экшин может содержать в своём, не доступном нам теле, огромное кол-во строк кода и действий, а API управляем мы.
Ну это как бы логично. Я лишь о том, что работают они точно так же, не хуже и не медленнее.
 
Их преимущество хотя бы в том, что при обработке можно выключать обновление экрана, что многократно ускоряет процесс, а для действий с окном аранжировки достаточно обновить его один раз - в конце.
Не....... преимущества Скриптов в том, что вы по строчно контролируете процесс при их создании и делаете ТО, что очень часто просто нет и н5 возможно с использованием Экшинов
 
Скорее - Экшины и Кастом Экшины - это скомпанованные в одну строку скрипты. Поменять особо ни чего нельзя и громоздкость кода не известна.
Разница в производительности мизерная по сравнению с тем, сколько даёт отключение обновления экрана.
 
Разница в производительности мизерная по сравнению с тем, сколько даёт отключение обновления экрана.
Экшины и Скрипты - это совершенно разный уровень программирования.
Вот как эсэмблер и вижуал си.
Экшины - это уже скомпилированные части кода, а Скрипты сам код.
Утрировано конечно, но суть передаёт.
 
Но если есть API, я всегда предпочту именно его.
Любой думающий человек сделает точно так же. Кто ж спорит, Александр.
Вы это не сможете проверить.
Какое максимальное количество времени у вас заняло выполнение любого из нативных экшенов?
 
Экшины и Скрипты - это совершенно разный уровень программирования.
Вот как эсэмблер и вижуал си.
Экшины - это уже скомпилированные части кода, а Скрипты сам код.
Утрировано конечно, но суть передаёт.
Да кто ж спорит? Просто нет смысла париться, если разница меньше секунды.
 
Какое максимальное количество времени у вас заняло выполнение любого из нативных экшенов?
Одного?
А двух сотен? А тысячи?
[automerge]1616782447[/automerge]
Да кто ж спорит? Просто нет смысла париться, если разница меньше секунды.
Кому и секунда вечность. Кроме шуток.
 
Одного?
А двух сотен? А тысячи?
Да, одного. Я не сравниваю экшны со скриптами, в отличие от вас.
С помощью скрипта можно уменьшить время выполнения встроенных экшенов с помощью отключения обновления экрана.
 
С помощью скрипта можно уменьшить время выполнения встроенных экшенов с помощью отключения обновления экрана.
Нет, совершенно не это главное в скриптах! Скриптом можно написать функцию, которой НЕТ и не будет в Экшинах!
Ну вот вы можете Экшинами соединить два Рипера по Эзернету на двух разных компах и сделать их полностью синхронными для Бэкапа Плэйбэка на концерте? Так чтоб плэй был синхронен, все перемещения курсора, причём что с Мастера, что со Слэйта, чтоб два проекта синхронизировались по всем параметрам при старите скриптов, чтоб в ходе работы мьюты Айтемов синхронились автоматом.
Не нужно сравнивать Экшины и Скрипты, то, что есть Экшины, которых пока нет в API - это только воля Джастина и не более того.
И да - при этом в Скрипте легко можно использовать Экшин.
 
Последнее редактирование:
Ну вот вы можете Экшинами соединить два Рипера по Эзернету на двух разных компах и сделать их полностью синхронными для Бэкапа Плэйбэка на концерте?
Сомневаюсь, что это можно сделать со скриптом.
 
@Aleksandr Oleynik, интересно! А ссылочку можно? Ну да, с помощью экшнов такое не сделать.



Сделано для возможности использования двух ноутов с реперами в качестве Бэкап Плэйбэка.
Мастер стоит у Звукорежисера, Слей стоит на сцене. Кроме того, что при пропадании звука с Мастера на пульте автоматом переключается звук со Слэйта, Любые изменения в ходе концерта на Слейте или на Мастере (всякое бывает), можно синхронизировать и они видны и там и там сразу.

Ну да, с помощью экшнов такое не сделать.
Разве только такое?
 
Последнее редактирование:
  • Like
Реакции: fractala
Ну только, к сожалению, не очень это все спешно в плане синхронизации, когда проект здоровый, несколько секунд запросто может носить данные, да на видео вполне видно. Из-за некоторых технических ограничений скриптов в Рипере там двухслойная система, с lua и eel, плюс пришлось разбивать данные на кусочки ограниченной длины, что, конечно, не добавило быстродействия.
 
  • Like
Реакции: vitalker
Ну только, к сожалению, не очень это все спешно в плане синхронизации
Смотря какой.
Та что нужна быстрая, типа синхронного Плэя, Стопа, Паузы, мьютирования/анмьютирования айтемов и треков и любых иных действий не с массивом ВСЕХ данных, а с конкретным айтемом или треком или FX-ом - происходит за миллисекунды.
А глобальная синхронизация ВСЕГО проекта - и не нужна быстро.
Это нужно перед началом Концерта, чтоб случайно два проекта на Мастере и Слейте не разъехались, ну и при каких то ЧП во время концерта, чтоб опять таки, исправив проект на Слейте или Мастере сделать их идентичными.

И я, честно говоря, не знаю АНАЛОГА нами сделанного, ни программного ни аппаратного, ни за какие деньги.
 
  • Like
Реакции: Antonio
@Rst7, Дима, самое главное (Я ПРОВЕРИЛ) на Плэй (звук) эта синхронизация НИ КАК не влияет вообще - звук как шёл, так и идёт во время синхронизации.
 
звук как шёл, так и идёт во время синхронизации.

Ну это, боюсь, точно сломается, если добавлять какие-то сторонние плагины на трек. Штатные риперовские может и аккуратно стартуют, а вот какие-нибудь другие - запросто могут и заткнуть все на время своего старта.
 
Ну это, боюсь, точно сломается, если добавлять какие-то сторонние плагины на трек. Штатные риперовские может и аккуратно стартуют, а вот какие-нибудь другие - запросто могут и заткнуть все на время своего старта.
Народ же не экстремалы и понимают, что ЧП, есть ЧП и лучше подобное делать в паузах между композициями.
Но сама возможность иметь БЭКАП за копейки - это что-то.
 
Последнее редактирование:
@Aleksandr Oleynik, а ссылка где? Да и на видео показаны два рипера на одном компьютере. И само видео какое-то сумбурное, непонятно что делается.
 
Да и на видео показаны два рипера на одном компьютере.
Для удобства показа! Работают то они по TCP/IP и им всё равно где они, просто в данном случаи IP = 127.0.0.1 вот и всё.
Ссылка на что?
На скрипты?
Они пока в тесте, вот пройдут боевое крещение - тогда можно проект и выложить на всеобщее обозрение.
Кстати, вы уже помогали с переводом на английский и публикацией на оффоруме, может и в этом случаи поможете?
Правда прошлый раз отклик был нулевой, народ не понял....
И в этот раз вряд ли будет много фанов, уж больно узко направленный проект. Хотя - таким образом можно носить междуРиперами любую информацию!
 
Работают то они по TCP/IP и им всё равно где они, просто в данном случаи IP = 127.0.0.1 вот и всё.
Так если они будут находится на расстоянии, то задержка наверно будет выше, не так ли?
Правда прошлый раз отклик был нулевой, народ не понял....
Да, видимо что-то не зацепило. Или просто не вовремя.
Они пока в тесте, вот пройдут боевое крещение - тогда можно проект и выложить на всеобщее обозрение.
Интересно хотя бы глянуть, какие команды отвечают за обмен по сети.
 

Сейчас просматривают