Reaper: вопросы присматривающихся к этой программе (5 онлайн)

Mr_Tsonts

Well-Known Member
18 Апр 2019
1.656
1.341
113
56
Киев
Смотри ка! Ну это же практически что доктор прописал!:Dle1: Огромное благодарю!!!
А вот можно что то добавить в кастом, что бы вырезанный айтем сначала вниз на один трек (который специально для этого сделал пустым) опускался и там оказывался, а не на этом же треке перемещался, прямо поверх основного айтема, из которого я и дёргаю эти куски?

Ну и наборное устройство у него удобнее (быстрее) получается. Просто одним пальцем цифры вбиваешь и всё. А у тебя "навороченный" - но отнимает время: сначала часы вбиваешь, потом минуты, потом секунды - в этой ситуации ничего такого не надо! просто - первая цифра это часы (до 9), вторые две - минуты, остальные - секунды/миллисекунды.
В середине вписываешь два экшена и получится:
Script: Archie_Edit cursor; Go To Time(time).lua
SWS/BR: Focus arrange
Script: Archie_Cont; Move tracks down or items down depending on focus(skip minimized track).lua
Item edit: Move position of item to edit cursor
 

Mr_Tsonts

Well-Known Member
18 Апр 2019
1.656
1.341
113
56
Киев
@smrz1, можешь вообще первым поставить скрипт, что я переделал, в кастом а потом
SWS/BR: Focus arrange
Script: Archie_Cont; Move tracks down or items down depending on focus(skip minimized track).lua

И там нет ничего навороченного, это, наверно просто более поздний скрипт от Арчи, там время запоминается и остаётся. тебе только менять последние данные. Впрочем, дело вкуса.

П.С. или просто Script: Archie_Item; Move selected items down by one visible track(skip minimized track).lua

У меня просто первый быстрее всего находится))))))) И он мне удобнее.
 
Последнее редактирование:

smrz1

Banned
25 Янв 2010
1.485
349
83
@smrz1, можешь вообще первым поставить скрипт, что я переделал, в кастом а потом
SWS/BR: Focus arrange
Script: Archie_Cont; Move tracks down or items down depending on focus(skip minimized track).lua

И там нет ничего навороченного, это, наверно просто более поздний скрипт от Арчи, там время запоминается и остаётся. тебе только менять последние данные. Впрочем, дело вкуса.
Погоди погоди, я просто сейчас работаю и в работе проверяю твой скрипт. За ходом твоих изменений я не успеваю следить. Уже не знаю какой переделанный - какой нет, где какое наборное устройство и т. п.

Сейчас я работаю с Script: Move_item_to_time.lua. Всё нормально, только наборное устройство в два раза затормозила мою работу (вкус здесь вообще не причём). Арчи тоже меня убеждал что так не то и т. п. Но мне надо было не "внешний вид", а максимальная простота в наборе, одной рукой, без участия мышки - и он это сделал!!!

На каком этапе ты сейчас - есть кастом где быстрая наборка (последний набор запоминается - я специально его об этом просил), вниз на трек?
Покажешь мне его, что бы я смог его прямо сейчас протестировать?
 

Broojacker

Active Member
4 Сен 2010
276
213
43
Киев
soundcloud.com
@darthmortius, «Я 15 лет считаю задержку семпла у вас в метрономе - их то 16, то 17, а иногда и 15. Вы там сумасшедшие что ли все???»
Дело скорей всего в не идеально отредактированных семплах, у меня семплы из Лоджика, и в клик соурсе нет задержек. 16 семплов это меньше 1 миллисекунды, я бы не заморачивался.
 
  • Haha
Реакции: darthmortius

smrz1

Banned
25 Янв 2010
1.485
349
83
@smrz1, https://rmmedia.ru/threads/23589/post-2567959
Ок, пришли мне свой с нужным видом. Или, если где-то здесь есть этот код, кинь ссылку.
Арифметика очень проста: набирая таймкод ты тратишь 2 секунды или четыре - разницы никакой. Но если это твоё основное действие в данной работе то 10 часовой проект, который ты делаешь с быстрым набором за 20 часов или за 40 часов - разницу видишь? А она есть! Как и суслик - он тоже есть. А тут слон получается!:Dle58:
 

Mr_Tsonts

Well-Known Member
18 Апр 2019
1.656
1.341
113
56
Киев
Извиняюсь - сейчас исправлюсь.
Я сам только сейчас разобрался со скриптом Арчи полностью, там мод меняет внешний вид, вот тебе код, который тебя устроит:
Код:
local MODE = 0 -- 0 / 1
    
    --======================================================================================
    --////////////// SCRIPT \\\\\\\\\\\\\\  SCRIPT  //////////////  SCRIPT  \\\\\\\\\\\\\\\\
    --======================================================================================
    
    
    
    -------------------------------------------------------
    local function no_undo()reaper.defer(function()end)end;
    -------------------------------------------------------
    
    local title = 'Set item pos to time';
    local _,filename,_,_,_,_,_ = reaper.get_action_context();
    local Mouse_x,Mouse_y = reaper.GetMousePosition();
    
    
    if MODE == 0 then;
        ---------------------------------------------------------
        local buf = tonumber(reaper.GetExtState(filename,title))or 0;
        
        local retval,retvals_csv = reaper.GetUserInputs(title,1,'Sec: ( H M S MS ),extrawidth=25',buf);
        if not retval then no_undo()return end;
        
        local MSec = retvals_csv:match(                  '(%d+)$')or 0;
        local Sec  = retvals_csv:match(            '(%d+)%D+%d*$')or 0;
        local Min  = retvals_csv:match(      '(%d+)%D+%d*%D+%d*$')or 0;
        local Hour = retvals_csv:match('(%d+)%D+%d*%D+%d*%D+%d*$')or 0;
        
        local time = reaper.parse_timestr_pos(Hour..':'..Min..':'..Sec..'.'..MSec,0);
       local CountSelItem = reaper.CountSelectedMediaItems(0);
                   if CountSelItem == 0 then no_undo() return end;
                  
               for i = 1, CountSelItem do;
               local SelItem = reaper.GetSelectedMediaItem(0,i-1);
               if SelItem ~= nil then
               reaper.SetMediaItemInfo_Value( SelItem, "D_POSITION" , time )end
        
        reaper.SetExtState(filename,title,retvals_csv,false);end
        ---------------------------------------------------------
    else;
        ---------------------------------------------------------
        local Hour = tonumber(reaper.GetExtState(filename,'Hour'))or 0;
        local Min  = tonumber(reaper.GetExtState(filename,'Min' ))or 0;
        local Sec  = tonumber(reaper.GetExtState(filename,'Sec' ))or 0;
        local MSec = tonumber(reaper.GetExtState(filename,'MSec'))or 0;
        
        local
        retval,retvals_csv = reaper.GetUserInputs(title,4,'Hour: '..(' -'):rep(40)..','..
                                                          'Minutes:  '..(' -'):rep(40)..','..
                                                          'Sec:  '..(' -'):rep(40)..','..
                                                          'Milliseconds  '..(' -'):rep(40)..','..
                                                          'extrawidth=25,separator=$',
                                                          Hour..'$'..Min..'$'..Sec..'$'..MSec);
        if not retval then no_undo()return end;------------
        retvals_csv = retvals_csv..'$';
        
        if #retvals_csv:gsub('[^$]','')> 4 then;
            reaper.TrackCtl_SetToolTip('---$---\nERROR\n-------',Mouse_x,Mouse_y,false);
            no_undo()return;
        end;
        
        
        Hour,Min,Sec,MSec = retvals_csv:match('^(.-)%$(.-)%$(.-)%$(.-)%$');
        
        Hour = tonumber(Hour)or 0;
        Min  = tonumber(Min) or 0;
        Sec  = tonumber(Sec) or 0;
        MSec = tonumber(MSec)or 0;
        
        local time = reaper.parse_timestr_pos(Hour..':'..Min..':'..Sec..'.'..MSec,0);
        --reaper.SetEditCurPos(time,true,false);
      
        local CountSelItem = reaper.CountSelectedMediaItems(0);
            if CountSelItem == 0 then no_undo() return end;
            
        for i = 1, CountSelItem do;
        local SelItem = reaper.GetSelectedMediaItem(0,i-1);
        if SelItem ~= nil then
        reaper.SetMediaItemInfo_Value( SelItem, "D_POSITION" , time )end
                  
        reaper.SetExtState(filename,'Hour',Hour,false);
        reaper.SetExtState(filename,'Min' ,Min ,false);
        reaper.SetExtState(filename,'Sec' ,Sec ,false);
        reaper.SetExtState(filename,'MSec',MSec,false);
        ---------------------------------------------------------
    end;
    end;
    no_undo();
Этот скрипт ставишь первым в кастоме. а после него Script: Archie_Item; ↓Move selected items down one track.lua
 

smrz1

Banned
25 Янв 2010
1.485
349
83
@Mr_Tsonts,
Так что ли надо делать?

Archie_Edit cursor; speed dial Go To Time (переделанный тобой)
Script: Archie_Item; ↓Move selected items down one track.lua
SWS/BR: Focus arrange
Script: Archie_Cont; Move tracks down or items down depending on focus(skip minimized track).lua
Item edit: Move position of item to edit cursor
 

Mr_Tsonts

Well-Known Member
18 Апр 2019
1.656
1.341
113
56
Киев
@Mr_Tsonts,
Так что ли надо делать?

Archie_Edit cursor; speed dial Go To Time (переделанный тобой)
Script: Archie_Item; ↓Move selected items down one track.lua
SWS/BR: Focus arrange
Script: Archie_Cont; Move tracks down or items down depending on focus(skip minimized track).lua
Item edit: Move position of item to edit cursor
Нет))))) Если Арчи почитает всё, что я тут тебе понаписывал, он за голову возьмётся, какой я тормоз)))))))
Берёшь скрипт, который я тебе высылаю, закидываешь себе, делаешь из него кастом.
Первым ставишь его, вторым - Script: Archie_Item; ↓Move selected items down one track.lua
 

Вложения

smrz1

Banned
25 Янв 2010
1.485
349
83
Нет))))) Если Арчи почитает всё, что я тут тебе понаписывал, он за голову возьмётся, какой я тормоз)))))))
Берёшь скрипт, который я тебе высылаю, закидываешь себе, делаешь из него кастом.
Первым ставишь его, вторым - Script: Archie_Item; ↓Move selected items down one track.lua
То есть, кастом из двух скриптов? Так?
 

Mr_Tsonts

Well-Known Member
18 Апр 2019
1.656
1.341
113
56
Киев
То есть, кастом из двух скриптов? Так?
А вот тебе тот, что Арчи для тебя делал, что ты мне за вторым разом прислал. Если он тебе удобнее, делай кастом с ним.
 

Вложения

Mr_Tsonts

Well-Known Member
18 Апр 2019
1.656
1.341
113
56
Киев
Сейчас соберу и отпишусь... Сделал перерыв в работе - нет сил на два фронта (на два полушария) работать.:Dle90::Dle85:
собирай уже с последним. который я тебе выслал. Первый - общего использования, второй тот, который ты мне высылал, который Арчи для тебя делал.
 

smrz1

Banned
25 Янв 2010
1.485
349
83
А вот тебе тот, что Арчи для тебя делал, что ты мне за вторым разом прислал. Если он тебе удобнее, делай кастом с ним.
Разницы не увидел. Оба делают так как мне надо, но и у обоих один и тот же косяк: если мне что то не понравилось (неправильно набрал код и т. п.) и делаю отмену, то кастом всё равно отрабатывает - скидывает айтем на трек ниже. То есть не оставляет его на месте. Как это исправить?
 

Mr_Tsonts

Well-Known Member
18 Апр 2019
1.656
1.341
113
56
Киев
У меня это выглядит вот так (с моими настройками ввода времени), что в этом не устраивает?
Set time item and move down.gif
 

Mr_Tsonts

Well-Known Member
18 Апр 2019
1.656
1.341
113
56
Киев
@smrz1, Кажется, я понял. Вот так получается?
Set time item and move down undo.gif

Тут я ничем не смогу помочь, просто ещё раз отмену и он вернётся на место.
 

smrz1

Banned
25 Янв 2010
1.485
349
83
@Mr_Tsonts, да нет, ты не понял о чём я: набираешь таймкод, а потом не Ок, а нажми Cancel и скрипт всё равно скидывает айтем вниз, а не просто отменяет действие!
 

smrz1

Banned
25 Янв 2010
1.485
349
83
@smrz1, Кажется, я понял. Вот так получается?Посмотреть вложение 193666
Тут я ничем не смогу помочь, просто ещё раз отмену и он вернётся на место.
Ну это вообще не большая проблема. Главное - теперь всё это работает как надо! Но в чём же разница между Set item position to time.lua и Set item to time(time).lua? Я не вижу... Или у меня мозг начинает плавиться?
 

Mr_Tsonts

Well-Known Member
18 Апр 2019
1.656
1.341
113
56
Киев
@smrz1, разве что, вот эту формулу впиши - reaper.Main_OnCommand(reaper.NamedCommandLookup("1013"),0)
Set time item and move down undo upd.gif
, как на гифе в скрипт и в формулу айди экшена, опускающего на трек ниже айтем.
Только сохрани скрипт, а то я отмену в гифе сделал. Хотя... Должен и так сохраниться))))) У меня тоже голова плавится)))))
 
Последнее редактирование:

Mr_Tsonts

Well-Known Member
18 Апр 2019
1.656
1.341
113
56
Киев
Ну это вообще не большая проблема. Главное - теперь всё это работает как надо! Но в чём же разница между Set item position to time.lua и Set item to time(time).lua? Я не вижу... Или у меня мозг начинает плавиться?
В первом есть вариант выбора внутри скрипта, во втором нет. Внешне, если с твоим вариантом выбора разницы нет.
 

smrz1

Banned
25 Янв 2010
1.485
349
83
@Mr_Tsonts, ну это я сейчас по любому не в состоянии
В первом есть вариант выбора внутри скрипта, во втором нет. Внешне, если с твоим вариантом выбора разницы нет.
И главный нюанс. Ты убрал курсор, и теперь айтем улетает куда то (куда я его послал), но я не вижу куда!
А просидев несколько часов за этим делом, могу понаделать ошибок. К примеру цифру нечаянно не ту нажать.
А изначально, когда ты это сделал, я видел куда айтем прилетает. Теперь же он улетает в "тёмную"!!!
Сможешь это вернуть? Я не могу без контроля!
Мне нужно видеть куда пришёл айтем. Вернуться я могу и с помощью заранее поставленного маркера...
 

smrz1

Banned
25 Янв 2010
1.485
349
83
@Mr_Tsonts, Дело в том что файл у меня может длиться час или полтора. Скроллить постоянно для проверки - не дело. Пусть курсор летит вместе с айтемом!
 

Mr_Tsonts

Well-Known Member
18 Апр 2019
1.656
1.341
113
56
Киев
@smrz1, тогда кастом:
Archie_Edit cursor; speed dial Go To Time (который я не переделывал)
Item edit: Move position of item to edit cursor
Script: Archie_Item; ↓Move selected items down one track.lua

И спасибо за внимание)))))))))
 
Последнее редактирование:

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