Помогите создать экшн / кастом экшн / скрипт (5 онлайн)

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
То есть вот так не будет работать
Сначала мне показалось, что ты показал на гиф другой скрипт. А оказывается
Я кажется понял в чем прикол :) Блин, это все дело в настройках конфига.
что он просто не работал с той настройкой и не понятно было чего ты добиваешься.

-----------------

Блин, черти что :( Как теперь скрипты писать...
Вот так баги и ищются и постепенно исправляются.
Параметр который надо настроить называется fxfloat_focus,
Ага, я знаю.
судя по всему в битах записан, если разберешься как менять его через reaper.SNM_SetIntConfigVar, то напиши пожалуйста
В самое начало скрипта вставь это:

JavaScript:
    ---------------------------------------------------------------
    local fxfloat = reaper.SNM_GetIntConfigVar('fxfloat_focus',0);
    if fxfloat&4 == 4 then;
        local fxfloat2 = fxfloat&~(fxfloat&4);
        reaper.SNM_SetIntConfigVar('fxfloat_focus',fxfloat2);
        reaper.defer(function()reaper.SNM_SetIntConfigVar('fxfloat_focus',fxfloat)end);     
    end;
    ---------------------------------------------------------------
 

zybex00

Member
3 Июл 2016
53
21
8
Обратите внимание, пользователь заблокирован на форуме.
Вы там как разберетесь хоть финальный вариант опубликуйте)) А то читаешь, но половина непонятно
 

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
Вы там как разберетесь хоть финальный вариант опубликуйте)) А то читаешь, но половина непонятно
Да все разобрались уже. :)
Нужно тот "выше" код в начало скрипта вставить, что бы та настройка не ломала скрипт и все.
 

borisuperful

Well-Known Member
31 Янв 2013
2.017
1.152
113
Да все разобрались уже. :)
Нужно тот "выше" код в начало скрипта вставить, что бы та настройка не ломала скрипт и все.
Спасибо, работает :) Надо бы мне подтянуть эту тему плохо понимаю
 
  • Like
Реакции: Archie's

borisuperful

Well-Known Member
31 Янв 2013
2.017
1.152
113
Вы там как разберетесь хоть финальный вариант опубликуйте)) А то читаешь, но половина непонятно
На гитхаб все залью, шас лог допишу :) Но это Archie себе поставил настройку, у большинства людей она будет снята с заводского рипера :)
 
  • Like
Реакции: Archie's

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
@borisuperful, Просто интересно :), а зачем ты переделал функцию которую я написал и заставляешь людей принудительно отключить настройку ?
Зачем ее отключать, если она людям нужна, ведь то что я написал - это работает так: Если эта настройка включена, то данная функция отключит ее, далее произойдет работа самого скрипта и по завершению скрипта эта настройка включится обратно, ну а если эта настройка отключена, то ничего не произойдет, просто выполнится работа скрипта.
 
Последнее редактирование:

borisuperful

Well-Known Member
31 Янв 2013
2.017
1.152
113
@borisuperful, Просто интересно :), а зачем ты переделал функцию которую я написал и заставляешь людей принудительно отключить настройку ?
Подумал что обратно криво будет работать....Ладно сделаю с возвратом :)
 

zybex00

Member
3 Июл 2016
53
21
8
Обратите внимание, пользователь заблокирован на форуме.
Вот вы пишете - "поменяй то-то в скрипте", "добавь это в скрипт". Где? Где, чорд возьми, это делается?? Спалил стул, сижу час как баран, пробовал в блокноте открывается какая-то дичь, пробовал в редактировании рипера - какая-то дичь. Программисты безумны)
Без имени-1.jpg
 

borisuperful

Well-Known Member
31 Янв 2013
2.017
1.152
113
Вот вы пишете - "поменяй то-то в скрипте", "добавь это в скрипт". Где? Где, чорд возьми, это делается?? Спалил стул, сижу час как баран, пробовал в блокноте открывается какая-то дичь, пробовал в редактировании рипера - какая-то дичь. Программисты безумны)
Посмотреть вложение 192956
Ты не то скачал :) И там я уже обновил последний раз, ничего не надо редактировать.
Скачать надо так, сначала зайти в скрипт
1607859696057.png
 
  • Like
Реакции: zybex00

zybex00

Member
3 Июл 2016
53
21
8
Обратите внимание, пользователь заблокирован на форуме.
Ты не то скачал :) И там я уже обновил последний раз, ничего не надо редактировать.
Скачать надо так, сначала зайти в скрипт
Посмотреть вложение 192957
Спасибо) Вроде получилось, а зачем там master send отключается?

Догадался 1 поставить в скрипте) Теперь не отключается. (Но зачем)
 

borisuperful

Well-Known Member
31 Янв 2013
2.017
1.152
113
Спасибо) Вроде получилось, а зачем там master send отключается?

Догадался 1 поставить в скрипте) Теперь не отключается. (Но зачем)
Ну если нужна шина, зачем удваивать сигнал? :) В большинстве случаев как раз не нужно
 

zybex00

Member
3 Июл 2016
53
21
8
Обратите внимание, пользователь заблокирован на форуме.

borisuperful

Well-Known Member
31 Янв 2013
2.017
1.152
113
Не знаю, мне для посыла на эффекты это нужно. На ревер в основном.
Ну так я сделал вариант, надо было только указать что 1 или 0 это есть или нет мастер посыла - уже перезалил скрипт с объяснением :)
А версия с окном позволяет всегда указать то, что нужно, поэтому я их (окна) делаю в первую очередь, чтобы лишние скрипты не плодить
 

shuco

Active Member
26 Ноя 2005
439
109
43
58
Новосибирск
Подскажите, есть ли скрипт, устанавливающий высоту(height) выделенного трека(треков) в значениях, с возможностью прописать это значение в скрипте?
 

Mr_Tsonts

Well-Known Member
18 Апр 2019
1.656
1.341
113
56
Киев
Подскажите, есть ли скрипт, устанавливающий высоту(height) выделенного трека(треков) в значениях, с возможностью прописать это значение в скрипте?
Я пользуюсь таким скриптом
Код:
local height_track = 110

selected_track = reaper.CountSelectedTracks( 0 )
 for i = 0, selected_track -1 do
      selected_track =  reaper.GetSelectedTrack( 0, i )
   if selected_track ~= nil then
      reaper.SetMediaTrackInfo_Value( selected_track, "I_HEIGHTOVERRIDE", height_track )
   end
 end
reaper.TrackList_AdjustWindows(false)
reaper.UpdateArrange()
Значение прописываю себе в первой строчке. Это на случай, если нужен скрипт с постоянным значением.
 

Andernik

Active Member
7 Апр 2009
338
207
43
Я пользуюсь таким скриптом
Код:
local height_track = 110

selected_track = reaper.CountSelectedTracks( 0 )
for i = 0, selected_track -1 do
      selected_track =  reaper.GetSelectedTrack( 0, i )
   if selected_track ~= nil then
      reaper.SetMediaTrackInfo_Value( selected_track, "I_HEIGHTOVERRIDE", height_track )
   end
end
reaper.TrackList_AdjustWindows(false)
reaper.UpdateArrange()
Значение прописываю себе в первой строчке. Это на случай, если нужен скрипт с постоянным значением.
А как сделать чтоб этот скрипт не действовал на треки с залоченной высотой (Lock track height) ?
 
  • Like
Реакции: YuriOl

Mr_Tsonts

Well-Known Member
18 Апр 2019
1.656
1.341
113
56
Киев
@Andernik, по идее, вот так, но у меня через раз работает почему-то.
Код:
local height_track = 110

selected_track = reaper.CountSelectedTracks( 0 )
for i = 0, selected_track -1 do
      selected_track =  reaper.GetSelectedTrack( 0, i )
   if selected_track ~= nil then
      reaper.SetMediaTrackInfo_Value( selected_track, "I_TCPH", height_track )
   end
end
reaper.TrackList_AdjustWindows(false)
reaper.UpdateArrange()
Может, кто-нибудь из продвинутых поправит. Я только учусь, (иногда), просто поделился тем, что работает у меня.
 
  • Like
Реакции: Andernik

Mr_Tsonts

Well-Known Member
18 Апр 2019
1.656
1.341
113
56
Киев
@Andernik, вроде нашёл правильный код:
Код:
local height_track = 200
local selected_track = reaper.CountSelectedTracks( 0 )
for i = 0, selected_track -1 do
      selected_track =  reaper.GetSelectedTrack( 0, i )
local heightLock = reaper.GetMediaTrackInfo_Value(selected_track,"B_HEIGHTLOCK")  
   if heightLock == 0 then
         reaper.SetMediaTrackInfo_Value( selected_track, "I_HEIGHTOVERRIDE", height_track )
   end
end
reaper.TrackList_AdjustWindows(false)
reaper.UpdateArrange()
Вот так залоченный трек не трогает.
 
Последнее редактирование:
  • Like
Реакции: YuriOl и Andernik

Andernik

Active Member
7 Апр 2009
338
207
43
@Andernik, вроде нашёл правильный код:
Код:
local height_track = 200
local selected_track = reaper.CountSelectedTracks( 0 )
for i = 0, selected_track -1 do
      selected_track =  reaper.GetSelectedTrack( 0, i )
local heightLock = reaper.GetMediaTrackInfo_Value(selected_track,"B_HEIGHTLOCK") 
   if heightLock == 0 then
         reaper.SetMediaTrackInfo_Value( selected_track, "I_HEIGHTOVERRIDE", height_track )
   end
end
reaper.TrackList_AdjustWindows(false)
reaper.UpdateArrange()
Вот так залоченный трек не трогает.
Спасибо!
 
  • Like
Реакции: Mr_Tsonts

mediakos

New Member
2 Дек 2020
6
3
3
48
Экшенами запилить не получилось (( Может кто скрипт встречал? Нужно по хоткею вешать определенный эффект в monitoringFX. Для обычного трека и мастера это получается (либо штатными способами, либо скриптом Archie's), а вот как вставить отдельный эффект или сохраненную цепь в monitoring FX - не пойму
 

Martin111

Member
18 Фев 2015
482
20
18
53
Подскажите скрипт, который может залочить группу, что бы разъединение происходило только определённым экшеном?
 

Вложения

Mr_Tsonts

Well-Known Member
18 Апр 2019
1.656
1.341
113
56
Киев
Подскажите скрипт, который может залочить группу, что бы разъединение происходило только определённым экшеном?
Если честно, вопрос не понятен. На картинке обычный набор треков, объединённый в трек папку. Группы треков - целый раздел. нуждающийся в специальном изучении, но это не то, что у вас на рисунке. Возможно, вы имеете в виду, как треки так собрать в папку, чтобы разобрать обратно можно было только специальным скриптом?
 

Martin111

Member
18 Фев 2015
482
20
18
53
@Mr_Tsonts, Нужно чтобы групповой трек (который выделен на скрине) не разгрупировался случайно, было такое в проекте. Нужно что то типо экшена, который мог бы залочить.
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.063
113
62
Киев
@Martin111, Группой в Рипере называется совершенно другое. У вас Парент трек с чайлд треками.
Залочить их »родство» возможно и можно, нужно глянуть что можно лочить, но тогда будут лочится ВСЕ подобные связи.
 

keepfoot

New Member
7 Авг 2020
1
0
1
32
Здравствуйте. Ищу экшн для возможности выбирать следующий/предыдущий треки с помощь MIDI CC/OSC. Очень удобно выделять треки с помощью крутилки, не могу найти ответ, в Reaper ничего подобного не нашёл.
На форуме кокоса нашёл такой скрипт, но он с помощью крутилки листает только вверх, а хотелось бы выбирать следующий трек при прокрутке вправо, выбирать предыдущий трек при прокрутке влево. Буду рад любой помощи.
local is_new_value, filename, sectionID, cmdID, mode, resolution, val = reaper.get_action_context()
-- The EXPECTED knob behaviour(configure your midi device to achieve this if possible):
-- RELATIVE 2 (63 = -1 , 65 = +1)
-- Val will contain a value of -1 or 1, depending on which way the midi knob was turned
if val < 0 then -- move time selection end point left by 1 frame
reaper.Main_OnCommand(reaper.NamedCommandLookup("_XENAKIOS_SELNEXTTRACK"),0)
reaper.Main_OnCommand(40913,0)
elseif val > 0 then -- move time selection end point left by 1 frame
reaper.Main_OnCommand(reaper.NamedCommandLookup("_XENAKIOS_SELPREVTRACK"),0)
reaper.Main_OnCommand(40913,0)
end
reaper.SetMixerScroll(reaper.GetSelectedTrack(0, 0)) -- centres the view on the selected track
 

Antonio

Well-Known Member
9 Ноя 2003
4.342
1.558
113
48
Алматы
На форуме кокоса нашёл такой скрипт, но он с помощью крутилки листает только вверх
есть стандартные экшены с той же функцией. Xenakios/SWS: Select previous tracks Xenakios/SWS: Select next tracks. к сожалению не знаю как заставить их работать на одной cc
 

Archie's

Well-Known Member
24 Окт 2017
1.936
1.296
113
@keepfoot, попробуй это:
JavaScript:
    local SelTrack = reaper.GetSelectedTrack(0,0);
    if not SelTrack then reaper.defer(function()end)return end;
 
    local val = ({reaper.get_action_context()})[7];
 
    local ExtState = tonumber(reaper.GetExtState('SELNEXPREVTRACK_MIDICCOSC','MIDICCOSC_1'))or 0;
 
    if (ExtState < val) or val < 0 then;
        reaper.Main_OnCommand(reaper.NamedCommandLookup("_XENAKIOS_SELNEXTTRACK"),0);
        reaper.Main_OnCommand(40913,0);
    else;
        reaper.Main_OnCommand(reaper.NamedCommandLookup("_XENAKIOS_SELPREVTRACK"),0);
        reaper.Main_OnCommand(40913,0);
    end;
 
    reaper.SetExtState('SELNEXPREVTRACK_MIDICCOSC','MIDICCOSC_1',val,false);
 
    local SelTrack = reaper.GetSelectedTrack(0,0);
    if SelTrack then;
        reaper.defer(function()reaper.SetMixerScroll(SelTrack)end);
    end;
 
    reaper.defer(function()end);



ЭТОТ КОД ПРОПУСКАЕТ СВЕРНУТЫЕ ТРЕКИ, НО ДЛЯ ЕГО РАБОТЫ ТРЕБУЕТСЯ УСТАНОВИТЬ РЕАПАК И МОЙ РЕПОЗИТОРИЙ:

JavaScript:
    local SelTrack = reaper.GetSelectedTrack(0,0);
    if not SelTrack then reaper.defer(function()end)return end;
 
    local val = ({reaper.get_action_context()})[7];
 
    local ExtState = tonumber(reaper.GetExtState('SELNEXPREVTRACK_MIDICCOSC','MIDICCOSC_1'))or 0;
 
    local ResourcePath = reaper.GetResourcePath()..'/Scripts/Archie-ReaScripts/MAIN/Track/';
 
    if (ExtState < val) or val < 0 then;
        local script = 'Archie_Track; Select next tracks(skip minimized folders)(`).lua';
        dofile(ResourcePath..script);
    else;
        local script = 'Archie_Track; Select previous tracks(skip minimized folders)(`).lua';
        dofile(ResourcePath..script);
    end;
 
    reaper.SetExtState('SELNEXPREVTRACK_MIDICCOSC','MIDICCOSC_1',val,false);
 
    local SelTrack = reaper.GetSelectedTrack(0,0);
    if SelTrack then;
        reaper.defer(function()reaper.SetMixerScroll(SelTrack)end);
    end;
 
    reaper.defer(function()end);

PS Если треков много и крутилки не хватает что бы докрутить до нужного трека, то попробуй РЕЗКО / БЫСТРО крутануть ее назад. Из за того что резко крутанул, в обратку выберется только пару треков и далее потихоньку крути далее в нужном направлении.
 
Последнее редактирование:
  • Like
Реакции: keepfoot и Antonio

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