lua / eel: шаблон таймера

@Michael

Well-Known Member
14 Дек 2010
971
1.638
93
Орёл / Москва
Код:
-- Timer template --
---------------------------------------------------
time = 10 -- время паузы в секундах
action_id_1 = 00000 -- сюда вставляем первый экшн
--для SWS, CAE и Custom action_id_1 = reaper.NamedCommandLookup("_BLABLABLA_")
action_id_2 = 00000 -- сюда второй
---------------------------------------------------

function timer()
time2 = reaper.time_precise()
time_con = true
if time_con == true then
  if time2 - time1 < time then
   time_con = true
   reaper.defer(timer)
   else
   time_con = false
  end
end
end

function sec_fn ()
reaper.Main_OnCommand(action_id_2, 0)
reaper.UpdateArrange()
end
-- PERFORM:

-- 1. Do first action. Insert action Id
reaper.Main_OnCommand(action_id_1, 0)
reaper.UpdateArrange()

-- 2. Wait for defined time
time1 = reaper.time_precise()
timer()

-- 3. Do second Action
reaper.atexit(sec_fn) -- also stop running script
 
Последнее редактирование:
  • Like
Реакции: Aleksandr Oleynik
PHP:
// Timer template
time = 2;
action_id_1 = 00000;
//для SWS, CAE и Custom action_id_1 = NamedCommandLookup("_BLABLABLA_");
action_id_2 = 00000;

Main_OnCommand(action_id_1, 0);
UpdateArrange();

time1 = time_precise();
function timer() (
time2 = time_precise();
time_con = 1;
time_con == 1 ? (
  time_delta = time2 - time1;
   time_delta < time ? (
   time_con = 1;
   defer("timer()");
   ):(
   time_con = 0;
   );
  );
);

timer();

atexit("
Main_OnCommand(action_id_2, 0);
UpdateArrange();"
);
 
Последнее редактирование:
Очень круто! Спасибо!
И думаю тему нужно переименовать :)
Теперь то и lua и EEL

PS: А как использовать Кастом Экшины и SWS?
 
Последнее редактирование:
PHP:
// Timer template
time = 2;
action_id_1 = NamedCommandLookup("_SWS_AWGRID128"); // 1/128grid
action_id_2 = NamedCommandLookup("_SWS_AWGRIDHALF"); // 1/2 grid
Main_OnCommand(action_id_1, 0);
UpdateArrange();

time1 = time_precise();
function timer() (
time2 = time_precise();
time_con = 1;
time_con == 1 ? (
  time_delta = time2 - time1;
   time_delta < time ? (
   time_con = 1;
   defer("timer()");
   ):(
   time_con = 0;
   );
  );
);

timer();

atexit("
Main_OnCommand(action_id_2, 0);
UpdateArrange();"
);
 

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