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

Тема в разделе "Reaper", создана пользователем @Michael, 2 авг 2015.

  1. EUGEN27771

    EUGEN27771 Well-Known Member

    Регистрация:
    23 апр 2010
    Сообщения:
    2.255
    Симпатии:
    1.909
    Пол:
    Мужской
    Напишите пару строк - не верю. Я не смотрел толком, но не верю.
    Короче, считайте как есть, никогда не ошибетесь. Вывод на экран является условным(32 наверное). Ф-и sprintf и тп - тоже системнозависимы, и 32.
    Возможно, если от типа intenger отнять/прибавить number - будут песни - но это же не Lua виноват.
     
    Buyan нравится это.
  2. Alex_V

    Alex_V Active Member

    Регистрация:
    12 апр 2017
    Сообщения:
    337
    Симпатии:
    137
    Пол:
    Мужской
    Вы можете, конечно, в это не верить, но это есть факт. Пример - да легко. Проверялся тут: https://www.lua.org/cgi-bin/demo (в рипере будет то же самое, но наверное print надо заменить. Впрочем, в это можете тоже не верить. Фактов это не поменяет. :)
    Код:
    var1 = 4.8
    var2  = 7.2 - 2.4
    if var1 == var2 then
     print("equal")
    else
     print(var1-var2)
    end
    
     
  3. EUGEN27771

    EUGEN27771 Well-Known Member

    Регистрация:
    23 апр 2010
    Сообщения:
    2.255
    Симпатии:
    1.909
    Пол:
    Мужской
    var1 = 4.8
    var2 = 7.2 - 2.4
    if var1 == var2 then reaper.ShowConsoleMsg("OK") end
    ============================================
    Да, я ошибаюсь. И здесь. Проверил сам.
     
  4. EUGEN27771

    EUGEN27771 Well-Known Member

    Регистрация:
    23 апр 2010
    Сообщения:
    2.255
    Симпатии:
    1.909
    Пол:
    Мужской
    Ну давайте - предположу - не строго - если они не знают - откуда намю/
    Я долго копал- фигня/ Скажите мне- как переводим целое число>>>>> 32787 - 0 - - 327678 - в нормализованное
    Общий 65536
     
  5. EUGEN27771

    EUGEN27771 Well-Known Member

    Регистрация:
    23 апр 2010
    Сообщения:
    2.255
    Симпатии:
    1.909
    Пол:
    Мужской
    Это все фигня
    Я только что - умышленно - раздолбал комп. Снял второй диск - там большая часть информации.
    Я забыл - на рабочем осталось 3 Рипера с кучей тестовых скриптов, JS там почти нет, скрипты перепишу - что - гулять так гулять?
    Единственное, там очень много текстов с разъяснениями - но мне они :).
    А вообще классно, так спонтанно и усе
     
    keyboarder нравится это.
  6. Alex_V

    Alex_V Active Member

    Регистрация:
    12 апр 2017
    Сообщения:
    337
    Симпатии:
    137
    Пол:
    Мужской
    Так, на всякий случай.
    Код:
    function PrintNumber(num)
    reaper.ShowConsoleMsg(string.format("%.20f", num).."\n")
    end
    
    
    PrintNumber(4.8)
    PrintNumber(7.2)
    PrintNumber(2.4)
    PrintNumber(7.2-2.4)
    
    Результат:
    Код:
    4.79999999999999980000
    7.20000000000000020000
    2.39999999999999990000
    4.80000000000000070000
    
     
    Buyan нравится это.
  7. Supa75

    Supa75 Active Member

    Регистрация:
    21 мар 2017
    Сообщения:
    367
    Симпатии:
    76
    Пол:
    Мужской
    Адрес:
    Днепр, Украина
    Подскажите плиз. Когда то скачал в репаке уважаемого @Michael скрипт Script: mpl_Solo MIDI Editor active take track.lua. Установил данный скрипт на кнопку в MIDI editor.
    Вопрос: Что нужно добавить в скрипте или где еще, чтобы при нажатии на эту кнопку (включение режима "соло") - она горела, а при выключении соотв. гасла.
     
    Archchie нравится это.
  8. Buyan

    Buyan Member

    Регистрация:
    19 апр 2016
    Сообщения:
    80
    Симпатии:
    12
    Пол:
    Мужской
    Род занятий:
    Хобби: Гитара, Флейта, Звукорежиссура.
    Адрес:
    Белая Церковь
    Пытаюсь исследовать явления переменного темпа, если вкратце.
    В данном случае просто пытался проверить простое равенство(подобных которому у меня много всяких разных было выведено в процессе исследования вопроса) на предмете в реальных условиях.
    Вот пример:
    PHP:

    local Find_TSM_At_Pos 
    = function(Pos) if reaper.FindTempoTimeSigMarker(0,Pos) ~= reaper.FindTempoTimeSigMarker(0,Pos-0.000001then return reaper.FindTempoTimeSigMarker(0,Pos) else return -1 end end
    local MsPos 
    reaper.BR_PositionAtMouseCursor(1)

    function 
    GetTSM(num)
      
    local t = {}
      
    t.numt.retvalt.timepost.measurepost.beatpost.bpmt.timesig_numt.timesig_denomt.lineartempo numreaper.GetTempoTimeSigMarker0num )
      
    t.QNpos reaper.TimeMap_timeToQN_abs0t.timepos )*60
      
    return t
    end

    local Find_TSM_At_Pos 
    = function(Pos) if reaper.FindTempoTimeSigMarker(0,Pos) ~= reaper.FindTempoTimeSigMarker(0,Pos-0.000001then return reaper.FindTempoTimeSigMarker(0,Pos) else return -1 end end
    local MsPos 
    reaper.BR_PositionAtMouseCursor(1)
    function 
    Find_Clst_TSM(Pos)
      
    local LeftRight
      local Denom  
    = function(f) if 0 then return else return math.huge end end
      Left 
    reaper.FindTempoTimeSigMarker(0,Pos)
      
    Right Find_TSM_At_Pos (reaper.TimeMap2_GetNextChangeTime0Pos ))
      if 
    Left >= 0 then
      
    if Pos <= ((GetTSM(Left).timepos GetTSM(Right).timepos) / Denom(Left)) or Right <= Left then return Left else return Right end
      
    else return -1 end
    end


    --------------------------------------------------------------------------------------------------------------------

    if 
    MsPos ~= -1 then
      local TSM 
    = {}
      
    TSM[0]  = GetTSM(Find_Clst_TSM(MsPos))
      
    TSM[1]  = GetTSM(TSM[0].num+1)
      
    TSM[2]  = GetTSM(TSM[0].num+2)

      if 
    TSM[0].lineartempo or TSM[1].lineartempo or TSM[2].lineartempo then

      local test 
    = (TSM[0].bpm+TSM[1].bpm+TSM[2].bpm) /- (TSM[2].QNpos-TSM[0].QNpos)  / (TSM[2].timepos-TSM[0].timepos)
      
    reaper.ShowConsoleMsg("("..TSM[0].bpm.." + "..TSM[1].bpm.." + "..TSM[2].bpm..") /3 - ("..TSM[2].QNpos.." - "..TSM[0].QNpos..")  / ("..TSM[2].timepos.." - "..TSM[0].timepos..") = "..test.."\n\n" )
      
    end
    end
    LUA, я только начал учить недавно, но пока времени на это дело удается вырвать к сожалению не более пары часов в неделю. В данных условиях обнаружение подобных "подводных камней" приводят в растерянность.
     
  9. Alex_V

    Alex_V Active Member

    Регистрация:
    12 апр 2017
    Сообщения:
    337
    Симпатии:
    137
    Пол:
    Мужской
    Ну, собственно, я что-то такое и предполагал. Потому, что сравнение - это как раз ситуация, где на эти особенности представления чисел можно нарваться. Причина неравенства двух чисел там, где по-хорошему они должны быть равны в том, что может производится сравнение двух неточных чисел, которые получены в результате операции над другими неточными числами. Собственно, округление до определенного знака после запятой оставит эти числа неточными, но они станут неточными одинаково.

    И да, это не баг, это фича такая у floating point представления чисел.
     
  10. Alex_V

    Alex_V Active Member

    Регистрация:
    12 апр 2017
    Сообщения:
    337
    Симпатии:
    137
    Пол:
    Мужской
    Нет, это обусловлено самой системой хранения данных. Как я уже сказал, не все числа могут быть представлены точно. Но некоторые - могут. Ну, например, с дробной частью вида x.5, x.75, x.875 и т.д. Это те числа, где дробная часть может быть точно выражена при помощи суммирования двоек в отрицательной степени. Ну вот то есть 0.5 = (2^-1); 0.75 = 2(2^-1) + (2^-2); 0.875 = 2(2^-1) + (2^-2) + (2^-3); (^ - возведение в степень). Количество слагаемых зависит от того, какой тип данных выбран для хранения. Все, что не может быть выражено точно - выражается при помощи таких же слагаемых приблизительно. Это все довольно упрощенное объяснение, на деле все несколько сложнее. Если нужно подробное:
    https://ru.wikipedia.org/wiki/Число_с_плавающей_запятой
    https://ru.wikipedia.org/wiki/Число_двойной_точности

    Да, там где нужны вычисления и преобразования без потери точности, например, для финансовых расчетов, используются другие форматы хранения вещественных чисел, например BCD: https://ru.wikipedia.org/wiki/Двоично-десятичный_код
     
  11. Buyan

    Buyan Member

    Регистрация:
    19 апр 2016
    Сообщения:
    80
    Симпатии:
    12
    Пол:
    Мужской
    Род занятий:
    Хобби: Гитара, Флейта, Звукорежиссура.
    Адрес:
    Белая Церковь
    @Alex_V, Спасибо! Пошел курить матчасть.

    Вот об этом я тоже вспомнил. Когда-то давно пробовал програмировать на асемблере, еще во времена MS-DOS. Помню, что дроби в машинном коде хранятся и обрабатываются в формате целых чисел или целочисленных выражений(не знаю как правильно обозвать). То-есть машина вычисляет разницу 7.2 - 2.4 также как разницу 72 - 24 и не видит между ними разницы, результат первой только впоследствии предоставляется в виде выражения - результат умножен на 10^-1. Вот это я понимаю под системой хранения и предоставления данных.

    В каком формате мне работать с числами в LUA, чтобы в приведенном мной примере (4.8-7.2-2.4) было достаточно точности что-бы получить хотя-бы 0,0000пофигпофигпофиг.
    В этом-то и была изначальная суть моего вопроса.
     
    Последнее редактирование: 9 янв 2018
  12. Alex_V

    Alex_V Active Member

    Регистрация:
    12 апр 2017
    Сообщения:
    337
    Симпатии:
    137
    Пол:
    Мужской
    В Lua есть только один формат чисел, хранится в виде floating point. То есть вариантов нет, от слова совсем. Единственное, что можно тут посоветовать вместо сравнения двух нецелых чисел сравнивать их разницу, взятую по модулю с неким малым значением и если разница меньше этого значения, считать числа равными. Это будет по вычислениям дешевле, чем округление через преобразование в строку.
    --- добавлено 9 янв 2018 ---
    До кучи.
    Машина работает с теми данными которые ей предоставляются, то есть сама по себе она ничего не делает. Другое дело, что в языках высокого уровня могут быть типы данных для которых неявно для пользователя делается умножение чисел на один-два порядка. Но в lua такого нет.
     
  13. Buyan

    Buyan Member

    Регистрация:
    19 апр 2016
    Сообщения:
    80
    Симпатии:
    12
    Пол:
    Мужской
    Род занятий:
    Хобби: Гитара, Флейта, Звукорежиссура.
    Адрес:
    Белая Церковь
    Да, я понял суть вопроса. Спасибо!
    Проблема в моей невнимательности и округленном выводе на экран. На практике-же это отклонение оказалось совершенно ничтожным и ни на что не влияющим. Формулы работают как надо.

    @Alex_V, Спасибо за полезные ссылки и разъяснения. В голове все вроде потихоньку становится на свои места.

    Еще раз спасибо всем за участие!
    Это все азы конечно-же, но для гуманитариев некоторые из них, как открытие Америки)
     
  14. Alex_V

    Alex_V Active Member

    Регистрация:
    12 апр 2017
    Сообщения:
    337
    Симпатии:
    137
    Пол:
    Мужской
    Ну, собственно, да, про это уже и было написано. При вычислении неточность получается где-то в очень малых величинах, ей вполне можно пренебречь. А вот при сравнении тонкости как раз и вылезают. Потому, что хоть и на ничтожно малую величину, но числа таки могут отличаться. Это, как я уже говорил, не баг, а фича и её нужно просто иметь в виду и для сравнения использовать методы обхода неточностей. :)
     
    Buyan нравится это.
  15. Aleksandr Oleynik

    Aleksandr Oleynik Well-Known Member

    Регистрация:
    16 янв 2007
    Сообщения:
    15.857
    Симпатии:
    8.357
    Пол:
    Мужской
    Адрес:
    Киев
    Я тоже сталкивался с подобными "проблемами" при сравнении, но давно уже решил не делать сравнений типпа -
    if var1 == var2 then
    Всегда делаю -
    if var1 >= var2 then
    или
    if var1 <= var2 then
    Потому как очень часто случалось та, что даже, например значение уровня сигнала запомненное один раз, много раз подряд точно не повторялось вообще.
     
  16. Buyan

    Buyan Member

    Регистрация:
    19 апр 2016
    Сообщения:
    80
    Симпатии:
    12
    Пол:
    Мужской
    Род занятий:
    Хобби: Гитара, Флейта, Звукорежиссура.
    Адрес:
    Белая Церковь
    Да с этим доводилось раньше сталкиваться. В данном случае сравнения типа if var1 == var2 then не имело места, просто проверял верность уравнения, разница двух частей которого должна была быть равна нулю, а получил единицу. Потом потихонечку разобрался во всем, и понял, что я сам себя обманул. На самом деле отклонение оказалось не столь значительным, единица в минус какой-то степени.
    В общем немного устал наверное и не совсем соображал трезво. Но зато получил возможность разобраться в этом вопросе более детально, спасибо участникам форума. Общение многое значит. В моем окружении нету людей, с которыми можно обсудить вопрос подобного рода. Часто доводится разговаривать с неживыми предметами)) которые не отвечают)
    Спасибо всем!
     
  17. vitalker

    vitalker Well-Known Member

    Регистрация:
    8 окт 2013
    Сообщения:
    2.881
    Симпатии:
    1.083
    Адрес:
    Гродно
    @Archchie, экшн может и toggle, только у него нет состояния on/off, так что фиг его знает. А какое практическое применение у такого экшна было бы?
     
  18. vitalker

    vitalker Well-Known Member

    Регистрация:
    8 окт 2013
    Сообщения:
    2.881
    Симпатии:
    1.083
    Адрес:
    Гродно
    @Archchie, используйте один миди эдитор для всего проекта. В настройках можно выбрать.
     
  19. vitalker

    vitalker Well-Known Member

    Регистрация:
    8 окт 2013
    Сообщения:
    2.881
    Симпатии:
    1.083
    Адрес:
    Гродно
  20. vitalker

    vitalker Well-Known Member

    Регистрация:
    8 окт 2013
    Сообщения:
    2.881
    Симпатии:
    1.083
    Адрес:
    Гродно
    ну как не то? Ставите один на проект и один раз загоняете в док. Потом он постоянно будет открываться в доке...
     
  21. Martin111

    Martin111 Member

    Регистрация:
    18 фев 2015
    Сообщения:
    371
    Симпатии:
    16
    Пол:
    Мужской
    Очень нужен скрипт, который не вносил бы изменения в оригинальный айтем после фриза-редактировании-unfreeze. Здесь есть гифка, к сожалению в этой теме не удалось найти ответа http://forum.rmmedia.ru/threads/23589/page-189#post-2185725
     
  22. YuriOl

    YuriOl Active Member

    Регистрация:
    6 май 2005
    Сообщения:
    439
    Симпатии:
    72
    Пол:
    Мужской
    Адрес:
    Луганск
    Supa75, надо чаще ReaPack синхронизировать.
    Михаил обновил скрипт. Теперь скрипт имеет статус (State on/off) и горит! :)
    Кино: GIF.gif
     
    Последнее редактирование: 14 янв 2018
    Supa75 и Furqat нравится это.
  23. vitalker

    vitalker Well-Known Member

    Регистрация:
    8 окт 2013
    Сообщения:
    2.881
    Симпатии:
    1.083
    Адрес:
    Гродно
    @Archchie, у меня всё работает. Закрытие поставил на Escape.
    --- добавлено 14 янв 2018 ---
    @Archchie "Script: kawa_MIDI_SelectTopNotes.lua"
     

    Вложения:

    • midi.gif
      midi.gif
      Размер файла:
      630,7 КБ
      Просмотров:
      19
    borisuperful нравится это.
  24. vitalker

    vitalker Well-Known Member

    Регистрация:
    8 окт 2013
    Сообщения:
    2.881
    Симпатии:
    1.083
    Адрес:
    Гродно
    зачем вам редактировать?

    экшн "Options: Toggle window docking" вам в помощь (можно использовать в скрипте).

    Действительно, может это недоработка какая. Напишите баг репортт.
     
  25. borisuperful

    borisuperful Active Member

    Регистрация:
    31 янв 2013
    Сообщения:
    831
    Симпатии:
    231
    Толку от этого ноль. Косяка два:
    1) Нету синхронизации, если нажать solo/unsolo в основном треке
    2) Нету синхронизации, если перешел на другой айтем, который находится в mute
    Так что пускай лучше будет без toggle отображения) Так только запутаешься
     
    Последнее редактирование: 14 янв 2018
    Furqat нравится это.
  26. vitalker

    vitalker Well-Known Member

    Регистрация:
    8 окт 2013
    Сообщения:
    2.881
    Симпатии:
    1.083
    Адрес:
    Гродно
  27. vitalker

    vitalker Well-Known Member

    Регистрация:
    8 окт 2013
    Сообщения:
    2.881
    Симпатии:
    1.083
    Адрес:
    Гродно
  28. borisuperful

    borisuperful Active Member

    Регистрация:
    31 янв 2013
    Сообщения:
    831
    Симпатии:
    231
    @Archchie,
    SWS: Select next item, keeping current selection (across tracks)
    SWS: Select previous item, keeping current selection (across tracks)
    Item: Glue items
     
  29. borisuperful

    borisuperful Active Member

    Регистрация:
    31 янв 2013
    Сообщения:
    831
    Симпатии:
    231
    Не вижу почему-то темы по предложению создания скриптов, пока напишу здесь. Если возможно, хотелось бы скрипт, который работал бы идентично Mixer: Toggle show tracks in folders in mixer, но в TCP. Пока сделал кастом, но визуально не устраивает мелькающее или остающееся select состояние у папок. Чередуется два состояния - collapsed и uncollapsed
     
    Последнее редактирование: 17 янв 2018
  30. borisuperful

    borisuperful Active Member

    Регистрация:
    31 янв 2013
    Сообщения:
    831
    Симпатии:
    231
    Еще обнаружил, что Mixer: Toggle show tracks in folders in mixer перестает работать в том случае, если есть трековый роутинг (треки с посылами не скрываются). Поэтому и здесь пришлось создать кастом, у которого такая же мелочь с select состоянием.
     
  31. borisuperful

    borisuperful Active Member

    Регистрация:
    31 янв 2013
    Сообщения:
    831
    Симпатии:
    231
    @Archchie, теперь выделяются чилдрен треки в микшере) И если есть треки не в паках, они тоже пропадают. Короче пока не вижу смысла все равно. С селектом легко и кастом сделать
     
    Последнее редактирование: 17 янв 2018
  32. borisuperful

    borisuperful Active Member

    Регистрация:
    31 янв 2013
    Сообщения:
    831
    Симпатии:
    231
    @Archchie, спасибо, теперь осталось сделать так, чтобы не скрывались остальные треки) Я так понял он по методу show/hide работает (а не по методу работы папок). Когда пытаюсь открыть папку вручную, она не показывает треки из-за hide состояния чилдренов
    Выяснилось, что точно такой же скрипт нужен и для микшера, потому что штатный экшион не работает, если чилдрен треки в роутинге.
    Короче что-то должно быть вроде toggle collapse, но не для конкретной выбранной папки, а для всех папок (без селекта). Либо в MCP либо в TCP
     
    Последнее редактирование: 17 янв 2018
  33. vitalker

    vitalker Well-Known Member

    Регистрация:
    8 окт 2013
    Сообщения:
    2.881
    Симпатии:
    1.083
    Адрес:
    Гродно
    @borisuperful, так может проще переключать состояние папки? А в теме для collapsed сделать высоту 0.
     
  34. borisuperful

    borisuperful Active Member

    Регистрация:
    31 янв 2013
    Сообщения:
    831
    Симпатии:
    231
    @vitalker, проблема то не в этом) У меня давно уже стоит ноль. Если папок много, я хотел одним кликом их все свернуть и развернуть) Для чего уже и сделал два кастом экшиона, но они работают через селект, который меня чисто визуально немного напрягает (ведь я селект не хотел делать, а он сделался)
     
  35. vitalker

    vitalker Well-Known Member

    Регистрация:
    8 окт 2013
    Сообщения:
    2.881
    Симпатии:
    1.083
    Адрес:
    Гродно
    @borisuperful, можно содержимое ваших кастомов? Правой кнопкой по экшну и Copy action text.
     
  36. borisuperful

    borisuperful Active Member

    Регистрация:
    31 янв 2013
    Сообщения:
    831
    Симпатии:
    231
    @vitalker,
    для TCP:
    SWS: Select all folders (parents only)
    Script: me2beats_Toggle folder collapsed.lua
    для MCP:
    SWS: Select all folders (parents only)
    Mixer: Show/hide children of selected tracks
    Можно еще "скапитанить" и сказать, добавь unselect all tracks, но я выше сказал, мелькает, тоже некрасиво)
     
  37. vitalker

    vitalker Well-Known Member

    Регистрация:
    8 окт 2013
    Сообщения:
    2.881
    Симпатии:
    1.083
    Адрес:
    Гродно
    @borisuperful, в начало каждого добавьте SWS: Save current track selection , а в конец SWS: Restore saved track selection .
    Может ещё вам пригодится SWS(не обязательно тут): Toggle between current and saved track selection .
     
  38. borisuperful

    borisuperful Active Member

    Регистрация:
    31 янв 2013
    Сообщения:
    831
    Симпатии:
    231
    @vitalker, во, а в микшере кстати не мелькает уже) в треках мелькает. Да и ладно, в принципе
     
  39. vitalker

    vitalker Well-Known Member

    Регистрация:
    8 окт 2013
    Сообщения:
    2.881
    Симпатии:
    1.083
    Адрес:
    Гродно
  40. borisuperful

    borisuperful Active Member

    Регистрация:
    31 янв 2013
    Сообщения:
    831
    Симпатии:
    231
    @vitalker, о том, что виден процесс кастома, когда селект на папках появляется и исчезает. В целом можно привыкнуть)
     
  41. vitalker

    vitalker Well-Known Member

    Регистрация:
    8 окт 2013
    Сообщения:
    2.881
    Симпатии:
    1.083
    Адрес:
    Гродно
    @borisuperful, это признак того, что нужно купить новый комп :p
     
  42. Archchie

    Archchie Active Member

    Регистрация:
    24 окт 2017
    Сообщения:
    230
    Симпатии:
    73
    Пол:
    Мужской

    Вложения:

    YuriOl и borisuperful нравится это.
  43. borisuperful

    borisuperful Active Member

    Регистрация:
    31 янв 2013
    Сообщения:
    831
    Симпатии:
    231
    @Archchie, Script: Toggle; Track open close all folders.lua прям в яблочко) спасибо. Hide/show мне вот почему не подходят: в трек-темплейтах многоканальных инструментов добавляю треки методом show, а сами же они прогружаются все сразу (в Kontakt допустим по 16 миди/аудио каналов) в состоянии hide. При этом каждый многоканальный инструмент со всей кучей треков я объединяю в общую папку для удобства. В связи с тем, что мне ненужно сразу много треков использовать, скрывать и открывать папки тут удобней только по методу toggle collapse.
     
    Последнее редактирование: 17 янв 2018
  44. Aleksandr Oleynik

    Aleksandr Oleynik Well-Known Member

    Регистрация:
    16 янв 2007
    Сообщения:
    15.857
    Симпатии:
    8.357
    Пол:
    Мужской
    Адрес:
    Киев
    В Рипере есть для этого штатная функция!
     
  45. Aleksandr Oleynik

    Aleksandr Oleynik Well-Known Member

    Регистрация:
    16 янв 2007
    Сообщения:
    15.857
    Симпатии:
    8.357
    Пол:
    Мужской
    Адрес:
    Киев
    Action ID - 40315
     
    YuriOl нравится это.
  46. Aleksandr Oleynik

    Aleksandr Oleynik Well-Known Member

    Регистрация:
    16 янв 2007
    Сообщения:
    15.857
    Симпатии:
    8.357
    Пол:
    Мужской
    Адрес:
    Киев
    Возможно

    Это масло маслянное. Мьют сам по себе уводит в байпас все эффекты.
     
  47. nazarol-jk35

    nazarol-jk35 старый лабух не промажет.

    Регистрация:
    4 июл 2008
    Сообщения:
    524
    Симпатии:
    110
    Адрес:
    Budapest
    Мужики, есть вот такой цикл экщен .Чё-то туплю,не получается... Хочу что б в инсерте у SubMaster уже висели apQualizr и KClip :)
    (без автоматического открывания плагинов и замьютированные)
     

    Вложения:

  48. Vet

    Vet Member

    Регистрация:
    13 окт 2009
    Сообщения:
    54
    Симпатии:
    26
    Друзья-скриптовизарды, кодокрафтеры и парни-вообще ребята. Пишу теперь в профильной теме. Если вдруг у вас найдётся-таки немного времени, уважьте старика :) Очень хочу скрипт, которым можно на активном плагине ручку WET (та, которая родная для Рипера) переключать из 0 в 100% по кругу (toggle). Коллега @Psyfacktor предлагал вариант, но он работает только в связке с контроллером, мне же нужен просто бинд на кнопку. Жмакнул - dry, ещё раз жмакнул - wet, ещё раз - dry и так пока жмакалка не устанет. А? А?!
     
  49. @Michael

    @Michael Well-Known Member

    Регистрация:
    14 дек 2010
    Сообщения:
    795
    Симпатии:
    1.220
    Пол:
    Мужской
    Адрес:
    Орёл / Москва
    PHP:
      retvaltrackID_fx  reaper.GetFocusedFX()
      if 
    retval == 1 then
        tr 
    =  reaper.CSurf_TrackFromIDtrackIDfalse )
        if 
    tr then
          param 
    reaper.TrackFX_GetNumParamstrfx ) -1
          val 
    reaper.TrackFX_GetParamtrfx param)
          
    reaper.TrackFX_SetParamtrfx parammath.abs(val-1))
        
    end
      end
      
     
    Kokarev Maxim, Vet, Supa75 и 3 другим нравится это.
  50. Vet

    Vet Member

    Регистрация:
    13 окт 2009
    Сообщения:
    54
    Симпатии:
    26
    @Michael, низкий тебе поклон и тележку респекта :)
    Спасибо! Всё работает, как нужно.
     

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