JS Плагины - обсуждение

@EUGEN27771 это где он такое сказал? Так может станете одним из них(там наверху)? Что за фильтр такой интересный? Чем он лучше? Можно его себе взять? :)
 
Шва говорит, ты всего в одном шаге от vst
Я написал "ты" с маленькой, а не "Я", потому что сказано всем в целом.
это где он такое сказал?
http://productionguru.ru/posts/90
Но в принципе мне ничего не стоит сейчас замутить с нуля, например, простой VST.
Так может станете одним из них(там наверху)?
Нет.
Что за фильтр такой интересный? Чем он лучше?
Настроение хорошее просто, фильтр вот он
 

Вложения

  • FK.txt
    FK.txt
    2,9 KB · Просмотры: 137
Последнее редактирование:
  • Like
Реакции: sve
midisend(offset,msg1,msg2,msg3);
проблема в том, что мне надо указывать параметры миди через автоматизацию слайдеров.... 2 слайдера -32 возможных эвента по кнопке из eel, 3 слайдера - 21 команда (а я еще хотел штук 5 зарезервировать для других нужд)...
 
@EUGEN27771 интересно, не знал о существовании этой статьи. Ну так значит можете и vst пилить, тогда можно и "выбиться в люди". Благодарю за фильтр - звучит иначе, чем apple filter. Чище что ли. Пробовал на apple крутить крутизну, но всё равно этот чище звучит. А нельзя ли для этого фильтра прикрутить крутизну?
 
Вопрос 1- Как сделать Нормализацию автоматом сразу после записи аналога?
Вопрос 2- Выделить маркерами на timeline выбраный item по команде?
Готовлю красивый автомат, выложу, как решу этих два вопроса.
Точно не знаю, можно ли это сделать в Яве, поэтому задам его второй раз в разделе скриптов.
Кто такая Ява?
 
Ну так значит можете и vst пилить, тогда можно и "выбиться в люди"
А посмотрите ниже,там даже подробная инструкция есть. Можете попробовать.
фильтр - звучит иначе, чем apple filter. Чище что ли.
Тоже так показалось, но лучше, чтобы выбор был.
Чтобы изменить крутизну - не умножайте на след. коэффициент, сделаю в след. версии.
=====
проблема в том, что мне надо указывать параметры миди через автоматизацию слайдеров.... 2 слайдера -32 возможных эвента по кнопке из eel, 3 слайдера - 21 команда (а я еще хотел штук 5 зарезервировать для других нужд)...
Понятно, все хотят автоматизацию... но там еще триггеры есть(кнопки, типа). Возможно, будет Вам полезно.
 
Последнее редактирование:
  • Like
Реакции: vitalker
@PianoIst,
Если все нужно ->из хоста ->в хост принимать-передавать, вариантов нет, и в ВСТ тоже так, по идее.
Есть обходной вариант - принимать-передавать МИДИ.
Во многих ВСТ(которым нужно более 64-128) - имено так и делают, посмотрите ту же Battery/
[DOUBLEPOST=1486231263][/DOUBLEPOST]Вообще, спрашивайте, не стесняясь. По возможности(то, что знаю) буду отвечать.
Прямо здесь, может быть еще кому-то пригодится.
 
  • Like
Реакции: PianoIst
И всё же, чтоб затвердить вариант -
Приём и передачу MIDI сообщений из внешнего midi контролера в скрипт и обратно можно делать через JS плагин с четырмя слайдерами - два на приём и два на передачу (msg1, msg23).
Так?
 
@Aleksandr Oleynik, да, можно два, можно вообще один слайдер.
Но по-человечески лучше три - умножить на два(прием-передача)
 
А как один? Писать таблицу сочетаний и соответствия?
Кстати, а может можно формулу написать, которая будет по приходящему MIDI сообщению выдавать числовое значение?
А можно наверное использовать для разных входных контролеров разные знаки разрядности одного числа? Разрядность значений слайдера ведь не ограниченна?
 
@EUGEN27771, чего-то все равно при движении слайдера ничего у меня не шлется. Только при инициализации скрипта (что подтверждает, что команда работает). Не понятно, почему код-секция не вызывается при движении слайдера.
Код:
desc:Test
slider1:0<0,7,1>type of message
slider2:50<0,127,1>value

@slider
  slider(1) ==0? (command = 128);
  slider(1) ==1? (command = 144);
  midisend(0,command,slider2,60);
[DOUBLEPOST=1486247924][/DOUBLEPOST]вообще не критично, чтоб именно при движении слалось, преобразовывать я буду именно миди-сигнал. Но, во-первых для дебага хотелось бы такую наглядность иметь; а во-вторых, вообще для уверенности, что понятны концепции языка. Ибо пока все как в тумане)
 
Есть обходной вариант - принимать-передавать МИДИ.
таак, и как это делается? у меня функции eel относящиеся к треку в JSFX не компилируются. Сейчас думаю передавать миди как раз посредством _global, но чего-то меня жаба душит такой костыль делать
 
как один? Писать таблицу сочетаний и соответствия?
Слайдеры, как и любые переменные 64-битные.
Чтобы мне много не писать просто гляньте, как цвета сохраняют
[DOUBLEPOST=1486270882][/DOUBLEPOST]@PianoIst, в инструкции четко сказано, что код из секции slider вызывается при изм. слайдеров именно
 
  • Like
Реакции: PianoIst
код из секции slider вызывается при изм. слайдеров именно
ну да, и в чем я не прав? Я двинул слайдером - это не должно вызвать секцию?

Слайдеры, как и любые переменные 64-битные.
об этом не думал) спасибо!
 
Я двинул слайдером - это не должно вызвать секцию?
даже больше скажу. Секция тоже вызывается, что странно, ибо переменная в списке обновляет значение. Но вот миди не шлется. Хотя при запуске скрипта шлется, и в секции @block тоже.
В KSP я бы просто поставил wait(100), и наверняка оно бы сработало. Но здесь аналога найти не могу... Не останавливать же его while циклом на секунду
 
ибо переменная в списке обновляет значение. Но вот миди не шлется.
Чотбы отправить МИДИ используется либо секция блок, либо, в крайнем случае - семпл, тоже в мануале сказано.
Они просто обновляют значения, но чтобы эти значения передать в хост - нужно об этом сказать, если Вы не руками слайдер переместили, а программно.
sliderchange, или slider_atomate - если нужно изменить из другой секции
===
Там есть еще одна интересная функция, с помощью которой изменения можно с точностью до семпла сделать учитывая возможности автоматизации! - которые тоже не безграничны, но пока не разбирался
 
Последнее редактирование:
  • Like
Реакции: PianoIst
если Вы не руками слайдер
в том-то и дело, что руками)
Это-то меня и поражает, секция вызывается, а команда не выполняется. Ну да ладно, все остальное, что пробовал пока вроде работает)
У меня вопрос, как лучше решить времязависимые вещи. Или другим языком, как ввести точное значение в микросекундах?
Берем сэмплрейт, делим на 1000, используем только в секции sample?
И для чего обычно используются секции block и sample?
размер блока мы контроллировать не можем. То-есть, теоретически, его использование связанно с определенным риском мешанины в порядке исполнения переменных?
 
@EUGEN27771 кстати, благодарю за скоп - наконец-таки попробовал! Так красиво с волной выглядит. А, поправьте, пожалуйста, с 'Multy' на 'Multi' и не нашёл в ReaPack(беты тоже включил) - пришлось вручную пилить. А можно какой-нибудь слайдер или что, чтоб можно было цвета менять? А то красный немного ядовитый. И стандартный размер сделать поменьше - уж лсишком он гигантский :) Да, и когда сжимаешь плагин, то надпись '48000 samples' сливается с кнопкой смены режима и получается каша.
 
@PianoIst, чтобы все было четко - только считать посемплово. Получили значение в секции блок - начинаем отсчет в секции семпл, доходим до нужного значения - выполняем нужные действия.

Это мой англ. такой! Поправлю, в ReaPack пока не добавлял, потому что не все еще готово.
А можно какой-нибудь слайдер или что, чтоб можно было цвета менять?
Для цветов уже сделал целое настраиваемое меню, отдельно, то есть для других тоже будет работать, это уже готово, пока просто тоже не добавил.
Про остальное тоже видел, частоту перенесу ниже и сделаю минимальные размеры, не меньше опр. значения.
====
Я делал скоп в двух вариантах одновременно. Первый - считал по текущему времени, второй - всегда по указанной длине.
По первому варианту считает смехоскоп(по зуму видно, что он не подстраивается).
Во втором варианте - другая проблема, если окно станет очень большим - будет процессор жрать, поэтому все и ограничивают время, в том числе родной Риперский Скоп.
Но я знаю, как это обойти, нужно совместить оба варианта,
[DOUBLEPOST=1486388261][/DOUBLEPOST]В Eel, еще многий синтаксис не описан.
Вы можете посылать namespace как аргумент в функции. В мануале - нет этого. Если бы еще была возможность релятивно менять аргументы - почти тот же Луа
 
Последнее редактирование:
Вот пример
function My_Func(my_arg*, x, y ) // звездочка, обратите внимание
(
my_arg.x = x;
my_arg.y = y;
);

// Аргументом my_arg будет Ваше имя, значение
[DOUBLEPOST=1486389322][/DOUBLEPOST]Для примера привожу, для первого и второго случая - кому нужно - пользуйтесь

Поменяю на архивы.
 

Вложения

Последнее редактирование:
  • Like
Реакции: Trasher и PianoIst
Вроде бы, нормально, со всеми русскими комментариями. Каждый файл подключается отдельно, чтобы по 100 раз не писать.
Мышь делал не меньше недели, все проверено
 

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