ReaPack - менеджер дополнений для Cockos REAPER

@Michael

Well-Known Member
14 Дек 2010
971
1.638
93
Орёл / Москва
Всем привет.

За последние несколько лет REAPER очень вырос из сырого карапуза с кучей багов до профессионального редактора, который вполне может конкурировать с крупными игроками рынка. Которым если не пользуются, то по крайней мере уже заинтересовались многие известные и не очень люди, несмотря на "нищебродскую" ценовую политику корпорации, состоящей из двух программистов.

Многие программные продукты предоставляли и предоставляют возможность писать макросы или простенькие скрипты в творческих целях или в целях автоматизировать рутинные действия, однако Cockos ушли дальше всех по свободе доступа к глубинному функционалу программы и объектам рабочего пространства, предоставляя тем самым потенциальному разработчику широчайшие возможности.

Потенциальные разработчики - это море энтузиастов со всех уголков планеты. Как и мы с вами, они как правило каким-либо боком относятся к музыке или звуку, и гораздо реже они действительно программисты в профессиональном смысле. Это и обычные музыканты, и аранжировщики, концертные звукари и саунд-дизайнеры, подкастеры и диджеи, люди из мира кино и ютюба, консерватории и пивбара, и многие другие. Часто они делают это бесплатно или за символическую плату. Это происходит по разным причинам: кто-то устал от неоправданных ценников за глючный или не очень глючный софт, авторы которого решают за конечного пользователя как ему работать, кто-то считает, что свободный доступ к информации - это прогресс, для кого-то это просто повод "оставить след в истории".

В конце 2015 года я решил, что нужно объединить всех этих людей. Пришлось находить много аргументов, чтобы убедить их, но главное, что в итоге мы создали международную команду единомышленников, которые делятся знаниями, умениями и учатся друг у друга. Делать это было очень сложно, так как не было централизованной платформы кроме, пожалуй, самого форума Cockos. До этого был конечно ReaperStash, однако это очень условный сервис, который воспринимают и по сей день лишь как файлохранилище, а не как нечто объединяющее.

Нашим канадским коллегой Christian Fillion было написано уникальное расширение, автоматически загружающее и устанавливающее в ActionList различные дополнения в виде скриптов, JS плагинов и прочего (в дальнейшем в контексте расширения - "пакеты") для разных целей, написанные обычными пользователями. По умолчанию доступно несколько репозиториев (это различные места, где хранится код, написанный одним из пользователей или командой пользователей):
  • ReaTeam Scripts - изначально скрипты, собираемые с просторов Stash, Cockos forum и других мест
  • ReaTeam JSFX - небольшая коллекция авторских JSFX плагинов
  • ReaTeam Themes - пользовальские темы оформления
  • ReaTeam LangPacks - языковые пакеты, русский тоже есть
  • ReaTeam Extensions - расширения, возможно когда-нибудь SWS тоже будет распространяться с помощью ReaPack
  • MPL Scripts - мои скрипты и JSFX
  • X-Raym Scripts - скрипты и JSFX, написанные Raymond Radett

Официальный сайт: reapack.com

Структура ReaPack:
  • расширение загружает репозитории (предустановленные или импортированные)
  • репозиторий содержит "пакеты"
  • пакет может состоять из чего угодно, это может быть один скрипт, или несколько или JSFX с графикой (графика при этом тоже является частью пакета, но в конечном итоге только JSFX оказывается "на виду" в списке JSFX плагинов), это может быть тема или языковой пак
  • ReaPack по понятным причинам предполагает использование интернет соединения для использования, однако оффлайн использование тоже возможно https://reapack.com/user-guide#offline-use
Установка ReaPack:
  • скачиваем dll или dylib, обязательно той же архитектуры, что и REAPER. То есть если REAPER x64, то и ReaPack скачиваем для x64
  • экшн Show REAPER resource path in explorer открывает рабочую директорию (она разная для портативной и обычной установки, и в зависимости от платформы)
  • dll кидаем в папку UserPlugins (создаём, если отсутствует)
  • перезапускаем REAPER, при первом запуске предложит указать репозитории, можно оставить как есть
  • при удачной установке экшн ReaPack: Synchronize packages инсталлирует (или в дальнейшем обновляет) указанные к установке пакеты (это не обязательно скрипты, в пакете может быть тема, JSFX плагин, Web Remote layout и.д.).
Обновление пакетов:
  • если требуется вручную установить пакет, то запускаем экшн ReaPack: Browse packages..., где находим нужный пакет (если он есть в одном из установленных репозиториев), и правой кнопкой помечаем его на инсталляцию, после чего запускаем обновление экшном ReaPack: Synchronize packages
  • также возможно автоматическое добавление новых пакетов из установленных репозиториев. Для этого запускаем экшн ReaPack: Manage repositories..., в Options указываем Install new packages when syncronizing. В дальнейшем экшн ReaPack: Synchronize packages будет не только обновлять имеющиеся скрипты, но и устанавливать новые
  • Obsolete packages - список таких пакетов может появляться при обновлении. Если пакет в этом списке, значит автор посчитал, что его небезопасно использовать, либо поменял название, либо переписал в другом виде, либо скрипт был реализован нативно. Желательно следовать предупреждению и, выделив, удалять такие пакеты.
Мини FAQ:
  • я узнал про скрипт blablabla. Как его установить?
Если автор просто выложил его на форуме в виде архива или просто как код, то вам сюда.
Возможно, скрипт уже по умолчанию в ReaPack, тогда ищите его в экшн листе.
  • Скрипт скорее всего в ReaPack, но в экшнлисте его нет!
Точно уверен в том, что понимаешь что такое скрипт? Может это просто экшн из SWS? http://www.sws-extension.org/
  • Скрипт точно должен быть в ReaPack, но в экшнлисте его нет!
Синхронизируемся с помощью ReaPack: Synchronize packages. Далее идём в ReaPack: Browse packages... Если он там находится, то правой кнопкой помечаем его на инсталляцию и запускаем ReaPack: Synchronize packages
  • Всё сделал, но его по прежнему нет
Возможно, это скрипт для MIDI Editor? Тогда и искать его нужно в секции экшн листа для MIDI Editor.
  • Скрипт, который мне нужен, находится в репозитории, которого у меня нет
Да, по умолчанию в ReaPack есть несколько "официальных" репозиториев, но также есть множество других. При надобности их нужно отдельно импортировать. Делается это следующим образом: 1) вы должны узнать у автора адрес ссылки для импорта его репозитория; 2) копируете в буфер обмена ссылку вида https://github.com/ArchieScript/Archie_ReaScripts/raw/master/index.xml (это файл для индексирования пакетов, содержащихся в указанном репозитории); 3) запускаем экшн ReaPack: Import repositories..., вставляем ссылку; 3) обновляемся с помощью ReaPack: Synchronize packages
  • как узнать что делает скрипт?
В большинстве случаев ответ находится в названии скрипта. Как вариант, возможно, скрипт описан самим автором, для этого нужно открыть список пакетов ReaPack: Browse packages..., правой кнопкой по пакету "About this package". Пункт "About %username% scripts" показывает информацию об авторе, у которого в крайнем случае можно спросить. Но при всём этом важно понимать изначальную политику связи автор-пользователь: гораздо полезнее будет поставить задачу и уходить в поиск решения в скриптах в крайнем случае, чем искать скрипты "просто так" или потому что "все пользуются".
  • при синхронизации выводится сообщение об ошибке
Убедитесь, что с интернет-соединением всё ок, ReaPack по понятным причинам не сможет синхронизироваться с серверами Git в оффлайне. Также нужно в соответствующих случаях настроить прокси, если вы его используете.

Информация:

 
Последнее редактирование:
Я бы сказал, что в процентах этого не описать)) Вы ОЧЕНЬ молодцы. Круто круто, братцы, и спасибо от всех нас.
 
  • Like
Реакции: Alex Longard
Михаил, передай от нас всех СПАСИБО всем участвовавших в этом проекте!
Но я надеюсь, что это только начало :).....
 
В этом всём процессе, к сожалению, есть одна существенная составляющая, которая отпугивает многих - отсутствие элементарного описания функционала представленных модулей.
 
дак вроде из названий скриптов понятно, что они делают, в большинстве своем.
В общем даже мне не понятно очень часто, чтож о людях, которые скрипт ни когда не открывали говорить.
Безусловно, лучший мануал это инуитивно понятный интерфейс или имя скрипта.
Но скрипт сам по себе делается под какую-то не прям на 100% очевидную задачу, иначе она бы в DAW самой была решена....
 
  • Like
Реакции: Oliver_Cray
да замечательно трудяги молодцы предложение с гифкой хорошее если по любому скрипту можно было найти гифку было бы идеально некоторые скрипты встречаются непонятные из за нюансов мелочи респект и уважуха
 
поддерживаю гифки. они очень упрощают понимание работы скрипта
 
поддерживаю гифки.
а кто их делать-то будет? )

хотя, в профильных темах на оффоруме большинство скриптов иллюстрированы гифками, кто реально интересуется, тот найдет. А кому "лижбы пак ещечегото качнуть" то оно и нафиг не надо, как впоследствии выяснится.
 
  • Like
Реакции: vitalker
а кто их делать-то будет? )
кроме разработчиков или тех, кто ТОЧНО разобрался со скриптом - не кому.

хотя, в профильных темах на оффоруме большинство скриптов иллюстрированы гифками, кто реально интересуется, тот найдет. А кому "лижбы пак ещечегото качнуть" то оно и нафиг не надо, как впоследствии выяснится.
Не всё так однозначно. У многих серьёзные проблемы не только с пониманием скриптов как таковых, а и с английским.
Визуальная информация, в виде поясняющей работу gif-ки очень бы помогла.
В конце концов для чего ВСЯ эта работа уже проделана? Для того, чтобы её результатами пользовались.
Наличие gif-ок увеличит интерес в разы - я уверен.
 
Вся эта работа сделана для конкретных людей, которые ставили ТЗ и пользуются результатами. Шарятся скрипты для того, чтобы банально исключить реализацию одинаковых задач разными разработчиками.
 
Т.е. использование уже написанных по чьему то ТЗ скриптов ещё кем-то не предполагается, а вся затея приследовала цель помочь исключительно разработчикам?
Зачем тогда ЭТО публиковать?
 
Предполагается, я как раз об этом и написал. Но раз уж это всё бесплатно - извольте смириться с тем, что идеально (как референс - анонс, инфошум, документация и графика для vst плагинов или дорогих библиотек) никто делать не будет.

Можно создать репозиторий отдельно для гифок и ссылаться на них в тегах скриптов, например. Ну и читать эти ссылки расширением. И потом, для многих скриптов нужно будет не гифку делать, а видео обзор, уж этим вряд ли кто-то заниматься будет.
 
Последнее редактирование:
  • Like
Реакции: Strannicom
Можно создать репозиторий отдельно для гифок и ссылаться на них в тегах скриптов, например. Ну и читать эти ссылки расширением.
Если целью написания скриптов было их публичное использование - это НЕОБХОДИМО делать, не менее необходимо, чем собственно их создание.
Тезис "захотят использовать потрудятся и разберуться сами" тут не проходит, в 99 случаях из 100 не разберуться.

уж этим вряд ли кто-то заниматься будет.
Михаил, а значит нужно смириться с тем, что спасибо за работу скажут многие, а вот реально пользоваться будут только создатели (и то врядли) и заказчики (если они были), при том, что для популяризации сделанной работы уже потраченно не мало времени.
То, что эта работа бесплатная ни какого значения не имеет.
 
Последнее редактирование:
Цель написания скриптов - упрощение определённых моментов в творческом процессе/процессе работы с проектами. Публичное их использование - это не цель, а приятный бонус и облегчение ответов на вопрос - вместо копипасты кода в тред можно просто дать ссылку или сказать название, т.к. ресурс известен и общедоступен. Отсутствие адекватного ценника имеет огромное значение. Адобовские скрипты в несколько строк продаются по 20 евро и народ покупает. И поэтому их авторам не жалко потратить на документацию и вменяемую презентацию время. Когда мы говорим о том, что происходит в коммьюнити Reaper, важно понимать, что тут другой менталитет. Пока что. Со временем всё это станет либо таким же платным и потеряет к себе интерес, либо так и будет оставаться на уровне плинтуса, подкрепляемого хилым энтузиазмом.

Так что если какой-то из скриптов по сверхкраткому описанию или названию вам кажется безумно полезным - только в ваших руках реализовать любое из возможных решений ситуации:
  • написать автору в любой из доступных контактов
  • написать в тред с просьбой добавить описание для данного скрипта
  • разобраться самому путём рандомного кликанья
А уже разобравшись и поняв, что так жить нельзя, предложить сообществу возможные альтернативы решения проблемы, ибо кроме вас это делать никто не будет, потому что добрые намерения имеют свойство заканчиваться, особенно поглощая бесконечные претензии с разных сторон.
 
Ну всё верно, здесь больше на рекомендацию похоже, вполне оправданную. Но вообще очень много читал мнений, где рекомендательный характер переходит в требование, поэтому по умолчанию я немного в штыки читаю тут всё, что пишут.
 
поэтому по умолчанию я немного в штыки читаю тут всё, что пишут.
Не, Миша - тут в штыки не нужно!
Хотя ты конечно прав - очень часто, вместо благодарности получаешь доп проблеммы и плавно оказываешься в ситуации когда чуствуешь себя без вины виноватым....

Я хорошо понимаю, что есть бесплатная работа, которая нравится, процесс которой сам по себе в кайф - и собственно это и есть мотивация делать это бесплатно, если есть время.
А есть рутина, которую делать конечно будешь, но если это условие Заказчика, который платит за труд.
Мои посты чистой воды рекомендации и не более того, при чём не только адресованные тебе, а всем, кто разберётся в написанных скриптах, и ТЕМ БОЛЕЕ тем, по просьбе которых ты это бесплатно написал - они то знают, я надеюсь, как работает заказанный ими скрипт :)
 
@Aleksandr Oleynik, экий вы едкий;) Вы придумали неплохою идею с гифками. Ваше личное пожелание, которое и мне нравится, вот только зачем описывая свою идею убеждать окружающих в том, что без гифок расширение ReaPack вообще понадобится исключительно разработчикам, а остальные грустно обломаются из за непонимания? Если люди пользуются скриптами, они уже полазили по ресурсам в поисках необходимых скриптов и уверен "навострились" разбираться по названию что примерно делает тот или иной скрипт. Так что ваше мнение "проделанная работа сама в себе и широкого распространения не получит" не имеет под собой каких то действительно весомых оснований) В одном месте собрали скрипты со всей планеты. Бесплатно!:eek: Они даже сгруппированы по категориям. моментальный поиск. удобная инсталляция скриптов. автоматическое обновление!!! (фанатею я когда за меня работу делает железяка). и все это - не покидая нашей любимой DAW. Тут плясать да радоваться))) Появилась идея по улучшению сервиса? супер! поделились и дальше радоваться)
Всем добра:)
 
К ReaTeam подключился SmashedTransistors. Теперь его JSFX будут также обновляться (если JSFX репозиторий включен во вкладке Manage Repositories).
Изменил сегодня структуру и имена JSFX, чтобы соответствовало принятым форма имён файлов вида Автор_Название.jsfx

Так что если кто-то тут пишет интересные JS - есть возможность удобно их шарить/обновлять.
 
  • Like
Реакции: noshyn и fakeitback
@@Michael, поддерживается ли скрипты и JS из нескольких модулей? То есть, допустим, на примере скрипта - осн. скрипт и подкл. модули - лежат в одной папке, или картинки, например.
Они загрузятся для пользователя?
 
О, гляну, спасибо.
========
Я правильно понимаю, что он сначала перечислял вручную все модули,
Provides:
и тут все модули....
А потом в ReaPack добавили новые возможности, и он просто написал:
Provides: spk77_Track IO mixer/*
что(это предположение) включает вложенные папки?
=========
Вроде так же у supermaalima:
anomaly_Bass professor MK2/*
===
То есть - писать
provides: Имя_подпапки/*
 
Последнее редактирование:

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