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

Dimilyan

Well-Known Member
23 Янв 2008
972
586
93
38
Владивосток
Ребятки, привет.

В рипере уже кем-то из наших создан скрипт, позволяющий делать это:

?
Тайминг я уже выставил. Показывают как чопинг сделать
 

riko

Well-Known Member
27 Авг 2007
785
546
93
Ищу экшен или скрипт, для удаления item, и всех огибающих к нему. Есть ли такая возможность?
 
У

Удалённый пользователь 75985

Guest
Новое
Ищу экшен или скрипт, для удаления item, и всех огибающих к нему. Есть ли такая возможность?
Как узнать, относится ли огибающая к какому-то конкретному item или не относится?



Если мы удалим зелёный item, какие огибающие должны быть удалены вместе с ним? Синяя Volume? Оранжевая Pan? Серая Mute?
Допустим, все огибающие должны остаться на месте. А если мы, следом, удалим фиолетовый item? Какие огибающие должны удалиться теперь?
 

riko

Well-Known Member
27 Авг 2007
785
546
93
:) Выделяю, Time selection, item. Удаляю на треке только нужные item, жму delete, огибающие остаются.
 

riko

Well-Known Member
27 Авг 2007
785
546
93
Не много доработал экшен , для удаления огибающих, на выделенном item, с сохранением time selection, не зависимо какие item удаляются с огибающими.
 

Вложения

Последнее редактирование:
  • Like
Реакции: Andernik

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
@riko,
В начало кастома
SWS: Save time selection, slot 1​
В конец кастома
SWS: Restore time selection, slot 1​
 
  • Like
Реакции: riko
25 Июл 2017
102
23
18
40
Добрый день. Подскажите, можно ли добавить FX с пресетом на выбранный трек при помощи Скрипта. Не через Resourses. Так, чтобы после открытия эффекта, можно было бы добавить ещё один такой же. Или при помощи другого скрипта (отредактированной копией) открыть другую инстанцию того же плагина с другим пресетом. Надеюсь объяснил задачу. Существует похожий скрипт, делающий подобную вещь для айтема. Это не то что мне нужно, но вот скрипт:
item = reaper.GetSelectedMediaItem(0,0)

MediaItem_Take = reaper.GetTake(item, 0)
reaper.TakeFX_AddByName(MediaItem_Take, "ReaEQ", 1)

reaper.TakeFX_SetPreset(MediaItem_Take, 0, "Stock - Basic 11 band")

reaper.TakeFX_Show(MediaItem_Take, 0, 1)

Есть скрипт, который по идее должен добавлять на трек ИЛИ на айтем, в зависимости от того, что выбрано. Но он у меня не работает - может делаю что-то не так. https://github.com/chooze/ReaScripts/blob/master/FX/Chooze_Add FX to selected track(s) or item(s).lua Там надо в начале вставить название пресета и fx. Делаю это и ничего не происходит. И ещё есть рабочий скрипт добавляющий эффект на выбранный трек без пресета. Вот он: Спасибо!
 
Последнее редактирование:

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
@Дима Горелик, Я делал что то подобное,посмотри у меня в репозитории.
Я посмотреть сейчас не могу, нету компа под рукой, называется, Добавить фх по имени (что то такое), В категории Fx. внутри скрипта должны быть настройки какой плагин добавить, какой пресет добавить,и т.д.
-------------------------
P.S. Archie_FX; Add Fx by Name in selected tracks (a description of settings inside script)(`).lua (GitHub)
Настройки внутри скрипта. Обрати внимание на то, что когда вводишь имя плагина или пресета, то между кавычками и названием не должно быть пробелов, правильно: "name", неправильно: "name "," name" ," name ".

Тот скрипт который у тебя не работает "Add FX to selected track(s) or take(s)", он работает от мыши, то есть: его надо назначить на горячую клавишу, затем клацнуть по треку или айтему и запустить скрипт через назначенный шоткат.
 
Последнее редактирование:

Supa75

Active Member
21 Мар 2017
672
164
43
48
Днепр, Украина
Есть отличный скрипт в реапаке, который переключает поведение плей-курсора между Play-Stop и Play-Pause, но он почему то не работает в Midi-Editor
-- @description amagalma_Toggle behavior of Play-Stop buttons
-- @author amagalma
-- @version 1.0
-- @about
-- # Toggles behavior of Play-Stop actions between amagalma's custom or Reaper's default
--
-- - To be used in conjunction with my "Transport (with memory - no undo)" scripts
-------------------------------------------------------------------------------------------
local reaper = reaper
local cmdID = reaper.NamedCommandLookup("_RS4b332fb0ea338b4991de7e2e9cd81032d79647da")
local script_state = reaper.GetToggleCommandStateEx(0,cmdID)
if script_state < 1 then
script_state = 1
else
script_state = 0
end
reaper.SetToggleCommandState(0,cmdID, script_state)
reaper.RefreshToolbar2(0,cmdID)
-- No undo point
function NoUndoPoint() end reaper.defer(NoUndoPoint)

может кто-нибудь сделать такой же, чтобы он работал для Midi Editor, плиз
 

borisuperful

Well-Known Member
31 Янв 2013
2.017
1.152
113
@Supa75,
Код:
local cmdID = reaper.NamedCommandLookup("_RS4b332fb0ea338b4991de7e2e9cd81032d79647da")
В скрипте,который для кнопки. Возможно ID не соответствтует тому экшну на пробеле, который добавлен в раздел MIDI Editor. Сменить то, что в кавычках (не убирая их), на новый ID
 

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
В скрипте,который для кнопки. Возможно ID не соответствтует
Все там соответствует, там вообще все как то позапутано.:)

@Supa75,
Создай новый скрипт
любое имя.lua
Добавь в него вот эту строку
Код:
reaper.Main_OnCommand(reaper.NamedCommandLookup("ID"),0)
Где написано ID вставить id скрипта который ты используешь для Play-Stop
какой то из этих,
upload_2019-2-21_23-3-28.png
(можешь создать три новых скрипта и для каждого вставить id)
далее добавь созданные скрипты в section midi editor
upload_2019-2-21_23-8-30.png
И назначь те же shortcuts что и в main
upload_2019-2-21_23-11-18.png upload_2019-2-21_23-12-24.png

P.S. Таким способом можешь запускать любой экшен из секции main в секции midi , который не работает в midieditor из секции main. Как то запутано получилось, но думаю ты понял.:)
 
Последнее редактирование:
  • Like
Реакции: Supa75

borisuperful

Well-Known Member
31 Янв 2013
2.017
1.152
113
@Archchie, я вроде бы подумал, что там проблема именно в нерабочей кнопке. То есть фишка то скрипта в том, что он при нажатой кнопке (скрипта button), останавливает с перемещением курсора. Берет play позицию (то есть это не штатный pause). В миди эдиторе кнопка не зажигается, хотя при вызове с миди редактора, кнопка в main загорается
 

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
@Supa75, Если нужно что бы и сама кнопка(переключатель) в тулбаре в миди эдиторе работала, то вот отредактированный "amagalma_Toggle behavior of Play-Stop buttons.lua" скрипт
Заменяешь содержимое скрипта "amagalma_Toggle behavior of Play-Stop buttons.lua" (именно содержимое старого скрипта, если создашь новый,то ничего работать не будет, т.к. там все завязано по ид) на вот этот отредактированный код
Код:
-- @description amagalma_Toggle behavior of Play-Stop buttons
-- @author amagalma
-- @version 1.0
-- @about
--   # Toggles behavior of Play-Stop actions between amagalma's custom or Reaper's default
--
--   - To be used in conjunction with my "Transport (with memory - no undo)" scripts

-------------------------------------------------------------------------------------------
local ArcID = "Сюда id из midi"
local reaper = reaper

local cmdID = reaper.NamedCommandLookup("_RS4b332fb0ea338b4991de7e2e9cd81032d79647da")
                                  
local script_state = reaper.GetToggleCommandStateEx(0,cmdID)
MIDIEditor = reaper.MIDIEditor_GetActive()
if script_state < 1 then
  script_state = 1
  if MIDIEditor then
      reaper.MIDIEditor_OnCommand(MIDIEditor,reaper.NamedCommandLookup(ArcID))
  end
else
  script_state = 0
  if MIDIEditor then
      reaper.MIDIEditor_OnCommand(MIDIEditor,reaper.NamedCommandLookup(ArcID))
  end
end

reaper.SetToggleCommandState(0,cmdID, script_state)
reaper.RefreshToolbar2(0,cmdID)

-- No undo point
function NoUndoPoint() end reaper.defer(NoUndoPoint)
Далее создаешь новый скрипт(можно с таким же названием)Например:"amagalmaMidi_Toggle behavior of Play-Stop buttons.lua"
добавляешь его в секцию миди и вставляешь вот этот код
Код:
    local ArcID = "Сюда id из main"


    local value,ScriptWay,sec,cmd,mod,res,val = reaper.get_action_context()
    local cmdID = reaper.NamedCommandLookup("_RS4b332fb0ea338b4991de7e2e9cd81032d79647da")
    local script_state = reaper.GetToggleCommandStateEx(32060,cmdID)
    if script_state == 1 then
        reaper.SetToggleCommandState( 32060, cmd, 0)
        reaper.Main_OnCommand(reaper.NamedCommandLookup(ArcID),0)
    else
        reaper.SetToggleCommandState( 32060, cmd, 1)
        reaper.Main_OnCommand(reaper.NamedCommandLookup(ArcID),0)
    end
    reaper.RefreshToolbar2(32060,cmd)
Обрати внимания на строку "ArcID в обоих скриптах в начале скрипта
Нужно вставить id скрипта из миди секции в main и наоборот, т.е.
id "amagalma_Toggle behavior of Play-Stop buttons.lua" нужно вставить в "amagalmaMidi_Toggle behavior of Play-Stop buttons.lua" и id "amagalmaMidi_Toggle behavior of Play-Stop buttons.lua" нужно вставить в "amagalma_Toggle behavior of Play-Stop buttons.lua"
 
Последнее редактирование:
  • Like
Реакции: Supa75

Supa75

Active Member
21 Мар 2017
672
164
43
48
Днепр, Украина
@Archchie, сделал немного проще. Просто скопировал скрипты в папке со скриптами, переименовал, загрузил в секцию миди и в каждом исправил только одну строку:
Для кнопки:
local cmdID = reaper.NamedCommandLookup("здесь вставил ID этого же скрипта")

Для плея (назначил на пробел):
local cmdID = reaper.NamedCommandLookup("здесь вставил ID экшена с кнопкой")

Но теперь у меня поведение в арранже и миди-эдиторе не зависит один от другого...что собственно и хорошо.
Большое спасибо за помощь.
 
  • Like
Реакции: Archie's

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
сделал немного проще. Просто скопировал скрипты в папке со скриптами, переименовал, загрузил в секцию миди и в каждом исправил только одну строку:
Но теперь у меня поведение в арранже и миди-эдиторе не зависит один от другого...что собственно и хорошо.
Можно и так - конечно это проще, но я добивался единой конструкции, что бы это был, как бы один единый скрипт и зависел друг от друга.
 
  • Like
Реакции: Supa75

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
Привет, @Archchie. Ещё такой вопрос: Можно ли Скриптом открыть FXChain по названию. Не через Resourses.
Привет,@Дима Горелик, это можно и без скриптов сделать.
upload_2019-2-23_14-46-8.png



www.youtube.com написал(а):
Чтобы увеличить кол-во слотов, набираем в поиске S&M.ini - это текстовый документ.Открываем его и меняем цифру в строке " S&M_PASTE_TRACKFXCHAIN=4 на нужное вам число.Т.е. вместо цифры 4 ставим 40.Это изменение проделываем при закрытом рипере.
 

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
Последнее редактирование:
25 Июл 2017
102
23
18
40
Привет! Существует ли скрипт: Rename selected fx as preset name. То есть скопировать название пресета в название fx заменив им оригинальное название?
 

Supa75

Active Member
21 Мар 2017
672
164
43
48
Днепр, Украина
В настройках есть опция "Don't autosctoll view (when enable) when viewing other parts of project".
Ничего похожего в экшенах не нашел. Мог ли кто-нибудь сделать скрипт по принципу тоггла для данной функции?
 

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
В настройках есть опция "Don't autosctoll view (when enable) when viewing other parts of project".
Ничего похожего в экшенах не нашел. Мог ли кто-нибудь сделать скрипт по принципу тоггла для данной функции?
PHP:
local _,_,sec,cmd,_,_,_ = reaper.get_action_context();

local viewadvance = reaper.SNM_GetIntConfigVar("viewadvance",0);
if viewadvance == 7 then;
    reaper.SNM_SetIntConfigVar("viewadvance",3);
    reaper.SetToggleCommandState(sec,cmd,1);
elseif viewadvance == 15 then;
    reaper.SNM_SetIntConfigVar("viewadvance",11);
    reaper.SetToggleCommandState(sec,cmd,1);
elseif viewadvance == 3 then;
    reaper.SNM_SetIntConfigVar("viewadvance",7);
    reaper.SetToggleCommandState(sec,cmd,0);
elseif viewadvance == 11 then;
    reaper.SNM_SetIntConfigVar("viewadvance",15);
    reaper.SetToggleCommandState(sec,cmd,0);
end;

reaper.RefreshToolbar2(sec, cmd);
Toggle Don't autosctoll view (when enable) when viewing other parts of project.lua
 
Последнее редактирование:
  • Like
Реакции: Supa75
25 Июл 2017
102
23
18
40
По поводу FXChain - да, это всё равно через ресурсы. Не важно - я свою задачу уже решил кастом экшном, вообще без FXChain. Так, что спасибо! А вот у моего друга задача другая. Ему нужно одной кнопкой открывать директорию с fxchain-ами. Та которая load fxchain на канале. Существует ли такой скрипт? Ну и если можно, вопрос, который я задавал выше, по поводу Rename selected fx as preset name.
 

shuco

Active Member
26 Ноя 2005
439
109
43
58
Новосибирск
Вопрос к @Michael, не могли ли Вы сделать из этого(mpl_Show instrument in FX chain on selected track.lua) скрипта тогл, по принципу mpl_Toggle float instrument on track under mouse cursor.lua? Открытие VSTi повесил на хот кей, что бы открывался-закрывался а через Cycle Action(toggle) не корректно работает, иногда нужно два раза нажимать.

Вопрос снят, сделал сам.
 
Последнее редактирование:

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
По поводу FXChain - да, это всё равно через ресурсы.
Ну даже не знаю тогда, а как не через ресурсы? Я в принципе (если надо) могу позже сделать скрипт "открыть FXChain по названию(по имени)", но вот только я не пойму, какая разница, открыть по имени или открыть по номеру слота.

Ему нужно одной кнопкой открывать директорию с fxchain-ами.
Так?
Archie_Options; Open folder FX Chains.lua

Ну и если можно, вопрос, который я задавал выше, по поводу Rename selected fx as preset name.
Archie_FX; Rename last selected FX in chain to selected tracks in preset name.lua
 
Последнее редактирование:

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