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

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

  1. Martin111

    Martin111 Member

    Регистрация:
    18 фев 2015
    Сообщения:
    319
    Симпатии:
    11
    Пол:
    Мужской
    Ребят, кто нибудь встречал скрипт который квантайзит начало нот(ы), чтобы хвост оставался на месте ?
    (на подобии скрипта Михаила, который квантайзит хвост mpl_Quantize selected MIDI notes ends.lua)
     
  2. indie_buter

    indie_buter Well-Known Member

    Регистрация:
    7 ноя 2010
    Сообщения:
    776
    Симпатии:
    256
    Помогите найти экшн для переключения между тейками. Вроде такая простая вещь, смотрел туториал, там мужик переключался между тейками клавишей T, но у меня эта клавиша оказалась никуда не назначенной. Искал по слову Take и ничего не нашел, что работало бы как мне нужно. Гуглил по запросу cycle through takes, но без результатов. Не понимаю, чего такие простые вещи вечно не очевидно находятся..
     
  3. Aleksandr Oleynik

    Aleksandr Oleynik Well-Known Member

    Регистрация:
    16 янв 2007
    Сообщения:
    13.271
    Симпатии:
    6.338
    Пол:
    Мужской
    Адрес:
    Киев
    @indie_buter, плохо искали!
    Switch items to next take и стандартно этот экшин весит на T, а с Шифтом будет previous
     
    indie_buter нравится это.
  4. arkaine

    arkaine Active Member

    Регистрация:
    13 сен 2007
    Сообщения:
    596
    Симпатии:
    114
    Не затруднит ли кого создать скрипт, который бы рандомно реверсил некоторые из выделенных (аудио) айтемов, либо тейки в них (как это в аналогичных скриптах, например, с рандомайзом плейрейта или панорамы в айтемах/тейках)?
     
  5. lil-burn

    lil-burn Well-Known Member

    Регистрация:
    15 авг 2012
    Сообщения:
    902
    Симпатии:
    607
    Пол:
    Мужской
    Адрес:
    Екатеринбург
    @arkaine, Toggle random active takes reverse.lua

    random takes reverse.gif
     
    arkaine нравится это.
  6. Nagor

    Nagor Active Member

    Регистрация:
    4 окт 2010
    Сообщения:
    400
    Симпатии:
    47
    @lil-burn, спасибо за очередной шедевр! Можно ссылку? На вашей странице скриптов не могу найти.
     
  7. arkaine

    arkaine Active Member

    Регистрация:
    13 сен 2007
    Сообщения:
    596
    Симпатии:
    114
    @Nagor, в ReaPack'е.

    @lil-burn, огромное спасибо, теперь есть почти полный функционал для контролируемой рандомной генерации лупов. :)

    LOOP CREATION 2.gif

    Получаются интересные результаты:






    Теперь для полного счастья не хватает скрипта, который бы рандомизировал питч айтемов.
    Не могли бы Вы создать такой?..

    Банально, но нет такого. А все Ваши скрипты, как правило, качественны (либо "допилены", если придётся :)), так что, смею полагать, создание Вами данного скрипта раз и навсегда закрыло бы поиск мною (и, наверное, другими пользователями) скрипта с таким функционалом.

    В Реапаке есть 2 скрипта, предполагающих собой такой функционал, но: У одного не запускается GUI и вылезает оповещение об ошибке, а второй вообще никак не воздействует на айтемы.

    В идеале мне нужно, чтобы скрипт рандомайзил питч в диапазоне ±7 полутонов. Но можно и несколько версий, одна на ±7 полутонов, а другая, допустим, на октаву или ещё на какой-нибудь "стандартный" интервал.


    И, как написали ниже:
     

    Вложения:

    Последнее редактирование: 2 окт 2017
    Nagor нравится это.
  8. MusPro

    MusPro Active Member

    Регистрация:
    20 май 2007
    Сообщения:
    409
    Симпатии:
    82
    Адрес:
    Москва
    классный скрипт. Только почему-то после его активации перестает срабатывать Xenakios/SWS: Switch item source file to random in folder.
    Облом)
    Дополню: иногда sws начинает срабатывать частично... допустим из 4-х тейков, 1. Но пока проследить не могу почему. Как будто игнорирует некоторые атеймы.
     
    Последнее редактирование: 2 окт 2017
  9. lil-burn

    lil-burn Well-Known Member

    Регистрация:
    15 авг 2012
    Сообщения:
    902
    Симпатии:
    607
    Пол:
    Мужской
    Адрес:
    Екатеринбург
    @arkaine, @MusPro,
    это баг SWS.
    мой скрипт делает реверс через риперовский экшен Item properties: Toggle take reverse и больше ничего.
    попробуйте Toggle take reverse на любом айтеме, а затем например
    Xenakios/SWS: Switch item source file to random in folder.

    кстати, мой Switch item source file to random in folder.lua тоже не работает, посмотрю на днях.
    какие еще SWS не работают, кроме
    Xenakios/SWS: Switch item source file to random in folder
    Xenakios/SWS: Switch item source file to previous in folder
    Xenakios/SWS: Switch item source file to next in folder
    ?
     
    Aleksandr Oleynik и arkaine нравится это.
  10. Aleksandr Oleynik

    Aleksandr Oleynik Well-Known Member

    Регистрация:
    16 янв 2007
    Сообщения:
    13.271
    Симпатии:
    6.338
    Пол:
    Мужской
    Адрес:
    Киев
    С использованием SWS похоже стоит завязывать.
     
  11. lil-burn

    lil-burn Well-Known Member

    Регистрация:
    15 авг 2012
    Сообщения:
    902
    Симпатии:
    607
    Пол:
    Мужской
    Адрес:
    Екатеринбург
    @Aleksandr Oleynik, не не не) они такие штуки крутые начали делать, прикольных функций добавили в API
    например, функции для копипаста текста в буфер обмена и из него. текст мгновенно копируется в буфер обмена, до этого питон для этих целей использовал, а сейчас это и в lua можно сделать.

    Можно сейчас понаписать кучу скриптов например копировать в буфер обмена названия всех айтемов/треков/регионов, или например установить содержимое буфера как название для выделенного айтема/трека
    но самая большая польза этой функции для GUI скриптов: теперь во всех местах где в GUI скриптах надо вводить текст (например поле фильтра), можно добавить вставку текста из буфера обмена, и это должно работать независимо от OS.

    Set active takes to random pitch (-7..+7).lua
    Set active takes to random pitch (-12..+12).lua
    если надо другой диапазон питча, просто поменяйте значения переменных min и max в начале скрипта.
     
    arkaine нравится это.
  12. MusPro

    MusPro Active Member

    Регистрация:
    20 май 2007
    Сообщения:
    409
    Симпатии:
    82
    Адрес:
    Москва
    @lil-burn, я просто сразу с этим столкнулся в процессе лупа когда скрипт загрузил, поэтому и упомянул. Про остальное не скажу пока, если что, то сразу. Но.... две эти операции (случайный реверс и случайный семпл) у меня практически не пересекаются, поэтому врядли скоро)
     
  13. EUGEN27771

    EUGEN27771 Well-Known Member

    Регистрация:
    23 апр 2010
    Сообщения:
    2.904
    Симпатии:
    2.350
    Пол:
    Мужской
    @lil-burn, я как-то не парился с буферами, все раньше легко копировалось через файл, есть еще tmp-файл.
    Но то, что буфер общий, это-таки хорошо
     
    lil-burn нравится это.
  14. AlexLazer

    AlexLazer Well-Known Member

    Регистрация:
    26 янв 2009
    Сообщения:
    1.014
    Симпатии:
    338
    Адрес:
    Russia, Stavropol
    Сделали бы кроссфейды как везде)))
     
  15. Maestro Sound

    Maestro Sound Member

    Регистрация:
    1 ноя 2007
    Сообщения:
    35
    Симпатии:
    5
    (@@lil-burn, огромное спасибо, теперь есть почти полный функционал для контролируемой рандомной генерации лупов. :))
    Что за скрипт? Название можно?
     
  16. arkaine

    arkaine Active Member

    Регистрация:
    13 сен 2007
    Сообщения:
    596
    Симпатии:
    114
    @Maestro Sound, просто расположенные на Toolbar'е подряд следующие экшны и скрипты:

    1. Random Item Source -- Xenakios/SWS: Switch Item Source File to Random in Folder
    2. Pan Randomize -- Nagasaki45_Randomize active takes pan in selected items
    ... (по совместительству рандомизирует и Volume айтемов)
    3. Pitch Randomize -- me2beats_Set active takes to random pitch (-7..+7)
    4. Playrate Randomize -- X-Raym_Randomize take playback rate
    5. Shuffle Order of Selected Items -- Xenakios/SWS: Shuffle Order of Selected Items
    6. Reverse Order of Selected Items -- Xenakios/SWS: Reverse Order of Selected Items
    7. Xenakios/SWS: Randomize Item Positions
    ... (для особых ценителей)
    8. Reset Item Properties -- экшн, состоящий из: Reset Items Volume to 0, Reset Item Length and Media Offset, Set Item Playrate Based on Item Pitch (and Reset Pitch).

    Untitled.jpg
     
  17. Maestro Sound

    Maestro Sound Member

    Регистрация:
    1 ноя 2007
    Сообщения:
    35
    Симпатии:
    5
    Прикольно Спасиб А Вот по поводу me2beats_Set active takes to random pitch (-7..+7) неплохо бы еще каждый следующий айтм питчился на пол тона выше предыдущего
     
  18. lil-burn

    lil-burn Well-Known Member

    Регистрация:
    15 авг 2012
    Сообщения:
    902
    Симпатии:
    607
    Пол:
    Мужской
    Адрес:
    Екатеринбург
    Increase active takes pitch linearly (+1 semitone).lua
    Decrease active takes pitch linearly (-1 semitone).lua
     
    Al Brazy нравится это.
  19. lil-burn

    lil-burn Well-Known Member

    Регистрация:
    15 авг 2012
    Сообщения:
    902
    Симпатии:
    607
    Пол:
    Мужской
    Адрес:
    Екатеринбург
    вот такой нашел, подойдет?
    PHP:
    ME reaper.MIDIEditor_GetActive()
    if 
    ME == nil then return end
    take 
    reaper.MIDIEditor_GetTake(ME)
    if 
    take ~= nil then 
      fng_take 
    reaper.FNG_AllocMidiTake(take)
      
    count_notes reaper.FNG_CountMidiNotes(fng_take)
      if 
    count_notes == nil then return end
      
    for 1count_notes do
        
    note reaper.FNG_GetMidiNote(fng_takei-1)
        
    sel reaper.FNG_GetMidiNoteIntProperty(note"SELECTED")
        
    len reaper.FNG_GetMidiNoteIntProperty(note"LENGTH")
        
    pos reaper.MIDI_GetProjTimeFromPPQPos(takereaper.FNG_GetMidiNoteIntProperty(note"POSITION"))
        
    ppq1 reaper.MIDI_GetPPQPosFromProjTime(takepos)
        if 
    sel == 1 then
          snap 
    reaper.BR_GetClosestGridDivision(pos)
          
    ppq2 reaper.MIDI_GetPPQPosFromProjTime(takesnap)
          
    reaper.FNG_SetMidiNoteIntProperty(note"POSITION",ppq2
          
    reaper.FNG_SetMidiNoteIntProperty(note"LENGTH"len + (ppq1-ppq2))   
        
    end
      end
      reaper
    .FNG_FreeMidiTake(fng_take)
    end
    насколько понял, делает квантайз нот по сетке аранжа (не по сетке миди редактора)
     
  20. Martin111

    Martin111 Member

    Регистрация:
    18 фев 2015
    Сообщения:
    319
    Симпатии:
    11
    Пол:
    Мужской
    @lil-burn, нужно чтобы к первому гриду квантайзилось, а этот скрипт делает в самое начало партии.
     

    Вложения:

    • Скрин.JPG
      Скрин.JPG
      Размер файла:
      3,1 КБ
      Просмотров:
      18
  21. Supa75

    Supa75 Active Member

    Регистрация:
    21 мар 2017
    Сообщения:
    220
    Симпатии:
    39
    Пол:
    Мужской
    Адрес:
    Днепр, Украина
    Наверное так:
    - сохранить текущее положение выделения трека
    - дублировать трек
    - возвратить сохраненное выделение трека
    - выставить фейдер в ноль
    - собственно рендер
     
  22. Maestro Sound

    Maestro Sound Member

    Регистрация:
    1 ноя 2007
    Сообщения:
    35
    Симпатии:
    5
    Выделенный трек поставить последним по счету???? Вниз треков и последним в микшере????
     
    Последнее редактирование: 6 окт 2017
  23. NuSound

    NuSound сводка, ударка, басс

    Регистрация:
    18 дек 2005
    Сообщения:
    1.797
    Симпатии:
    596
    Пол:
    Мужской
    Род занятий:
    запись, реампинг, сведение, мастеринг
    Адрес:
    Белгород
    кто нибудь может написать скрипт для реампинга? как мне, абсолютно несведущему в плане скрипотписания, это видится:
    1. я режу диай айтемы от пустоты, выделаю полученые айтемы с только нужным мне полезным сигналом и каналы на которых они располагаются
    2. запускаю скрипт. открывается окошко, в котором я выбираю созданный мною заранее темплейт с определенной конфигурацией входов (например 1 канал Gtr Amp 1: input 1 или комбинации из двух и более каналов)
    3. этот темплейт добавляется под каждый канал где есть айтемы
    4. от первого выделенного канала до последнеего прогоняет запись (реампинг) только в тех моментах где есть айтемы. вероятно при помощи маркеров это можно сделать.
     
  24. Aleksandr Oleynik

    Aleksandr Oleynik Well-Known Member

    Регистрация:
    16 янв 2007
    Сообщения:
    13.271
    Симпатии:
    6.338
    Пол:
    Мужской
    Адрес:
    Киев
    @NuSound, ни чего не понял...
     
  25. NuSound

    NuSound сводка, ударка, басс

    Регистрация:
    18 дек 2005
    Сообщения:
    1.797
    Симпатии:
    596
    Пол:
    Мужской
    Род занятий:
    запись, реампинг, сведение, мастеринг
    Адрес:
    Белгород
  26. Aleksandr Oleynik

    Aleksandr Oleynik Well-Known Member

    Регистрация:
    16 янв 2007
    Сообщения:
    13.271
    Симпатии:
    6.338
    Пол:
    Мужской
    Адрес:
    Киев
    Я же написал - ни чего.
    В первую очередь про каналы - какой может быть input у items? У него только output есть.
    И что за темплейт?
    Вы бы человеческим языком описали что вам нужно делать.
     
  27. NuSound

    NuSound сводка, ударка, басс

    Регистрация:
    18 дек 2005
    Сообщения:
    1.797
    Симпатии:
    596
    Пол:
    Мужской
    Род занятий:
    запись, реампинг, сведение, мастеринг
    Адрес:
    Белгород
    у item и не должно быть никакого инпута, вы все напутали. еще раз
    я выделяю нужные мне айтемы и дорожи, скрипт должен под каждой из выделенных дорожек создать канал(-ы) определенной конфигурации входа и начать процесс реампинга по порядку айтемов, запуская запись только там где есть айтемы и без моего участия перескакивая все места где нет айтемов. в картинках по порядку
    1. я нарезал айтемы от пустоты, выделил дорожки и айтемы
    2. запустил скрипт, он добавил нужные дорожки в проект и погнал запись
    3. финальный результат.
    там еще мелочи вроде солирования, рекорд арм и тд, ту суть должна быть ясна.
     

    Вложения:

  28. arkaine

    arkaine Active Member

    Регистрация:
    13 сен 2007
    Сообщения:
    596
    Симпатии:
    114
    Очень интересует следующий вопрос.
    Буду рад и благодарен, если отзовётся кто-нибудь из опытных скриптописцев.

    Сделал такой экшн.
    Paste at Mouse Cursor.gif
    Он вставляет (Paste) ноты туда, где располагается курсор мышки.

    Сам макро-экшн состоит из элементарных экшнов:
    Save Edit Cursor Position
    Move Edit Cursor to Mouse Cursor
    Paste
    Restore Edit Cursor Position

    Как бы сделать привязку вставления (Paste) нот к вертикали?

    Меня интересует возможность вставлять ноты туда, где располагается курсор мышки (в т.ч. вертикально). Например так, чтобы скопированное/вырезанное До мажорное трезвучие становилось Соль мажорным (вставлялось на высоте Соль), если курсор мышки будет напротив ноты Соль.

    На всякий про всякий случай, как мне кажется, информация, могущая быть полезной человеку, взявшемуся за этот скрипт (хотя скорее всего он и сам досконально знает функционал Рипера):

    В MIDI Editor'е есть такое понятие как Selected Pitch -- это когда в MIDI Editor'е выделяется высота, по которой был совершён клик мышью. Возможно, можно как-нибудь привязать вставляемые MIDI-ноты к актуальному Selected Pitch'у.

    Ну, либо был бы рад целому скрипту.
     
    Последнее редактирование: 12 окт 2017 в 14:45
  29. Martin111

    Martin111 Member

    Регистрация:
    18 фев 2015
    Сообщения:
    319
    Симпатии:
    11
    Пол:
    Мужской
    Возможно скопировать выделенный кусок с Media Explorer на окно аранжировки, драгн-дропом или ctrl+лкм(перетаскивание) не делается. Может скриптом возможно как то это реализовать ? (например, выделил кусок, нажал на скрипт, и в окне аранжировки создаётся трек с этим аудио, под эдит курсором).
     

    Вложения:

  30. Maestro Sound

    Maestro Sound Member

    Регистрация:
    1 ноя 2007
    Сообщения:
    35
    Симпатии:
    5
    драгн-дропом ctrl+Alt+лкм у меня делается
     
    Martin111 нравится это.
  31. diggidon

    diggidon Super Moderator Команда форума

    Регистрация:
    26 май 2008
    Сообщения:
    6.137
    Симпатии:
    5.673
    Род занятий:
    Жму кнопки, кручу ручки...
    Адрес:
    Днепропетровск UA
    У меня всё делается, причём простым драг-н-дропом лкм, без всяких Ctrl/Alt/Shift.
    Win 10, Reaper портабельный, запущен не от админа.
     
    Martin111 нравится это.
  32. Martin111

    Martin111 Member

    Регистрация:
    18 фев 2015
    Сообщения:
    319
    Симпатии:
    11
    Пол:
    Мужской
    @diggidon все заработало, видимо глюки какие то были, технические или человеческие.
     
  33. Supa75

    Supa75 Active Member

    Регистрация:
    21 мар 2017
    Сообщения:
    220
    Симпатии:
    39
    Пол:
    Мужской
    Адрес:
    Днепр, Украина
    помогите плиз со скриптом.
    Необходимо запомнить и потом вернуть состояние громкости и панорамы выделенного трека.
    Типа
    Save volume and pan for selected track, slot 1
    Restore volume and pan on selected track
     
  34. Maestro Sound

    Maestro Sound Member

    Регистрация:
    1 ноя 2007
    Сообщения:
    35
    Симпатии:
    5
    А Snapshots не подходит?
     
  35. lil-burn

    lil-burn Well-Known Member

    Регистрация:
    15 авг 2012
    Сообщения:
    902
    Симпатии:
    607
    Пол:
    Мужской
    Адрес:
    Екатеринбург
  36. Supa75

    Supa75 Active Member

    Регистрация:
    21 мар 2017
    Сообщения:
    220
    Симпатии:
    39
    Пол:
    Мужской
    Адрес:
    Днепр, Украина
    спасибо большое!!! А если понадобиться это сделать для двух треков одновременно, получится? т.е. выделить два трека и запустить сделанные Вами скрипты.
    или нужно дорабатывать типа slot 1 /slot 2
     

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