Помогите создать экшн / кастом экшн / скрипт

  • Автор темы Автор темы @Michael
  • Дата начала Дата начала
Ребятки, привет.

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


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

SCwiLP5.png


Если мы удалим зелёный item, какие огибающие должны быть удалены вместе с ним? Синяя Volume? Оранжевая Pan? Серая Mute?
Допустим, все огибающие должны остаться на месте. А если мы, следом, удалим фиолетовый item? Какие огибающие должны удалиться теперь?
 
:) Выделяю, Time selection, item. Удаляю на треке только нужные item, жму delete, огибающие остаются.
 
Не много доработал экшен , для удаления огибающих, на выделенном item, с сохранением time selection, не зависимо какие item удаляются с огибающими.
 

Вложения

  • QIP Shot - Screen 165.png
    QIP Shot - Screen 165.png
    14,5 KB · Просмотры: 80
Последнее редактирование:
  • Like
Реакции: Andernik
@riko,
В начало кастома
SWS: Save time selection, slot 1​
В конец кастома
SWS: Restore time selection, slot 1​
 
  • Like
Реакции: riko
Добрый день. Подскажите, можно ли добавить 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. Делаю это и ничего не происходит. И ещё есть рабочий скрипт добавляющий эффект на выбранный трек без пресета. Вот он: Спасибо!
 
Последнее редактирование:
@Дима Горелик, Я делал что то подобное,посмотри у меня в репозитории.
Я посмотреть сейчас не могу, нету компа под рукой, называется, Добавить фх по имени (что то такое), В категории 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)", он работает от мыши, то есть: его надо назначить на горячую клавишу, затем клацнуть по треку или айтему и запустить скрипт через назначенный шоткат.
 
Последнее редактирование:
Есть отличный скрипт в реапаке, который переключает поведение плей-курсора между 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, плиз
 
@Supa75,
Код:
local cmdID = reaper.NamedCommandLookup("_RS4b332fb0ea338b4991de7e2e9cd81032d79647da")
В скрипте,который для кнопки. Возможно ID не соответствтует тому экшну на пробеле, который добавлен в раздел MIDI Editor. Сменить то, что в кавычках (не убирая их), на новый ID
 
В скрипте,который для кнопки. Возможно 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
@Archchie, я вроде бы подумал, что там проблема именно в нерабочей кнопке. То есть фишка то скрипта в том, что он при нажатой кнопке (скрипта button), останавливает с перемещением курсора. Берет play позицию (то есть это не штатный pause). В миди эдиторе кнопка не зажигается, хотя при вызове с миди редактора, кнопка в main загорается
 
@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
@Archchie, сделал немного проще. Просто скопировал скрипты в папке со скриптами, переименовал, загрузил в секцию миди и в каждом исправил только одну строку:
Для кнопки:
local cmdID = reaper.NamedCommandLookup("здесь вставил ID этого же скрипта")

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

Но теперь у меня поведение в арранже и миди-эдиторе не зависит один от другого...что собственно и хорошо.
Большое спасибо за помощь.
 
  • Like
Реакции: Archie's
сделал немного проще. Просто скопировал скрипты в папке со скриптами, переименовал, загрузил в секцию миди и в каждом исправил только одну строку:
Но теперь у меня поведение в арранже и миди-эдиторе не зависит один от другого...что собственно и хорошо.
Можно и так - конечно это проще, но я добивался единой конструкции, что бы это был, как бы один единый скрипт и зависел друг от друга.
 
  • Like
Реакции: Supa75
Привет, @Archchie. Ещё такой вопрос: Можно ли Скриптом открыть FXChain по названию. Не через Resourses.
Привет,@Дима Горелик, это можно и без скриптов сделать.
upload_2019-2-23_14-46-8.png



www.youtube.com написал(а):
Чтобы увеличить кол-во слотов, набираем в поиске S&M.ini - это текстовый документ.Открываем его и меняем цифру в строке " S&M_PASTE_TRACKFXCHAIN=4 на нужное вам число.Т.е. вместо цифры 4 ставим 40.Это изменение проделываем при закрытом рипере.
 
Последнее редактирование:
Привет! Существует ли скрипт: Rename selected fx as preset name. То есть скопировать название пресета в название fx заменив им оригинальное название?
 
В настройках есть опция "Don't autosctoll view (when enable) when viewing other parts of project".
Ничего похожего в экшенах не нашел. Мог ли кто-нибудь сделать скрипт по принципу тоггла для данной функции?
 
В настройках есть опция "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
По поводу FXChain - да, это всё равно через ресурсы. Не важно - я свою задачу уже решил кастом экшном, вообще без FXChain. Так, что спасибо! А вот у моего друга задача другая. Ему нужно одной кнопкой открывать директорию с fxchain-ами. Та которая load fxchain на канале. Существует ли такой скрипт? Ну и если можно, вопрос, который я задавал выше, по поводу Rename selected fx as preset name.
 
Вопрос к @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) не корректно работает, иногда нужно два раза нажимать.

Вопрос снят, сделал сам.
 
Последнее редактирование:
По поводу 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
 
Последнее редактирование:

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