Archie-reascript: обсуждение, пожелания, сообщения об ошибках. (2 онлайн)

Maestro Sound

Active Member
1 Ноя 2007
721
86
28
@Archie's, Облазил все скрипты и не нашел функции, двигать контент внутри итема колисом мыши вперед назад на заданное количество мс-семплов. Очень удобная функция для редакции вокала беков и живого исполнения инструментов.
 

Maestro Sound

Active Member
1 Ноя 2007
721
86
28
@Archie's, Здорово! Есть баг. Если срезать кусок в начале файла и начать сдвигать назад, контент прыгает.

По возможности донат с меня. Да еще если возможно сделать опцию инвертирования колеса
 

Вложения

  • Like
Реакции: Archie's

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
Если срезать кусок в начале файла и начать сдвигать назад, контент прыгает.
Исправил, проверяй.
Да еще если возможно сделать опцию инвертирования колеса
Сделал.
По возможности донат с меня.
Всегда За )))
 

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
  • Like
Реакции: Maestro Sound

Maestro Sound

Active Member
1 Ноя 2007
721
86
28
Работает! loop у меня всегда отключен.

Еще переодически выскакивает окно твоей рекламы от не известного скрипта ,не успел разобрать, как убрать?
 

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
Не, не работает еще. Если после сдвига включить луп и применить скрипт, то не правильно происходил первый сдвиг.
Исправил, теперь должно работать правильно.
от не известного скрипта
От всех скриптов. Данное окно появляется каждый сотый запуск скрипта.
 

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
@Snjuk, Привет
Не совсем понял вопрос, но скорее всего нет, потому что у скриптов нету доступа к тулбарам.
Или по имени тулбара можно сделать его активным.
PHP:
   windowHWND = reaper.JS_Window_Find('Toolbar 5',true)
   reaper.JS_Window_SetFocus( windowHWND )
 
  • Like
Реакции: Snjuk

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
  • Like
Реакции: AbramoV и AlexLazer

AlexLazer

Well-Known Member
26 Янв 2009
2.674
1.419
113
40
Russia, Stavropol
soundprofi.ru
@Archie's, Просьба сделать не как авто, а просто скрипт и вот пожелания:

Похоже он мне не подходит) Во-первых, он все так же не воспринимает parent send как сенд. Во-вторых, авто мне вообще не нужен, т.к. его почти невозможно добавить в кастом. В третьих, у Parent Send тоже есть сенды. Их я тоже хочу активировать. То есть по сути, либо скрипт должен активировать дорожки куда идет посыл до самого мастера (включая мастер). Или просто нужен скрипт типа того, что мне вчера советовали, где просто выделяются дорожки, куда идет посыл. Тогда я могу в кастом запихнуть несколько таких комбинаций (выделить дорожки куда идет посыл, засолировать, снова выделить дорожки куда идет посыл с этих дороже, и снова засолировать). И таким образом будет засолирована дорожка и все другие дорожки куда идут посылы до самого мастера

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

я думаю, авто здесь совсем не нужно. И солирование в принципе тоже. Гораздо лучше будет сделать такой же скрипт как у "Script: me2beats_Select all sends.lua", но чтобы работал parent send. Тогда возможностей будет больше для создания кастома.
 

AlexLazer

Well-Known Member
26 Янв 2009
2.674
1.419
113
40
Russia, Stavropol
soundprofi.ru
@Archie's, Родительские папки должен солировать, я понял, хотя это возврат, а не посыл.
Надеюсь ты понял, извини за суету.
 
Последнее редактирование:

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
Похоже он мне не подходит)
Ну что попросил, то и сделал.
Смотри, мне нужен просто скрипт который выделит все дорожки, куда идут посылы + родительскую папку (даже если это не посыл). Вот и все. Остальное я сам скомбинирую через кастом.
Не совсем понимаю что нужно. Ты в пример привел скрипт me2beats_Select all sends , а он выделяет ВСЕ треки в ПРОЕКТЕ, которые имеют прием с какого либо трека. Нужно также как и me2beats, только что бы еще и родительские выделились у выделенных или что бы посыл высчитывался только от выделенного трека, т.е. (смотри картинку, стрелочки, это куда посыл идет), например в проекте один выделенный трек 11, он некуда не отправлен (ну на родительский трек) №9, 9 отправляется на 5, пятый на 6 и 7 треки, с 7 на 4 трек, с 4 на 14 и с 14 на 15, 16 треки. Так вот, какие треки должны быть выделены в этой ситуации?
1 вариант: 11 и 9 треки (т.е. только посылы от выделенного)
2 вариант: 11,9,5,6,7,4,14,15,16 (вся цепочка от выделенного)
3 вариант: 11,9,5,6,7,4,14,15,16,2 (как me2beats, только с треками папками )

187756
 
Последнее редактирование:

AlexLazer

Well-Known Member
26 Янв 2009
2.674
1.419
113
40
Russia, Stavropol
soundprofi.ru
Ну по сути - выделил трек, запустил, добавил в выделение еще трек (через контрол или как там на винде) и снова запустил, все добавится и для нового трека, ну и для первого, для выделенных короче. Сенды и папки
 

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
А нужен он мне для того, чтобы создать кастом экшн:

1. Mute All Tracks
2. Скрипт
3. Track: Solo Tracks

Таким образом, все дорожки будут замьютированы, тем самым проц полностью освободится от нагрузки. Но дорожка, с которой я буду работать (или дорожки), будут функционировать нормально. Так я могу очень долго переходить от дорожки к дорожке, а проц будет отдыхать. И все действия типа "открыть окно эффектов", или "открыть миди редактор", будут происходить быстрее.

Ну это просто, для информации, вдруг кому-то будет полезно, пусть используют этот скрипт тоже :)
Для информации, а пишешь в личку))).
Выделил трек, запустил скрипт и к выделенной дорожке добавилось выделение других дорожек, на которые у меня стоят сенды + родительская папка.
JavaScript:
--Archie_Track; Select all send and parent tracks from selected tracks.lua


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


local CountSelTrack = reaper.CountSelectedTracks(0);
if CountSelTrack == 0 then no_undo()return end;


for i2 = 1,math.huge do;
    local CountSelTrackTotal = reaper.CountSelectedTracks(0);
   
    ----------------------------------------------
    for i = 1,math.huge do;
        local Repeat;
        local CountSelTrack = reaper.CountSelectedTracks(0);
        for i = 1,CountSelTrack do;
            local trackSel = reaper.GetSelectedTrack(0,i-1);
            local parTr = reaper.GetMediaTrackInfo_Value(trackSel,'P_PARTRACK');
            if type(parTr)=='userdata' then;
                local sel = reaper.GetMediaTrackInfo_Value(parTr,'I_SELECTED');
                if sel <= 0 then;
                    ----
                    if not UNDO then;
                        reaper.Undo_BeginBlock();
                        reaper.PreventUIRefresh(1);
                        UNDO = true;
                    end;
                    ----
                    reaper.SetMediaTrackInfo_Value(parTr,'I_SELECTED',1);
                    Repeat = true;
                    break;
                end;
            end;
        end;
        if not Repeat then break end;
    end;
    ----------------------------------------------
   
    ----------------------------------------------
    for i = 1,math.huge do;
        local Repeat;
        local CountSelTrack = reaper.CountSelectedTracks(0);
        for i = 1,CountSelTrack do;
            local trackSel = reaper.GetSelectedTrack(0,i-1);
            local NumSend = reaper.GetTrackNumSends(trackSel,0);
            for s = 1, NumSend do;
                local trSend = reaper.GetTrackSendInfo_Value(trackSel,0,s-1,'P_DESTTRACK');
                local sel = reaper.GetMediaTrackInfo_Value(trSend,'I_SELECTED');
                if sel <= 0 then;
                    ----
                    if not UNDO then;
                        reaper.Undo_BeginBlock();
                        reaper.PreventUIRefresh(1);
                        UNDO = true;
                    end;
                    ----
                    reaper.SetMediaTrackInfo_Value(trSend,'I_SELECTED',1);
                    Repeat = true;
                end;
            end;
            if Repeat then break end;
        end;
        if not Repeat then break end;
    end;
    ----------------------------------------------
   
    local CountSelTrackCheck = reaper.CountSelectedTracks(0);
    if CountSelTrackCheck == CountSelTrackTotal then break end;
end;


if UNDO then;
    reaper.PreventUIRefresh(-1);
    reaper.Undo_EndBlock('Select all send and parent tracks from selected tracks', -1);
else;
    no_undo();
end;
 
Последнее редактирование:
  • Like
Реакции: AlexLazer

Supa75

Active Member
21 Мар 2017
672
164
43
48
Днепр, Украина
а можно сделать скрипт по изменению velocity для миди-нот? выделили ноты, запустил скрипт - открылось окошко для ввода велосити (при этом в окне уже видно текущий велосити, если он одинаковый у всех выделенных нот или нота одна, и готовый к редактированию. Если у нот разный велосити - поле пустое.
 

Supa75

Active Member
21 Мар 2017
672
164
43
48
Днепр, Украина
спасибо большое, работает, но есть нюанс. Если запустить скрипт, ввести велосити, а потом на тех же нотах опять вызвать скрипт - в окне показывает velocity =0, а если вводишь новое значение - резко увеличивается громкость всех нот на дорожке
 

Supa75

Active Member
21 Мар 2017
672
164
43
48
Днепр, Украина
вот гиф.
qwe.gif

тут видно, что при повторном запуске скрипта (когда выделенные ноты остаются):
- не определяет велосити в окне
- не меняет на новое значение
- громкость трека прыгает до максимума

Если снять выделение и повторно выделить, то все работает корректно. Проблема только при повторном запуске скрипта (если оставляешь выделенными ноты)
 

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