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

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

  1. Maestro Sound

    Maestro Sound Active Member

    Регистрация:
    1 ноя 2007
    Сообщения:
    482
    Симпатии:
    50
    Спасиб. Там понятно. Мне интересно за "reaper.PreventUIRefresh" его самому вписывать в скрипт или что?
     
    Последнее редактирование: 14 дек 2017
  2. Maestro Sound

    Maestro Sound Active Member

    Регистрация:
    1 ноя 2007
    Сообщения:
    482
    Симпатии:
    50
    На мой взгляд"СЛУХ" довольно таки ТОЧНО
     
  3. Buyan

    Buyan Member

    Регистрация:
    19 апр 2016
    Сообщения:
    80
    Симпатии:
    12
    Пол:
    Мужской
    Род занятий:
    Хобби: Гитара, Флейта, Звукорежиссура.
    Адрес:
    Белая Церковь
    http://rmmedia.ru/threads/118091/page-64#post-2185732
     
  4. Buyan

    Buyan Member

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

    Maestro Sound Active Member

    Регистрация:
    1 ноя 2007
    Сообщения:
    482
    Симпатии:
    50
    Я понимаю что он делает. где его взять и как запустить
     
  6. Buyan

    Buyan Member

    Регистрация:
    19 апр 2016
    Сообщения:
    80
    Симпатии:
    12
    Пол:
    Мужской
    Род занятий:
    Хобби: Гитара, Флейта, Звукорежиссура.
    Адрес:
    Белая Церковь
    Это вполне закономерное обстоятельство. Чистый энтузиазм исчерпаем, если его не подпитывать. Рано или поздно этот вопрос должен-был встать. И хорошо, когда он встает не раньше времени, когда хватает смелости и возможностей пройти этот этап до конца, завершая его с результатом и достижениями ни о чем не жалея. Ведь этот период, который Вы работали на чистом энтузиазме принес свои плоды: опыт, обретения себя, развитие и осознание своих возможностей, уверенность в себе, уважение и прочее. Поверьте, это очень много, это даст в будущем намного больше нежели возможность "купить сигарет". Я поражаюсь такой смелости и самоотдаче интересующему делу, рискнуть многим и многим пожертвовать ради любимого занятия и самореализации. Теперь Вы понимаете, что прошли этот путь достаточно, что пора завершить этот этап. Это нормальное обстоятельство.
    Ведь намного хуже, когда у человека не хватает смелости, сил, уверенности и возможностей настолько упорно заниматься саморазвитием, когда остается только куча заброшенных начинаний и мечтаний. Вот этот груз невыносим. Я это понимаю, ведь сам не раз стоял на этом пути, но ни разу не хватило смелости прислушаться к внутреннему голосу и до конца отдаться увлечению. Чрезмерные переживания о насущном, когда можно было обойтись минимумом и больше думать о саморазвитии и поисках себя, посредством предания увлечениям. Но все откладывалось в долгий ящик. Теперь спустя годы, вижу только упущенные возможности и время, и сигарет тоже нормальных купить не могу себе позволить. Но подобные Вашему, примеры и достижения, многое меняют в восприятии вещей, придают уверенности. Такая увлеченность на грани авантюризма не может быть безрезультатной и Ваш случай тому пример.
    Поверьте у Вас все будет в порядке. Такие достижения не могут и не должны оставаться "безнаказанными":)
    --- добавлено 14 дек 2017 ---
    Вряд-ли я смогу организовать сравнение с такой точностью до семпла. Но взавтра попробую организовать какое сумею.
    Сейчас нагрузка в конце года немаленькая плюс депрессия, времени мало. Удается уделять по часу-двум в день в сумме обучение скрипто-писательству и активность в этой ветке форума.
     
    Последнее редактирование: 14 дек 2017
    EUGEN27771 нравится это.
  7. Buyan

    Buyan Member

    Регистрация:
    19 апр 2016
    Сообщения:
    80
    Симпатии:
    12
    Пол:
    Мужской
    Род занятий:
    Хобби: Гитара, Флейта, Звукорежиссура.
    Адрес:
    Белая Церковь
    Боюсь, я Вас не понимаю. Когда говорите "он", что имеете ввиду?
    А по ссылке переходили, которую я дал? Там человек спрашивал, как притормозить обновление (перерисовку) интерфейса при выполнении кастом-экшена. Ответ Евгения скорее адресованн ему, так-как функция reaper.PreventUIRefresh как-раз за это и отвечает.
     
  8. Maestro Sound

    Maestro Sound Active Member

    Регистрация:
    1 ноя 2007
    Сообщения:
    482
    Симпатии:
    50
    Где взять эту функцию? как и где ее использовать чтобы она заработала?
     
  9. Maestro Sound

    Maestro Sound Active Member

    Регистрация:
    1 ноя 2007
    Сообщения:
    482
    Симпатии:
    50
    Позвольте спросить. Ваша цель сделать максимально идентичный алгоритм роботы JS, для так сказать личного эксперимента? Или все же другие цели?
     
  10. Slick

    Slick IDDQD

    Регистрация:
    13 май 2008
    Сообщения:
    1.933
    Симпатии:
    848
    Род занятий:
    Аранжировщик, Саунд Дизайнер
    Адрес:
    Москва, Апрелевка
    @EUGEN27771, потестил. первая версия в каждом проекте использовалась. фильтра - бомба. без них было не так удобно. спасибо за работу.
     
  11. EUGEN27771

    EUGEN27771 Well-Known Member

    Регистрация:
    23 апр 2010
    Сообщения:
    2.298
    Симпатии:
    1.955
    Пол:
    Мужской
    Пишите сначала reaper.PreventUIRefresh(день рождения бабушки)
    .........
    Здесь идут Ваши действия, которые не должны отображаться, то есть Вы хотите их заморозить
    В конце reaper.PreventUIRefresh(- день рождения бабушки)
    день рождения бабушки
    - это любое число, важно только, чтобы в сумме был ноль, если я правильно помню
     
    Buyan нравится это.
  12. Buyan

    Buyan Member

    Регистрация:
    19 апр 2016
    Сообщения:
    80
    Симпатии:
    12
    Пол:
    Мужской
    Род занятий:
    Хобби: Гитара, Флейта, Звукорежиссура.
    Адрес:
    Белая Церковь
    Я скачал еще вчера. Сегодня тестирую. Сама по себе идея такого компрессора уже гениальная. Еще с первых версий многие говорили, что такого нету нигде и ни у кого. Вещь уникальная в своем роде. Идей по применению масса. Частая ситуация, когда при сведении хорошо отстроенный компрессор на каком-то одном участке песни требует иных настроек, и приходится рисовать автоматизацию, а в данном случае можно просто ручками поправить огибающую громкости. Теперь мы имеем более качественную реализацию на уровне с ReaComp. Это действительно победа.
    Модули это очень ценные наработки. поверьте многие будут ими пользоваться со временем. Здесь просто программистов мало, в основном музыканты не сильно стремящиеся к разработкам чего-либо, которым готовый продукт подавай. Немногие достигли того уровня, что-бы понимать ценность ваших наработок и тем более использовать их. Я вот например только начинаю. С рипером познакомился всего год тому, а скрипты писать только сейчас начинаю.
    --- добавлено 15 дек 2017 ---
    Конечно, идей по применению может быть масса со временем. Например, можно управлять сатуратором и подмешивать сатурацию исключительно на сибилянтах.
     
    Последнее редактирование: 15 дек 2017
  13. Buyan

    Buyan Member

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

    Buyan Member

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

    Можно и Богу отдать себя, но при условии, что это будет так-же интересно и увлекательно:) Иначе нету в этом никакого смысла.
     
    EUGEN27771 нравится это.
  15. Pochette

    Pochette New Member

    Регистрация:
    20 июн 2017
    Сообщения:
    3
    Симпатии:
    0
    Пол:
    Мужской
    Всем привет! Натолкнулся на следующую проблему, может быть, кто-нибудь сталкивался. При создании VST- кнопки на тулбаре методом добавление FX Chain в resources extentions, все работает только до момента перезапуска программы. То есть, каждый раз при входе в рипер слетают слоты в ресурсах. Добавлять их нужно либо вручную, либо через -правый клик - auto-fill. Кто знает, как решить подобную задачу.
    P.S. тоже самое происходит при добавлении любого Cycle - слетают все слоты. Заранее спасибо за ответ. Сносить Reaper и переустанавливать SWS уже пробовал
     
  16. Слава

    Слава Member

    Регистрация:
    22 ноя 2006
    Сообщения:
    71
    Симпатии:
    21
    "Cлучаев чего" не наблюдаю - ebc v2.7 работает как доктор прописал. Наличие меню пресетов и параметра RMS size делают ebc v2.7 ещё более юзабельным. Компрессоры (как впрочем и другие приборы) всегда оцениваю "на ухо". Почему вы решили сравнить алгоритм ebc именно с rea comp? Тем более, алгоритм ebc (v1, v2, v2.7) написан вами с нуля изначально, или по образцу rea comp? Прошу прощения, если вопрос поставлен неграмотно. Ну а если в моём понимании - ebc v2.7 именно как компрессор работает прекрасно, а вычитается он в ноль с rea comp, или нет мне не критично.
    Спасибо за отличный инструмент!
     
    Buyan нравится это.
  17. Buyan

    Buyan Member

    Регистрация:
    19 апр 2016
    Сообщения:
    80
    Симпатии:
    12
    Пол:
    Мужской
    Род занятий:
    Хобби: Гитара, Флейта, Звукорежиссура.
    Адрес:
    Белая Церковь
    @Aleksandr Oleynik, @@Michael, @EUGEN27771, и остальные,
    Нашел функцию в API - reaper.TimeMap_QNToMeasures( proj, qn ), вот ломаю голову, может кто знает, что такое QN ?
    Может вопрос и простой, но я в меру своей недалекости пока не могу сообразить.

    Ищу API для работы с тактами, размерами и прочим связанным, везде натыкаюсь на этот QN в параметрах функций.
    Вообще задача в том, что-бы измерить количество четвертей между двумя тайм-маркерами(временными позициями на таймлайне).
     
    Последнее редактирование: 17 дек 2017
  18. Aleksandr Oleynik

    Aleksandr Oleynik Well-Known Member

    Регистрация:
    16 янв 2007
    Сообщения:
    16.641
    Симпатии:
    8.988
    Пол:
    Мужской
    Адрес:
    Киев
    @Buyan, я так понимаю, что значение в определенном формате. Есть и другие подобные примеры, когда через API можно получить в начале значение в одном каком-то формате, а потом есть API в котором это вот значение в этом формате используется для получения чего то иного.
    Нужно просто искать функции в которых этот qn ещё встречается.
     
  19. EUGEN27771

    EUGEN27771 Well-Known Member

    Регистрация:
    23 апр 2010
    Сообщения:
    2.298
    Симпатии:
    1.955
    Пол:
    Мужской
    Четвертные ноты
    ---------
    Вообще, это почти стандартный способ измерения QN -четвертями. В VST тоже так отмеряют.
    Это позволяет сразу считать музыкальное время
     
    Последнее редактирование: 20 дек 2017
    Aleksandr Oleynik нравится это.
  20. BlackWinter

    BlackWinter New Member

    Регистрация:
    29 июн 2012
    Сообщения:
    5
    Симпатии:
    2
    Всем привет!
    Перехожу на Рипер с Про Тулс. Добиваюсь похожего поведения в работе, ибо привык.
    Например при выделении item мне оч удобно что time-selection выставляется по размеру item, а курсор встает на начало item и я знаю что при нажатии play услышу item а не какое-то рандомное место в проекте где остался стоять курсор. Родного такого поведения нет, поэтому я написал простой custom action
    -select item under mouse cursor
    -move cursor to start of items
    -set time selection to items

    Повесил свой кастом на левую кнопку мыши и все работает идеально. Супер. Но дальше я понял что добавляя в выделение новые item с помощью Shift - вся логика ломается. Есть опция для Shift+Left Mouse - добавить item в выделение и расширить тайм селекшн. Но курсор не перемещается в начало нового выделения. Я продолжил свой путь и написал второй кастом экшн. Прелесть в том, что сложные экшены доступные для мышки (добавить в выделение и расширить тайм селекшн например) недоступны в списке экшенов. Ок, пишу все сам. И вот тут начинается самое интересное. Добавить в выделение item можно 2умя способами - add (leaving other items selected) и toggle selection under mouse. Оба варианта скрипта работают идеально при наведении мышки на новый item и запуске скрипта через горячие клавиши. Но абсолютно некорректно работает когда ТОТ ЖЕ самый экшн скрипт (PT Mouse Left + Shift) установлен на комбинацию Shift+LMB - в этом случае выделение предыдущих item слетает.

    В прикрепленных GIF очень четко видно, как при запуске экшена горячими клавишами все работает как я задумал, и я даже запускал воспроизведение каждый раз с начала выделения всех айтемов. ВО второй же GIF прекрасно видно что тот же самый экшн скрипт запущенный мышкой+shift - работает некорректно, теряя прошлое выделение.

    Итого:
    1) как решить мою задачу?
    2) почему Рипер так себя ведет, на мой взгляд абсолютно некорректно?

    Спасибо!
     

    Вложения:

    • Hot Keys 1.gif
      Hot Keys 1.gif
      Размер файла:
      2,6 МБ
      Просмотров:
      23
    • Mouse.gif
      Mouse.gif
      Размер файла:
      766,6 КБ
      Просмотров:
      21
    incubator нравится это.
  21. Martin111

    Martin111 Member

    Регистрация:
    18 фев 2015
    Сообщения:
    375
    Симпатии:
    16
    Пол:
    Мужской
    Подскажите скрипт, который перемещает выделенную ноту к концу предыдущей ?
     

    Вложения:

    • Скрин.png
      Скрин.png
      Размер файла:
      3,4 КБ
      Просмотров:
      15
  22. @Michael

    @Michael Well-Known Member

    Регистрация:
    14 дек 2010
    Сообщения:
    824
    Симпатии:
    1.239
    Пол:
    Мужской
    Адрес:
    Орёл / Москва
    Что-то вроде этого:
    PHP:
      for key in pairs(reaper) do _G[key]=reaper[key]  end
      
    function ReorderNotes(percent)  
        
    local ME MIDIEditor_GetActive()
        if 
    not ME then return end
        local take 
    MIDIEditor_GetTake(ME)
        if 
    not take or not TakeIsMIDI(takethen return end
        local last_t
        
    for 1, ({MIDI_CountEvtstake )})[2] do
          
    local _selectedmutedstartppqposendppqposchanpitchvel MIDI_GetNotetakei-)
          if 
    selected and 1 then
            local len 
    endppqposstartppqpos
            startppqpos 
    last_t.endppqpos 1
            endppqpos 
    startppqpos len
            MIDI_SetNote
    takei-1truemutedstartppqpos,endppqposchanpitchveltrue )
          
    end
          last_t
    ={startppqpos=startppqposendppqpos=endppqpos}
        
    end
        MIDI_Sort
    take )
      
    end
      ReorderNotes
    ()
     
    Martin111 нравится это.
  23. Buyan

    Buyan Member

    Регистрация:
    19 апр 2016
    Сообщения:
    80
    Симпатии:
    12
    Пол:
    Мужской
    Род занятий:
    Хобби: Гитара, Флейта, Звукорежиссура.
    Адрес:
    Белая Церковь
    @EUGEN27771, @Aleksandr Oleynik,
    Спасибо большое! Одна голова хорошо, а больше лучше:).
    Четвертя, это как-раз то, что мне нужно использовать в вычислениях для получения требуемого значения bpm маркера.
     
  24. Martin111

    Martin111 Member

    Регистрация:
    18 фев 2015
    Сообщения:
    375
    Симпатии:
    16
    Пол:
    Мужской
    @@Michael круто, то что нужно, спасибо !!!
     
  25. Nordum

    Nordum Active Member

    Регистрация:
    28 окт 2016
    Сообщения:
    139
    Симпатии:
    29
    Пол:
    Мужской
    Род занятий:
    SD, CG, BB, GG.
    @Pochette, Проверьте .ini sws на атрибуты "только чтение" в папке ресурсов, все слоты, настройки хранятся там
     
  26. incubator

    incubator Active Member

    Регистрация:
    24 янв 2007
    Сообщения:
    356
    Симпатии:
    138
    Адрес:
    Spb
    @BlackWinter, Я пришел сюда за тем же что и вы!Мы с товарищем @vitalker бились сегодня с этим целый вечер!
    Неистово плюсую!!!
    Это дествительно не работает корректно.Замечу что описать сию проблему\желание довольно сложно) По сути добавление в веделение атемов с синхонным выделением времени и перемещинии курсора на начало все выделенных айтемов по left click с удержаным shift
    [​IMG]


    Я убил 2 бесонных ночи на это и один вечер с Виталием(Дай бог ему здоровья) Но безуспешно)Поэтому думаю что это решаеться только скриптом.
    Друзья пожалуйста кто умеет помогите осущетвить мечту не переучиваться а сразу приступить к работе в Рипере!
     
  27. BlackWinter

    BlackWinter New Member

    Регистрация:
    29 июн 2012
    Сообщения:
    5
    Симпатии:
    2
    Абсолютно верно! В моем GIF когда я запускал свой скрипт горячими клавишами действительно все работает как в Аблетоне. Правда я уже для себя понял, что вариант с перемоткой курсора на начало делает невозможным редактирование. Слава богу аналогично PT можно назначить разное действие на верхнюю и нижнюю половину item. Таким образом я бы настроил что при нажатии на верхнюю половину курсор перемещается в место нажатия, а при нажатии в нижнюю - выделяет весь item и можно его проиграть.

    Итак, что получилось.
    1) Ставим по умолчанию левую кнопку мыши на item - Select item and move edit cursor
    таким образо мы тыкая в аудиоклип перемещаем курсор куда надо, с этого момента можем проигрывать и зумить именно это место. (попытки перематывать курсор на начало айтема дял воспроизведения убивали возможность зумить середину файла) Но item выделяется, что для нас важно.
    2) На левую кнопку item bottom half - ставим свой кастомный скрипт
    -select item under mouse cursor
    -set time selection to items (уже эта строчка кода переставляет курсор на начало itema, хотя это СОВЕРШЕННО не следует из названия экшена)
    -move edit cursor to mouse cursor (раз уж мы решили что все равно запускать выделенные items с их начала будем другой комбинацией клавиш, нам нет смысла переставлять курсор от места нажатия, и этой строчкой мы его возвращаем в то место куда тыкнули)

    Разница между между нажатием на верхнюю и нижнюю половину item сейчас у нас в том, что верхнее нажатие не меняет тайм-селекшн. А нижнее выставляет тайм селекшн по размеру item.

    3) Дальше все просто - создаем элементарный скрипт для проигрывания выделенных айтемов с их начала
    -move cursor to start of item
    -play

    И вещаем этот скрипт на что-то очень удобное и близкое к пробелу, например Alt+Space

    Вуаля! Теперь при любом выделении item наш курсор и точка зума и точка разрезки всегда соответствует месту нажатия мышкой. Но item выделяются целиком, и комбинация Alt-Space проигрывает их именно так, как мы и хотели. И даже выделение нескольких item с зажатым SHift можно прослушать через Alt+Space.

    PS
    У меня одного после горизонтального зума колесом мышки, через раз горизонтальный скролл или другие действия колесиком становятся неактивны пока не кликнешь в новое место курсором?
     

    Вложения:

  28. BlackWinter

    BlackWinter New Member

    Регистрация:
    29 июн 2012
    Сообщения:
    5
    Симпатии:
    2
    А вот теперь действительно серьезный вопрос, который видимо может решить только скрипт. Тема совсем другая, потому и новое сообщение.

    Мне нравится логика работы с submix шинами, начиная с того, что я привык к расположению сабмиксов ПОСЛЕ дорожек (а не ДО, как можно с помощью папки) и заканчивая тем, что в шину можно отправить несмежные трэки ( или несмежные шины)
    Вручную все это долго и неудобно, и я нашел скрипты на форуме такого рода (оставил только ключевые экшены, без покрасок и тд)

    Custom Actions for Submix:
    SWS: Disable master/parent send on selected track(s)
    SWS/S&M: Create cue buss from track selection, settings 03

    Custom Actions for Aux:
    SWS/S&M: Create cue buss from track selection, settings 03

    Проблема лишь в том, что даже SWS Cue Bus Generator не позволяет выбрать значение новосозданного Send. И задается оно один раз в настройках.
    Для создания сабмиксов/шин конечно значение сенда по умолчанию должно быть 0.0 Дб (чтобы весь сигнал шел постфейдерно в шину)
    Но нет ничего глупее и ужаснее чем созданный посыл на эффект при 0.0 дб, тонны ревера, и тд. Я предпочитаю добавлять эффект из полной тишины до необходимого едва заметного уровня.

    Итого - как сделать чтобы при создании шин сенды были ноль дб, а при создании aux посылов на эффекты сенды были -inf

    И если можно - сразу при запуске такого скрипта попросить ввести название шины/аукса, ведь в 99% случаев все равно мы будем давать название свеже созданному посылу.

    Спасибо!
     
  29. Aleksandr Oleynik

    Aleksandr Oleynik Well-Known Member

    Регистрация:
    16 янв 2007
    Сообщения:
    16.641
    Симпатии:
    8.988
    Пол:
    Мужской
    Адрес:
    Киев
    @BlackWinter, ваша просьба некоторым образом противоречит идеологии построения бусов в Рипере. Посему - врядли ещё кого-то заинтересует. Да и при ауксах сенды в - inf ставить а не в 0 dB спорное удобство, как по мне - все равно посылы на эффекты нужно отстраивать, так какая разница куда крутить фейдер.
    --- добавлено 19 дек 2017 ---
    Смысл того, что нужно чтоб происходило в общем то понятен.
    А без Shift- ЛКМ должна работать штатным образом?
     
  30. Supa75

    Supa75 Active Member

    Регистрация:
    21 мар 2017
    Сообщения:
    429
    Симпатии:
    95
    Пол:
    Мужской
    Адрес:
    Днепр, Украина
    В Кубе была такая полезная логическая функция, которая преобразует velocity миди-трека в огибающую volumе. Очень хочется заиметь такую фичу в Рипере в виде скрипта
    Типа выделил миди айтем, нажал скрипт, появилась огибающая громкости на миди-айтеме, а все ноты данного айтема получили velocity, равное 100 например.
     
  31. vitalker

    vitalker Well-Known Member

    Регистрация:
    8 окт 2013
    Сообщения:
    3.009
    Симпатии:
    1.167
    Адрес:
    Гродно
    дело не в модифаерах, а что-то с экшном не так. Или не дружит с мышкой. Прикол в том, что не работает ни этот экшн, ни тот, в начале которого "Set default mouse modifier action...", ни sws вариант, ни скриптовый. Видимо странный баг.
     
  32. Aleksandr Oleynik

    Aleksandr Oleynik Well-Known Member

    Регистрация:
    16 янв 2007
    Сообщения:
    16.641
    Симпатии:
    8.988
    Пол:
    Мужской
    Адрес:
    Киев
    @vitalker, я не о том что там не так с экшинами. Я опять о правильном тех задании.
    Как должна работать мышка с шифтом и без шифта?
     
  33. incubator

    incubator Active Member

    Регистрация:
    24 янв 2007
    Сообщения:
    356
    Симпатии:
    138
    Адрес:
    Spb
  34. vitalker

    vitalker Well-Known Member

    Регистрация:
    8 окт 2013
    Сообщения:
    3.009
    Симпатии:
    1.167
    Адрес:
    Гродно
    @Aleksandr Oleynik, это вопрос не ко мне, а к этим ребятам. :)
     
  35. CerberPic

    CerberPic Member

    Регистрация:
    17 фев 2017
    Сообщения:
    69
    Симпатии:
    22
    Пол:
    Мужской
    Не помню уже, как в кубе, да и не припомнаю, чтобы пользовался этой функцией, но идея интересная. Попробую замутить, но чуть попозже, как время будет.
     
  36. Kokarev Maxim

    Kokarev Maxim ex cool

    Регистрация:
    13 май 2007
    Сообщения:
    3.975
    Симпатии:
    2.402
    Пол:
    Мужской
    Род занятий:
    freelance, mixing
    Адрес:
    Барнаул
    Ребята, помогите вспомнить название скрипта. Что-то вроде "smooth actions" или типа того. Скрипт ставился до и после списка кастом экшенов и уменьшал визуальные глюки работы экшенов. К примеру, бывают кастом экшены со сменой выделений или позиции курсора, которые в работе как бы мигают. После добавления этого скрипта в кастом экшн, его работа происходит визуально более гладко.
     
    Последнее редактирование: 22 дек 2017
  37. Aleksandr Oleynik

    Aleksandr Oleynik Well-Known Member

    Регистрация:
    16 янв 2007
    Сообщения:
    16.641
    Симпатии:
    8.988
    Пол:
    Мужской
    Адрес:
    Киев
    Kokarev Maxim нравится это.
  38. Kokarev Maxim

    Kokarev Maxim ex cool

    Регистрация:
    13 май 2007
    Сообщения:
    3.975
    Симпатии:
    2.402
    Пол:
    Мужской
    Род занятий:
    freelance, mixing
    Адрес:
    Барнаул
    Как оказалось, эти скрипты уже больше года как не работают - с обновления Рипера летом 2016. Есть вариант с созданием файлов вручную, что мне посоветовал автор (доступно по той же ссылке), но это не корректно работает с Cycle Actions, а именно, перестаёт работать команда toggle для отображения включения/выключения кнопок.
    В общем, забросил пока я эту затею
     
  39. Nordum

    Nordum Active Member

    Регистрация:
    28 окт 2016
    Сообщения:
    139
    Симпатии:
    29
    Пол:
    Мужской
    Род занятий:
    SD, CG, BB, GG.
    Есть два действия по навигации между маркерами Markers: "Go to next marker/project end" и "Markers: Go to previous marker/project end" (по дефолту вроде ] и [ ). В миди редакторе данные действия не работают, и не предусмотрены. Хотя маркеры там и отображаются, но присутствует функции перемещения только к началу или концу миди файла, т. е. чтобы не закрывая редактор перепрыгнуть между маркерами, нужно для начала зафокусить главное окно арранжа, а потом обратно миди редактор. Осмелится кто сделать пару скриптов для этих действий внутри миди редактора? если это позволяет API конечно.
    Нужно чтобы при воспроизведении оно не останавливалось а продолжало воспроизводить с соответствующего маркера, как в дефолтных функциях для арранжа, а при паузе просто перемещало курсор.
     
  40. Aleksandr Oleynik

    Aleksandr Oleynik Well-Known Member

    Регистрация:
    16 янв 2007
    Сообщения:
    16.641
    Симпатии:
    8.988
    Пол:
    Мужской
    Адрес:
    Киев
    @Nordum, эта тема уже ни раз поднималась, поищите.
    Есть Экшин, который можно использовать для того, чтобы из миди эдитора работали любые команды Мэйн раздела без выхода из миди эдитора.
    Я не помню что это за экшин, найду - дам ссылку.
    Вот - http://rmmedia.ru/threads/49259/page-2#post-2078587

    MainComand in Midi Edit.gif
     
    Последнее редактирование: 25 дек 2017
    Nordum нравится это.
  41. Nordum

    Nordum Active Member

    Регистрация:
    28 окт 2016
    Сообщения:
    139
    Симпатии:
    29
    Пол:
    Мужской
    Род занятий:
    SD, CG, BB, GG.
    @Aleksandr Oleynik, Вот спасибо ! а я уже думал экспортировать команды между листами ). хитро
     
  42. Aleksandr Oleynik

    Aleksandr Oleynik Well-Known Member

    Регистрация:
    16 янв 2007
    Сообщения:
    16.641
    Симпатии:
    8.988
    Пол:
    Мужской
    Адрес:
    Киев
    @Nordum, FAQ ведь не очень большой - можно было бы его и почитать.
     
  43. Aleksandr Oleynik

    Aleksandr Oleynik Well-Known Member

    Регистрация:
    16 янв 2007
    Сообщения:
    16.641
    Симпатии:
    8.988
    Пол:
    Мужской
    Адрес:
    Киев
    @Archchie, так в вами же созданной ветке это обсуждать нужно, а не тут.
     
  44. Buyan

    Buyan Member

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

    Друзья, помогите понять суть происходящего и как с этим "дальше жить".
    В общем имеется простенький пример lua-скрипта, там все видно и понятно. Суть в том, что вроде логичное и простое равенство, в первом случае, оказывается по непонятным мне причинам неверным.
    PHP:

    local var1 
    4.8
    local var2  
    7.2 2.4
    reaper
    .ShowConsoleMsg("var1= "..var1.."\n")
    reaper.ShowConsoleMsg("var2= "..var2.."\n")
    reaper.ShowConsoleMsg("\n")
    reaper.ShowConsoleMsg("var "..var1.." - "..var2.." = "..var1 var2  .."\n")
    reaper.ShowConsoleMsg("var "..var1.." - "..var2.." = "..var1 tonumber(tostring(var2))  .."\n\n")

    local var2  9.6 4.8
    reaper
    .ShowConsoleMsg("var1= "..var1.."\n")
    reaper.ShowConsoleMsg("var2= "..var2.."\n")
    reaper.ShowConsoleMsg("\n")
    reaper.ShowConsoleMsg("var "..var1.." - "..var2.." = "..var1 var2  .."\n")
    Вывод на экран:
    Код:
    var1= 4.8
    var2= 4.8
    
    var 4.8 - 4.8 = -8.8817841970013e-016
    var 4.8 - 4.8 = 0.0
    
    var1= 4.8
    var2= 4.8
    
    var 4.8 - 4.8 = 0.0
    
    Проводя вычисления, временами получал незакономерный результат, полночи поэтапно проверял свою формулу на предмет ошибки, но натолкнулся на совершенно неожиданный для меня вывод. Хотя всем переменным с числами устанавливал числовой тип принудительно еще на самых первых этапах дэбага своего скрипта. С чего сделал вывод впоследствии, что проблема кроется скорее всего не в "несоответствии типа данных переменной". Хотя преобразование значения в строку с последующим преобразованием обратно в число, проблему решает. Но мне даже страшно представить, как прогонять каждое полученное на каждом этапе вычислений число сначала в строку потом обратно в число. Это было бы очень неудобно. Возникает подозрения, что где-то в глубинах мозгов интерпретатора lua, результат разницы 7.2 - 2.4 представляет из себя какое-то бинарное число с большим количеством знаков, которое при выводе на экран округляется и представляется в "правильном виде" (так как преобразуется в строковый тип в процессе вывода), а при участии в вычислениях проявляет "свою скрытую сущность".
    Но я в этом не сильно понимаю, поэтому прошу советов, как с этим всем обходится?
    Или проводить вычисления в десятичном формате представления чисел, сама по себе идея неразумная?
    У кого какие мысли на этот счет?
     
  45. Aleksandr Oleynik

    Aleksandr Oleynik Well-Known Member

    Регистрация:
    16 янв 2007
    Сообщения:
    16.641
    Симпатии:
    8.988
    Пол:
    Мужской
    Адрес:
    Киев
    @Buyan, смотря для чего нужны вычисления....
     
  46. Alex_V

    Alex_V Active Member

    Регистрация:
    12 апр 2017
    Сообщения:
    337
    Симпатии:
    138
    Пол:
    Мужской
    То, на что вы нарвались связано с тем, как хранятся вещественные числа в памяти компьютера (не только интерпретатора Lua). Проблема в том, что не все вещественные числа можно представить в двоичном виде точно. Отсюда и возникает разница. Бороться с ней - ну вот примерно так, как вы и написали, через преобразование в строки, там происходит округление до какого-то знака. Вот тут нашел парочку готовых функций для округления до определенного знака: http://lua-users.org/wiki/SimpleRound
     
  47. EUGEN27771

    EUGEN27771 Well-Known Member

    Регистрация:
    23 апр 2010
    Сообщения:
    2.298
    Симпатии:
    1.955
    Пол:
    Мужской
    @Alex_V, бороться с ней вообще не нужно, нужно считать как есть.
    Ошибка проявится только при округлении. Например 64 до 32.
    Тут проблема вывода на экран.
    Конечно, причем оно по разному ведет себя на разных системах.
    Писал об этом примерно давно уже. Вот такую штуку сделал - работает безотказно на Вин и на Мак.
    Это только для адекватного округления в обеих системах.
    //----------------------------
    function smval(val)
    local(smidge)
    (
    //try fix osx sprintf round
    smidge = 2 ^ -52;
    val + smidge*val;
    );
     
    Buyan нравится это.
  48. Alex_V

    Alex_V Active Member

    Регистрация:
    12 апр 2017
    Сообщения:
    337
    Симпатии:
    138
    Пол:
    Мужской
    Не только, еще и при сравнении. А еще про машинное эпсилон можно вспомнить.
     
  49. EUGEN27771

    EUGEN27771 Well-Known Member

    Регистрация:
    23 апр 2010
    Сообщения:
    2.298
    Симпатии:
    1.955
    Пол:
    Мужской
    В каком случае?
     
  50. Alex_V

    Alex_V Active Member

    Регистрация:
    12 апр 2017
    Сообщения:
    337
    Симпатии:
    138
    Пол:
    Мужской
    Да вот прям в приведенном. Если после строки
    Код:
    local var2 = 7.2 - 2.4
    var1 и var2 сравнить, то они не равны.
     

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