Нет.(У тебя Paypal нет случайно?
А что с ним разбираться то, ты же им не пользоваться собрался, пополняешь с карты и все.Надо только с этим Yandex разобраться - я не из России
Последнее редактирование:
Нет.(У тебя Paypal нет случайно?
А что с ним разбираться то, ты же им не пользоваться собрался, пополняешь с карты и все.Надо только с этим Yandex разобраться - я не из России
Решил проблему!!! надо было поставить sws ))) а я почемуто был уверен что sws-ки прикручиваются к риперу когда сохраняешь конфиг.....оце я лох)))))))))))))Buyan Привет!!!Дружище спасибо тебе за то что "модернизировал" этот замечательный скрипт Freeze selected tracks(only instruments).lua
то @EUGEN27771 и работал он у меня чётко как часы пока не поменял винду....теперь фризит все плагины что находятся на трэке то есть работает как простой фриз трека...может это из за того что я поставил англоязычную винду......? Если подскажеш что, буду благодарен !!!! Скрипт вообще бомба...)
И далее, if что-либо then
И вот как понимать твое "что либо" ??? Track_Name = "FL 5 L"
anything = true
numb = 2
track = reaper.GetTrack( 0, 0 )
if Track_Name == Track_Name:match(".-FL%s-%d+%s-L")then;
Test = true
end
if anything then
retval, stringNeedBig = reaper.GetSetMediaTrackInfo_String(track,"P_NAME","",0)
if stringNeedBig ~= stringNeedBig:match(".-FL%s-%d+%s-L")then;
reaper.GetSetMediaTrackInfo_String(track,"P_NAME",stringNeedBig.." FL "..numb.." L",1);
end
end
if something==true then
retval, track_name = reaper.GetSetMediaTrackInfo_String(track,"P_NAME","",0)
if track_name == "" then
reaper.GetSetMediaTrackInfo_String(track,"P_NAME",track_name.."FL "..stereo_source.."L",1)
end
if track_name ~= "" and track_name ~= track_name:match("FL%s%dL") then
reaper.GetSetMediaTrackInfo_String(track,"P_NAME",track_name.." (FL "..stereo_source..")",1)
end
if track_name ~= "" and track_name == track_name:match(".%s(FL%s%d)") then --пробовал скобки заменить на %p, совпадение не срабатывает.
А здесь нужно либо недопустить дописания лишних скобок, либо допустить но после удалить.
end
end
if something==true then
retval, track_name = reaper.GetSetMediaTrackInfo_String(track,"P_NAME","",0)
if track_name == "" then
reaper.GetSetMediaTrackInfo_String(track,"P_NAME",track_name.."FL "..stereo_source.." L",1)
end
if track_name ~= "" and track_name ~= track_name:match("FL%s%dL") then
reaper.GetSetMediaTrackInfo_String(track,"P_NAME",track_name.." (FL "..stereo_source..")",1)
end
if track_name ~= "" and track_name == track_name:match("^.-%(FL%s-%d+%)%s-$") then --пробовал скобки заменить на %p, совпадение не срабатывает.
-- А здесь нужно либо недопустить дописания лишних скобок, либо допустить но после удалить.
end
end
if something == true then;
local retval, track_name = reaper.GetSetMediaTrackInfo_String(track,"P_NAME","",0);
if track_name:gsub(" ","")== "" then;
reaper.GetSetMediaTrackInfo_String(track,"P_NAME",track_name.."FL "..stereo_source.."L",1);
end;
if track_name:gsub(" ","")~= "" and not
track_name:match("^.-FL%s-%d+%s-L%s-$")and not
track_name:match("^.-%(FL%s-%d+%)%s-$") then;
reaper.GetSetMediaTrackInfo_String(track,"P_NAME",track_name.." (FL "..stereo_source..")",1)
end;
end;
Нет, к сожалению я не знаю как скриптом можно поменять данные параметры "1xoffline и ExtremeHQ"Можно ли сделать render stem 1xoffline Render (Idle) ExtremeHQ, 64бит, Pre-Fader, Pre-Pan, Post FX?
Надеюсь, понятно объяснил.
-- Render stem-1xoffline Render(Idle)-ExtremeHQ-Wave 64 bit-pre fader-pre pan-post fx
-------------------------------------------------------
local function no_undo()reaper.defer(function()end)end;
-------------------------------------------------------
-------------------------------------------------------------------------------------------
if not reaper.JS_Window_Find then;
reaper.MB("Extension not installed - reaper_js_ReaScriptAPI!","Render Error",0);
no_undo() return;
end;
local CountSelTrack = reaper.CountSelectedTracks(0);
if CountSelTrack == 0 then reaper.MB("No Track Selected!","Render Error",0)no_undo() return end;
local title = "Render stem-1xoffline Render(Idle)-ExtremeHQ-Wave 64 bit-pre fader-pre pan-post fx"
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
-- / Save render / ------------------------------------------------------------------------
local S = {};
S.RENDER_SETTINGS = reaper.GetSetProjectInfo (0,"RENDER_SETTINGS" ,0,0);--Sourse --3
S.RENDER_BOUNDSFLAG = reaper.GetSetProjectInfo (0,"RENDER_BOUNDSFLAG",0,0);--Bounds -- 1-2
S.RENDER_TAILFLAG = reaper.GetSetProjectInfo (0,"RENDER_TAILFLAG" ,0,0);--Tail -- 31
S.RENDER_TAILMS = reaper.GetSetProjectInfo (0,"RENDER_TAILMS" ,0,0);--Tail ms -- ?
S.RENDER_SRATE = reaper.GetSetProjectInfo (0,"RENDER_SRATE" ,0,0);--Sample rate --0
S.RENDER_CHANNELS = reaper.GetSetProjectInfo (0,"RENDER_CHANNELS" ,0,0);--channels --2
S.RENDER_SPEED = reaper.SNM_GetIntConfigVar("projrenderlimit" ,0);--speed --4
S.RENDER_RESAMPLE = reaper.SNM_GetIntConfigVar("projrenderresample" ,0);--resample --9
S._, S.RENDER_FORMAT = reaper.GetSetProjectInfo_String(0,"RENDER_FORMAT",0,0)-- render_format
S.RENDER_ADDTOPROJ = reaper.GetSetProjectInfo (0,"RENDER_ADDTOPROJ" ,0,0);-- 1=add rendered files to project
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
-- / Подготовить рендер / -----------------------------------------------------------------
local Sourse = (((S.RENDER_SETTINGS&4)+(S.RENDER_SETTINGS&16))+3);
reaper.GetSetProjectInfo(0,"RENDER_SETTINGS" ,Sourse,1);--Sourse
startLoop, endLoop = reaper.GetSet_LoopTimeRange(0,0,0,0,0);---
if startLoop == endLoop then; ----
reaper.GetSetProjectInfo (0,"RENDER_BOUNDSFLAG",1,1); -----Bounds
else; ----
reaper.GetSetProjectInfo (0,"RENDER_BOUNDSFLAG",2,1); ---
end; --
--reaper.GetSetProjectInfo (0,"RENDER_TAILFLAG" ,0,0);--Tail
--reaper.GetSetProjectInfo (0,"RENDER_TAILMS" ,0,0);--Tail ms
reaper.GetSetProjectInfo(0,"RENDER_SRATE",0,1);--Sample rate --0 default
reaper.GetSetProjectInfo (0,"RENDER_CHANNELS",2,1);--channels -- 2 stereo
reaper.GetSetProjectInfo_String(0,"RENDER_FORMAT","ZXZhd0ABAA==",1)--render_format--wav 64
reaper.GetSetProjectInfo (0,"RENDER_ADDTOPROJ" ,1 ,1);--add rendered files to project
---
reaper.SNM_SetIntConfigVar("projrenderlimit",4);--speed--4-1x Offline Render (idle)
reaper.SNM_SetIntConfigVar("projrenderresample",9);--resample--Extreme HQ (768pt HQ Sinc)
local Localize = reaper.JS_Localize("Render to File","common");
local Window_Find = reaper.JS_Window_Find(Localize,true);
if Window_Find then;
reaper.JS_Window_Destroy(Window_Find);
reaper.Main_OnCommand(40015,0);--Render project to disk...
end;
---
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
-- / Подготовить треки и рендер / ---------------------------------------------------------
reaper.PreventUIRefresh(1);
reaper.Undo_BeginBlock();
----
local SV = {};
local CountSelTrack = reaper.CountSelectedTracks(0);
for i = 1,CountSelTrack do;
SV[i] = {};
SV[i].SelTr = reaper.GetSelectedTrack(0,i-1);
SV[i].VolTr = reaper.GetMediaTrackInfo_Value(SV[i].SelTr,"D_VOL");
SV[i].PanTr = reaper.GetMediaTrackInfo_Value(SV[i].SelTr,"D_PAN");
reaper.SetMediaTrackInfo_Value(SV[i].SelTr,"D_VOL",1);
reaper.SetMediaTrackInfo_Value(SV[i].SelTr,"D_PAN",0);
end;
----
reaper.SelectAllMediaItems(0,0);
reaper.Main_OnCommand(42230,0);--проект рендер,самые последние настройки
reaper.Main_OnCommand(40297,0); -- Track: Unselect all tracks
----
local ST = {};
for i = #SV,1,-1 do;
reaper.SetMediaTrackInfo_Value(SV[i].SelTr,"D_VOL",SV[i].VolTr);
reaper.SetMediaTrackInfo_Value(SV[i].SelTr,"D_PAN",SV[i].PanTr);
----
local numb = reaper.GetMediaTrackInfo_Value(SV[i].SelTr,"IP_TRACKNUMBER");
local CountTracks = reaper.CountTracks(0);
local lastTr = reaper.GetTrack(0,CountTracks-1);
reaper.SetOnlyTrackSelected(lastTr);
reaper.ReorderSelectedTracks(numb,0);
table.insert(ST,lastTr);
end;
for i = 1,#ST do;
if i == 1 then;
reaper.SetOnlyTrackSelected(ST[i]);
else;
reaper.SetMediaTrackInfo_Value(ST[i],"I_SELECTED",1);
end;
end;
reaper.Undo_EndBlock(title,-1);
reaper.PreventUIRefresh(-1);
----
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
-- / Restore render / ---------------------------------------------------------------------
reaper.GetSetProjectInfo (0,"RENDER_SETTINGS" ,S.RENDER_SETTINGS ,1);
reaper.GetSetProjectInfo (0,"RENDER_BOUNDSFLAG" ,S.RENDER_BOUNDSFLAG,1);
reaper.GetSetProjectInfo (0,"RENDER_TAILFLAG" ,S.RENDER_TAILFLAG ,1);
reaper.GetSetProjectInfo (0,"RENDER_TAILMS" ,S.RENDER_TAILMS ,1);
reaper.GetSetProjectInfo (0,"RENDER_SRATE" ,S.RENDER_SRATE ,1);
reaper.GetSetProjectInfo (0,"RENDER_CHANNELS" ,S.RENDER_CHANNELS ,1);
reaper.SNM_SetIntConfigVar("projrenderlimit" ,S.RENDER_SPEED );
reaper.SNM_SetIntConfigVar("projrenderresample" ,S.RENDER_RESAMPLE );
reaper.GetSetProjectInfo_String(0,"RENDER_FORMAT",S.RENDER_FORMAT ,1);
reaper.GetSetProjectInfo (0,"RENDER_ADDTOPROJ" ,S.RENDER_ADDTOPROJ ,1);
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
Не знаю при чем тут айтем если рендерится трек и почему у тебя так происходит. У меня все срабатывает, не важно выделены какие нибудь айтемы или нет.При этом 1xoffline(idle) включается, когда выбран айтем
Можно. Включил.1. можно ли включить Dialog Box с возможностью назвать файл?
Можно и я это сразу добавил. Поставь вот эти галочки в окне рендера2. Можно ли сделать multichannel tracks to multichannel files?
-- v 2.0
-- Render stem-1xoffline Render(Idle)-ExtremeHQ-Wave 64 bit-pre fader-pre pan-post fx
local TailOnOff = 0
-- = -1 настройки из окна рендера (Tail)
-- = 0 отключить хвост (Tail)
--========================================================================
--========================================================================
-------------------------------------------------------
local function no_undo()reaper.defer(function()end)end;
-------------------------------------------------------
-------------------------------------------------------------------------------------------
if not reaper.JS_Window_Find then;
reaper.MB("Extension not installed - reaper_js_ReaScriptAPI!","Render Error",0);
no_undo() return;
end;
local CountSelTrack = reaper.CountSelectedTracks(0);
if CountSelTrack == 0 then reaper.MB("No Track Selected!","Render Error",0)no_undo() return end;
local title = "Render stem-1xoffline Render(Idle)-ExtremeHQ-Wave 64 bit-pre fader-pre pan-post fx"
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
-- / Save render / ------------------------------------------------------------------------
local S = {};
S.RENDER_SETTINGS = reaper.GetSetProjectInfo (0,"RENDER_SETTINGS" ,0,0);--Sourse --3
S.RENDER_BOUNDSFLAG = reaper.GetSetProjectInfo (0,"RENDER_BOUNDSFLAG",0,0);--Bounds -- 1-2
S.RENDER_TAILFLAG = reaper.GetSetProjectInfo (0,"RENDER_TAILFLAG" ,0,0);--Tail -- 31
S.RENDER_TAILMS = reaper.GetSetProjectInfo (0,"RENDER_TAILMS" ,0,0);--Tail ms -- ?
S.RENDER_SRATE = reaper.GetSetProjectInfo (0,"RENDER_SRATE" ,0,0);--Sample rate --0
S.RENDER_CHANNELS = reaper.GetSetProjectInfo (0,"RENDER_CHANNELS" ,0,0);--channels --2
S.RENDER_SPEED = reaper.SNM_GetIntConfigVar("projrenderlimit" ,0);--speed --4
S.RENDER_RESAMPLE = reaper.SNM_GetIntConfigVar("projrenderresample" ,0);--resample --9
S._, S.RENDER_FORMAT = reaper.GetSetProjectInfo_String(0,"RENDER_FORMAT",0,0)-- render_format
S.RENDER_ADDTOPROJ = reaper.GetSetProjectInfo (0,"RENDER_ADDTOPROJ" ,0,0);-- 1=add rendered files to project
S.SILENTLY_iNCREMENT = reaper.SNM_GetIntConfigVar("renderclosewhendone" ,0);
S._, S.RENDER_FILE = reaper.GetSetProjectInfo_String(0,"RENDER_PATTERN","",false);
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
-- / Подготовить рендер / -----------------------------------------------------------------
---
local retval, NameFile = reaper.GetUserInputs("Name File",1,"Name File,extrawidth=150","-Stem-");
if not retval then no_undo() return end;
reaper.GetSetProjectInfo_String(0,"RENDER_PATTERN",NameFile,true);
---
local Sourse = (((S.RENDER_SETTINGS&4)+(S.RENDER_SETTINGS&16))+3);
reaper.GetSetProjectInfo(0,"RENDER_SETTINGS" ,Sourse,1);--Sourse
local startLoop, endLoop = reaper.GetSet_LoopTimeRange(0,0,0,0,0);---
if startLoop == endLoop then; ----
reaper.GetSetProjectInfo (0,"RENDER_BOUNDSFLAG",1,1); -----Bounds
else; ----
reaper.GetSetProjectInfo (0,"RENDER_BOUNDSFLAG",2,1); ---
end; --------------------
if TailOnOff == 0 then;
reaper.GetSetProjectInfo(0,"RENDER_TAILFLAG",(S.RENDER_TAILFLAG&~4),1);
elseif TailOnOff == 1 then;
reaper.GetSetProjectInfo(0,"RENDER_TAILFLAG",(S.RENDER_TAILFLAG |4),1);
reaper.GetSetProjectInfo(0,"RENDER_TAILMS",tonumber(TailTime)or 1000,1);
end;
reaper.GetSetProjectInfo(0,"RENDER_SRATE",0,1);--Sample rate --0 default
reaper.GetSetProjectInfo (0,"RENDER_CHANNELS",2,1);--channels -- 2 stereo
reaper.GetSetProjectInfo_String(0,"RENDER_FORMAT","ZXZhd0ABAA==",1)--render_format--wav 64
reaper.GetSetProjectInfo (0,"RENDER_ADDTOPROJ" ,1 ,1);--add rendered files to project
---
reaper.SNM_SetIntConfigVar("projrenderlimit",4);--speed--4-1x Offline Render (idle)
reaper.SNM_SetIntConfigVar("projrenderresample",9);--resample--Extreme HQ (768pt HQ Sinc)
reaper.SNM_SetIntConfigVar("renderclosewhendone",17);--Silently increment
local Localize = reaper.JS_Localize("Render to File","common");
local Window_Find = reaper.JS_Window_Find(Localize,true);
if Window_Find then;
reaper.JS_Window_Destroy(Window_Find);
reaper.Main_OnCommand(40015,0);--Render project to disk...
end;
---
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
-- / Подготовить треки и рендер / ---------------------------------------------------------
reaper.PreventUIRefresh(1);
reaper.Undo_BeginBlock();
----
local SV = {};
CountTrackXX = reaper.CountTracks(0);
local CountSelTrack = reaper.CountSelectedTracks(0);
for i = 1,CountSelTrack do;
SV[i] = {};
SV[i].SelTr = reaper.GetSelectedTrack(0,i-1);
SV[i].VolTr = reaper.GetMediaTrackInfo_Value(SV[i].SelTr,"D_VOL");
SV[i].PanTr = reaper.GetMediaTrackInfo_Value(SV[i].SelTr,"D_PAN");
reaper.SetMediaTrackInfo_Value(SV[i].SelTr,"D_VOL",1);
reaper.SetMediaTrackInfo_Value(SV[i].SelTr,"D_PAN",0);
end;
----
reaper.SelectAllMediaItems(0,0);
reaper.Main_OnCommand(42230,0);--проект рендер,самые последние настройки
reaper.Main_OnCommand(40297,0); -- Track: Unselect all tracks
----
local ST = {};
for i = #SV,1,-1 do;
reaper.SetMediaTrackInfo_Value(SV[i].SelTr,"D_VOL",SV[i].VolTr);
reaper.SetMediaTrackInfo_Value(SV[i].SelTr,"D_PAN",SV[i].PanTr);
----
if (reaper.CountTracks(0) - CountTrackXX) == #SV then;
local numb = reaper.GetMediaTrackInfo_Value(SV[i].SelTr,"IP_TRACKNUMBER");
local CountTracks = reaper.CountTracks(0);
local lastTr = reaper.GetTrack(0,CountTracks-1);
reaper.SetOnlyTrackSelected(lastTr);
reaper.ReorderSelectedTracks(numb,0);
table.insert(ST,lastTr);
end;
end;
for i = 1,#ST do;
if i == 1 then;
reaper.SetOnlyTrackSelected(ST[i]);
else;
reaper.SetMediaTrackInfo_Value(ST[i],"I_SELECTED",1);
end;
end;
reaper.Undo_EndBlock(title,-1);
reaper.PreventUIRefresh(-1);
----
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
-- / Restore render / ---------------------------------------------------------------------
reaper.GetSetProjectInfo (0,"RENDER_SETTINGS" ,S.RENDER_SETTINGS ,1);
reaper.GetSetProjectInfo (0,"RENDER_BOUNDSFLAG" ,S.RENDER_BOUNDSFLAG,1);
reaper.GetSetProjectInfo (0,"RENDER_TAILFLAG" ,S.RENDER_TAILFLAG ,1);
reaper.GetSetProjectInfo (0,"RENDER_TAILMS" ,S.RENDER_TAILMS ,1);
reaper.GetSetProjectInfo (0,"RENDER_SRATE" ,S.RENDER_SRATE ,1);
reaper.GetSetProjectInfo (0,"RENDER_CHANNELS" ,S.RENDER_CHANNELS ,1);
reaper.GetSetProjectInfo_String(0,"RENDER_FORMAT",S.RENDER_FORMAT ,1);
reaper.GetSetProjectInfo (0,"RENDER_ADDTOPROJ" ,S.RENDER_ADDTOPROJ ,1);
reaper.GetSetProjectInfo_String(0,"RENDER_PATTERN" ,S.RENDER_FILE,true)
reaper.SNM_SetIntConfigVar("projrenderlimit" ,S.RENDER_SPEED );
reaper.SNM_SetIntConfigVar("projrenderresample" ,S.RENDER_RESAMPLE );
reaper.SNM_SetIntConfigVar("renderclosewhendone" ,S.SILENTLY_iNCREMENT );
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
local Localize = reaper.JS_Localize("Render to File","common");
local Window_Find = reaper.JS_Window_Find(Localize,true);
if Window_Find then;
reaper.JS_Window_Destroy(Window_Find);
reaper.Main_OnCommand(40015,0);--Render project to disk...
end;
Не знаю при чем тут айтем если рендерится трек и почему у тебя так происходит. У меня все срабатывает, не важно выделены какие нибудь айтемы или нет.
Привет! Да, вчера почему-то стал блокировать редакцию ответов форум, а такая штука произошла только при первом рендере. Так и не узнал, в чём было дело. Потом всё работало отлично.
Можно. Включил.
Можно и я это сразу добавил. Поставь вот эти галочки в окне рендера
Посмотреть вложение 171776
JavaScript:Поставил галочки, сохранил изменения, включил твой скрипт и всё заработало! Скрипт великолепный, с меня донат. Спасибо огромное!
Можно, чуть позже сделаю более универсальный скриптВопрос: Можно ли сделать версии для рендера в 32, 24, 16 бит?
Если подумать - то есть.Подскажите, а есть ли какой тогл на переключение этих меню?
Если пока не сложно, вышли пожалуйста версии 32, 24, 16. Универсальный более трудоёмкая задача, а мне пока для работы нужно.Можно, чуть позже сделаю более универсальный скрипт
-- v 3.0
-- Render stem-1xoffline Render(Idle)-ExtremeHQ-Wave 64 bit-pre fader-pre pan-post fx
local TailOnOff = 0
-- = -1 настройки из окна рендера (Tail)
-- = 0 отключить хвост (Tail)
local bit = 24
--========================================================================
--========================================================================
-------------------------------------------------------
local function no_undo()reaper.defer(function()end)end;
-------------------------------------------------------
-------------------------------------------------------------------------------------------
if not reaper.JS_Window_Find then;
reaper.MB("Extension not installed - reaper_js_ReaScriptAPI!","Render Error",0);
no_undo() return;
end;
local CountSelTrack = reaper.CountSelectedTracks(0);
if CountSelTrack == 0 then reaper.MB("No Track Selected!","Render Error",0)no_undo() return end;
local title = "Render stem-1xoffline Render(Idle)-ExtremeHQ-Wave 64 bit-pre fader-pre pan-post fx"
-------------------------------------------------------------------------------------------
----------------------------------------
-- encoding
local b='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
function enc(data);
return ((data:gsub('.', function(x)
local r,b='',x:byte()
for i=8,1,-1 do r=r..(b%2^i-b%2^(i-1)>0 and '1' or '0') end
return r;
end)..'0000'):gsub('%d%d%d?%d?%d?%d?', function(x)
if (#x < 6) then return '' end
local c=0
for i=1,6 do c=c+(x:sub(i,i)=='1' and 2^(6-i) or 0) end
return b:sub(c+1,c+1)
end)..({ '', '==', '=' })[#data%3+1])
end;
----------------------------------------
-------------------------------------------------------------------------------------------
-- / Save render / ------------------------------------------------------------------------
local S = {};
S.RENDER_SETTINGS = reaper.GetSetProjectInfo (0,"RENDER_SETTINGS" ,0,0);--Sourse --3
S.RENDER_BOUNDSFLAG = reaper.GetSetProjectInfo (0,"RENDER_BOUNDSFLAG",0,0);--Bounds -- 1-2
S.RENDER_TAILFLAG = reaper.GetSetProjectInfo (0,"RENDER_TAILFLAG" ,0,0);--Tail -- 31
S.RENDER_TAILMS = reaper.GetSetProjectInfo (0,"RENDER_TAILMS" ,0,0);--Tail ms -- ?
S.RENDER_SRATE = reaper.GetSetProjectInfo (0,"RENDER_SRATE" ,0,0);--Sample rate --0
S.RENDER_CHANNELS = reaper.GetSetProjectInfo (0,"RENDER_CHANNELS" ,0,0);--channels --2
S.RENDER_SPEED = reaper.SNM_GetIntConfigVar("projrenderlimit" ,0);--speed --4
S.RENDER_RESAMPLE = reaper.SNM_GetIntConfigVar("projrenderresample" ,0);--resample --9
S._, S.RENDER_FORMAT = reaper.GetSetProjectInfo_String(0,"RENDER_FORMAT",0,0)-- render_format
S.RENDER_ADDTOPROJ = reaper.GetSetProjectInfo (0,"RENDER_ADDTOPROJ" ,0,0);-- 1=add rendered files to project
S.SILENTLY_iNCREMENT = reaper.SNM_GetIntConfigVar("renderclosewhendone" ,0);
S._, S.RENDER_FILE = reaper.GetSetProjectInfo_String(0,"RENDER_PATTERN","",false);
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
-- / Подготовить рендер / -----------------------------------------------------------------
---
local retval, NameFile = reaper.GetUserInputs("Name File",1,"Name File,extrawidth=150","-Stem-");
if not retval then no_undo() return end;
reaper.GetSetProjectInfo_String(0,"RENDER_PATTERN",NameFile,true);
---
local Sourse = (((S.RENDER_SETTINGS&4)+(S.RENDER_SETTINGS&16))+3);
reaper.GetSetProjectInfo(0,"RENDER_SETTINGS" ,Sourse,1);--Sourse
local startLoop, endLoop = reaper.GetSet_LoopTimeRange(0,0,0,0,0);---
if startLoop == endLoop then; ----
reaper.GetSetProjectInfo (0,"RENDER_BOUNDSFLAG",1,1); -----Bounds
else; ----
reaper.GetSetProjectInfo (0,"RENDER_BOUNDSFLAG",2,1); ---
end; --------------------
if TailOnOff == 0 then;
reaper.GetSetProjectInfo(0,"RENDER_TAILFLAG",(S.RENDER_TAILFLAG&~4),1);
elseif TailOnOff == 1 then;
reaper.GetSetProjectInfo(0,"RENDER_TAILFLAG",(S.RENDER_TAILFLAG |4),1);
reaper.GetSetProjectInfo(0,"RENDER_TAILMS",tonumber(TailTime)or 1000,1);
end;
reaper.GetSetProjectInfo(0,"RENDER_SRATE",0,1);--Sample rate --0 default
reaper.GetSetProjectInfo (0,"RENDER_CHANNELS",2,1);--channels -- 2 stereo
local render_format = enc(string.char(101,118,97,119,bit,0,0));
reaper.GetSetProjectInfo_String(0,"RENDER_FORMAT",render_format,1)--render_format--wav 64
reaper.GetSetProjectInfo (0,"RENDER_ADDTOPROJ" ,1 ,1);--add rendered files to project
---
reaper.SNM_SetIntConfigVar("projrenderlimit",4);--speed--4-1x Offline Render (idle)
reaper.SNM_SetIntConfigVar("projrenderresample",9);--resample--Extreme HQ (768pt HQ Sinc)
reaper.SNM_SetIntConfigVar("renderclosewhendone",17);--Silently increment
local Localize = reaper.JS_Localize("Render to File","common");
local Window_Find = reaper.JS_Window_Find(Localize,true);
if Window_Find then;
reaper.JS_Window_Destroy(Window_Find);
reaper.Main_OnCommand(40015,0);--Render project to disk...
end;
---
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
-- / Подготовить треки и рендер / ---------------------------------------------------------
reaper.PreventUIRefresh(1);
reaper.Undo_BeginBlock();
----
local SV = {};
CountTrackXX = reaper.CountTracks(0);
local CountSelTrack = reaper.CountSelectedTracks(0);
for i = 1,CountSelTrack do;
SV[i] = {};
SV[i].SelTr = reaper.GetSelectedTrack(0,i-1);
SV[i].VolTr = reaper.GetMediaTrackInfo_Value(SV[i].SelTr,"D_VOL");
SV[i].PanTr = reaper.GetMediaTrackInfo_Value(SV[i].SelTr,"D_PAN");
reaper.SetMediaTrackInfo_Value(SV[i].SelTr,"D_VOL",1);
reaper.SetMediaTrackInfo_Value(SV[i].SelTr,"D_PAN",0);
end;
----
reaper.SelectAllMediaItems(0,0);
reaper.Main_OnCommand(42230,0);--проект рендер,самые последние настройки
reaper.Main_OnCommand(40297,0); -- Track: Unselect all tracks
----
local ST = {};
for i = #SV,1,-1 do;
reaper.SetMediaTrackInfo_Value(SV[i].SelTr,"D_VOL",SV[i].VolTr);
reaper.SetMediaTrackInfo_Value(SV[i].SelTr,"D_PAN",SV[i].PanTr);
----
if (reaper.CountTracks(0) - CountTrackXX) == #SV then;
local numb = reaper.GetMediaTrackInfo_Value(SV[i].SelTr,"IP_TRACKNUMBER");
local CountTracks = reaper.CountTracks(0);
local lastTr = reaper.GetTrack(0,CountTracks-1);
reaper.SetOnlyTrackSelected(lastTr);
reaper.ReorderSelectedTracks(numb,0);
table.insert(ST,lastTr);
end;
end;
for i = 1,#ST do;
if i == 1 then;
reaper.SetOnlyTrackSelected(ST[i]);
else;
reaper.SetMediaTrackInfo_Value(ST[i],"I_SELECTED",1);
end;
end;
reaper.Undo_EndBlock(title,-1);
reaper.PreventUIRefresh(-1);
----
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
-- / Restore render / ---------------------------------------------------------------------
reaper.GetSetProjectInfo (0,"RENDER_SETTINGS" ,S.RENDER_SETTINGS ,1);
reaper.GetSetProjectInfo (0,"RENDER_BOUNDSFLAG" ,S.RENDER_BOUNDSFLAG,1);
reaper.GetSetProjectInfo (0,"RENDER_TAILFLAG" ,S.RENDER_TAILFLAG ,1);
reaper.GetSetProjectInfo (0,"RENDER_TAILMS" ,S.RENDER_TAILMS ,1);
reaper.GetSetProjectInfo (0,"RENDER_SRATE" ,S.RENDER_SRATE ,1);
reaper.GetSetProjectInfo (0,"RENDER_CHANNELS" ,S.RENDER_CHANNELS ,1);
reaper.GetSetProjectInfo_String(0,"RENDER_FORMAT",S.RENDER_FORMAT ,1);
reaper.GetSetProjectInfo (0,"RENDER_ADDTOPROJ" ,S.RENDER_ADDTOPROJ ,1);
reaper.GetSetProjectInfo_String(0,"RENDER_PATTERN" ,S.RENDER_FILE,true)
reaper.SNM_SetIntConfigVar("projrenderlimit" ,S.RENDER_SPEED );
reaper.SNM_SetIntConfigVar("projrenderresample" ,S.RENDER_RESAMPLE );
reaper.SNM_SetIntConfigVar("renderclosewhendone" ,S.SILENTLY_iNCREMENT );
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
local Localize = reaper.JS_Localize("Render to File","common");
local Window_Find = reaper.JS_Window_Find(Localize,true);
if Window_Find then;
reaper.JS_Window_Destroy(Window_Find);
reaper.Main_OnCommand(40015,0);--Render project to disk...
end;
О, спасибо. А как он называется, этот тогл? Я не смог найтиРусские менюшки сюда не вылаживай больше, потому что тебя с ними никто не поймет и не поможет.
Если подумать - то есть.
Цикл экшен сделай из этих экшенов через -step-О, спасибо. А как он называется, этот тогл? Я не смог найти
Archie_FX; Offline all Fx in project with delay (PDC) over 256 samples(`).luaкоторый бы не bypass делал, а OFFLINE всем плагинам с большой задержкой?
ну и время в семплах можно было задавать самому?
Именно такой экшн у меня и есть, но это не тогл, он не отслеживает состояние режимов и начинает работать инвертированно, т.е. неправильно в следующих ситуациях: 1. Если изменить режим не с помощью экшна, а вручную в меню 2.Открыть старый проект где при сохранении активным был выбран не первый пункт 3.Открыть чужой проект где при сохранении активным был выбран не первый пунктЦикл экшен сделай из этих экшенов через -step-
Посмотреть вложение 171932
И в левой часте окна цикл экшена поставь точку во вкладке тогл.
Посмотреть вложение 171933