Как управлять панорамой сендов, через midi cc

  • Автор темы Автор темы nounaim
  • Дата начала Дата начала

nounaim

Active Member
29 Авг 2010
329
65
28
Нужно чтобы midi cc события в айтеме управляли панорамой посылов, например чтоб значения "10 pan position" первого midi канала отправлись в панораму первого сенда, 10 pan position 2го канала - во второй сенд, и т.д, пожалуйста подскажите как это можно сделать.
 
Последнее редактирование:
@nounaim, напишите вопрос целиком, а не только его часть.
Т.е., чем подробнее опишите задачу, которую таким вот образом собрались решать, тем точнее получите решение.
 
@nounaim, вот так сделайте
Снимок.PNG
на треке MIDIto ReaControlPath.Этот плагин переводит локальные миди-сообщения с входа трека,айтема и т.п. в глобальные.Остается обучить экшны.Для этого добавьте на трек несколько айтемов последовательно,на каждом нарисуйте 10-й контроллер,но на разных каналах.Клик по экшену,нажмите ADD,запускайте воспроизведение 1-го айтема,затем следующий экшн и следующий айтем и т.д.Это нужно проделать только в первый раз,для обучения экшнов.
В дальнейшем- просто добавляете плагин и все готово.
П.С. в примере на рисунке показал только три,но можно все 8 обучить
 
  • Like
Реакции: nounaim
@Aleksandr Oleynik, я стал использовать maschine (native instruments), сделав темплейт для барабанов не получается с разных midi каналов управлять панорамой разных сэмплов из Maschine "палками" midi cc в айтемах.
Maschine как я понял не отличает с какого midi канала поступают midi cc сообщения, т.е сменив midi канал ,после нажатия learn в maschine отваливается привязка к крутилке pan у сэмпла к которуму control change с таким же названием уже привязал(но от другого midi канала)).

Хотелось бы управлять панорамой загруженых (16 сендов) в maschine сэмплов через midi сс события в самом айтеме, то есть например на 1-ом midi канале один звук из maschine - в айтеме под нотами CC собщения меняют pan -> менять на 2-ой midi канал с другим сэмплом и там CC "палки" с тем же названием меняют панораму второго сэмпла и т.д для 3-16.
Такая вот проблема.
 
Последнее редактирование:
Пока вы писали мне ответ, Евгений всё правильно описал.
Вам понятно то, что он написал, или нужно подробнее?

Я только всё равно не понял совсем смысл задуманного :(, а зачем управлять панарамой каждого сэмпла, да ещё и в сендах?
 
Последнее редактирование:
@Aleksandr Oleynik, в сендах потому что в айтемах для maschine-сэмплера нужно назначать СС события с разными именами для pan каждого сэмпла , maschine понимает только одно одинаковое midi cc из 16(16 midi каналов) на весь плагин.
я не собираюсь управлять панорамой каждого сэмпла) - просто гибкий темплейт в котором не надо лезть в сэмплер/искать pan/нажимать learn/ привязывать и т.д; если уже открыт midi editor и я мог бы рулить панорамой нужных звуков прямо оттуда, рисуя ее под нотами.
[DOUBLEPOST=1429473947,1429472380][/DOUBLEPOST]@EUGEN27771, спасибо, а есть ли способ расширить экшены до 16 каналов как в sws?
 
Последнее редактирование:
а есть ли способ расширить экшены до 16 каналов как в sws?
Вообще-то, вы то разобрались, что этот Экшин работает ТОЛЬКО с выделенным трэком?
Т.е., по скольку я так до конца саму идею и не понял, то и не сильно понимаю как оно по итогу должно работать, но если в этот момент будет выделен другой трэк или ни какой - ничего работать не будет.

PS: Может всё-же объясните по шагово, что хотите сделать - не пользуюсь Машине, хотя она есть у меня.
[DOUBLEPOST=1429484441,1429482038][/DOUBLEPOST]Кстати, если подгрузить в Control Surfaces > OSC (Open Sound Control) и там в Pattern config: Default
То будут работать локальные OSC команды Консольные.
Команда для управления панорамой в сенде конкретном - /track/1/send/1/pan 0.5 --- это центр
Я вот только не знаю как это в вашем случае использовать - это не динамичная команда.
 
Вообще-то, вы то разобрались, что этот Экшин работает ТОЛЬКО с выделенным трэком?
Ага, вижу теперь что только с выделеным .значит это не подойдет к сожалению .
PS: Может всё-же объясните по шагово, что хотите сделать..
Я просто хочу панорамировать влево/вправо ), хэты например или эффекты(сэмплы) какие, хай хетам может автоматизация панорамы и не нужна, а другим звукам может и да; выше на скриншоте хорошо вроде видно всё, но выделен трек машин с бочками а не с эффектами (там тоже 16сендов),

надо панорамировать все звуки из машин через миди редактор прямо под нотами, не лазая в сенды или к трекам куда отправлено.
 
Последнее редактирование:
этот Экшин работает ТОЛЬКО с выделенным трэком?
Я забыл об этом написать,но это и логично.Экшены же ориентированы на управление извне,внешним миди-контроллером.Представьте,если бы,например мы привязали пан-сенд к внешней крутилке,и она бы регулировала панорамму всех треков?
Если выделить несколько треков,то будут работать все выделенные.

Кстати, если подгрузить в Control Surfaces > OSC (Open Sound Control) и там в Pattern config: Default
То будут работать локальные OSC команды Консольные
Можно и не грузить,они и так работают.
 
Я забыл об этом написать,но это и логично.Экшены же ориентированы на управление извне,внешним миди-контроллером.Представьте,если бы,например мы привязали пан-сенд к внешней крутилке,и она бы регулировала панорамму всех треков?
Если выделить несколько треков,то будут работать все выделенные.
Да, это понятно, но вот в описанной ТС задаче (и подобных, если я её правильно понял блин.... :) ), нужно чтоб команда (в данном случае СС 10 с разной value) управляла панарамой сэндов на треке, из которого она проистекает. По сути нужно чтобы в начале автоматом выделялся трэк с которого поступает команда.
Наверное можно какой-то Кастом Экшин написать, пока не вдумывался.


Можно и не грузить,они и так работают.
Да! Это я параллельно с внешним контролером и командами разбираюсь :)
 
Последнее редактирование:
Ну....., как-то проясняется. Но вам по любому нужно сделать столько манипуляций, для того чтобы управлять (выставлять) панораму из пианрола, что проще открыть интерфейс плагина!
Тем более, что вы же в плагине не только панораму крутите для каждого из инструментов....
@nounaim, а может вы проект какой нить в Рипере с maschine скинете - в котором бы схема ваша была?
 
нужно сделать столько манипуляций, для того чтобы управлять (выставлять) панораму из пианрола...
это да, но если собрать схему однажды, можно потом грузить её в несколько кликов , и не настраивать потом ничего; еще наверно там же удобно будет автоматизировать при необходимости панораму (которая гуляет влево-право например) сэмплов-эффектов загруженых в machine; в machine не удобная автоматизация а назначать каждый раз долго.
а может вы проект какой нить в Рипере с maschine скинете..
вот голый проект, только схема, можно грузить, расставлять сэмплы
[url=http://my-files.ru/51gb8q]MASCHINE_DRUMS_TEMPLATE[/URL]
 
Последнее редактирование:
Не могу скачать с того ресурса.
такие маленькие файлы грузите прям в движёк форума, через - Загрузить файл
 
это да, но если собрать схему однажды, можно потом грузить её в несколько кликов , и не настраивать потом ничего; еще наверно там же удобно будет автоматизировать при необходимости панораму (которая гуляет влево-право например) сэмплов-эффектов загруженых в machine;
Так панорама, как мне кажется, далеко не единственный и не главный параметр, который вы настраиваете при создании нового проекта с использованием даже тэмплэйта.
По этому, как мне кажется, вы только усложняете себе жизнь!
Да и потом - мне кажется, что покрутить движёк панорамы в Envelopes for track настройках (Automation mode самого Рипера, а не плагина) - на много проще, чем рисовать value контролеру CC10 а=в пианороле! -
SendPan01.png

И автоматизацию там проще и нагляднее делать.

в machine не удобная автоматизация а назначать каждый раз долго.
Зачем автоматизацию делать в плагине?
Делайте её на треке Рипера - в TRIM Рипера есть КАЖДЫЙ параметр вашего плагина!
[DOUBLEPOST=1429523919,1429523656][/DOUBLEPOST]
не заметил кнопку)
Посмотрел, я видимо не в теме совсем :(
А зачем такое кол-во Kick-ов (и прочего), да ещё и разбросанных каждый на свою дорожку?
Разве Машина не умеет грузить мультисэмплы?
 
в TRIM Рипера есть КАЖДЫЙ параметр вашего плагина!
В machine нужно выбирать-назначать параметры которые будут появлятся в меню с автоматизациями, если я правильно понял что такаое trim
А зачем такое кол-во Kick-ов (и прочего), да ещё и разбросанных каждый на свою дорожку?
Разве Машина не умеет грузить мультисэмплы?
чтоб по отдельности слоить/обрабатывать vst плагинами в рипер, не заморачиваясь с роутингом и эффектами в machine,

16 возможно многовато, но этого точно хватит.

Да и потом - мне кажется, что покрутить движёк панорамы в Envelopes for track настройках (Automation mode самого Рипера, а не плагина) - на много проще, чем рисовать value контролеру CC10 а=в пианороле! -
Это уже кто как привык наверное; про send pan envelope не знал,не пользовался раньше, это вариант, но не самый мне удобный; по моему проще раставлять звуки ,менять velocity и pan в одном окне midi editora, переключая каналы (цифрами на клаве) на которых разные сэмплы,там же можно выбирать айтемы в треклисте.


Можно как то исправить этот косяк maschine, js плагин если какой написать например (или это был MIDIto ReaControlPath) или ещё как?
 
Последнее редактирование:
В machine нужно выбирать-назначать параметры которые будут появлятся в меню с автоматизациями, если я правильно понял что такаое trim
Да, но вы же Тэмплэйт собрались построить - вот и стройте, один раз.
чтоб по отдельности слоить/обрабатывать vst плагинами в рипер, не заморачиваясь с роутингом и эффектами в machine,
16 возможно многовато, но этого точно хватит.
Ну да, я не в теме - ОК. Я как-то использую Драм Сэмплеру у которых рандомно вызываются сэмплы сами по себе....
по моему проще раставлять звуки ,менять velocity и pan в одном окне midi editora
Да, наверное - но это ведь только три параметра из КУЧИ, которые наверно нужно регулировать в maschine.

Можно как то исправить этот косяк maschine, js плагин если какой написать например (или это был MIDIto ReaControlPath) или ещё как?
Давайте ещё разок для тупого - чего не делает сама maschine, что нужно исправить?
 
что нужно исправить?
Вот так у бэтери c CC и каналами :

А что в machine на гифке в сообщении выше(ССcообщения отваливаются)

но в бэтери мне не удобен интерфейс

это ведь только три параметра из КУЧИ
ещё позиция старта сэмпла и питч(который тоже можно в midi айтеме менять, но в maschine колесом удобней) - вот и вся "куча", длину сэмпла можно длиной midi нот регулировать; не представляю что там ещё может понадобиться крутить.
Вообщем можно как то сделать чтоб с maschine так же управлять в айтемах панорамой, этот js язык вообще позволяет как то отправлять cc в сенды в панораму или в панораму треков на который сделан сенд?
 
Последнее редактирование:
Так, давайте ещё раз :)
maschine в инсёрте способна принимать ноты и сигналы контролеров только по Одному 1-ому каналу?
При этом на выход Аудио она умеет отправлять на разные каналы...
Сделать JS, который примет СС 10 сообщение с определенным value, например по 3-ему каналу и изменит панараму на 5-6 Аудио выходе - можно, но родная панорама в Send-е останется на месте при этом (т.е. панарамирование произойдёт до неё.
Строить из JS управление родной панорамой 3-го сенда, на который вы собственно и отправляете 5-6 каналы, безсмысленно - потому как это будет то-же обучение Экшинов миди командам, только через JS плагин.
 
Сделать JS, который примет СС 10 сообщение с определенным value, например по 3-ему каналу и изменит панараму на 5-6 Аудио выходе - можно, но родная панорама в Send-е останется на месте при этом (т.е. панарамирование произойдёт до неё.
Вот это наверно бы подошло, а это сложно ?
 
Вот это наверно бы подошло, а это сложно ?
Смущает слово "наверное", по скольку для меня это, наверное, пару - тройку дней работы при условии, что мой Учитель поможет, если споткнусь.
 
@Aleksandr Oleynik, подошло бы точно, просто засомневался насчет правильно ли понял идею, теперь правильно понял .
 
Последнее редактирование:
@nounaim,я немного разбирался со скриптами и сделал подходящие под Вашу задачу.
Код:
TrackName = "TrackName";--Set TrackName(for FIXED NAME(no DEL))
SendNum = 1;--Set SendNum
TrackNum = 1;--init
trackidx = 0;--init
tracks_count = reaper.CountTracks(0);
i=0;

while i < tracks_count do
   trackidx = reaper.GetTrack(0, i);
   retval,i_TrackName = reaper.GetSetMediaTrackInfo_String(trackidx, "P_NAME","i_TrackName", 0);
 
   ----compare Names and get TrackNum if equals---
   if i_TrackName == TrackName then
   TrackNameIdx = trackidx;--Optional(if need trackidx for another actions)
   TrackNum = i+1;--TrackNum for OSC msg
   end
i = i+1;
end


count = 0;--Only for cycles-count
----String concatenation----
msgSendVol = "/track/"..TrackNum.."/send/"..SendNum.."/volume"; --for SendVol-OSC msg
--msgSendPan = "/track/" ..TrackNum.."/send/"..SendNum.."/pan";--for SendPan-OSC msg


function run()
  is_new,name,sec,cmd,rel,res,val = reaper.get_action_context();
  
  if is_new then
    reaper.OscLocalMessageToHost(msgSendVol,(val/127));--OSC send-vol(trackname,sendnum)
    --reaper.OscLocalMessageToHost(msgSendPan,(val/127));--OSC send-pan(trackname,sendnum)
  
    count = count + 1;
  end
   reaper.defer(run);
   end
    reaper.defer(run);

Код:
TrackName = "TrackName";--Set TrackName(for FIXED NAME(no DEL))
SendNum = 1;--Set SendNum
TrackNum = 1;--init
trackidx = 0;--init
tracks_count = reaper.CountTracks(0);
i=0;

while i < tracks_count do
   trackidx = reaper.GetTrack(0, i);
   retval,i_TrackName = reaper.GetSetMediaTrackInfo_String(trackidx, "P_NAME","i_TrackName", 0);
 
   ----compare Names and get TrackNum if equals---
   if i_TrackName == TrackName then
   TrackNameIdx = trackidx;--Optional(if need trackidx for another actions)
   TrackNum = i+1;--TrackNum for OSC msg
   end
i = i+1;
end


count = 0;--Only for cycles-count
----String concatenation----
--msgSendVol = "/track/"..TrackNum.."/send/"..SendNum.."/volume"; --for SendVol-OSC msg
msgSendPan = "/track/" ..TrackNum.."/send/"..SendNum.."/pan";--for SendPan-OSC msg


function run()
  is_new,name,sec,cmd,rel,res,val = reaper.get_action_context();
  
  if is_new then
    --reaper.OscLocalMessageToHost(msgSendVol,(val/127));--OSC send-vol(trackname,sendnum)
    reaper.OscLocalMessageToHost(msgSendPan,(val/127));--OSC send-pan(trackname,sendnum)
  
    count = count + 1;
  end
   reaper.defer(run);
   end
    reaper.defer(run);

Изменить в первых двух строках-"TrackName" на нужное Вам имя трека,например,DRUMS(трек будет идентифицироваться по имени) и "SendNum = 1" -здесь единицу поменять на номер сенда.Таких скриптов нужно сохранить много-на каждый сенд и имя трека.
После этого сделайте,так же,как в первых сообщениях написано(то есть,назначить на каждый скрипт СС с определенного канала).
Теперь,создав проект,просто укажите имя трека,как в скрипте(DRUMS) и все будет работать,независимо от того выделен трек или нет,главное,чтоб имя совпадало.
Можно было сделать намного проще,по номеру,но тогда при перестановке треков возникли бы проблемы.
 
Возможность указать имя трека очень хороша!
Но в данном случае всё-же удобнее JS.
Я сделал его @nounaim, но застрял с pan law
 
  • Like
Реакции: nounaim
@Aleksandr Oleynik,подскажите,как можно из JS параметры треков менять?
Или Вы в самом JS-плагине панораму и т.п. привязали к входящим миди-сообщениям?
В принципе,если взять JS volume_pan_sample_accurate_auto привязать к vol&pan к вх.MIDI CC,должно работать.А если еще сделать одним плагином,на 16 каналов,вообще сказка,но я не потяну.
 
Последнее редактирование:
  • Like
Реакции: nounaim
@EUGEN27771, спасибо, хорошо что есть такой способ, но замороченый сильно, это опять будет отталкивать от рипера, хотелось упростить процессс volume в maschine в порядке, не ловиться pan; но для изучения eel это может быть полезно.

Это js от @Aleksandr Oleynik, на 16 каналов, без pan law(, меняет pan не у сендов а внутри плагина, но на создании музыки оно не отражается, нужно включить midi merges with midi bus, на предыдущем плагине.
 

Вложения

Последнее редактирование:
@Aleksandr Oleynik,подскажите,как можно из JS параметры треков менять?
Или Вы в самом JS-плагине панораму и т.п. привязали к входящим миди-сообщениям?
В принципе,если взять JS volume_pan_sample_accurate_auto привязать к vol&pan к вх.MIDI CC,должно работать.А если еще сделать одним плагином,на 16 каналов,вообще сказка,но я не потяну.
Из JS параметры треков как менять я не знаю, наверное ни как :(
Да, я просто в самом плаге панорамой управляю с внешнего миди.
С pan law засада, по скольку для 16 стерео каналов писать то, что в JS volume_pan_sample_accurate_auto - муторно.....
 

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