Помогите создать экшн / кастом экшн / скрипт

  • Автор темы Автор темы @Michael
  • Дата начала Дата начала
Мужики, а можно ли как то создать скрипт или экшн следующего типа? Есть скажем 3 дорожки вокала. Я выделяю эти треки. Жму хоткей. И получается что создается новый трек в котором мне предлагается назвать его cкажем VOX, он будет являться VCA для этих трех вокалов, чтобы они сразу автоматом стали слэйвом к нему, а он мастером. Ну и еще было б очень круто если бы и VCA и сами треки окрасились в нужный мне цвет, от названия которое я впишу. Ну и другие инструменты чтобы также одним нажатием можно было сделать. У меня сейчас так сделаны группы треков (они разукрашиваются с помощью SWS). Вот хотелось бы с VCA такое сотворить. Самому не получается так сделать.
 
Compress or expand selected envelope points если в скрипте сменить везде слово волиме на другую огибающюю например pan то будет работать на ней но только на треке не айтеме для питча скрипт не работает в агхиве переделанный с волиме на понараму
 

Вложения

@abrokadabra2, спасибо, конечно, но так и я умею :) хотелось бы просто выделять нужную дорожку автоматизации
 
Всем привет!)
Подскажите пожалуйста как создать Action:
-Render selected area
-Set selected tracks fx offline
спс!

*а можно чтобы при выборе нескольких треков, render баунсил весь поток в одну дорожку?
 
Всем привет!)
Подскажите пожалуйста как создать Action:
-Render selected area
-Set selected tracks fx offline
спс!

*а можно чтобы при выборе нескольких треков, render баунсил весь поток в одну дорожку?
Нужные треки засунуть в один трек и рендерить...
 
  • Like
Реакции: Хитчер
Нужные треки засунуть в один трек и рендерить
СпасибО! это к тому же еще и удобно, чтобы не потеряться при шагах возврата к исходникам. Или можно же и в отдельную шину все треки направить, если на каждом есть уже обработки, правильно?
А экшн можно и двумя кнопками юзать в принципе, просто не нашел функцию подсчета операции по времени для старта следующего действия.
после рендера ничего не происходит в Custom Actions...
 
Приветствую всех. Может быть кто слышал или знает, как можно реализовать следующую фичу: из миди айтема вырезать все такты в которых нет нот. Например при импорте миди, Рипер создаёт длинный айтем на всю длину выделенной зоны, даже если там всего 4 ноты в 23 такте. Хотелось бы удалить все пустые части айтема. Я когда-то пробовал придумать, что-то получалось в полуавтоматическом режиме, но как-то не очень удобно получилось и пользоваться не стал. В кубе, если мне не изменяет память, эта штука при импорте миди делается автоматически.
Эстетически гораздо комфортнее работать когда в айтемах нет пустых тактов, кмк.
 
@Харви, т.е. на таймлайне не один айтем, а куча появляется?
Да, и на мой взгляд это очень удобно. Например ты наглядно видишь в окне аранжировки когда начинается партия баса. Или скрипки вступают. И так далее. Сама аранжировка более наглядно представляется. И работать в ней более комфортно на мой взгляд.
Спасибо, сейчас попробую.
 
как вариант - прорезать вручную, потом все выделить и применить экшн
 

Вложения

  • empty midi.PNG
    empty midi.PNG
    26,4 KB · Просмотры: 113
  • Like
Реакции: Aleksandr Oleynik
Да, и на мой взгляд это очень удобно. Например ты наглядно видишь в окне аранжировки когда начинается партия баса. Или скрипки вступают. И так далее. Сама аранжировка более наглядно представляется. И работать в ней более комфортно на мой взгляд.
А какую паузу между нотами программа должна расценивать как окончание партии?
[DOUBLEPOST=1459245988,1459245909][/DOUBLEPOST]
он по краям обрезает, а надо внутри считать такты и наличие в них мидинот
Вот, вот - и какую паузу между нотами программа должна расценивать как окончание партии?
А если пауза большая, но это не окончание партии?
 
как вариант - прорезать вручную, потом все выделить и применить экшн
Нет, вся прелесть в естественности и легкости процесса. Когда функция есть, и она или автоматическая(как в Кубе), или одной кнопкой-тогда да, это имеет смысл ради красоты удобства и эстетики. А сидеть нарезать(особенно когда это нужно сделать с нескольким треками), тратить драгоценное время на необязательный процесс-это слишком. Я кстати в свое время сделал макрос, при котором нужно было резануть один раз после последней ноты в партии перед большим пустым промежутком, и он удалял все последующие пустые такты, до появления нот,но это тоже несерьёзно.

А какую паузу между нотами программа должна расценивать как окончание партии?
Интересный вопрос. Мне кажется одного полностью пустого такта достаточно. Но можно, для страховки, считать, что 2-3 пустых такта-это основание для раздела партии. Ну может быть 5 тактов для 100% гарантии разумности разделения).
К сожалению вообще не разбираюсь в написании скриптов(только макросы на основе экшнов, но мне почему то кажется ,что скриптом это было бы не сложно организовать. Возможно ошибаюсь.
 
Интересный вопрос. Мне кажется одного полностью пустого такта достаточно.
Так и такт определить то не всегда можно - сетка может быть 1/128 например - и что есть такт?

но мне почему то кажется ,что скриптом это было бы не сложно организовать
Не думаю, что прям так просто. Но или Михаил или Евгений - наверное могли бы.
 
Последнее редактирование:
@EUGEN27771, работает как часы. Причём с любым количеством выделенных айтемов. Спасибо огромное.
Рипер стал еще лучше с этим скриптом)
 
а у меня он наглухо вешает рипер. :eek:

если в новом проекте рисую айтем и применяю скрипт - работает, если импортирую миди-файл - зависает.
 
Последнее редактирование:
если импортирую миди-файл - зависает.
Я сильно не проверял. Попробую разобраться, что ему не нравится. Пару раз поймал глюк, вероятно, некоторые тики(единица времени миди) попадают в такую позицию, что не обеспечивается переход к следующему такту, получается бесконечный цикл.
Поставил пока ограничение по кол-ву циклов, вешать больше не должно.
Когда будет возможность, переделаю по-нормальному, или сделаю по другому.
Исправлено, в теме по скриптам
 
Последнее редактирование:
  • Like
Реакции: axis
Да, там крашится + не работает для loop source и с неединичным рейтом, тоже попробую переписать по нормальному, да и самому давно нужно было, тоже с куба не хватало этого
 
  • Like
Реакции: axis
Нет сейчас возможности все нормально сделать, слепил на скорую руку, почти не проверяя. Появится время - сделаю как положено.
Кстати, а в исчезающих айтемах ноты были?
 
Последнее редактирование:
Да, в том то и дело что были) В проекте из, примерно, 20 дорожек, три партии полностью исчезли. В том числе партия баса. Хорошо, что заметил до пересохранения. Причём партия баса была плотная, т.е. ноты были регулярными, вообще практически без промежутков.
И кстати там надо обратить внимание на зону выделения после применения скрипта. Она сбивается от первоначальной. Но это некритично впрочем.
 
EUGEN27771, думаю, надо строить паттерн от исходного миди сурса и дальше относительно него рассчитывать где сплиттить (учитывая рейт, лупсурс / смещение ну и размер естественно). Вместо нативного сплита лучше SplitMediaItem()
 
Последнее редактирование:
  • Like
Реакции: EUGEN27771
@@Michael, @EUGEN27771,
есть идеи, где можно взять инфу о пользовательских пресетах, которая в ini-файлах vst пресетов?

Хорошо бы запилить скриптовый экшен для сохранения пресетов, а не тыкать мышью по маленькому плюсику. Сделал экшены переименовывания и удаления текущего пресета активного vst-окна, завтра выложу на гитхаб, идеально бы и сохранение однокнопочное сделать, но не понятно, откуда брать инфу о пресете; зашифрована она очевидно не как в чанке трека. Тж пока неясно, что за переменная Len
upload_2016-3-31_22-12-8.png
[DOUBLEPOST=1459610248,1459444364][/DOUBLEPOST]Почти полностью разгадал создание пресетов при их сохрании
1. Берется кусок чанка трека начиная со второго абзаца после знака "<" и следующего за ним названия плагина (например <VST "VST3i: Zebra2 (u-he)") и до знака >.
2. Кусок чанка, полученный в п.1, кодируется в HEX (то есть по сути base64 to hex).
3. В файл пресета (путь которого можно получить с помощью API) записывается результат, полученный в п.2 после "Data=". Если длина строки превышает 32700 символов, строка разбивается на Data, Data_1, Data_2 ... .
4. Кроме Data в информацию о пресете входит порядковый номер (индекс), название, а также "Len" - длина строки Data, разделенная пополам.

На данный момент единственное, что непонятно - в конец Data, (и в конец каждого блока Data, если их несколько) рипер дописывает окончание, насколько понял - два символа. Это может быть 'FC', 'FD', 'A9' и тд. Причем может вписывать, а может не вписывать (как например для родных плагинов, но проверена только часть), и для одного и того же плагина при разных настройках может дописывать разные окончания.

Удобство системы пресетов в рипере трудно переоценить - между пресетами можно перемещаться множеством способов, в том числе без мыши (двумя хоткеями), когда пресетов много - можно перемещаться, например, с определенным шагом (например перепрыгивать через 10 или 100 пресетов); не нужно загружать банки, вспоминая их названия - все пресеты находятся всегда в одном месте, это удобно; можно перемещаться по пресетам, не открывая интерфейс плагина; можно менять порядок пресетов, добавлять сепараторы и тд.
Однако при работе с пресетами часто приходится сохранять их - это делается в несколько щелчков мыши, но при сохранении большого числа пресетов выигрыш времени при сохранении пресетов в одно касание будет очевиден.
Если же понять, по какому правилу рипер дописывает окончания, можно уже сегодня начать сохранять пресеты в одно касание. Даже без ввода имени пресета и нажатия на Enter
 
  • Like
Реакции: EUGEN27771 и Broojacker

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