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

  • Автор темы Автор темы @Michael
  • Дата начала Дата начала
подскажите, а можно ли что-то придумать (некий экшн поставить или скрипт), чтобы при запуске воспроизведения, оно само остановилось на правой границе видимого в данный момент на экране айтема (с учетом масштабирования). Т.е. если например в данном масштабе я вижу правые концы двух айтемов, то воспроизведение должно остановится на правой границе того айтема, который ближе к концу проекта.
Типа в этом месте
Screenshot_1.jpg
 
Ребята, есть отдельно скрипт Quantize selected note end only?
Есть вот скрипт Михаила - Script: mpl_Quantize selected MIDI notes ends.lua, но он выравнивает не к ближней сетке, а всегда в плюс, не так как в штатном Quantize с выбранным режимом Note end only.
Вот пример: Reaper.gif
 
Есть такая функция в API - reaper.GetHZoomLevel()
Возвращает значение зума. Но, кажется, работает она только для главного окна.
Нет ли аналога для миди редактора? Очень хочется.
Или я не понял как отловить ее в миди окне.
 
кто может сделать скрипт, который бы назначал на разные ноты сэмплы, загруженные в ReaSamplOmatic 5000?
 
решил поюзать рипер для аудиомонтажа, но не могу настроить экшны или даже просто найти эти горячие клавиши
1) Как удалить все пустые места между айтемами на треке? есть несколько айтемов, между ними пустоты - я хочу их удалить, чтобы айтемы шли один за другим без пауз
2) Хочу выделить кусочек айтема, удалить его и чтобы всё (все айтемы), что находится справа сдвинулось влево к соседнему айтему

буду признателен за подсказку!
 
2) Хочу выделить кусочек айтема, удалить его и чтобы всё (все айтемы), что находится справа сдвинулось влево к соседнему айтему

буду признателен за подсказку!
Ripple edit. По дефолту кнопка на панели. У нее 3 состояния. На трек, на все треки, и отключена
 
Последнее редактирование:
  • Like
Реакции: Alex Menco
Здравствуйте форумчане!
Задумал для себя собрать простенький цикл действий, но вот не удалось.
А суть вот в чем:
• В Mouse modifiers > Context (Arrange view) > middle drag я назначил по дефолту “Marquee zoom” (мне так удобно)
A. И вот после активного действия “middle drag” мне хотелось волшебства:
1) Дефолтное состояние “Left drag” с “Move item” должно меняться на “Set default mouse modifier action for "Media item left drag" to "Marquee select items and time ignoring snap"
2) Автоматически (без дополнительных действий руками) должен исполняться какой-либо action (например, “Cut selected area of items”) или какой я назначу.
B. Возврат к исходному состоянию мышки, например, “middle click“.
И ещё в тулбар запилить зависимую от пункта A/B кнопочку вкл/выкл (пункт А, в данном случае, меняет состояние “Left drag”.
Прошу помощи аудитории.
 
Последнее редактирование:
Кто-нибудь в курсе: поддержка Python накрылась что ли в последних версиях рипера?
Пару лет назад еще в четвертой линейке рипер с питоном отлично дружили, сейчас попытался воткнуть питоновский скрипт в рипер 5.9.41 и фиг... При нажатии на кнопку Load в списке поддерживаемых для открытия типов файлов только eel и lua, при попытке выставить all files и выбрать скрипт выдает что-то типа "not supported format"...

Переходить на lua непланирую, так как и половины нужного мне в нем нет а писать метровые портянки вермишели нет желания.
 
@Alex_028, в закладке ReaScript нужно поддержку Питона включать, ну и скачать и установить сам Питон, причём (так было раньше) определённой версии и по определённому пути.
Там есть в закладке Download Python - может он сам знает что качать.
 
@Aleksandr Oleynik, :D :D :D Я уже 12 лет на питоне программирую)))) Он у меня уже установлен и путь в рипере указан к python27.dll, только вот ради интереса сделал портабельную версию 4.78 рипера который сразу с полпинка скрипт словил и все работает, а в последней версии расширения скриптов питона даже в списке нет, как писал выше.
 
@Aleksandr Oleynik, вызов функций апи рипера от версии питона независит, там обработка все равно через модуль CTypes. А вот в самом рипере что-то намудрили. На оффоруме полистал поиском, я не первый кто с этим сталкивается но решений нет и разрабы нечешутся.
 
@incubator, надо будет реквест на оффоруме скинуть, то что на луа заняло в полудоработаном виде на 80 строк я на питоне в три строки впихнул и мозг не ламал!
Пробовал заставить рипер подхватить питон 2.7 и 3.7, нихрена неработает, ошибка та же.
 
@Aleksandr Oleynik, @Alex_028, @incubator, для начала нужно поставить совпадающую с рипером битность. Качаем последний билд (64 бита скачать можно тут https://www.python.org/downloads/windows/), далее ставим в любую папку. Теперь заходим в рипер, включаем поддержку скриптов, выбираем папку куда ставили и ниже вписываем "python37" без кавычек. Перезапускаем рипер и вуаля!
 
  • Like
Реакции: incubator
@incubator, надо будет реквест на оффоруме скинуть, то что на луа заняло в полудоработаном виде на 80 строк я на питоне в три строки впихнул и мозг не ламал!
Пробовал заставить рипер подхватить питон 2.7 и 3.7, нихрена неработает, ошибка та же.
Это за скрипт такой?
 
@@Michael, конверсия Int_to_Float(), рандом выбраных параметров vst с контролем предельного значения для каждого параметра.
Больше всего места заняла функция для преобразования int в float и чтобы была не более %0.4f а не как стандартный math.random генерит 0.10f.

@vitalker, :D я тоже самое делал уже четыре раза за сегодня, если найду где бубен достать и пару шаманских танцев выучить буду по другому колдовать)))) ;)
 
@vitalker, получилось запустить! Скачал
python-3.7.0-embed-amd64
И с ним все заработало, а установленый питон показывает в параметрах рипера как подходящий но при этом в экшены недавал добавить питоновский скрипт. С портабельным рипером завелось все сразу. Нифига непонимаю. Полдня убил на поиски инфы и ковыряние с рипером...
 
@Alex_028, сложно что-то сказать. У меня получилось так, как сказал. Взял название самой большой библиотеки и вписал туда. После перезагрузки всё заработало - проверил тестовой командой с вики кокоса. Кстати, раньше (а может и сейчас тоже) можно писать на языке perl. Тут была информация https://wiki.cockos.com/wiki/index.php/ReaScript
 
@vitalker, я Perl почти незнаю, в моем институте этот язык не по профилю а только для обзора преподавался. Мне питон как-то больше нравится да и полезных функций у него океан))))
У меня только с установленым питоном проблемы возникли, сейчас с помощью портабельного проверил десяток функций из апи рипера и все работает великолепно, даже рипер теперь вместе с питоном непривязан к диску))))
Eel и Lua сильно ограничены в некоторых функциях, особенно те что касаются математики и преобразования типов. Так что прийдется пользоваться тем что лучше знакомо и привычней))))
 
@Alex_028, ell имеет некоторые ограничения, и то их Женя почти все написанными модулями порешал, а у lua пока не встретил ни каких ограничений и модулей достаточно много готовых.
Все ограничения пока в отсутствующих в API Reaper функций, но Джастин их потихоньку по нашим просьбам добавляет.
Из всех языков ell в Рипере самый быстрый.
Питон, думаю, самый медленный.
 
@@Michael, конверсия Int_to_Float(), рандом выбраных параметров vst с контролем предельного значения для каждого параметра.
Больше всего места заняла функция для преобразования int в float и чтобы была не более %0.4f а не как стандартный math.random генерит 0.10f.

Что-то не верится, что в питоне на это ушло три строчки, а в lua 80. Конкретный пример кода из одного и другого языка сможешь привести?
 
@Michael, луаскрипт позавчера удалил, а на питоне вот:

import random as r
def rand(a):
return float("%.3f" %r.uniform(0, a))

Весь скрипт пока публиковать небуду, нашел два бага с передачей списка в качестве аргументов функции.

На луа подобный код у меня занял около 50 строк с кучей промежуточных переменных. Я тем более плохо его знаю а в книге Иерузалимски возможно не все существующие функции языка описаны.

@Aleksandr Oleynik, в Eel нехватает инструкций If, break, continue, for. И это только то что сразу вспомнил, когда начинал писать свои скрипты очень матюкался из-за этого!
А луа быстрый только потому что у него нет пары сотен модулей подгружаемых по цепочке. И все равно некоторых полезностей нехватает.
По части тормознутости мне привычно, на проце 1.6 ггц у меня все что угодно тормозит)))
 
@Michael
import random as r
def rand(a):
return float("%.3f" %r.uniform(0, a))

Код:
function rand(min, max) return tonumber(string.format('%.2f', math.random()))*(max-min)+min end
test = rand(.1, .3)
Щас чувствую найдём ещё миллиард "багов" и нехватающих функций

тем более плохо его знаю
Так может и не стоит тогда заявлять, что "много нужного мне там нет".
 
Последнее редактирование:
Нужен скрипт "Split selected item under mouse cursor and select left". Обычный экшен "Item: Split item under mouse cursor (select left)" есть в стандартном списке экшенов, но он не подходит, т.к. мне нужно нужно резать ВСЕ выделенные айтемы на разных треках по линии, где находится курсор мыши, и при этом во всех разрезанных айтемах оставлять выеленную левую часть после разреза.
Может кто-то помочь сделать такой скрипт?
 

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