Auto View Scroll перестал "следить за курсором"

  • Автор темы Автор темы vax
  • Дата начала Дата начала

vax

Чукча-писатель
13 Ноя 2002
7.397
4.595
113
45
Kiev/UA
www.andivaxmastering.com
То ли обновление Reaper, то ли экшн какой-то запустил, но Auto View Scroll перестал "следить за курсором".
Раньше при отключенной опции Auto View Scroll During Playback я нажимал на воспроизведение и если хотел посмотреть где находится уехавший за пределы экрана курсор, просто тыкал клавишу F (на неё подвязан toggle "Auto View Scroll During Playback").
Теперь так не работает ((
Приходится всё время держать опцию "Auto View Scroll During Playback" включённой, что дико не удобно.

Help! )
 
@vax, Я правильно понимаю ?
Когда ты отключаешь "Auto View Scroll During Playback" или руками сдвигаешь скролл, то авто скролл перестает работать, в принципе работает, как и должно работать, плей пошел дальше, а ты остался что то редактировать в определенном месте.
А вот когда ты включаешь "Auto View Scroll During Playback", то тут ты хочешь что бы при включении аранж прокручивался к плей курсору, Верно?
Если верно, то попробуй использовать вот этот скрипт* вместо "Auto View Scroll During Playback".
И раньше по моему прокрутка аранжа тоже не работала при включенном воспроизведении, как и сейчас - только на паузе.
Или может тебе надо просто "View: Go to play position"?
Качать скрипт от сюда
Качать скрипт от сюда
Качать скрипт от сюда
Качать скрипт от сюда
Качать скрипт от сюда

JavaScript:
    ----------
    local function no_undo()reaper.defer(function()end)end;

    local Toggle = reaper.GetToggleCommandStateEx(0,40036);--auto-view-scroll during playback
    if Toggle == 0 then;
        reaper.PreventUIRefresh(1);
        local PlayPosition = reaper.GetPlayPosition();
        local CursorEd = reaper.GetCursorPosition();
        reaper.Main_OnCommand(40036,0);
        reaper.SetEditCurPos(PlayPosition,true,false);
        local Play = reaper.GetPlayState();
        if Play&1 == 1 then;
            reaper.OnPlayButton();
        end;
        reaper.SetEditCurPos(CursorEd,false,false);
        reaper.PreventUIRefresh(-1);
    else;
        reaper.Main_OnCommand(40036,0);
    end;
    no_undo();
    ----------
 
Последнее редактирование:
Я бы немного не так сделал - твой скрипт делает в быстром темпе стоп/плей, видимо в целях скрола - не оч круто, т.к. воспроизведение дергается. Можно использовать для этого как раз экшн View: Go to play position. Он скролит только когда его позиция уйдет за пределы экрана. Также добавил возможность использовать в тулбар - кнопка горит или гаснет
JavaScript:
 ----------
    local _,_,sectionID,cmdID,_,_,_ = reaper.get_action_context();
    local function no_undo()reaper.defer(function()end)end;

    local Toggle = reaper.GetToggleCommandStateEx(0,40036);--auto-view-scroll during playback
    if Toggle == 0 then;
        if reaper.GetPlayState() == 1 then;
          reaper.Main_OnCommand(40150,0); -- go to play position
        end;
        reaper.Main_OnCommand(40036,0);
        reaper.SetToggleCommandState(sectionID,cmdID, 1);
        reaper.RefreshToolbar(cmdID);
    else;
        reaper.Main_OnCommand(40036,0);
        reaper.SetToggleCommandState(sectionID,cmdID, 0);
        reaper.RefreshToolbar(cmdID);
    end;
    no_undo();
    ----------
 
Последнее редактирование:
  • Like
Реакции: Dr_mushroom
Можно использовать для этого как раз экшн View: Go to play position.
Можно. С ним да - по удачнее.
Только лишнее тогда убрать.
Archie_View; Toggle auto-view-scroll during playback go to play position.lua
Скрипт в репозитории.
Скрипт в репозитории.
Скрипт в репозитории.
Скрипт в репозитории.
Скрипт в репозитории.
Скрипт в репозитории.
Скрипт в репозитории.
Скрипт в репозитории.
Скрипт в репозитории.
)))
JavaScript:
       local Toggle = reaper.GetToggleCommandStateEx(0,40036);--auto-view-scroll during playback
       if Toggle == 0 then;
           if reaper.GetPlayState()&1 == 1 then;
               reaper.Main_OnCommand(40150,0); -- go to play position
           end;
           reaper.Main_OnCommand(40036,0);
       else;
           reaper.Main_OnCommand(40036,0);
       end;
       local _,_,sectionID,cmdID,_,_,_ = reaper.get_action_context();
       reaper.SetToggleCommandState(sectionID,cmdID,math.abs(Toggle-1));
       reaper.RefreshToolbar(cmdID); reaper.defer(function()end);
 
Последнее редактирование:
Нет, ты не понял, у меня тоже не перемещается при клике на айтем.
Дело вот в чем, если ты убирешь рлей, то при клике по айтему авто скролл прекратится и вот теперь если выключить скрипт и включить обратно, то все проскролится как надо, но авто скролл не заведется, хотя и включится.
А, ну есть такое. Типа ты начал работать - нафиг скроллить :) В принципе изначальный вариант мне как раз кажется логичным.
Но при включении автоскролла точно лучше, чтобы скролл делался автоматом первый раз
 
Можно. С ним да - по удачнее.
Только лишнее тогда убрать.
Archie_View; Toggle auto-view-scroll during playback go to play position.lua

всё класс!
только после нажатия на STOP, play курсор не возвращается к edit cursor (
 

Вложения

  • 111.gif
    111.gif
    10,8 MB · Просмотры: 476
Как это не возвращается, у меня все возвращается, вот гиф.
И плей разве может начаться не от edit cursor-а?

сорян!
сам курсор возвращается, но я вижу место проигрывания после нажатия на STOP, а не положение edit cursor.
169009
 
@vax, Попробуй поставить галку, если не стоит "Options > Preferences > Playback > Scroll view to edit cursor on stop"
 
Последнее редактирование:
@vax, Попробуй поставить галку, если не стоит "Options > Preferences > Playback > Scroll view to edit cursor on stop"

о! так работает!

но если отключить скрипт и нажать стоп - не возвращает вид на edit cursor почему-то..
 

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