Помогите создать экшн / кастом экшн / скрипт (2 онлайн)

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.063
113
62
Киев
Трудно что то обдумывать и продумовать когда так скажем нет "рыбы" чтоб ковырять и видеть что да как
"Рыба" вам только мешает задачу формулировать не с середины.
Пишите о задаче с чистой головой, без ни каких ссылок на ваши знания-не знания экшинов, скриптов и прочего.....
[DOUBLEPOST=1512038067][/DOUBLEPOST]
Я про другой скрипт на трек эта функция получилась а вот на итем нет
А на айтем её и нет вообще!
Её делать нужно при помощи API самому.
 

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
Пока думаете - вот -
Новый параметр для правки fx_show
если стоит 0 - то будет просто открывать окна всех добавленных плагинов подряд
если поставите 1 - то перед открытием окон вновь добавленных плагов, закроет все предидущие.
То что нужно было ! Спасибо!
 
  • Like
Реакции: Aleksandr Oleynik

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
@Aleksandr Oleynik, Скажите где вообще инструкции,уроки посмотреть по написанию скриптов,что бы хотя бы такие простые мелочи научится делать
Извините что не по теме!
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.063
113
62
Киев
@Archchie, вот тут Михаил немного давал ссылок -
http://rmmedia.ru/threads/117419/
всё остальное - читать материалы по LUA и изучать чужие скрипты.
[DOUBLEPOST=1512053713][/DOUBLEPOST]
что бы хотя бы такие простые мелочи научится делать
Мелочи с виду обычно оказываются очень не простыми и не тривиальными.
 

Supa75

Active Member
21 Мар 2017
672
164
43
48
Днепр, Украина
@Aleksandr Oleynik, а все таки, насколько сложно написать такой скрипт? Это было отличным вариантом быстрого создания аукса с эффектом для выделенных треков.
А также например сделать еще один похожий скрипт, чтобы выделенные треки дополнительно отключались от мастера.
Два скрипта по быстрому созданию аукса (параллельной шины) и баса (группового трека, последовательная шина)

Часто приходится решать задачу аля.. "А ну ка я обработаю трек X и трек Y хорусом". Сейчас процесс выглядит так:
- создаем новый трек, выделяем трек X и Y, мышью роутируем на новый трек выделенные треки, опять выделяем этот новый FX-трек, нажимаем на нем кнопочку FX, выбираем нужный плагин и открываем параметры этого плагина на редактирование.
Было бы круто иметь под рукой скрипт, который бы при нажатии хоткея - открывал FX-Browser для выбора плагина, а после выбора
1. Добавлял новый трек в TCP
2. Вставлял бы в инсерт этого трека выбранный плагин
3. Роутировал на этот новый трек выделенные треки
4. Открывал плагин на редактивание (float)
это было бы возможным сделать и кастом-экшеном, но не хватает команды типа Send sel/tracks to last touched track
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.063
113
62
Киев
а все таки, насколько сложно написать такой скрипт?
Не знаю. Бывает, что очень простые на взгляд вещи в общем чрезвычайно сложно решить, или не возможно скриптом.
Вот как недавно с автоматическим фризом-анфризом с удалением не нужных рендеров.
Вот этот вот момент может быть аналогично сложным -
скрипт, который бы при нажатии хоткея - открывал FX-Browser для выбора плагина, а после выбора
я, например, не знаю как скрипт остановить на время открытия FX-Browser и выяснить когда он закроется, что что-то ПОТОМ.
 

Supa75

Active Member
21 Мар 2017
672
164
43
48
Днепр, Украина
я, например, не знаю как скрипт остановить на время открытия FX-Browser и выяснить когда он закроется, что что-то ПОТОМ.
так пусть окно FX открывается последеним.
1. создаем трек в конце TCP
2. роутируем на него выделенные треки
3. открываем на нем FX для добавления.
4.....фиг с ним...этим флоутом :)
 

Nordum

Active Member
28 Окт 2016
171
38
28
@Supa75, Пилите экшн:

Script: Lokasenna_Create mix bus and reroute all selected tracks to it.lua
View: Show FX browser window
 

Microtonic

Любознательный
21 Сен 2008
489
112
43
Москва
У меня все VST кнопки в отдельном тулбаре и что бы при добавлении плагина тулбар закрывался
Вам, возможно, очень понравится функционал "Contextual Toolbar". В настройках пресета для нужного Туллбара есть галочка "Закрывать" тулбар после выполнения.
В двух словах, что это вообще такое.
У вас есть туллбар №1 с плагинами. У вас туллбар №2 с кнопками рендера. У вас есть туллбар №3 с кнопками для работы с тейками.
В Contextual Toolbar есть пресеты с настройками разных опция для поведения туллбаров при НАХОЖДЕНИИ КУРСОРА МЫШКИ в нужной вам области.
Навели мышку на дорожку, нажали гор.клавишу вызова пресета №1 и у вас открывается туллбар №1, навели мышку на миди айтем, нажали гор.клавишу вызова пресета №1, да, да... всё тот же пресет №1, у вас откроется туллбар №2, навели мышку на аудио айтем, ГКМ для пресета №1 и откроется туллбар №3.
Далее, что можно:
При открытии туллбара может выбираться дорожка (т.е. чтобы добавить тот же плагин), выбираться айтем, чтобы рендерить и изменять. После нажатия кнопки на луттбаре, туллбар может закрываться.
Для удобства можно немного изменить координаты открывания туллбара относительно курсора.
Так же можно настроить для Contextual Toolbar пресет №2 и вызывать его уже другой гор.клавишей.
Допустим, находится курсор над дорожкой. Пресет №1, вызывает туллбар с плагинами, а пресет №2 вызывает разные опции типа: "Сгруппировать трек в папку", "выделить все дочерние треки в папке", "Сделать фриз трека", и т.п. Тоже самое будет происходить когда курсор будет под айтемом или в свободной области или над линейкой...
Фантазировать можно бесконечно и если всё настроить - то этим пользоваться очень удобно!
А если у вас мышка с доп.кнопками и её можно программировать, допустим повесить туда как раз все эти пресеты - то вобще будет сказка. :)
 
  • Like
Реакции: Archie's

@Michael

Well-Known Member
14 Дек 2010
969
1.461
93
Орёл / Москва
так пусть окно FX открывается последеним.
1. создаем трек в конце TCP
2. роутируем на него выделенные треки
3. открываем на нем FX для добавления.
4.....фиг с ним...этим флоутом :)

PHP:
for key in pairs(reaper) do _G[key]=reaper[key]  end

-- 1
InsertTrackAtIndex( CountTracks(), false )
TrackList_AdjustWindows( false )
dest_tr = GetTrack(0,CountTracks()-1)

-- 2
for i = 1, CountSelectedTracks(0) do CreateTrackSend( GetSelectedTrack(0,i-1), dest_tr ) end

-- 3
SetOnlyTrackSelected( dest_tr )
Main_OnCommand(40914,0) -- Track: Set first selected track as last touched track
Main_OnCommand(40271, 0) -- fx browser

--4
st0 = GetProjectStateChangeCount( 0 )
function run()
  st = GetProjectStateChangeCount( 0 )
  if st == st0 then defer(run) else TrackFX_Show( dest_tr,  TrackFX_GetCount( dest_tr )-1, 3 ) end
end
run()
 

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
Вам, возможно, очень понравится функционал "Contextual Toolbar". В настройках пресета для нужного Туллбара есть галочка "Закрывать" тулбар после выполнения.
Да про "Contextual Toolbar" что то не видосов не какой либо информации я не нашёл,а сам открывал как то вообще не разобрался !

Разобрался! вообще удобная штука .Спасибо за подсказку!
 
Последнее редактирование:
  • Like
Реакции: Microtonic

Maestro Sound

Active Member
1 Ноя 2007
721
86
28
@@Michael, Спасибо а можно вписать функцию, чтобы самому вписывать нужный плагин в скрипт и не открывать FX Browse?

Отдельное спасибо за Ваш стрим с Разумовым по скриптам. Очень не хватает продолжения и более детального разбора
 

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
Скажите как увеличеть количество тулбаров с 16 до ?
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.063
113
62
Киев
@Maestro Sound, почему это?
Можно... Правда опять без скриптов не обойтись....
Можно сделать ЛЮБОЕ кол-во тулбаров, с любым кол-ом кнопок на них, как GUI скрипта.
 
  • Like
Реакции: Maestro Sound

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.063
113
62
Киев
Многие ограничения можно в тех же ini и снять.
А почему? Думаю потому, что всё это оказывает нагрузку на Рипер, и без особой нужды этого делать не стоит.
 
  • Like
Реакции: Archie's и Maestro Sound

Supa75

Active Member
21 Мар 2017
672
164
43
48
Днепр, Украина

Supa75

Active Member
21 Мар 2017
672
164
43
48
Днепр, Украина
@@Michael, я дописал в скрипт в 3-м блоке строку
Main_OnCommand(40696,0) -- Track: Rename last touched track

теперь он выглядит так
-- 3
SetOnlyTrackSelected( dest_tr )Main_OnCommand(40914,0)
Track: Set first selected track as last touched track
Main_OnCommand(40271, 0) -- fx browser
Main_OnCommand(40696,0) -- Track: Rename last touched track

вроде работает (активирует название нового аукс-трека на изменение)
Я все правильно сделал? или что-то еще нужно?
 

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
Народ подскажите пожалуйста ,начал с малого обучения, пишу типо кастом, только скриптом вставляя ID Экшина.
Родные риперовские id работают, которые состоят из цифр , загораются жёлтым цветом ,
а от SWS которые состоят из букв не работают,не загораются жёлтым цветом
почему?что не правильно?
Скрытое содержимое для зарегистрированных пользователей!
 
Последнее редактирование:

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.063
113
62
Киев
@Archchie, для SWS экшинов другая функция нужна.
Посмотрите в моих скриптах пример,
Пока писал - Михаил ответил
 

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
@@Michael, @Aleksandr Oleynik, Спасибо!
А подскажите ещё пожалуйста что в конце скрипта прописать что бы на ctrl+z была отмена всего этого скрипта,а не каждой комбинации отдельно( как типа галочка в кастомах — consolidate undo points)
 
Последнее редактирование:

Supa75

Active Member
21 Мар 2017
672
164
43
48
Днепр, Украина
@Aleksandr Oleynik, @Michael, подскажите, как в скрипт портировать строчки, которые отключат мастер-сенд с выделенных треков. Хочу в скрипт Михаила, который он сделал по ауксу (выше на несколько постов) добавить отключение мастер-посыла, таким образом сделав его скриптом по добавлению bus-трека
 

@Michael

Well-Known Member
14 Дек 2010
969
1.461
93
Орёл / Москва
@@Michael, @Aleksandr Oleynik, Спасибо!
А подскажите ещё что в конце скрипта прописать что бы на ctrl+z была отмена всего этого скрипта,а не каждой комбинации отдельно( как типа галочка в кастомах consolidate undo points)
reaper.Undo_BeginBlock()
call to start a new block
reaper.Undo_EndBlock( descchange, extraflags )
call to end the block,with extra flags if any,and a description
@Aleksandr Oleynik, @Michael, подскажите, как в скрипт портировать строчки, которые отключат мастер-сенд с выделенных треков. Хочу в скрипт Михаила, который он сделал по ауксу (выше на несколько постов) добавить отключение мастер-посыла, таким образом сделав его скриптом по добавлению bus-трека
reaper.GetSelectedTrack( proj, seltrackidx )
Get a selected track from a project (proj=0 for active project) by selected track count (zero-based)
reaper.CountSelectedTracks( proj )
Count the number of selected tracks in the project (proj=0 for active project)
reaper.SetMediaTrackInfo_Value( tr, parmname, newvalue )
Set track numerical-value attributes.
B_MAINSEND : bool * : track sends audio to parent
 
  • Like
Реакции: Supa75

Сейчас онлайн (Пользователей: 0, Гостей: 2)