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

  • Автор темы Автор темы @Michael
  • Дата начала Дата начала
@Archchie,
Archie_Var; Toggle Select all items tracks envelope points (depending on focus)(Save previous).lua
всё ок кроме работы с envelope points - не восстанавливает первоначальное выделение. с айтемами и дорогами всё ок!
Я специально так сделал, у envelope только select/unselect работает, потому что у точек нет идентификаторов (опознающих знаков) и они опознаются только по нумерации. Я могу конечно сделать, но будет это выглядеть так:
Например выделены у тебя 4-10 точки, запускаем скрипт - выделились все точки и запомнились выделенные точки, далее ты что то поделаешь с автоматизацией добавишь/удалишь точек и запустишь скрипт и вот тут у тебя уже выделятся не те точки, а точки с 4 по 10 п.к. предыдущие точки уже не соответствуют своей предыдущей нумерации. Мне кажется что в некоторых ситуациях это будет выглядеть как то не адекватно. Или нет?
 
  • Like
Реакции: vax
Здравствуйте. Появилась нужда в рабочем проекте переключаться между двумя интерфейсами Эйсио (карта RME и AxeFx). Можно ли такие глобальные изменения-настройки через хоткеи сделать?
 
@Archchie, спасибо, задонатил!
Спасибо большое!
@Archchie, проблема с работой скриптов "Script: Archie_Render; Render stems Template........"

создаются лишние папки на OS X.

Странно - не знаю в чем дело((
Вот в этом куске скрипта пропиши путь в первой строке, как у тебя прописан в скрипте и запусти его и посмотри/напиши верные ли пути отобразились
PHP:
    local Render_Directory = 'XXRPP/!Multi'
    
    
    -----------------------------------------------------------------------------------------------------------
    if type(Render_Directory)~='string' then Render_Directory=''end;
    local projfn = ({reaper.EnumProjects(-1,"")})[2]:match("(.+)[/\\]")or "";
    Render_Directory = (Render_Directory:gsub("^XXRPP",projfn):gsub("\\","/"):gsub("^/",""):gsub("/$",""))or"";
    --reaper.GetSetProjectInfo_String(0,"RENDER_FILE",Render_Directory,1);
    -----------------------------------------------------------------------------------------------------------
    
    
    reaper.ShowConsoleMsg('');
    reaper.ShowConsoleMsg('Folder proj.RPP == "'..projfn:gsub("\\","/")..'"\n\n');
    reaper.ShowConsoleMsg('My path         == "'..Render_Directory..'"\n\n');
 
Последнее редактирование:
  • Like
Реакции: vax
@vax, Так эти пути верные или нет? Мне этот скрин ничего недает, без настоящих путей!
В верхней строке путь проекта - он верный или нет?
Во второй строке я вижу что все верно - добавилась только папка !Multi.
 
@Archchie, всё верно при выполнении скрипта и на писи и на маке.
однако на писи эскпорт идёт в папку рядом с проектом, а на маке создаётся куча папок "одна в другой" и туда идёт экспорт (
 
однако на писи эскпорт идёт в папку рядом с проектом, а на маке создаётся куча папок "одна в другой" и туда идёт экспорт (
Это я понял, я и пытаюсь выяснить где/откуда происходит ошибка, откуда берутся эти лишние папки, скрипт не может создавать новых папок, так как там ничего такого не прописано, это видимо где то баг в API и его нужно хотя бы для начала как то найти.
К предыдущему скрину мне еще нужен настоящий полный путь до проекта, что бы было с чем сравнивать.
И пускай еще сделают следующее:
1. Уберут два тире в начале вот этой строки
1580204332886.png
2. Откроют окно рендера
3. Запустят этот кусок скрипта
И что пропишется в окне рендера верный путь или нет!?
И какой должен быть путь в окне рендера на самом деле, если этот не верный?

PS У меня мака нет, так что в чем дело не так уж и просто выяснить.
 
Последнее редактирование:
Доброго дня. Вдохновившись проектом @Aleksandr Oleynik Reaper for Live. Пробую в LBXStripper сделать рек для клавишника. Нужна помощь в создании экшна, который будет будет - Toggle FX 1 online/offline for (NAME) tracks - на указанном в названии треке.
 

Вложения

  • Untitled-1.png
    Untitled-1.png
    185,5 KB · Просмотры: 271
@vax, Обновил "Archie_Render; Render stems Template", вроде удалось все исправить, сильно не тестил т.к. исправлял у знакомого в гостях и времени не было на тесты, но у него на маке все папки сейчас создаются правильно, до этого так же создавалось куча лишних папок, а точнее весь путь прописывался от файла проекта и в оконцовке получался двойной путь.

Обновляй - пускай тестят, как у них работает. Думаю должно быть норм. Пусть отпишутся, что бы знать.

Что бы по новой не заморачиваться со всеми настройками, которые ты уже настроил под себя, то скопируй из "Archie_Render; Render stems Template" только код, не трогая настройки, т.е. все что ниже вот этого разделителя
175178

И так же вставь в свои настроенные скрипты, не трогая настройки.
 
  • Like
Реакции: YuriOl и vax
Ребята помогите.Где-то я здесь видел экшн чтоб срендерить айтем стерео в два айтема моно (но в рамках одного трека) Спасибо
 
@Archchie, Привет! Обновился до reaper603+dev0128_x64-install и скрипт @Archie_Render; Render stems Template(`)@ перестал реагировать на настройки? рендерит все в wav 24bit/
 
  • Sad
Реакции: Archie's
Объединил в кастом два экшена: Grid:Set to ... и Track:Set MIDI input quantize to ... for all track.. Если вешать на кнопку эти экшены по отдельности, работает подсветка, когда они активны. С кастомом подсветка естественно пропадает. Подскажите, как сделать подсветку, если на кнопке висит кастом? Или только через скрипт?
 
Последнее редактирование:
Объединил в кастом два экшена: Grid:Set to ... и Track:Set MIDI input quantize to ... for all track.. Если вешать на кнопку эти экшены по отдельности, работает подсветка, когда они активны. С кастомом подсветка естественно пропадает. Подскажите, как сделать подсветку, если на кнопке висит кастом? Или только через скрипт?
Пиля... заработало.. Как так то, то работает, то не работает.
 
@vax, Обновил "Archie_Render; Render stems Template", вроде удалось все исправить, сильно не тестил т.к. исправлял у знакомого в гостях и времени не было на тесты, но у него на маке все папки сейчас создаются правильно, до этого так же создавалось куча лишних папок, а точнее весь путь прописывался от файла проекта и в оконцовке получался двойной путь.

Обновляй - пускай тестят, как у них работает. Думаю должно быть норм. Пусть отпишутся, что бы знать.

Что бы по новой не заморачиваться со всеми настройками, которые ты уже настроил под себя, то скопируй из "Archie_Render; Render stems Template" только код, не трогая настройки, т.е. все что ниже вот этого разделителя
Посмотреть вложение 175178
И так же вставь в свои настроенные скрипты, не трогая настройки.

что-то не понимаю какой скрипт брать за основу ))
оригинальный Archie_Render; Render stems Template(`) не обновлён.

обновлены:
Archie_Render; Render multi-track to a stereo track in certain channels
Archie_Render; Render track to a Mono track in certain channels
и скрипты в папке COPY_Render stems Template
 
  • Wow
Реакции: Archie's
что-то не понимаю какой скрипт брать за основу ))
оригинальный Archie_Render; Render stems Template(`) не обновлён.
Прошу прощения) В скрипте номер версии не поменял и он у всех вас не обновился.
Обновил: Archie_Render; Render stems Template(`) - он основа

@Archchie, Привет! Обновился до reaper603+dev0128_x64-install и скрипт @Archie_Render; Render stems Template(`)@ перестал реагировать на настройки? рендерит все в wav 24bit/
Для чего дублировать это сообщение по всем темам ??? Я и первое сообщение прекрасно вижу.
Написал на оф форуме, что они сломали АПИ после добавления вторичного рендера.



Кто использует скрипт Archie_Render; Render stems Template(`) , не обновляйтесь пока выше 6.03 (стабильная версия), пока не починят АПИ,по крайней мере очень надеюсь на это, иначе не будет работать выбор форматов.

----

Объединил в кастом два экшена: Grid:Set to ... и Track:Set MIDI input quantize to ... for all track.. Если вешать на кнопку эти экшены по отдельности, работает подсветка, когда они активны. С кастомом подсветка естественно пропадает. Подскажите, как сделать подсветку, если на кнопке висит кастом? Или только через скрипт?
Пиля... заработало.. Как так то, то работает, то не работает.
До 6,03 только скриптом, а выше (6,03+dev +) в окне создания кастома есть галки что бы показывать статус тогл, если все экшены в статусе "on" то и кастом "on", а если хоть один экшен в кастоме off, то и кастом off.
 
Помогите со скриптом. Нужен скрипт, по выполнению которого, оставались выделенными бы только те айтемы, которые находятся на выделенном треке, а с остальных других каналов, на которых если есть выделенные айтемы, выделение бы с них снималось.
 
Прошу прощения) В скрипте номер версии не поменял и он у всех вас не обновился.
Обновил: Archie_Render; Render stems Template(`) - он основа

всё заработало, спасибо! мак юзеры в экстазе! )
задонатил чуток.
 
  • Like
Реакции: Archie's
задонатил чуток.
Спасибо!
----
@Maestro Sound, schwa ответил, починят к следующей версии.
----
Помогите со скриптом. Нужен скрипт, по выполнению которого, оставались выделенными бы только те айтемы, которые находятся на выделенном треке, а с остальных других каналов, на которых если есть выделенные айтемы, выделение бы с них снималось.
Archie_Item; Unselect items if track not selected.lua
 
Последнее редактирование:
  • Like
Реакции: J T и Maestro Sound
А есть какие-либо инструменты в рипере или какие другие, чтобы запускать скрипт по шагам? Хочется найти косяк в скрипте, но каждый шаг визуализировать в голове трудновато, 170 строк ибо.
 
Привет, @Archchie
Есть пара вопросов насчёт:
Archie_FX; Toggle Bypass necessary Fx in selected tracks(user input).lua
1.
Есть ли версия без User Input, чтоб можно было одной кнопкой bypass-нуть плагин на конкретном треке - то есть название трека и плагина, чтоб можно было вписать самому в скрипт, сохранить копию скрипта и одной кнопкой включать и выключать плагин.
2. Может ли этот скрипт работать с JS плагинами.
Спасибо!
 
Параметр Name_or_Numb_Fx - вписываешь также либо звездочка и номера эффектов через точку с запятой или имена эффектов через точку с запятой, рядом с параметром Name_or_Numb_Fx в скрипте есть примеры как вписывать.

CSS:
-- NoIndex: true
--[[
   * Тест только на windows  /  Test only on windows.
   * Отчет об ошибке: Если обнаружите какие либо ошибки, то сообщите по одной из указанных ссылок ниже (*Website)
   * Bug Reports: If you find any errors, please report one of the links below (*Website)
   *
   * Category:    Fx
   * Description: Toggle Bypass necessary Fx in selected tracks(user input)
   * Author:      Archie
   * Version:     1.02
   * VIDEO:       http://youtu.be/H1m9PMSRfVg?t=1486
   * Website:     http://forum.cockos.com/showthread.php?t=212819
   *              http://rmmedia.ru/threads/134701/
   * DONATION:    http://money.yandex.ru/to/410018003906628
   * Customer:    vax(Rmm)--Дима Горелик
   * Gave idea:   vax(Rmm)--Дима Горелик
   * Changelog:  
   *              v.1.02 [14.01.20]
   *                  + Master Track
   *                  ! fixed bug
  
   *              v.1.0 [13.12.19]
   *                  + initialе
--]]
   
    --======================================================================================
    --////////////  НАСТРОЙКИ  \\\\\\\\\\\\  SETTINGS  ////////////  НАСТРОЙКИ  \\\\\\\\\\\\
    --======================================================================================
   
    --[==[
     --[   <<< Вот здесь поменять  <<< Change here
   
        local msg =
              'Eng:\n\n'..
              'Script:\n'..
              'Toggle - bypass the required Fx in the selected tracks (user input through a comma or semicolon)\n'..
              'In the window that appears, enter the Fx names that need to be bypassed / bypassed through a comma (,) or semicolon (;)\n'..
              'For example: Delay, name2; name3\n'..
              'Names can be spelled out not completely, but only part of the name\n'..
              'For example: Del, me2; me3\n'..
              'Or\n'..
              'enter Fx numbers separated by commas (,) or semicolons (;)\n'..
              'adding *(asterisk) at the beginning\n'..
              'For example: *1, 3, 5\n'..
              'In order for this window not to appear with a hint, go to the script and in the settings mark in the line - [add a character [to make it - [[\n\n\n'..
             
              'Rus:\n\n'..
              'Скрипт:\n'..
              'Переключатель - байпас необходимых Fx в выбранных треках(пользовательский ввод  через запятую или точка с запятой)\n'..
              'Введите в появившемся окне имена Fx , которые нужно забайпасить/разбайпасить через запятую(,) или точку с запятой(;)\n'..
              'Например: Delay,name2;name3\n'..
              'Имена можно прописывать не полностью, а только часть имени\n'..
              'Например: Del,me2;me3\n'..
              'Или\n'..
              'введите номера Fx через запятую(,) или точку с запятой(;)\n'..
              'добавив *(звездочку) в начале\n'..
              'Например: *1, 3, 5\n'..
              'Для того чтобы не появлялось это окно с подсказкой зайдите в скрипт и в пометке настройки в строке --[ добавьте знак [ чтобы получилось --[[\n'
    --]]
   
    local WINDOW_RESTART = true;
                      -- = true;  | Повторно открыть окно
                      -- = false; | Не открывать Повторно окно
    --]==]
   
   
   
   
    local Name_or_Numb_Fx = '*1;3'
                       -- = '*1'
                       -- = '*1;3;4;5'
                       -- = 'Master Limiter'
                       -- = 'ShaperBox;ReaEQ;JS: Master Limiter'
   
   
   
    local MASTER_TRACK = true; -- true/false
   
   
   
   
    --======================================================================================
    --////////////// SCRIPT \\\\\\\\\\\\\\  SCRIPT  //////////////  SCRIPT  \\\\\\\\\\\\\\\\
    --====================================================================================== 
   
   
   
    -------------------------------------------------------
    local function no_ubdo()reaper.defer(function()end)end;
    -------------------------------------------------------
   
   
    -------------------------------------------------------------------------------------------
    local function retT(X)local x for key,val in pairs(X)do x=(x or 0)+1 end return x or 0 end;
    -------------------------------------------------------------------------------------------
   
   
    ---------------------------------------------------------
    local function SC(x)return string.gsub(x,'%p','%%%0')end;
    ---------------------------------------------------------
   
   
    ----------------------------------------------------------------------------------------------
    local is_new_value,filename,sectionID,cmdID,mode,resolution,val = reaper.get_action_context();
    ----------------------------------------------------------------------------------------------
   
   
   
    --::RESTART::
   
    --------------------------------------------------------------
    local CountSelTrack = reaper.CountSelectedTracks(0);
    if CountSelTrack == 0 then;
        local mTr = reaper.GetMasterTrack(0);
        local sel = reaper.GetMediaTrackInfo_Value(mTr,'I_SELECTED');
        if sel == 0 then;
            reaper.MB('No Selected Track','Woops',0)no_ubdo()return;
        end;
    end;
    --------------------------------------------------------------
   
   
    --[[
    ------------------------------------
    if msg and type(msg)=='string' then;
        reaper.ShowConsoleMsg("");
        reaper.ShowConsoleMsg(msg);
        ---
        if reaper.JS_Window_Find then;
            local title = reaper.JS_Localize("ReaScript console output","common");
            local wind = reaper.JS_Window_Find(title,true);
            if wind then;
                reaper.JS_Window_Resize(wind,950,550);
            end;
        end
        --- 
    end;
    ------------------------------------
    --]]
   
   
    --[[
    -----------------------------------------------
    local
    ExtState = reaper.GetExtState(filename,'value');
    local
    retval, str = reaper.GetUserInputs("Toggle Bypass fx in selected tracks by number or name",1,"Name Fx or *number (by comma),extrawidth=150",ExtState);
    if not retval or #str:gsub("%s","")==0 then no_ubdo()return end;
    str = str:gsub(',',';');
    reaper.SetExtState(filename,'value',str,false);
    -----------------------------------------------
    --]]
    str = Name_or_Numb_Fx;
   
   
    ---------------
    local NT = {};
    local T = {};
    local NameNumb;
    ---------------
   
   
    -----------------------------------------
    if str:match("%S")=='*' then;
        str = str:gsub('%s-*','',1);
        for S in string.gmatch(str,"%d+") do;
            if tonumber(S) then;
                T[tonumber(S)]=tonumber(S);
            end;
        end;
    else;
        for S in string.gmatch(str..';',"(.-);") do;
            NT[#NT+1]=S:upper();
        end;
    end;
    -----------------------------------------
   
   
    -----------------------------------------------------------
    if retT(T) == 0 and retT(NT) == 0 then no_ubdo()return end;
    -----------------------------------------------------------
   
   
    -------------------------------------------------------------------------------------
    if retT(T) > 0 then NameNumb = 'NUMB' elseif retT(NT) > 0 then NameNumb = 'NAME' end;
    -------------------------------------------------------------------------------------
   
   
    ------------------------------------------
    local GetEnabled, SetEnabled, Undo, strU;
    local
    CountSelTrack = reaper.CountSelectedTracks(0);
    for i = 0, CountSelTrack do;
       
        -----
        local SelTrack;
        if i == 0 then;
            local mTr = reaper.GetMasterTrack(0);
            local sel = reaper.GetMediaTrackInfo_Value(mTr,'I_SELECTED');
            if MASTER_TRACK ~= true then sel = 0 end;
            if sel == 1 then;
                SelTrack = mTr;
            end;
        else;
            SelTrack = reaper.GetSelectedTrack(0,i-1);
        end;
        -----
       
        if SelTrack then;
       
            --================================================
            local FX_Count = reaper.TrackFX_GetCount(SelTrack);
            for ifx = 1, FX_Count do;
       
                if NameNumb == 'NAME' then;
                    -----------
                    ---------
                    local _, nameFx = reaper.TrackFX_GetFXName(SelTrack,ifx-1,'');
                    for inm = 1, #NT do;
                        nameFx = nameFx:upper();
                        if nameFx:match(SC(NT[inm])) then;
                            if not GetEnabled then;
                                GetEnabled = reaper.TrackFX_GetEnabled(SelTrack,ifx-1);
                                if GetEnabled then SetEnabled = false else SetEnabled = true GetEnabled = true end;
                            end;
                           
                            if not Undo then;
                                reaper.Undo_BeginBlock();
                                reaper.PreventUIRefresh(1);
                                Undo = true;
                            end;
                           
                            reaper.TrackFX_SetEnabled(SelTrack,ifx-1,SetEnabled);
                       
                            if SetEnabled == true then strU = "Unbypass Fx" else strU = "Bypass Fx" end;
                            break;
                        end;
                    end;
                    ---------
                    -----------
                elseif NameNumb == 'NUMB' then;
                    -----------
                    ---------
                    if T[ifx] then;
                        if not GetEnabled then;
                            GetEnabled = reaper.TrackFX_GetEnabled(SelTrack,ifx-1);
                            if GetEnabled then SetEnabled = false else SetEnabled = true GetEnabled = true end;
                        end;
                       
                        if not Undo then;
                            reaper.Undo_BeginBlock();
                            reaper.PreventUIRefresh(1);
                            Undo = true;
                            if SetEnabled == true then strU = "Unbypass Fx" else strU = "Bypass Fx" end;
                        end;
                        reaper.TrackFX_SetEnabled(SelTrack,ifx-1,SetEnabled);
                    end;
                    ---------
                    -----------
                end;
            end;
            --================================================ 
        end;
        -----
    end;
   
   
    if Undo then;
        reaper.PreventUIRefresh(-1);
        reaper.Undo_EndBlock(strU,-1);
    else;
        no_ubdo();
    end;
   
    if WINDOW_RESTART == true then;
       -- goto RESTART;
    end;
2. Может ли этот скрипт работать с JS плагинами.
Этот скрипт смотрит чисто на имя плагина или на номер эффекта, в зависимости от того, что ты ввел.
А JS это или vst или еще какой ему вообще без разницы.
 
@borisuperful, А можно, если это не очень сложно попросить тебя чуть модернизировать твой скрипт Yanick_Insert item double click.lua?
Всё так же остаётся, только с увеличенной длиной по умолчанию (или в настройке скрипта) на - 2 такта, 4 и 8?
 

Вложения

@Archchie
Спасибо! Сейчас гляну. По поводу новой версии Render Template, что-то пошло не так. На скриншоте окно, которое выскакиевает - как будто нет той target директории. Что это может значить? В отличии от старого скрипта 1.04, который работет - тоже есть на скриншоте.
UPD: if NameNumb and (NameNumb == 'NUMB' or NameNumb == 'NAME') then; вот эта строка, или другая? Не совсме понимаю. Там нет Name_or_Numb_Fx, есть NameNumb, но не нашёл его в инструкции. Ещё вопрос как отключить GUI, что при запуске скрипта не выскакивало окно.
 

Вложения

  • Screen Shot 2020-02-06 at 16.00.14.png
    Screen Shot 2020-02-06 at 16.00.14.png
    616,2 KB · Просмотры: 226
  • Screen Shot 2020-02-06 at 16.01.05.png
    Screen Shot 2020-02-06 at 16.01.05.png
    507,7 KB · Просмотры: 211
Последнее редактирование:
Ребят, подскажите, кто шарит. Перестал работать FXRack От EUGEN27771. Сам скрипт на канал загружается, но после попытки загрузить любой vst плагин выдает ошибку
175707


Пробовал переустановить реапак, сам FXrack, синхронизировал репозитории. Не помогло(
 

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