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

@Archchie, подскажи пожалуйста, что надо добавить в этот скрипт, чтобы сработало как в твоих предыдущих, но только это вставлялось в IN FX?
Сейчас пользую этот для Midi Transpose
-- Add FX to Input FX chain

local jsfx_filename = 'midi_transpose' -- "JS: MIDI Transpose Notes"

local track = reaper.GetSelectedTrack(0, 0)
if track then
reaper.Undo_BeginBlock()
local retval = reaper.TrackFX_AddByName(track, jsfx_filename, true, 1)
if retval == -1 then reaper.MB("Failed, check filename, etc," , "ERROR", 0) end
reaper.Undo_EndBlock("Add FX plugin to input", -1)
end
Скрипт только добавляет, но не открывает - закрывает после добавления.
PHP:
    local fx_table = {'midi_transpose'};
  
    function insert_FXs();
        local sel_track_count = reaper.CountSelectedTracks2(0,true);
        reaper.Undo_BeginBlock();
        for i=1, sel_track_count do;
            local track = reaper.GetSelectedTrack2(0,i-1,true);
            for fx=1, #fx_table do;
                local FX_Count1 = reaper.TrackFX_GetRecCount(track);
                local fx_index = reaper.TrackFX_AddByName(track,fx_table[fx],true,1);
                local FX_Count2 = reaper.TrackFX_GetRecCount(track);
                if FX_Count1 == FX_Count2 then;
                    reaper.TrackFX_SetOpen(track,0x1000000+fx_index,not reaper.TrackFX_GetOpen(track,0x1000000+fx_index));
                end;
            end;
        end;
        reaper.Undo_EndBlock("Insert FX(s) to selected tracks", -1);
    end;
  
    insert_FXs();
 
  • Like
Реакции: YuriOl
Доброго времени, @Archchie !

Копировал вчера файлы через копипаст дорог с другого проекта с внешнего накопителя. На ctrl+s у меня после сохранения стоит ваш скрипт из скрина.

При попытке скопировать файлы в директорию проекта, получаю ошибку
(Сделал копию проекта, все файлы в корзине и их пути лежат в одной папке):
186924
 
Доброго времени, @Archchie !
Доброго !

@MikeMarshall, Сделайте гиф того, что вы делаете, потому что я не совсем понимаю что происходит. У меня вроде бы все прекрасно работает и ошибку я так и не смог эту повторить.
их пути лежат в одной папке
Тут тоже не совсем понимаю, для чего копировать что то если это что то находится в одной папки.
 
Последнее редактирование:
Доброго !

@MikeMarshall, Сделайте гиф того, что вы делаете, потому что я не совсем понимаю что происходит. У меня вроде бы все прекрасно работает и ошибку я так и не смог эту повторить.

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


Я сделал save project as (и поставил галку на copy all media), для сохранности проекта.

Проблема ТОЛЬКО в этом проекте, в других воспроизвести тоже не могу, подозреваю, что произошел конфликт имён медиа, когда копипастил.

Прилагаю видео, тест проблемного проекта, и тест другого (нормального) проекта.

PS. И правда странная проблема, но оч много айтемов, бардак, пока идёт накопление, согласен :)
 
К сожалению я не знаю с чем это связанно.
Для того что бы попытаться это исправить, нужно найти сначала причину.
Вот если бы вы нашли на каком это айтеме ломается скрипт, то было бы здорово и может быть причина стала бы известной и поправимой.
Для того что бы найти проблемный айтем, нужно сделать следующее:
Сделать копию проекта.
И в этом проекте начать отсеивать (удалять) треки по одному до того момента пока проблема не исчезнет, как только проблема исчезла нажимаем ctrl+z и удаляем все оставшиеся треки кроме проблемного.
Затем начинаем проделывать все тоже самое, но только с айтемами на оставшемся треке , пока не останется один этот проблемный айтем.
И уже смотреть что это за айтем, пути его и т.д..
 
  • Like
Реакции: MikeMarshall
К сожалению я не знаю с чем это связанно.
Для того что бы попытаться это исправить, нужно найти сначала причину.
Вот если бы вы нашли на каком это айтеме ломается скрипт, то было бы здорово и может быть причина стала бы известной и поправимой.
Для того что бы найти проблемный айтем, нужно сделать следующее:
Сделать копию проекта.
И в этом проекте начать отсеивать (удалять) треки по одному до того момента пока проблема не исчезнет, как только проблема исчезла нажимаем ctrl+z и удаляем все оставшиеся треки кроме проблемного.
Затем начинаем проделывать все тоже самое, но только с айтемами на оставшемся треке , пока не останется один этот проблемный айтем.
И уже смотреть что это за айтем, пути его и т.д..
Логичное предложение, займусь, отпишусь !)
 
  • Like
Реакции: Archie's
@Archchie, нашел очень полезным для себя скрипт: toggle Remove necessary Fx in selected tracks(user input). Возможно ли сделать этот скрипт с заранее введенным значением, чтобы он срабатывал сразу же после его запуска, минуя выпадающего меню/или подтверждать поле ввода enter’ом для скорости? Есть экшн: cfilion_Select track by name, и после этого идет sws скрипт: Remove selected FX for selected tracks. И все бы хорошо, но он после удаления, заново подгружает kontakt с инструментами, и приходится ооочень долго ждать, а если определенного эффекта не будет, удалится другой.
В любом случае ваш скрипт работает в разы лучше. Он, помимо того, что удаляет все одинаковые эффекты разом, так еще и работает мгновенно! Есть ли возможность сделать скрипт с заранее введенным именем или подтверждение на enter? Был бы безумно благодарен.
 
@Archchie, нашел очень полезным для себя скрипт: toggle Remove necessary Fx in selected tracks(user input). Возможно ли сделать этот скрипт с заранее введенным значением, чтобы он срабатывал сразу же после его запуска, минуя выпадающего меню/или подтверждать поле ввода enter’ом для скорости? Есть экшн: cfilion_Select track by name, и после этого идет sws скрипт: Remove selected FX for selected tracks. И все бы хорошо, но он после удаления, заново подгружает kontakt с инструментами, и приходится ооочень долго ждать, а если определенного эффекта не будет, удалится другой.
В любом случае ваш скрипт работает в разы лучше. Он, помимо того, что удаляет все одинаковые эффекты разом, так еще и работает мгновенно! Есть ли возможность сделать скрипт с заранее введенным именем или подтверждение на enter? Был бы безумно благодарен.

Сделал.
По умолчанию теперь кнопка Remove активна и реагирует на enter и при нажатии на кнопку Remove закрывается окно.
Если это окно ввода не нужно вообще, то сохраните и выберите пресет с нужным именем, затем откройте скрипт и поменяйте параметр closeWindow с false на true.
 
  • Love
Реакции: AbramoV
Сделал.
По умолчанию теперь кнопка Remove активна и реагирует на enter и при нажатии на кнопку Remove закрывается окно.
Если это окно ввода не нужно вообще, то сохраните и выберите пресет с нужным именем, затем откройте скрипт и поменяйте параметр closeWindow с false на true.
Ты лучший!!!
 
  • Like
Реакции: Archie's
К сожалению я не знаю с чем это связанно.
Для того что бы попытаться это исправить, нужно найти сначала причину.
Вот если бы вы нашли на каком это айтеме ломается скрипт, то было бы здорово и может быть причина стала бы известной и поправимой.
Для того что бы найти проблемный айтем, нужно сделать следующее:
Сделать копию проекта.
И в этом проекте начать отсеивать (удалять) треки по одному до того момента пока проблема не исчезнет, как только проблема исчезла нажимаем ctrl+z и удаляем все оставшиеся треки кроме проблемного.
Затем начинаем проделывать все тоже самое, но только с айтемами на оставшемся треке , пока не останется один этот проблемный айтем.
И уже смотреть что это за айтем, пути его и т.д..
Доброго времени !
Нашел проблему - вот этот апендицит после манипуляций с регионами.
187018



Там какое то наслоение с двух треков. Вот виновники:
187019


187020


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

Сделал проект только с этими "айтемами" для тестов, можете легко повторить ошибку.
Можно например дописать в скрипт действие по их удалению, ну вам лучше знать, как поступить :)
Спасибо за помощь !)
 
Доброго времени !
Доброго !

Исправил! Теперь скрипт не должен ломаться на таких айтемах.

Можно например дописать в скрипт действие по их удалению,
Нет - нельзя. Во первых откуда скрипту знать что вы не специально их создали, может они нужны, а скрипт возьмет их и удалит.
Во вторых, я вообще не представляю как вы это сделали, у вас смешались два айтема в один, empty и media. Это даже програмно скриптом невозможно сделать. Так что это была ошибка самого рипера, а не скрипта.
Теперь скрипт в такой ситуации должен проигнорировать эти элементы без источника.
 
  • Like
Реакции: MikeMarshall
@Archchie, доброго времени суток!:Dle12:

Есть вопрос по поводу Archie_Track; Select next/previous tracks(skip minimized folders).lua. На этот нюанс я не обращал особого внимания, но при работе с большим количеством треков это причиняет неудобство.
Дело вот в чём: Если выбирать следующий/предыдущий треки, одноразово нажимая стрелки вверх/вниз - то всё в порядке, если нажать и держать - то выделение исчезает, пока не отпустишь стрелку.

У стандартных экшенов это не происходит - Track: Go to previous track и Track: Go to next track - выделение не исчезает. Можно это как то исправить?
Вот кино:
Запись_2020_08_30_03_03_07_412.gif
 
@smrz1, Частично исправил (а может и полностью:) ) - проверяй.
Я не знаю почему так происходит, но зато знаю из за чего, из за создания точки отмены.)
Если и сейчас все так же будет не успевать прорисовываться интерфейс, то нужно закомментировать вот эти строки (№ 180, № 368) создания точки отмены, поставив два тире в начали этих строк
Код:
    reaper.Undo_BeginBlock();
    reaper.Undo_EndBlock(Script_Name:gsub("Archie_Track; ",""):gsub("%.lua",""),-1);
Это запретит создавать точку отмены, т.е. ctrl+z не будет работать для этого скрипта, зато это полностью решит проблему с прорисовкой. Тут уже решать тебе, что для тебя важнее, прорисовка интерфейса или отмена.
Хотя вроде уже и сейчас прорисовывается нормально.
 
@Archchie, всё круто и как надо!!! Спасибо!:Dle4: И ничего не надо... добавлять. Я имею в виду строки.

При обновлении скрипта, я кое что не понял: откуда и что это за вторая строчка в Browse packages:
Захват1.png
 
я вообще не представляю как вы это сделали
Сам ума не приложу)) Копировал регион с дополнительным тактом для соответстия таймлайна между проектами, и что то глюкнуло. А думал, что причина в копипастах треков между проектами.

Так что это была ошибка самого рипера, а не скрипта.
Дада, ошибка рипера, а скрипт просто к такому был не готов.


Благодарю !
 
  • Like
Реакции: Archie's
Сейчас то все - не ломается скрипт? У меня вроде все норм.
Обновил, проверил на том проекте - всё работает :)

P.S. Написал на SWS идею по работе с версиями проектов, что то не спешат комментировать, интересно, возможно ли такое скриптом с GUI организовать.
https://github.com/reaper-oss/sws/issues/1403
Из препятствий вижу только одно - нельзя опцию сохранения undo ставить в project settings, а не в preferences. Или если б сделали в project settings опцию override. Ведь не всем проектам это нужно, только тем, которые на финальной стадии. Интересно ваше мнение )
 
@Archchie, доброго времени!
Есть одно (для меня важное, а может и для других) неудобство в Reaper 6. Это Main window pane resize - Изменение размера панели главного окна, а точнее сама эта разделительная линия.
"Main window pane resize mouseover - Изменение размера главного окна при наведении мыши" - эти линии, в Reaper 6, видны только при наведении мыши.
Захват3.png


В Reaper 5 (Main window pane resize area - Область изменения размера главного окна) - они не исчезают и заодно играют роль разделительных полос между тулбарами, ТСР, МСР.
Захват2.png


Но самое главное (с годами зрение не становится лучше), на эту линию надо ещё и навести мышку, а в Reaper 6 её то невидно!:Dle47:
Лишняя трата времени шарить по окну. Очень неудобно, а в Reaper 5 - видно всегда, а заодно красиво и эстетично...
Запись_2020_06_09_16_19_00_639.gif
Как сделать в Reaper 6, что бы эти линии не исчезали? Это вообще возможно?
 
Последнее редактирование:
Не знаю, у меня одна v.1.11
Но ведь пакет Select next-previous tracks(skip minimized folders) где то распаковывается на несколько скриптов. Где?:Dle65:

п. с. Вроде бы разобрался, но не навредил ли я удалив (Uninstall) в Browse packages старую 1.06 версию?
А ещё я и тут удалил со старыми датами:
Захват2.png

И ещё нюанс. После открытия проекта, когда работаю этим скриптом больше минуты появляется табличка - напоминание... Мешает. Ты же знаешь - о пиве я помню всегда и по кружке с тобой только с радостью, но всё таки...
 
Последнее редактирование:
  • Like
Реакции: YuriOl
@Archchie, доброго времени!
Доброго.
Как сделать в Reaper 6, что бы эти линии не исчезали? Это вообще возможно?
Не знаю, Никак наверное.
Это надо написать на оф форуме, так же с ссылкой на зрение, может добавят такую возможность.
И ещё нюанс. После открытия проекта, когда работаю этим скриптом больше минуты появляется табличка - напоминание... Мешает.
Она ко времени не имеет ни какого отношения. Она появляется один раз в сто запусков скриптов, так что не знаю, чем она может мешать.
А, кажись понял, ты просто клавишу зажимаешь и держишь и скрипт много - много раз запускается и это окно получается часто выскакивает.
Исправил это недоразумение, теперь при зажатии клавиши, многократный запуск будет считаться за один запуск.
 
Обновил, проверил на том проекте - всё работает :)
Интересно, как же вы его проверяли ?
Я вчера применил его и обнаружил, что я в прошлом обновлении допустил очень грубую ошибку и из за этой ошибки скрипт вообще не работал.
Исправил, теперь работает.
 
  • Like
Реакции: smrz1
Она ко времени не имеет ни какого отношения. Она появляется один раз в сто запусков скриптов, так что не знаю, чем она может мешать.
А, кажись понял, ты просто клавишу зажимаешь и держишь и скрипт много - много раз запускается и это окно получается часто выскакивает.
Исправил это недоразумение, теперь при зажатии клавиши, многократный запуск будет считаться за один запуск.
Точно! Именно когда ты исправил проблему при зажатой клавиши, я, на радости, надо и не надо, жму на неё и кайфую:Dle12: У меня появлялось подозрение на закономерность - стоит пару тройку раз нажать - табличка!:Dle67:
Сейчас же обновлюсь...

п. с. "Это надо написать на оф форуме " - представления не имею как это делать...:Dle87:
 
  • Like
Реакции: Archie's
@Archchie, "Исправил это недоразумение, теперь при зажатии клавиши, многократный запуск будет считаться за один запуск" - а что то обновления скрипта, в твоём репозитории, я не обнаружил... :Dle47: :Dle65:
 
Доброго )
Интересно, как же вы его проверяли ?
Проверил на том тестовом проекте с пустыми айтемами, конфликта не возникло .. А позавчера обнаружил, что он и не копирует вовсе, как раз хотел написать. Только что обновил, и почему то не работает, правильно ведь, 1.03 последняя ?
187215
 

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