Версия: 3.1.0.32 | 17.06.2024 |
Скачать (WIN32) | Скачать (WIN64) |
Целью данной главы является дать пользователям начальное представление о внутреннем устройстве расширения. Здесь же мы кратко расскажем о разработчике «Уха» и принципах, которыми он руководствуется в работе над своим проектом.
Разработчиком проекта является Иван Себекин, создатель reaEar1, а также создатель его предшественника reaAccess. Не смотря на то, что сохранилось название от старого проекта, нынешний продукт таит в себе принципиальные отличия и улучшения. Главным образом это стало возможным благодаря тому, что новое «Ухо» было написано практически с полного нуля, без какой бы то ни было ориентации на предшествующие плагины и, их исходные тексты.
Написано настоящее расширение в среде codeTyphon и собрано посредством компилятора free pascal. Портирование REAPER SDK на язык программирования pascal осуществлено в конце 2019 года автором расширения, тогда же началась работа и над самим проектом. Основным инновационным решением нового «Уха» стало алгоритмическое построение его внутренних механизмов. Расширение функционирует благодаря скриптам, которые можно добавлять, удалять или изменять в реальном времени, без непосредственного участия главного разработчика. Каждая команда «Уха», каждая озвучка штатных команд REAPER или команд сторонних расширений, каждый внедрённый с «Ухом» диалог - это отдельный скрипт, который доступен конечному пользователю как для корректировки, так и просто для изучения. Подобный подход позволяет не только ощутимо ускорить и максимально упростить процесс добавления новых функций в плагин, но и привлечь к данному процессу любое количество сторонних разработчиков.
Второй принципиальной задачей было добиться универсальности нового расширения. Результатом этого стали: и мультиязычность, и мультираскладочность, и потенциальная мультиплатформенность «Уха». Интерфейс расширение очень легко может быть переведён на множество других языков. В рамках одного экземпляра REAPER в связке с «Ухом» можно одновременно использовать несколько клавиатурных раскладок, а можно дополнительно заняться созданием своей собственной раскладки. В последствии расширение может быть портировано на любые платформы, поддерживаемые кроссплатформенным компилятором FPC: и macOS, и Linux, и даже Android.
Также автором уделяется огромное внимание оптимизации всех внутренних алгоритмов расширения, что делает его не только конкурентоспособным среди родственных проектов, но зачастую и превосходящим их по ряду параметров, в том числе скорости и стабильности работы. Если добавить к этому ещё и скрупулёзное отношение автора к качеству озвучки тех или иных команд, стремление к практическому удобству конечного пользователя, изящное преодоление любых препятствий, возникающих на пути незрячих музыкантов, аранжировщиков, звукорежиссёров и так далее, то мы получим без лишнего преувеличения действительно достойный продукт, равноценных аналогов которому просто на рынке в настоящее время не существует!
«Ухо» состоит из следующих компонентов:
Компоненты расширения в свою очередь состоят из следующих частей:
Озвучка новых команд, внесение тех или иных исправлений в уже реализованную озвучку, внедрение дополнительного функционала расширения, в том числе добавление новых мультипрессинговых назначений, создание циклических переключателей, создание различных контекстных меню, возможны только в режиме разработчика. В обычном пользовательском режиме доступно лишь изменение клавиатурной раскладки.
К режиму разработчика имеют доступ абсолютно все пользователи зарегистрированного экземпляра расширения. Наличествует возможность включения для того или иного пользователя особого статуса, благодаря которому все внесённые им изменения или дополнения в определённые области «ушных» алгоритмов будут тут же синхронизированы у всех пользователей. Таким образом, чаще всего новый функционал расширения доставляется до конечного пользователя без глобального обновления исполняемых файлов, а работать над этим новым функционалом может любое количество людей.
Мы не станем в рамках данной главы подробно описывать режим разработчика, но, чтобы дать примерное представление о принципах его работы, кратко опишем последовательность действий, которая необходима для озвучивания той или иной новой команды:
В результате в алгоритмической части «ушных» компонентов будет создан скрипт, относящийся именно к данной команде, благодаря чему Вы и сможете её озвучить или как-либо обработать.
Например, для того, чтобы озвучить тот или иной штатный переключатель (тогл) REAPER, в его скрипте достаточно написать:
say.toggle(self);
После внесения тех или иных изменений, алгоритмы необходимо перезагрузить:
Абсолютно все созданные на сегодняшний день скрипты доступны в исходниках, и каждый желающий может на них взглянуть, обратившись к алгоритмической части компонентов «Уха». В данной части Вы также отыщете мультипрессинговые назначения, раздел с циклическими переключателями, а также глобальные модули, в которых реализованы все виртуальные «ушные» диалоги, такие как:
Виртуальным диалогам, как базовой составляющей расширения, будет посвящена отдельная глава. Это не просто диалоги, предоставляющие возможность управления теми или иными параметрами, это мощнейший инструмент для удобного, оперативного, быстрого, конкурентоспособного взаимодействия с программным интерфейсом REAPER.
Устройство «уха» таково, что оно позволяет посредством всё тех же скриптов озвучивать или каким-либо образом корректировать не только штатные команды REAPER, но и команды любых других сторонних расширений. Таким образом, разработчик «Уха» уделяет огромное внимание известному в кругах продвинутых пользователей REAPER, расширению SWS, регулярно озвучивая его команды. В связи с этим, настоятельно рекомендуется использовать «Ухо» именно в связке с SWS, хотя конечно же практически всё будет прекрасно функционировать и без него.
Более подробно о режиме разработчика Вы можете прочитать в соответствующем разделе нашей документации.