Reaper для "Чайников". Любые вопросы. (11 онлайн)

@Landre, Script: Yannick_Add or open Melodyne VST3 in selected items.lua

Работает отлично, но только с мелодайном. Для других плагинов скорее всего не сложно модифицировать этот скрипт.
 
Последнее редактирование:
  • Like
Реакции: Landre
Короче, через FX браузер. Правой кнопкой и выбираешь плагин
 

Вложения

  • Скриншот-20260731-225501.jpg
    Скриншот-20260731-225501.jpg
    24,4 KB · Просмотры: 49
  • Like
Реакции: Antonio
Почему не видится на канале TBAudio VU meter ни в TCP ни в MCP?
 

Вложения

  • 555.png
    555.png
    29,6 KB · Просмотры: 25
  • 556.png
    556.png
    182,9 KB · Просмотры: 25
Спасибо. Я видел, что не активны. Надеялся, что это можно как то исправить. Жаль.
 
фича только для JS плагинов
родные вст тоже поддерживаются. Скорее всего протоколы в открытом доступе и любой может сделать вст с поддержкой. (пример)

Для разработки плагина, который может встраивать свой интерфейс (Embedded UI) в панели микшера (MCP) или трека (TCP) в REAPER, вам понадобятся официальные спецификации расширений от Cockos и правильные инструменты.
Основная спецификация для VST-плагинов находится здесь:
REAPER Extensions to VST SDK [1]

Как это устроено технически​

REAPER расширяет стандартный протокол VST2/VST3 через вендор-колы (effVendorSpecific / audioMasterCallback). Чтобы заявить хосту, что ваш плагин поддерживает расширенные функции REAPER, плагин должен отвечать на запрос effCanDo со строкой "hasCockosExtensions" и возвращать магическое число 0xbeef0000. [1, 2]
Для реализации Embedded UI (отображения мини-интерфейса прямо в окне микшера) используются специфические хаки контекста:

  1. Получение контекста трека: Вы запрашиваете указатель на трек через audioMasterCallback хоста, передавая скрытые опкоды 0xdeadbeef и 0xdeadf00e.
  2. Отрисовка: На macOS для этого используется расширение hasCockosViewAsConfig, позволяющее плагину передавать хосту чистый NSView (Cocoa) вместо создания стандартного отдельного окна. [1, 2, 3]

Готовые решения и фреймворки (Рекомендуется)​

Писать интеграцию с нуля на чистом C++ VST SDK сложно, поэтому разработчики чаще используют готовые обертки:


  • JUCE (C++): В популярном фреймворке JUCE есть встроенная поддержка встраиваемых окон REAPER. Вы можете изучить класс ReaperEmbeddedViewPluginDemo внутри репозитория JUCE — это готовый пример кода, показывающий, как получить контекст родительского трека (MediaTrack*) и встроить туда графику. [4]
  • IPlug2 (C++): Еще один аудио-фреймворк с открытым исходным кодом, который активно дорабатывается комьюнити под специфические фичи REAPER (включая CLAP/VST3 эмбеддинг).

Альтернатива: JSFX плагины​

Если вам не принципиально использовать тяжелый C++, REAPER позволяет создавать плагины со встроенным интерфейсом на внутреннем скриптовом языке JSFX. Они работают на полную мощность GUI REAPER без C++ компиляции: [5]


  • Ознакомьтесь с JSFX Programming Guide.
  • В JSFX для отрисовки в TCP/MCP достаточно использовать аннотации вроде @Init и специальные методы отрисовки gfx_*. Посмотреть примеры можно прямо внутри REAPER, открыв встроенный плагин ReaEQ или ReaComp в режиме редактирования кода.
Если вы планируете писать плагин на C++, уточните, какой аудио-фреймворк (JUCE, IPlug2 или чистый VST3/CLAP SDK) вы хотите использовать? Я смогу подсказать, где искать нужные файлы в их репозиториях.

[1] https://www.reaper.fm
[2] https://www.reaper.fm
[3] https://forum.juce.com
[4] https://forum.juce.com
[5] https://forum.cockos.com
 
Последнее редактирование:
  • beer
Реакции: Kokarev Maxim

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