LUA: Optimization Real -Time Performance and Hide Show track without item in selection

Как я понимаю, скрипт создан в целях удобства работы: быстренько скрыть всё ненужное. Зачем же тогда оставлять пустые дорожки с посылами, даже если они участвуют в формировании звука? Они же не перестают звучать, будучи скрытыми.
У каждого своё удобство и своя технология работы над проектом.
Не вопрос - если ни Бусы ни Ауксы не нужны в работе над аранжировкой в вашем случаи, то можно сделать опцию или вариант скрипта, который их учитывать не будет - ЭТО очень просто.
Сделать?
 
Тааааак....
Прошу прощение за монолог, но чёб не пообщаться с умным человеком? :)
В общем - Горе от Ума!
Я создал не верный алгоритм отслеживания уровня громкости на связанных треках и сам в свой копкан и угодил!
Не нужно нам ни какое комплексное отслеживание ни каких связанных треков - слушаем каждый трек отдельно и отключаем на нём FX on/off когда уровень упал ниже заданного.
Если с трека-айтема сигнал не выходит, то не важно есть ли он (им инициированный) на AUX-ах - его можно выключить. И так со всеми треками, связанны они или нет.
Буду переделывать!
 
Последнее редактирование:
Вот не буду хвастаться но читая вышесказанное Вами я так и подумал. Зачем? Если можно слушать каждый по отдельности. Да был некий баг в скрипте Если больше четырех посылов на Трек, треки что на него посылают не отключаются или отключаются в "лотерейном" варианте (выпадет не выпадет). Вот я про него забыл. Надо снова проверять, потому Вы что то там уже откатывали и правили.
[DOUBLEPOST=1511783000][/DOUBLEPOST]
Не вопрос - если ни Бусы ни Ауксы не нужны в работе над аранжировкой в вашем случаи, то можно сделать опцию или вариант скрипта, который их учитывать не будет - ЭТО очень просто.
Сделать?
По возможности нужно делать все, как предустановку. Только как это сделать? что каждый раз при включении скрипта появляется окно предустановки?
 
Последнее редактирование:
По возможности нужно делать все, как предустановку. Только как это сделать? что каждый раз при включении скрипта появляется окно предустановки?
По разному можно. Но пока не до этого.
[DOUBLEPOST=1511790350][/DOUBLEPOST]
Вот не буду хвастаться но читая вышесказанное Вами я так и подумал. Зачем?
В связи с вашей репликой (не в обиду аж ни как) вспоминается выдержка из классического Еврейского анекдота -
- Вы такоооой умный!!!!!!!!!!!!!
Как моя Мама вчера.....
:)

Могу рассказать ЗАЧЕМ и какие трудности меня ждут при другой схеме - все как обычно, одну проблему решил, две новые появятся...
 
какие трудности меня ждут
Например. Почему сенд и трек с посылом на него нельзя сделать независимыми? Вот тут и мое "мамавчера" я не знаю логику построения скрипта. Откуда берутся пики и с какой периодичностью их просчитывает скрипт и просчитывает ли он пики сендов. И почему сенд должен разрешать треку что на него посыл включиться или выключиться. трек сам должен видить что у него дальше игра или молчанка
 
Игра или молчанка МОЖЕТ видеть только трек-айтем.
Все прочие должны понимать, что они связаны с этим треком-айтемом.
Вот и первая трудность.
Выключаем мы треки по реальному звуку на них, да и то - только при плее.
А включаем то мы по айтемам, по составленным по ним таблицам пиков.

PS: И ещё одно - логика построения скрипта может быть разной, если есть несколько способов решения. А может быть либо верной, либо ошибочной. :)
 
Последнее редактирование:
  • Like
Реакции: Maestro Sound
У каждого своё удобство и своя технология работы над проектом.
Не вопрос - если ни Бусы ни Ауксы не нужны в работе над аранжировкой в вашем случаи, то можно сделать опцию или вариант скрипта, который их учитывать не будет - ЭТО очень просто.
Сделать?
Ну если будет время, неплохо было бы иметь такой вариант.

А ещё я вот обнаружил странность в поведении оптимизационного скрипта. Суть такова: имеется пробный проект с одним треком и одним айтемом. FX-ов нет, не считая одного Сампломатика и пары лёгких анализаторов в monitoring fx. Скрипт включен в автозагрузку и работает всегда. При открытии миди эдитора Total CPU начинает жутко перегружаться. После отключения скрипта проблема пропадает. В чём может быть причина?
 

Вложения

  • cpu.gif
    cpu.gif
    331,3 KB · Просмотры: 215
Последнее редактирование:
вот любое дополнительное отслеживание чего угодно (мьюта, соло , и т.п.) приведёт к ещё большим тормозам и фризам Рипера при работе скрипта...

проблема, что абсолютно по всем трекам проекта нужно в риалтайме в каждый цикл дефере, а это 33 раза в секунду, проверить...
Проблема в ОБРАЩЕНИЯХ к Риперу через его API - каждое обращение ставит в очередь любые другие события в Рипере, подтормаживая тем самым его интерфейс...

А почему-бы не ограничить количество обращений к Риперу через API. Осуществлять опрос состояния по определённому триггеру. Опрашивать например только тогда, когда в истории появляются какие-то изменения. Если не получится все необходимое мониторить "через историю", то перебросить какую-то часть нагрузки на данного рода метод.
(Мониторинг текстового формата по идее должен быть намного проще. Можно даже осуществить методами самого скрипта, не обращаясь например к API, а читать из файла или следить за его размером. Конечно-же обращения к файловой системе не совсем вариант, так-как может быть медленно и не у всех в настройках стоит сохранение истории в файл, но как хоть какая-то альтернатива обхода обращений к API - вполне)
Ну или искать подобные решения.

Должен признать, что не совсем вникал в суть скрипта и его логики и всего происходящего здесь в целом, так-как не было времени, но беглым взглядом видно, что вещь стоящая и полезная. Как-то протестирую, когда время найдется. Поэтому если моя идея окажется невместной, заранее прошу прощения. Но так-как вероятность не исключена... В общем решил и свои 5-коп сюда-же.
 
Последнее редактирование:
@Buyan, от части это уже сделанно, там где нашлись API-шные функции для отслеживания.
"через историю" тоже сделаем частично, но беда в том, что сообщения типпа Undo в пользовательских скриптах, которые делают что-то за чем мы ОБЯЗАТЕЛЬНО должны следить, могут быть ЛЮБЫМИ - Скриптописатель может написать в наименовании Undo точки - что ему в голову прийдёт - НЕ ОТСЛЕДИМ!
 
но беда в том, что сообщения типпа Undo в пользовательских скриптах, которые делают что-то за чем мы ОБЯЗАТЕЛЬНО должны следить, могут быть ЛЮБЫМИ - Скриптописатель может написать в наименовании Undo точки - что ему в голову прийдёт - НЕ ОТСЛЕДИМ!
Да, я не имел ввиду анализировать все события истории (если я правильно понял Ваш ответ), это было-бы совсем не оптимально. Реагировать на событие в истории исключительно, как на триггер, по которому будет осуществляется сеанс реализованного вами опроса состояния всего Вас интересующего посредством API, напротив непрерывного мониторинга в цикле 33 раза в секунду.
Другое дело, о чем я не подумал, так это вероятность рекурсивного зацикливания, нужно следить, что-бы сам сценарий не создавал событий в истории. Исходя с вашего ответа я предполагаю что это реально.
 
Проверил, на скорую... работает! даже на посылах работает. Интересная штука. Единственное, что не комфортно, появляется задержка перед включением плагинов...
 
Ну если будет время, неплохо было бы иметь такой вариант.
Есть же уже готовый вариант. Вроде как всё делает то, что вам нужно - оставляет только дорожки с айтемами.
один из них работает по "Тайм селекшн", другой просто по курсору, что тоже бывает нужно.
Посмотрите, возможно вам это понравится. Единственное "но", скрипт не учитывает отображение дорожек до его выполнения. Но это можно исправить сделав "Цикл экшн":
Но с другой стороны, он покажет вам дорожки с айтемами, которые были спрятаны, но всё же попадают под выделение.

Код:
SWS: Save current arrange view, slot 1
Script: mpl_Toggle show tracks if time selection crossing any of their items.lua
! --- STEP ----
Script: mpl_Toggle show tracks if time selection crossing any of their items.lua
SWS: Restore arrange view, slot 1
 

Вложения

@Buyan, вы не совсем поняли то, что я написал.
Мы с @EUGEN27771 обсуждали схему работы обновления по событиям фиксируемым в хистори - и Женя тут-же отбросил этот вариант одной единственной фразой -
а что будет, если Пользователь запустит во время работы нашего скрипта ДРУГОЙ пользовательский скрипт, который в проекте сделает КУЧУ изменений, на которые мы должны были бы ОБЯЗАТЕЛЬНО отреагировать, но в имени Undo того скрипта будет записана полная чуш, за которой мы не следим - и наш скрипт будет думать, что ни чего не произошло. Вот и идея - под откос!
 
@Aleksandr Oleynik, Мы с вами походу вообще друг-друга не поняли. Ну да ладно. Здесь нужно вникать в саму суть глубоко, что-бы понять суть того о чем Вы толкуете и объяснить на предмете, то что я имею ввиду(если это вообще реально в данных условиях). А я к сожалению пока не могу посмотреть код и понять что там и как, никак руки не дойдут изучить API, да и специфику условий не совсем понимаю. Вы скорее закончите разработку, нежели я разберусь.
 
Последнее редактирование:
  • Like
Реакции: Aleksandr Oleynik
@Aleksandr Oleynik, можно вас попросить добавить в скрипт Script: Hide Show track without item in selection
опцию этого скрипта: Script: me2beats_View - scroll to start of tracklist.lua
Если это не очень сложно.
Если нет, то конечно Кастом экшне нас спасёт.
Данный доп.скрипт перематывает отображение к самому верхнему треку. Допусти, если у меня много дорожке и я нахожусь в самом низу, потом делаю выполнение скрипта "Hide Show track without item in selection", то у меня дорожек не видно по причине того, что они как бы на самом верху за видимой областью. Нужно либо ручками мотать наверх, либо применять данный скрипт.
 
Идея крутая. По быстрому тесту единственное что смутило это то что на треке-шине с роутингом скрипт выключил обработку, в то время когда звук туда поступал. Уверен дело в описанном рецепте с изменением порога срабатывания, который еще не ковырял; (или так и должно быть?). На подходе массивные оркестровки, будет плотно, там посмотрю ближе. Идею с гитхабом поддерживаю.
 
Немного попробовал скрипт на простеньком проекте с несколькими гитарами и миди ритм-секцией. Добавил в партии ритма остановок, чтобы проверить, собственно, включение-выключение. Работает хорошо, единственным вопросом оказалось то, что съелась каждая первая нота айтема после остановок на барабанах и басу (SSD и Контакт). Можно как-то решить эту проблему?

При возможности постараюсь потестить скрипт на каком-нибудь масштабном проекте.
 
Так а всё-таки: у меня одного скрипт так реагирует на открытие пиано ролла?
А ещё я вот обнаружил странность в поведении оптимизационного скрипта. Суть такова: имеется пробный проект с одним треком и одним айтемом. FX-ов нет, не считая одного Сампломатика и пары лёгких анализаторов в monitoring fx. Скрипт включен в автозагрузку и работает всегда. При открытии миди эдитора Total CPU начинает жутко перегружаться. После отключения скрипта проблема пропадает. В чём может быть причина?
 
@Aleksandr Oleynik, А можно попросить сделать идейное продолжение оптимизатора?
Хотелось бы иметь возможность как-то маркировать треки, которые отключаются. Желательно - вообще вручную их включать.
Суть в чем: есть микс на плагинах с ненулевой задержкой и хорошим использованием ЦП, но при прописывании партий этим бы трекам байпасить fx. Вообще хорошо бы иметь возможность вместе с fx байпасить и ресивы, но я не представляю, как тогда организовать юзабилити, чтобы выбирать, с ресивами байпасить, или без. А уровень до и после fx уж можно плагинами контролировать, не проблема.
Ну и вопрос с игнором вены оптимизатором ещё актуален, если силы есть на это. Потому что очень уж хочется пользоваться этой замечательной штукой в работе, но не получается...
 
Тимофей, так я и споткнулся главным образом об этот роутинг всего, за чем нужно следить, чтоб не выключить чего - то лишнего.
 
@Aleksandr Oleynik, а на счёт гуи тулзы для маркировки треков на байпасс кнопкой?
Стыдно быть сапожником без сапог, но я как начинаю с gfx общаться - зависаю, в ближайшем будущем точно сам не накумекаю...
 
Александр. Сегодня на слабом ноуте пришлось на выезде поработать и вот заметил баг. Если посыл на сенды идет с папки в которой один из вложеных треков играет , то сенды не выходят из бапаса
 

Вложения

  • 2018-03-05_011409.png
    2018-03-05_011409.png
    1,4 MB · Просмотры: 79

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