LUA: Optimization Real -Time Performance and Hide Show track without item in selection (1 онлайн

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
Как я понимаю, скрипт создан в целях удобства работы: быстренько скрыть всё ненужное. Зачем же тогда оставлять пустые дорожки с посылами, даже если они участвуют в формировании звука? Они же не перестают звучать, будучи скрытыми.
У каждого своё удобство и своя технология работы над проектом.
Не вопрос - если ни Бусы ни Ауксы не нужны в работе над аранжировкой в вашем случаи, то можно сделать опцию или вариант скрипта, который их учитывать не будет - ЭТО очень просто.
Сделать?
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
Тааааак....
Прошу прощение за монолог, но чёб не пообщаться с умным человеком? :)
В общем - Горе от Ума!
Я создал не верный алгоритм отслеживания уровня громкости на связанных треках и сам в свой копкан и угодил!
Не нужно нам ни какое комплексное отслеживание ни каких связанных треков - слушаем каждый трек отдельно и отключаем на нём FX on/off когда уровень упал ниже заданного.
Если с трека-айтема сигнал не выходит, то не важно есть ли он (им инициированный) на AUX-ах - его можно выключить. И так со всеми треками, связанны они или нет.
Буду переделывать!
 
Последнее редактирование:

Maestro Sound

Active Member
1 Ноя 2007
721
86
28
Вот не буду хвастаться но читая вышесказанное Вами я так и подумал. Зачем? Если можно слушать каждый по отдельности. Да был некий баг в скрипте Если больше четырех посылов на Трек, треки что на него посылают не отключаются или отключаются в "лотерейном" варианте (выпадет не выпадет). Вот я про него забыл. Надо снова проверять, потому Вы что то там уже откатывали и правили.
[DOUBLEPOST=1511783000][/DOUBLEPOST]
Не вопрос - если ни Бусы ни Ауксы не нужны в работе над аранжировкой в вашем случаи, то можно сделать опцию или вариант скрипта, который их учитывать не будет - ЭТО очень просто.
Сделать?
По возможности нужно делать все, как предустановку. Только как это сделать? что каждый раз при включении скрипта появляется окно предустановки?
 
Последнее редактирование:

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
По возможности нужно делать все, как предустановку. Только как это сделать? что каждый раз при включении скрипта появляется окно предустановки?
По разному можно. Но пока не до этого.
[DOUBLEPOST=1511790350][/DOUBLEPOST]
Вот не буду хвастаться но читая вышесказанное Вами я так и подумал. Зачем?
В связи с вашей репликой (не в обиду аж ни как) вспоминается выдержка из классического Еврейского анекдота -
- Вы такоооой умный!!!!!!!!!!!!!
Как моя Мама вчера.....
:)

Могу рассказать ЗАЧЕМ и какие трудности меня ждут при другой схеме - все как обычно, одну проблему решил, две новые появятся...
 

Maestro Sound

Active Member
1 Ноя 2007
721
86
28
какие трудности меня ждут
Например. Почему сенд и трек с посылом на него нельзя сделать независимыми? Вот тут и мое "мамавчера" я не знаю логику построения скрипта. Откуда берутся пики и с какой периодичностью их просчитывает скрипт и просчитывает ли он пики сендов. И почему сенд должен разрешать треку что на него посыл включиться или выключиться. трек сам должен видить что у него дальше игра или молчанка
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
Игра или молчанка МОЖЕТ видеть только трек-айтем.
Все прочие должны понимать, что они связаны с этим треком-айтемом.
Вот и первая трудность.
Выключаем мы треки по реальному звуку на них, да и то - только при плее.
А включаем то мы по айтемам, по составленным по ним таблицам пиков.

PS: И ещё одно - логика построения скрипта может быть разной, если есть несколько способов решения. А может быть либо верной, либо ошибочной. :)
 
Последнее редактирование:
  • Like
Реакции: Maestro Sound

CerberPic

Member
17 Фев 2017
70
22
8
35
У каждого своё удобство и своя технология работы над проектом.
Не вопрос - если ни Бусы ни Ауксы не нужны в работе над аранжировкой в вашем случаи, то можно сделать опцию или вариант скрипта, который их учитывать не будет - ЭТО очень просто.
Сделать?
Ну если будет время, неплохо было бы иметь такой вариант.

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

Вложения

  • 331,3 KB Просмотры: 194
Последнее редактирование:

Buyan

Member
19 Апр 2016
137
24
18
40
Белая Церковь
вот любое дополнительное отслеживание чего угодно (мьюта, соло , и т.п.) приведёт к ещё большим тормозам и фризам Рипера при работе скрипта...

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

Должен признать, что не совсем вникал в суть скрипта и его логики и всего происходящего здесь в целом, так-как не было времени, но беглым взглядом видно, что вещь стоящая и полезная. Как-то протестирую, когда время найдется. Поэтому если моя идея окажется невместной, заранее прошу прощения. Но так-как вероятность не исключена... В общем решил и свои 5-коп сюда-же.
 
Последнее редактирование:

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
@Buyan, от части это уже сделанно, там где нашлись API-шные функции для отслеживания.
"через историю" тоже сделаем частично, но беда в том, что сообщения типпа Undo в пользовательских скриптах, которые делают что-то за чем мы ОБЯЗАТЕЛЬНО должны следить, могут быть ЛЮБЫМИ - Скриптописатель может написать в наименовании Undo точки - что ему в голову прийдёт - НЕ ОТСЛЕДИМ!
 

Buyan

Member
19 Апр 2016
137
24
18
40
Белая Церковь
но беда в том, что сообщения типпа Undo в пользовательских скриптах, которые делают что-то за чем мы ОБЯЗАТЕЛЬНО должны следить, могут быть ЛЮБЫМИ - Скриптописатель может написать в наименовании Undo точки - что ему в голову прийдёт - НЕ ОТСЛЕДИМ!
Да, я не имел ввиду анализировать все события истории (если я правильно понял Ваш ответ), это было-бы совсем не оптимально. Реагировать на событие в истории исключительно, как на триггер, по которому будет осуществляется сеанс реализованного вами опроса состояния всего Вас интересующего посредством API, напротив непрерывного мониторинга в цикле 33 раза в секунду.
Другое дело, о чем я не подумал, так это вероятность рекурсивного зацикливания, нужно следить, что-бы сам сценарий не создавал событий в истории. Исходя с вашего ответа я предполагаю что это реально.
 

LESHALEX

New Member
28 Ноя 2017
1
0
1
38
Проверил, на скорую... работает! даже на посылах работает. Интересная штука. Единственное, что не комфортно, появляется задержка перед включением плагинов...
 

Microtonic

Любознательный
21 Сен 2008
489
112
43
Москва
Ну если будет время, неплохо было бы иметь такой вариант.
Есть же уже готовый вариант. Вроде как всё делает то, что вам нужно - оставляет только дорожки с айтемами.
один из них работает по "Тайм селекшн", другой просто по курсору, что тоже бывает нужно.
Посмотрите, возможно вам это понравится. Единственное "но", скрипт не учитывает отображение дорожек до его выполнения. Но это можно исправить сделав "Цикл экшн":
Но с другой стороны, он покажет вам дорожки с айтемами, которые были спрятаны, но всё же попадают под выделение.

Код:
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
 

Вложения

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
@Buyan, вы не совсем поняли то, что я написал.
Мы с @EUGEN27771 обсуждали схему работы обновления по событиям фиксируемым в хистори - и Женя тут-же отбросил этот вариант одной единственной фразой -
а что будет, если Пользователь запустит во время работы нашего скрипта ДРУГОЙ пользовательский скрипт, который в проекте сделает КУЧУ изменений, на которые мы должны были бы ОБЯЗАТЕЛЬНО отреагировать, но в имени Undo того скрипта будет записана полная чуш, за которой мы не следим - и наш скрипт будет думать, что ни чего не произошло. Вот и идея - под откос!
 

Buyan

Member
19 Апр 2016
137
24
18
40
Белая Церковь
@Aleksandr Oleynik, Мы с вами походу вообще друг-друга не поняли. Ну да ладно. Здесь нужно вникать в саму суть глубоко, что-бы понять суть того о чем Вы толкуете и объяснить на предмете, то что я имею ввиду(если это вообще реально в данных условиях). А я к сожалению пока не могу посмотреть код и понять что там и как, никак руки не дойдут изучить API, да и специфику условий не совсем понимаю. Вы скорее закончите разработку, нежели я разберусь.
 
Последнее редактирование:
  • Like
Реакции: Aleksandr Oleynik

Microtonic

Любознательный
21 Сен 2008
489
112
43
Москва
@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", то у меня дорожек не видно по причине того, что они как бы на самом верху за видимой областью. Нужно либо ручками мотать наверх, либо применять данный скрипт.
 

Nordum

Active Member
28 Окт 2016
171
38
28
Идея крутая. По быстрому тесту единственное что смутило это то что на треке-шине с роутингом скрипт выключил обработку, в то время когда звук туда поступал. Уверен дело в описанном рецепте с изменением порога срабатывания, который еще не ковырял; (или так и должно быть?). На подходе массивные оркестровки, будет плотно, там посмотрю ближе. Идею с гитхабом поддерживаю.
 

Teutos

New Member
25 Мар 2014
4
0
1
Санкт-Петербург
Немного попробовал скрипт на простеньком проекте с несколькими гитарами и миди ритм-секцией. Добавил в партии ритма остановок, чтобы проверить, собственно, включение-выключение. Работает хорошо, единственным вопросом оказалось то, что съелась каждая первая нота айтема после остановок на барабанах и басу (SSD и Контакт). Можно как-то решить эту проблему?

При возможности постараюсь потестить скрипт на каком-нибудь масштабном проекте.
 

CerberPic

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

PianoIst

Well-Known Member
19 Май 2010
4.103
4.156
113
29
Kirchberg, kreis Zwickau
soundcloud.com
@Aleksandr Oleynik, А можно попросить сделать идейное продолжение оптимизатора?
Хотелось бы иметь возможность как-то маркировать треки, которые отключаются. Желательно - вообще вручную их включать.
Суть в чем: есть микс на плагинах с ненулевой задержкой и хорошим использованием ЦП, но при прописывании партий этим бы трекам байпасить fx. Вообще хорошо бы иметь возможность вместе с fx байпасить и ресивы, но я не представляю, как тогда организовать юзабилити, чтобы выбирать, с ресивами байпасить, или без. А уровень до и после fx уж можно плагинами контролировать, не проблема.
Ну и вопрос с игнором вены оптимизатором ещё актуален, если силы есть на это. Потому что очень уж хочется пользоваться этой замечательной штукой в работе, но не получается...
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
Тимофей, так я и споткнулся главным образом об этот роутинг всего, за чем нужно следить, чтоб не выключить чего - то лишнего.
 

PianoIst

Well-Known Member
19 Май 2010
4.103
4.156
113
29
Kirchberg, kreis Zwickau
soundcloud.com
@Aleksandr Oleynik, а на счёт гуи тулзы для маркировки треков на байпасс кнопкой?
Стыдно быть сапожником без сапог, но я как начинаю с gfx общаться - зависаю, в ближайшем будущем точно сам не накумекаю...
 

Maestro Sound

Active Member
1 Ноя 2007
721
86
28
Александр. Сегодня на слабом ноуте пришлось на выезде поработать и вот заметил баг. Если посыл на сенды идет с папки в которой один из вложеных треков играет , то сенды не выходят из бапаса
 

Вложения

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