Возможно ли, находясь в медиа эксплорере рипера (например, перебирая сэмплы), запускать экшены из других секций, в частности из секции Main? Например, конкретная задача - воспроизводить/останавливать проект (экшен Transport: play/stop) нажатием на пробел непосредственно из окна медиа эксплорера. PS: насколько понимаю, без скрипта это не решить.
В какой Section вы находитесь когда скрипту делаете Load - в такой он и отображается. Можно загрузить в несколько.у меня все скрипты отображаются только в секции Main (это не нормально?)
Окно эксплорера при проверке активно?В чем тогда может быть дело?
Может быть и так.Имя поменять не проблема.Не факт, но по ходу все-таки нельзя один и тот же скрипт загружать в несколько секций, иначе будет работать только скрипт в первой секции.
Это,видимо,невозможно.Если бы было возможно,то и вопросов не было бы.Насколько я понял,JS может писать "в файл" только через @serialize,и только в файл проекта(боже упаси писать туда мегабайты буферов).И то,это при загрузке эффекта,смене пресета и т.п.А,еще даже такая запись идет с потерей точности.По крайней мере,так написано.Короче,не вариант.Скидывать буфер в wav файлы определённой длины в указанное место, а потом скриптом по таймингу их выкладывать.
Это Володю нужно звать.Насколько я понял,JS может писать "в файл" только
да.export_buffer_to_project() также ограничен?
8388608 семплов - это всего около 95 секунд стерео в 44100
Не,у нас же ЧИСЛА храняться в буфере(в памяти эффекта),а не АУДИО.при 16 битах. А при 24 будет 63 секунды для одного канала. В принципе это столько же сколько и у куба.
Версия с 95-секундным буфером(чисто пробная) уже давно выложена в теме скриптовприкольные картинки. Выложил бы свои наработки по этой теме, а то пока выглядит как дразнилка.
desc:ForRetroRec(Audio) v20151122
slider1:0<0,1024,1>Slot
slider2:0<-2048,2048,1>Data
slider3:1<0,1024,1>Track Number
slider4:0<0,1,1>Insert Audio
slider5:0<0,4194304,1>Lenght(in samples)
@init
//ext_nodenorm=1;//for check only
ext_noinit=1;
buf=0;
@slider
Track_Num = slider3;
Insert = slider4;
@block
max_i=8388608;
//max_i=44100*2;//for check only
slider5 = Lenght;
@sample
i==0 ? maxsamples = max(abs(spl0),abs(spl1)) * 10^16;//
play_state==0 ? i=0;
play_state==1 && i<=max_i && (maxsamples>10) ? (buf[i]=spl0;buf[i+1]=spl1;
Lenght=i/2;i+=2;);
i>max_i ? (spl0=spl0;spl1=spl1;) : (spl0=0;spl1=0;);
@gfx
Insert==1 ? (Insert=0; i=0; slider4=0;
export_buffer_to_project(buf, Lenght, 2, srate, Track_Num, 0, tempo););
Покажите и свою,может у Вас идеи по-интереснее,может вместе что-то придумаем.К стати, у меня тоже имеется собственная работоспособная версия решения этого вопроса
А это обычное дело..... Когда идёт сравнение с Кубом - все в один голос утверждают, что без ретро спектив рекордс жить нельзя.тоже никому вообще не интересно.
Вопрос в том как писать в файлы?JS пишет через сериалайз только в файл проекта,и то при куче условий,и это неприемлемо.думаю заставит нас использовать файлы в качестве буфера
У меня замысел еще серьезнее,хочу,чтоб писалось вообще все,что звучит на входе и при этом буфер любого желаемого(разумного и даже неразумного) размера.В тоже время, поторюсь, не вижу проблемы ограничения для реализации режима пререкорд аудио аля куб. Для протулсовского панч ин рекорд понадобится больше.
Спасибо,я смотрел Вашу тему,с нее и начал,кстати,не заработало,покак не поставил кв. скобки buf[ ],только потом понял.
А чем он примечателен?Просто никогда не видел,как работает...Может быть и его не сложно сделатьДля протулсовского панч ин рекорд понадобится больше.
Да,это точно.Вот и для Аудио скоро сделаем буфер часа на два.Интересно будет.Когда идёт сравнение с Кубом - все в один голос утверждают, что без ретро спектив рекордс жить нельзя.
скрылись из-за особенностей синтаксиса форумного движка.скобки buf[ ]
Один вопрос - зачем? Зачем так много?для Аудио скоро сделаем буфер часа на два.
Спортивный интерес,и я пошутил,конечно,про 2 два часа,сделаю меню,где можно будет указать сколько конкретно нужно.Один вопрос - зачем? Зачем так много?
Можно циклическую перезапись,когда всегда остаются только последние полторы минуты.Вообще,можно писать в gmem[](с особым именем,там тоже 8м тогда),как во временный буфер,и порциями скидывать с перезаписью в локальную память buf[].Осталось порешать с механизмом переполнения и продумать алгоритм работы.
можно и так попытаться сделать,склейка,оффсет и т.п.после остановки можно начала айтема (в ПТ) вытянуть до момента старта
ничего с ним не будет,это не массив в принципе,а локальная память,что не влезет-не вставится.В коде нет защиты от переполнения массива.
Лучше бы вставилось. Потому что самое начало не факт что нужно. По поводу массивов, независимо от имени, его длина равна 8м слов. Имён может быть много, но массив один и все эти имена, в рамках одного плагина, будут ссылаться на этот массив. Естественно будут иметь место перекрытия диапазонов.что не влезет-не вставится.
Как?порциями скидывать с перезаписью в локальную память buf[].
Ну представь себе репу, на которой джемят часто потом прослушивают то, что джемили и джемят под это дело... Очень часто запись не вкшлючается - зачем её включать когда просто идёт репитиционный процесс.Один вопрос - зачем? Зачем так много?
Ну тогда циклическая перезапись.Лучше бы вставилось. Потому что самое начало не факт что нужно.
Что описано выше-это касается локальной памяти.Есть еще глобальная-1м по-умолчанию,а если в опциях поставить ей уникальное имя,то 8м.Я думаю,они(локальная и глобальная) не пересекаются,но не проверял и не разбирался.По поводу массивов, независимо от имени, его длина равна 8м слов. Имён может быть много, но массив один и все эти имена, в рамках одного плагина, будут ссылаться на этот массив. Естественно будут иметь место перекрытия диапазонов.
Саш, вариант из разряда объять необъятное. Ну вот не бывает подключенная DAW к пульту во время репы. На самой DAW репетируют буквально пару команд. Вроде как у Саундроада, но там Куб. Вроде как у тебя, но на репе они (с твоих слов) используют инструменты. Ну пусть твои сейчас репают в ДАВ, ну пусть таких команд 10-20, в рамках мирового масштаба это ничто. Нет ни одной проги которая бы сохраняла всё и вся. А те что есть, всё равно нужно запускать. И если исходить из ситуация ой блин хочу, то в твоём случае это реализуемо, как ещё не понятно, с твоей дотошностью вообще не проблема получить инструмент который будет выполнять эти функции. Можно вообще заставить сохранять на диск всё и вся, а потом раз в пятилетку очищать что по назаписывал. Но опять таки это нужно только тебе.Ну представь себе репу, на которой джемят
Володя, всё это понятно!Саш, вариант из разряда объять необъятное. Ну вот не бывает подключенная DAW к пульту во время репы. На самой DAW репетируют буквально пару команд. Вроде как у Саундроада, но там Куб. Вроде как у тебя, но на репе они (с твоих слов) используют инструменты. Ну пусть твои сейчас репают в ДАВ, ну пусть таких команд 10-20, в рамках мирового масштаба это ничто. Нет ни одной проги которая бы сохраняла всё и вся. А те что есть, всё равно нужно запускать. И если исходить из ситуация ой блин хочу, то в твоём случае это реализуемо, как ещё не понятно, с твоей дотошностью вообще не проблема получить инструмент который будет выполнять эти функции. Можно вообще заставить сохранять на диск всё и вся, а потом раз в пятилетку очищать что по назаписывал. Но опять таки это нужно только тебе.
Михаил, функция интересна, но что-то я тоже в ней разобраться сам не могу.Можно, get_action_context() в помощь.