Перевод Справочника по программированию JSFX

Тема в разделе "Reaper", создана пользователем belovw, 9 янв 2014.

  1. belovw

    belovw Well-Known Member

    Регистрация:
    22 апр 2009
    Сообщения:
    5.311
    Симпатии:
    3.515
    Род занятий:
    Звукорежиссура
    Адрес:
    RK Almaty
    Зарезервировано
    Скрытое содержимое:
    **Скрытое содержимое: Чтобы увидеть содержимое у вас должно быть 10 или более сообщений на форуме.**
     
    Последнее редактирование: 8 фев 2019
    Alexander Yakuba нравится это.
  2. belovw

    belovw Well-Known Member

    Регистрация:
    22 апр 2009
    Сообщения:
    5.311
    Симпатии:
    3.515
    Род занятий:
    Звукорежиссура
    Адрес:
    RK Almaty
    При определённых условиях возникла потребность в переводе Справочника по программированию JSFX
    Перевод делается с помощью Google переводчик. На сколько хватает сил и познаний английского - делаю поправки. Исходный размер документа при шрифте 12 составляет 35 страниц. Перевод делается по абзацам. Т.е. один абзац идет на английском, и следом в этом же документе перевод на русском. Пока так для того что бы исходник всегда был под рукой. Позже английский текст почистим.
    Пока переведено 3 страницы. Переведенный английский текст подкрашивается серым цветом. Проверенный и отредактированный русский перевод подкрашивается нежно голубым :))

    Так как моих знаний английского не хватает и маловато свободного времени,

    Прошу комрадов помочь в данном деле.​

    Документ находится на Google доксах.
    Любознательные могут получить допуск на просмотр документа.
    Желающие помочь получат права на редактирование.

    Ребята англичане, кто на каникулах, подключайтесь!!!
     
  3. daicehawk

    daicehawk овес-тодорогнеукупишь

    Регистрация:
    9 июл 2004
    Сообщения:
    3.086
    Симпатии:
    526
    Род занятий:
    технический писатель
    Адрес:
    Ярославль\оч редко Европа типа Осло
    давай ссылку, переводить не буду, но подредактирую
     
  4. belovw

    belovw Well-Known Member

    Регистрация:
    22 апр 2009
    Сообщения:
    5.311
    Симпатии:
    3.515
    Род занятий:
    Звукорежиссура
    Адрес:
    RK Almaty
    Скинь мне свой адрес эл почты в личку
     
  5. belovw

    belovw Well-Known Member

    Регистрация:
    22 апр 2009
    Сообщения:
    5.311
    Симпатии:
    3.515
    Род занятий:
    Звукорежиссура
    Адрес:
    RK Almaty
    daicehawk, Спасибо за проделанную работу. Как только напишу новый плагин, ты обязательно получишь 100 процентную скидку на лицензию.

    Пока что отредактирована 1/7 часть справочника. Мужики, подключайтесь.
     
  6. Aleksandr Oleynik

    Aleksandr Oleynik Well-Known Member

    Регистрация:
    16 янв 2007
    Сообщения:
    17.564
    Симпатии:
    9.722
    Пол:
    Мужской
    Адрес:
    Киев
    Такие вот выражения -
    value / divisor
    value >> shift_amt
    видимо переводить не нужно? Только описание что это значит.


    PS: если что-то находим в синем не то - выделяем красным - в скобках после твоего пишем свой вариант подсвеченный красным?
     
  7. belovw

    belovw Well-Known Member

    Регистрация:
    22 апр 2009
    Сообщения:
    5.311
    Симпатии:
    3.515
    Род занятий:
    Звукорежиссура
    Адрес:
    RK Almaty
    Можно и так. Хотя синее это проверенное и типа уже не должно содержать ошибок, но мало ли ))))
    Надо бы.
     
  8. daicehawk

    daicehawk овес-тодорогнеукупишь

    Регистрация:
    9 июл 2004
    Сообщения:
    3.086
    Симпатии:
    526
    Род занятий:
    технический писатель
    Адрес:
    Ярославль\оч редко Европа типа Осло
    Вопрос в том, чье вернее. Пусть пишут, что не так.
     
  9. drobinkin

    drobinkin Старый пират

    Регистрация:
    21 май 2003
    Сообщения:
    779
    Симпатии:
    535
    Адрес:
    Северодонецк→Одесса
    Бывает, делают еще так:
    value / divisor (значение / делитель)
    Но если в тексте дофига такого, то может сильно отвлекать, мешать и т.п.

    По поводу гуглотранса: есть еще мультитран — там при переводе используется куча тематических словарей, можно выбрать более точно.
     
    belovw нравится это.
  10. drobinkin

    drobinkin Старый пират

    Регистрация:
    21 май 2003
    Сообщения:
    779
    Симпатии:
    535
    Адрес:
    Северодонецк→Одесса
    Джентльмены, кто занимается переводом справочника — там есть удобная фича "Комментарии":
    Выделяем букву или текст, жмем вверху справа кнопку "Комментарии", пишем свои мысли, замечания и — "Сохранить".
    Очень удобно.
     
    Последнее редактирование: 16 янв 2014
  11. belovw

    belovw Well-Known Member

    Регистрация:
    22 апр 2009
    Сообщения:
    5.311
    Симпатии:
    3.515
    Род занятий:
    Звукорежиссура
    Адрес:
    RK Almaty

    Как-то странно он работает, но правда один раз помого определиться с вариантом перевода.

    Далее. Нужно уже начинать подкрашивать окончательно переведённые и проверенные участки текста. Предлагаю зелёный.

    Ещё раз выражаю сердечную благодарность всем подключившимся. С меня пиво ;-)
     
  12. drobinkin

    drobinkin Старый пират

    Регистрация:
    21 май 2003
    Сообщения:
    779
    Симпатии:
    535
    Адрес:
    Северодонецк→Одесса
    А как понять, что они уже проверены.
    Я вычитывал уже подкрашенные голубым (это ж вроде как уже переведенные и проверенны?) и то находил и делал много мелких правок.
    Я там на полях пооставлял кое-какие замечания.
     
  13. belovw

    belovw Well-Known Member

    Регистрация:
    22 апр 2009
    Сообщения:
    5.311
    Симпатии:
    3.515
    Род занятий:
    Звукорежиссура
    Адрес:
    RK Almaty
    Тогда предлагаю спорные проверенные и подкрашенные участки выносить в коменты.
     
  14. EUGEN27771

    EUGEN27771 Well-Known Member

    Регистрация:
    23 апр 2010
    Сообщения:
    2.324
    Симпатии:
    1.977
    Пол:
    Мужской
    belovw, а где оригинал справочника или имеется ввиду то,что на сайте кокос?
     
  15. belovw

    belovw Well-Known Member

    Регистрация:
    22 апр 2009
    Сообщения:
    5.311
    Симпатии:
    3.515
    Род занятий:
    Звукорежиссура
    Адрес:
    RK Almaty
    http://reaper.fm/sdk/js/js.php
     
    EUGEN27771 нравится это.
  16. belovw

    belovw Well-Known Member

    Регистрация:
    22 апр 2009
    Сообщения:
    5.311
    Симпатии:
    3.515
    Род занятий:
    Звукорежиссура
    Адрес:
    RK Almaty
    Всем привет. Огромное спасибо всем откликнувшимся в этой теме. Без вас я бы не осилил этот объём. Остался небольшой затык по последней главе "User defined functions and namespace psuedo-objects". Вроде переведены всё верно, но доходчивого понимания нет. Видимо нужно уже обладать какими-то знаниями по объектно ориентированному программированию и псевдо-объектам, но к сожалению у меня этого нема.

    Сабж: подскажите пожалуйста кто в теме что курить и что копать.
     
    Trasher нравится это.
  17. Trasher

    Trasher Active Member

    Регистрация:
    12 янв 2013
    Сообщения:
    319
    Симпатии:
    232
    Мне кажется это что-то из C++:0372:На пальцах если,то ближе всего к созданию библиотек функций или наподобии API.А если образно,то это создание описания сложной функции(состоящей из нескольких функций или же возможно даже алгоритма действий какого-либо процесса) в одном файле/нескольких файлах с указанием параметров и упрощенным обозначением самих функций или алгоритмов,к которым в дальнейшем будет обращаться исполняемый файл.Как пример(подглядено у забугорных товаристчей) в файле описании(описание фейдера) через векторную графику без использования растровых изображений будет выглядеть каким-то набором кода(нарисовать прямоугольник в векторе с указанием размеров,цвета и т.д.,нарисовать шкалу-тут надо нарисовать много линий с указанием размеров линий(кстати шкалу можно нарисовать отдельным инклюд файлом,а затем просто импортировать в файл описание для фейдера) и т.д. и т.п.,а в исполняемом файле для вызова нужно будет только указание имени и параметров фейдера без описания графической части.Грубо(даже очень грубо) говоря чем-то напоминает написание API,т.е. в исполняемом файле при написании плагина нам будет нужно указать упрощенное имя функции/алгоритма с указанием используемых параметров(тем самым экономим время написания кода и копипасты и упрощаем наглядно сам плагин в плане оформления кода,ещё из плюсов проще наверное искать баги если плагин пишем блоками,а не устраиваем помойку из кода в одном исполняемом файле,также при разумном подходе в оформлении структуры можно упростить себе работу при дальнейшем(если конечно в планах) портировании кода плагина при переносе на вст или другие технологии.Извиняюсь за оффтоп,если где-то не прав,может кто поправит,но моё мнение рыть надо в районе API.
     
    Последнее редактирование: 7 янв 2015
  18. belovw

    belovw Well-Known Member

    Регистрация:
    22 апр 2009
    Сообщения:
    5.311
    Симпатии:
    3.515
    Род занятий:
    Звукорежиссура
    Адрес:
    RK Almaty
    Из С++ однозначно, но к API отношения не имеет. Из JS кода к апи доступа нет.
    С помощью этого выстраивается иерархия, понять бы как чего и зачем.
     
    Trasher нравится это.
  19. Trasher

    Trasher Active Member

    Регистрация:
    12 янв 2013
    Сообщения:
    319
    Симпатии:
    232
    Я имел ввиду создание своей структуры API к написуемому плагину,используя базовые функции языка JSFX для упрощения написания плага(т.е базовые функции языка-это низшая ступень иерархии(принудительно нужно себя заставить не лезть ниже),а дальше дело за фантазией разработчика:080:.Структуру можно слямзить взяв за основу модули того же Reaktora(имеется ввиду core) или же если в планах написание эмуляции,создание описаний своих элементов плагина(например резистор,диод,и т.д.,что-то наподобии Spice симуляции(это мне кажется сложнее,так как тот же резистор например для переменки создать для JS будет довольно затратно по ресурсам(придется синтезировать синус или дублировать входящий сигнал с учетом амплитуды и положением фазы(если считаем напряжение то сила тока по фазе к напряжению=- и *или / на какой-то коэфф., и т.п.(причем частоту тоже придется менять согласно частоте тока входящего сигнала ),а если по схеме этих резисторов будет до хрена и т.п.,то и в итоге плагин не взлетит.Структура может быть какая угодно,с учетом одного ограничения(правда я не уверен),40 функций в одном инклюд файле(вроде так).Как я понял если в инклюд файле/файлах есть импортированный другой инклюд файл(т.е. он использует функции с другого файла без описания процесса,а ограничивается только названием функции и параметрами необходимыми для выполнения функции),то он на одну ступень выше по иерархии из-за того,что использует функции из другого файла,если его не будет тогда весь процесс вычислений будет неудачным (но это тоже не факт,возможно есть и фокусы для обхода),жаль,что JSFX не поддерживает хотя бы частично динамичного поведения(вот это был бы жесткач по полной).Из минусов-также можно устроить помойку только уже из инклюд файлов и запутаться,что где(если пишем только в JS,а портировать не будем).Возможно где-то я и ошибаюсь.
     
    Последнее редактирование: 7 янв 2015
  20. Alex_028

    Alex_028 Well-Known Member

    Регистрация:
    10 май 2015
    Сообщения:
    728
    Симпатии:
    311
    Пол:
    Мужской
    Род занятий:
    Программирование, VST DSP, Reaper accessibility
    Адрес:
    Донецк UA
    @belovw, завтра скину переведенную последнюю главу.
    --- добавлено 15 май 2015, дата сообщения: 14 май 2015 ---
    Определяемые пользователем функции и пространство имен псевдо-объектов.

    Примечание: Функциональность предоставленная в данном разделе доступна только с версии Reaper 4.25.

    JS предоставляет определение пользовательских функций и несколько видов объектов для управления данными.

    Функции могут быть объявлены в любом месте кода, кроме тела блока, и в любом разделе. Хотя функции объявленые в Init доступны в любом месте кода, в то же время функции объявленые в других разделах являются локальными для них и недоступны в других разделах.
    Функции не могут быть рекурсивными, возможен вызов вышестоящей функции в коде, но не наоборот.
    Функции могут иметь от 0 до 40 параметров.
    Чтобы определить функцию используйте следующий синтаксис:

    function getSampleRate()
    (
    srate; // return srate
    );

    function mySine(x)
    (
    // taylor approximation
    x - (x^3)/(3*2) + (x^5)/(5*4*3*2) - (x^7)/(7*6*5*4*3*2) + (x^9)/(9*8*7*6*5*4*3*2);
    );

    function calculateSomething(x y)
    (
    x += mySine(y);
    x/y;
    );

    Эти функции могут вызываться так:

    y = mySine($pi * 18000 / getSampleRate());
    z = calculateSomething(1,2);

    Примечание: обратите внимание на то что переменные вне функции являются глобальными.
    Чтобы объявить переменную внутри функции используется ключевое слово local() между объявлением и телом функции.
    Объявленые таким образом переменные являются локальными для данной функции и сохраняют свое значение между вызовами функции. При этом одноименные переменные могут использоваться в разных разделах, например init и sample и будут иметь разные значения.
    Пример:

    function mySine(x) local(lastreq lastvalue)
    (
    lastreq != x ? (
    lastreq = x; // save last input
    // taylor approximation
    lastvalue = x - (x^3)/(3*2) + (x^5)/(5*4*3*2) - (x^7)/(7*6*5*4*3*2) + (x^9)/(9*8*7*6*5*4*3*2);
    );
    lastvalue; // result of function is cached value
    );

    В написаном выше примере mySine кеширует последнее значение и невыполняет расчеты если кешированое значение доступно. Обратите внимание что локальные переменные инициализируются значением 0, которая работает только в данном примере, и при использовании mycosine() прийдется применить дополнительные логические выражения.

    JS поддерживает пространство имен в виде глобальных переменных, что позволяет применять объектно-ориентированый стиль программирования. Доступ к переменным пространства имен осуществляется с помощью "this", который служит преффиксом для определения переменных и функций используемых как экземпляры.

    function set_foo(x) instance(foo)
    (
    foo = x;
    );
    // или
    function set_foo(x)
    (
    this.foo = x;
    );

    whatever.set_foo(32); // whatever.foo = 32;
    set_foo(32); // set_foo.foo = 32;

    function test2()
    (
    this.set_foo(32);
    );
    whatever.test2(); // whatever.foo = 32

    Кроме этого функции могут использовать преффикс для перемещения по иерархии пространства имен, пример:

    function set_par_foo(x)
    (
    this..foo = x;
    );
    a.set_par_foo(1); // устанавливает foo (global) в значение 1
    a.b.set_par_foo(1); // устанавливает a.foo в 1
    userfunc
    --- добавлено 15 май 2015 ---
    Перевел максимально приближенно к смыслу а не к машинному, английский знаю достаточно по части программирования так что здесь все нормально. Ради интереса проверил как переводит гугл, и мне поплохело))))
    --- добавлено 15 май 2015 ---
    Trasher
    Эмулировать транзисторы и резисторы гиблое дело)))) Это тонны бесполезного кода, можно использовать готовые волновые формы типа синусоиды, треугольника и т.д...
    С помощью наследования можно собрать даже примитивный синтезатор, несколько таких примеров есть на кокосовом форуме.
    По поводу функций ошибочка: можно использовать бесконечное количество функций, но у одной функции может быть максимум 40 аргументов, например:
    function myfunc(param1, param2, ... param40)

    Если что-то будет непонятно - спрашивайте, попробую объяснить.
     
    EUGEN27771 и belovw нравится это.
  21. Aleksandr Oleynik

    Aleksandr Oleynik Well-Known Member

    Регистрация:
    16 янв 2007
    Сообщения:
    17.564
    Симпатии:
    9.722
    Пол:
    Мужской
    Адрес:
    Киев
    Ребята, не совсем в том разделе, но спрошу тут - так как тут те, кто точно внимательно читал этот документ....
    Может есть какой-то механизм позволяющий при помощи JSFX запустить скрипт? Кроме MIDI сообщения.
     
  22. belovw

    belovw Well-Known Member

    Регистрация:
    22 апр 2009
    Сообщения:
    5.311
    Симпатии:
    3.515
    Род занятий:
    Звукорежиссура
    Адрес:
    RK Almaty
  23. Alex_028

    Alex_028 Well-Known Member

    Регистрация:
    10 май 2015
    Сообщения:
    728
    Симпатии:
    311
    Пол:
    Мужской
    Род занятий:
    Программирование, VST DSP, Reaper accessibility
    Адрес:
    Донецк UA
    Сторонние скрипты незапускаются, но есть функция run() в апи JS, насколько помню. С помощью нее по идее можно чего-нибудь запустить.
     
  24. Aleksandr Oleynik

    Aleksandr Oleynik Well-Known Member

    Регистрация:
    16 янв 2007
    Сообщения:
    17.564
    Симпатии:
    9.722
    Пол:
    Мужской
    Адрес:
    Киев
    Та то, что очевидными способами нельзя - я знаю, но может есть какой-то обходной?
    --- добавлено 15 май 2015, дата сообщения: 15 май 2015 ---
    Ну вот я что-то такое и имею в виду....
    Просто когда для работы проекта нужно запускать очень большое кол-во разнообразных скриптов, midi пул сообщений быстро заканчивается, не смотря на 16 каналов и 127 сообщений в каждом. Если бы скрипты можно было запускать локальными (в рамках одной группы трэков) midi сообщениями, то ещё куда ни шло, но тут ведь только глобальное midi применимо :(
    А и забивать midi "эфир" вспомогательными сообщениями очень не хочется.

    Может посмотрите?
     
  25. Alex_028

    Alex_028 Well-Known Member

    Регистрация:
    10 май 2015
    Сообщения:
    728
    Симпатии:
    311
    Пол:
    Мужской
    Род занятий:
    Программирование, VST DSP, Reaper accessibility
    Адрес:
    Донецк UA
    Сейчас поковыряю, на кокосовом форуме что-то попадалось с вызовом питоновского скрипта из JS и выборка параметров.
    --- добавлено 15 май 2015, дата сообщения: 15 май 2015 ---
    http://forum.cockos.com/showthread.php?t=33795
    Посмотрите в этом топике, может попадется то что нужно, особенно среди семплеров и мидиутилит.

    https://sites.google.com/site/jesuccernn/files
    А это для общего развития и вдруг кому-нибудь пригодятся выложеные там скрипты.
     
    Aleksandr Oleynik и fruitcore нравится это.
  26. Trasher

    Trasher Active Member

    Регистрация:
    12 янв 2013
    Сообщения:
    319
    Симпатии:
    232
    Alex_028
    Вы правы.По поводу резисторов и транзисторов не много не соглашусь,есть способы избежать тонны кода,на худой конец есть люди которым это просто интересно.:)
     
    Последнее редактирование: 16 май 2015
  27. Alex_028

    Alex_028 Well-Known Member

    Регистрация:
    10 май 2015
    Сообщения:
    728
    Симпатии:
    311
    Пол:
    Мужской
    Род занятий:
    Программирование, VST DSP, Reaper accessibility
    Адрес:
    Донецк UA
    Trasher
    Есть более подходящие инструменты для моделирования аналоговых схем, если брать из звукового dsp то есть Csound, Cabbage, Chuck.
    На JS сложновато реализовать. Я когда наткнулся на эту тему сразу попробовал написать примитивный блок имитации транзистора, но что с ним дальше делать я понятия не имею)))) Нужно много знать о процессах которые происходят при различных напряжениях, частотах и еще куча неучтенных параметров, а в радиоэлектронике у меня слабоватые знания.
    Даже при написании vst синтезаторов используется принцип обработки уже готовых волновых форм или генерация с нуля по заданным параметрам, а не эмуляция полной аналоговой схемы синтезаторов 80-х годов))))
     
  28. EUGEN27771

    EUGEN27771 Well-Known Member

    Регистрация:
    23 апр 2010
    Сообщения:
    2.324
    Симпатии:
    1.977
    Пол:
    Мужской
    Перевод для всех,или только для принимавших участие?
     
  29. belovw

    belovw Well-Known Member

    Регистрация:
    22 апр 2009
    Сообщения:
    5.311
    Симпатии:
    3.515
    Род занятий:
    Звукорежиссура
    Адрес:
    RK Almaty
    Этот вопрос с участниками перевода не обсуждался.
    Думаю народ будет не против, но правильно будет дождаться личного разрешения от каждого.
    --- добавлено 16 май 2015, дата сообщения: 16 май 2015 ---
    Не помню такой функции. Не могли бы указать документацию или ссылки на нее?
     
  30. Aleksandr Oleynik

    Aleksandr Oleynik Well-Known Member

    Регистрация:
    16 янв 2007
    Сообщения:
    17.564
    Симпатии:
    9.722
    Пол:
    Мужской
    Адрес:
    Киев
    Моё мнение - перевод в свободный доступ!
     
  31. Alex_028

    Alex_028 Well-Known Member

    Регистрация:
    10 май 2015
    Сообщения:
    728
    Симпатии:
    311
    Пол:
    Мужской
    Род занятий:
    Программирование, VST DSP, Reaper accessibility
    Адрес:
    Донецк UA
    belovw, я справку по js уже несколько лет несмотрел. На форуме когда-то попадался скрипт в котором была использована эта функция, возможно это было написано на другом скриптовом языке прикрученом к риперу, но синтаксис был очень похож на js.
    Я рипером увлекся по серьезному только год назад, и несколько лет до этого только листал форум и думал заниматься музыкой или выбросить эту бредовую идею и занятся чем-то более полезным))))
    Увы музыка победила и теперь я здесь))))
    Извиняюсь за офтоп.

    Что касается вызова других скриптов из js судя по всему гиблое дело, проще уже писать на python или eel, по крайней мере есть больше возможностей в управлении и контролем всего происходящего в рипере.
    JS сильно ограничен и многие вещи приходится неоднократно дублировать или лишний раз перебирать в цикле, как например в соседней теме обсуждалось выявление играющего пресета...
     
  32. Aleksandr Oleynik

    Aleksandr Oleynik Well-Known Member

    Регистрация:
    16 янв 2007
    Сообщения:
    17.564
    Симпатии:
    9.722
    Пол:
    Мужской
    Адрес:
    Киев
    Так на EEL и пишем. Проблема в том, что нужно связать действия происходящие в микшере (в инсёрте, в плагинах) без плея, с запуском сценария скрипта eel.
    Сейчас так получается, что связать можно только послав с JS миди сообщение - а их кол-во ограниченно стандартом MIDI, да и просто не хочется загромождать глобал миди поле, так как по нему и так гуляет придостаточно от миди клавы - вот и всё.
    Но я нашёл выход, я делаю обратное действие - при запуске EEL скрипта считываю параметр JS плагина и в зависимости от него - меняю сценарий скрипта.
    --- добавлено 17 май 2015, дата сообщения: 17 май 2015 ---
    PS: Но если бы в JSFX интегрировали возможность запуска скриптов - было бы Очень круто.
     
  33. Alex_028

    Alex_028 Well-Known Member

    Регистрация:
    10 май 2015
    Сообщения:
    728
    Симпатии:
    311
    Пол:
    Мужской
    Род занятий:
    Программирование, VST DSP, Reaper accessibility
    Адрес:
    Донецк UA
    Aleksandr Oleynik, а почему бы не управлять микшером и прочим сразу из eel и миди-сообщения передавать напрямую?
    Специально этим вопросом не заморачивался, но если судить по c++ api это вполне возможно. Только прийдется немного нагородить массивов с заранее подготовлеными сообщениями.
     
    Aleksandr Oleynik нравится это.
  34. Aleksandr Oleynik

    Aleksandr Oleynik Well-Known Member

    Регистрация:
    16 янв 2007
    Сообщения:
    17.564
    Симпатии:
    9.722
    Пол:
    Мужской
    Адрес:
    Киев
    У меня всё немного сложнее и запутанее. :)
    Горе от ума называется........ По скольку в Рипере как правило несколько возможных решений одного и того же вопроса - вот и пытаюсь оптимизировать.

    У меня есть два глобальных уровня управления:
    Первый, в рамках Композиции - и в нём (при отсутствии плэйбэка) всё построенно на внешних MIDI и OSC командах от звукооператора и музыкантов. Тут задействованы и JSFX плагины написанные спец. под мой проект и Цикл Экшины и Скрипты (тоже вот оптимизирую при помощи EEL скриптов сейчас).
    Второй, это уровень перехода от композиции к композиции - и на этом уровне должна происходить смена некоторых воздействий первого уровня. Ну например, в одной композиции у меня задействованы в проекте одна группа плагинов, а во второй совсем другая.

    Ну и по скольку всё управление должно происходить в РиалТайме, то штатными инструментами управления, типпа снэпшотов, пользоваться нельзя.

    Я нашёл решение как изменившимся состоянием параметра в JSFX плагине менять управляющие функции того-же скрипта (просто не JSFX управляет скриптом, а сам скрипт при запуске считывает параметр JSFX и в зависимости от него - меняет сценарий).
    Но было-бы и нагляднее и проще этим изменением параметра JSFX управлять просто разными скриптами - проще создавать сценарий, проще править, проще дорабатывать, проще объяснять кому-то как это работает - так как если всё скапливается в одном скрипте (а в концерте может быть до 40 композиций), то скрипт превращается в не читаемую простыню.... Но пока так...
     
  35. belovw

    belovw Well-Known Member

    Регистрация:
    22 апр 2009
    Сообщения:
    5.311
    Симпатии:
    3.515
    Род занятий:
    Звукорежиссура
    Адрес:
    RK Almaty
    Народ, выложить в свободный доступ перевод справочника?
    ---------
    Ссылка на перевод в первом посте.
     
    Последнее редактирование: 12 июл 2017
  36. Alex_028

    Alex_028 Well-Known Member

    Регистрация:
    10 май 2015
    Сообщения:
    728
    Симпатии:
    311
    Пол:
    Мужской
    Род занятий:
    Программирование, VST DSP, Reaper accessibility
    Адрес:
    Донецк UA
    @belovw, буду очень благодарен!
    Хотя... Ну короче пригодится, лень на офсайт за параметрами функций ползать.
     
  37. Aleksandr Oleynik

    Aleksandr Oleynik Well-Known Member

    Регистрация:
    16 янв 2007
    Сообщения:
    17.564
    Симпатии:
    9.722
    Пол:
    Мужской
    Адрес:
    Киев
    Володя, это врядли увеличит образованность пользователей.
    Кто интересуется - найдёт или спросит.
     
  38. Pumping_Noise

    Pumping_Noise Member

    Регистрация:
    6 сен 2012
    Сообщения:
    89
    Симпатии:
    81
    Пол:
    Мужской
    Адрес:
    Харьков
    **Hidden Content: To see this hidden content your post count must be 100 or greater.**

    Ссылку на даёт, а почитать, поучится желание есть. Это можно как-нибудь решить? ;)
     
    bura6nikov нравится это.
  39. bura6nikov

    bura6nikov New Member

    Регистрация:
    1 окт 2017
    Сообщения:
    12
    Симпатии:
    0
    Пол:
    Мужской
    Да , я тоже этого желаю :)
     
  40. belovw

    belovw Well-Known Member

    Регистрация:
    22 апр 2009
    Сообщения:
    5.311
    Симпатии:
    3.515
    Род занятий:
    Звукорежиссура
    Адрес:
    RK Almaty
  41. bura6nikov

    bura6nikov New Member

    Регистрация:
    1 окт 2017
    Сообщения:
    12
    Симпатии:
    0
    Пол:
    Мужской
    Я готов заплатить.
    :(
     
  42. belovw

    belovw Well-Known Member

    Регистрация:
    22 апр 2009
    Сообщения:
    5.311
    Симпатии:
    3.515
    Род занятий:
    Звукорежиссура
    Адрес:
    RK Almaty
    @bura6nikov, в чём проблема? Или готовность заплатить - выражение необъятной благодарности?
     
  43. bura6nikov

    bura6nikov New Member

    Регистрация:
    1 окт 2017
    Сообщения:
    12
    Симпатии:
    0
    Пол:
    Мужской
    Да я тупой)неправильно понял и не посмотрел что теперь доступ к файлу есть.Спасибо большое.
    Небольшой донат я бы сделал тоже но наверно он не будет весомым
     
  44. Aleksandr Oleynik

    Aleksandr Oleynik Well-Known Member

    Регистрация:
    16 янв 2007
    Сообщения:
    17.564
    Симпатии:
    9.722
    Пол:
    Мужской
    Адрес:
    Киев
    @bura6nikov, о донатах нужно не писать, а делать...
     

Поделиться этой страницей