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

  • Автор темы Автор темы @Michael
  • Дата начала Дата начала
P.S. Но как говорит Михаил — правильнее, если это не надо в миди-партию прописывать, а слать просто в девайс
[automerge]1563900935[/automerge]
что-то все-таки не так с объединением постов...
 
lua
соответственно shift_bank или shift_program равно 1 или -1, ну и MSB считаем за ноль
C-like:
  shift_bank = 0
  shift_program = 0

  function GetDeviceID(dev_name)
    for i = 0, 64 do
      local retval, nameout = reaper.GetMIDIInputName( i, '' )
      if nameout:lower():match(dev_name:lower()) then  return i end
    end
  end
  -----------------------------------------
  function MPL_StuffPC(devid, bank, program, shift_bank, shift_program)
    if bank + shift_bank < 0 or bank + shift_bank > 64 then return end
    if program + shift_program < 0 or program + shift_program > 64 then return end
    for chan = 0, 15 do
      reaper.StuffMIDIMessage( 17+devid, 0xB0+chan, 0, 0 )  -- CC0 / MSB
      reaper.StuffMIDIMessage( 17+devid, 0xB0+chan, 0x20, bank+shift_bank ) -- CC32 / LSB
      reaper.StuffMIDIMessage( 17+devid, 0xC0+chan, program + shift_program, 0 ) -- PC
    end
    reaper.SetExtState( 'mpl_StuffPC', 'last_bank', bank+shift_bank, true )
    reaper.SetExtState( 'mpl_StuffPC', 'last_program', program+shift_program, true )
  end
  -----------------------------------------
  local devid = GetDeviceID('launchkey')
  if devid and devid ~= 0 then
    local last_bank,last_program = reaper.GetExtState(  'mpl_StuffPC', 'last_bank' )
    if last_bank then
      last_bank = tonumber(last_bank)
      last_program = tonumber(reaper.GetExtState(  'mpl_StuffPC', 'last_program' ))
    end
    if not last_bank or last_bank == '' then
      last_bank = 0
      last_program = 0
      reaper.SetExtState( 'mpl_StuffPC', 'last_bank', last_bank, true )
      reaper.SetExtState( 'mpl_StuffPC', 'last_program', last_program, true )
    end
    MPL_StuffPC(devid, last_bank, last_program, shift_bank, shift_program)
  end
 
Последнее редактирование:
До дома доберусь, попробую, спасибо ребята
Ps: нужно именно слать в железку
 
Последнее редактирование:
@@Michael, создаю файл с расширением lua, вставляю этот код, открываю плагин - пустое окно
 
Последнее редактирование:
Рад видеть цифровые дарования нашего времени, в обители любимой DAW.
Wavescope - замечательный, удобный плагин, с большим потенциалом.
Даже сейчас уже превосходит многие конкурентные продукты, как по функциям и так и по удобству эксплуатации.
Мы с Женей проделали большую работу, чтобы реализовать его в таком виде.
Есть много еще совместных идей и планирования, по расширению функционала.
Как у Жени будет свободное время, реализуем со временем новую версию плагина.
 
Последнее редактирование:
@EUGEN27771, @HDVulcan, как попробовать ваш плагин WaveScope?
поиск по имени scope, wavescope ничего не дает - реапак установлен и все обновляю всегда
 
ЧТО ЭТО ОЗНАЧАЕТ
Warning: 'ZOOM' (section 'Главная') has been registered but it could be improved!
Details: the identifier string '_7fafc5e516af384d90650da0bb4e229d' cannot be shared with other users
Tip: right-click this command > 'Explode into individual actions'
КАК ИСПРАВИТ. СПАСИБО
 
Ребята, кто подскажет, как создать экшн "Загрузить последнее автосохранение" из папки?
 
Здравствуйте! Помогите пож. новичку. Пытаюсь создать свой первый простой cycle action, но при нажатии на apply все из обоих столбцов цикл. эдитора пропадает и кнопка становится серой. Все делаю как в известных видео. Может в настройках что то не так или программа какая не установлена? Короче, уперся в стену. (рипер и расширения обновлены, повторял много раз ). Буду очень признателен за помощь.
П.С. Я понимаю, что я на другой орбите по сравнению с большинством участников этой ветки, но очень хочется сделать себе удобную конфигурацию.
 
Последнее редактирование:
@@Michael, очень нравится ваш скрипт Script: me2beats_Select tracks with no items.lua, особенно по быстродействию с большим количеством треков по сравнению с Xenakios/SWS: Select tracks with no items работает как ракета. Я использую его в одном из моих циклов, но он не выделяет папки в которых есть треки с айтемами, как это делает Xenakios/SWS: Select tracks with no items. Это можно исправить?
 

Вложения

  • 1.gif
    1.gif
    1,3 MB · Просмотры: 292
  • Сравнение быстродействия.gif
    Сравнение быстродействия.gif
    1 MB · Просмотры: 336
Последнее редактирование:
но он не выделяет папки в которых есть треки с айтемами
Он и не должен их выделять, ведь если ты удалишь такую выделенную папку, то вместе с ней удалятся и треки которые в папке с айтемами.
особенно по быстродействию с большим количеством треков по сравнению с Xenakios/SWS: Select tracks with no items работает как ракета.
PHP:
    reaper.PreventUIRefresh(1);
    reaper.Main_OnCommand(reaper.NamedCommandLookup("_XENAKIOS_SELTRAXNOITEMS"),0);--Select tracks with no items
    reaper.PreventUIRefresh(-1);
 
Последнее редактирование:
  • Like
Реакции: YuriOl
этот скрипт делал не @@Michael, а @@lil-burn
Ой, извиняюсь! Чего-то тупанул я!))
Он и не должен их выделять, ведь если ты удалишь такую выделенную папку, то вместе с ней удалятся и треки которые в папке с айтемами.
Мне не для удаления надо! Я сделал себе цикл - спрятать все треки без айтемов и кнопка у меня загорается сигнализируя о спрятанности.)) При нажатии на эту же кнопку, треки восстанавливаются и кнопка гаснет! Просто скрипт Xenakios/SWS: Select tracks with no items работает с большим количеством треков очень медленно, по сравнению с me2beats_Select tracks with no items.lua.

@Archchie, спасибо!!! То что надо!:Dle8:
 
Последнее редактирование:
Друзья, буду рад, если кто-нибудь возьмется за написание скрипта (возможно на платной основе) помогающего фиксировать (лочить) компоновки треков. Думаю многие сталкивались с проблемой, когда новые (добавляемые в проект) треки оказываются в ненужных областях микшера и панели треков. Странно, что разработчики рипа до сих пор не решили этот момент. Хотелось бы видеть микшер и конфигурации рабочего пространства с точным расположением в них необходимых элементов.

Также, вопрос к форуму. Возможно ли увеличение количества Track Views в скринсетах на большее, чем предусмотренно разработчиком?
 
Последнее редактирование:
@squarebel, я кому то делал скрипт, который раскладывал правильно по папкам (парент трекам) вновь импортированные медиа (конечно если они содержали в имени описанные названия).
Например такие wav-ки как - Tom 1, Tom 2, Hi-Hat, Snare top, Kick и так далее - попадали все чайлдами в папку Drams.
Вам в начале нужно самому продумать - что такое - «нужные места» микшера и окна аранжа.
Ни Рипер сам, ни создаваемые скрипты не будут обладать искусственным интеллектом (пока) - а значит у них должны быть ЧЁТКИЕ инструкции, что делать с новым треком в каких случаях.
И без этого описания, самым чётким и подробным образом, вам ни кто ни какого скрипта не напишет.
Да собственно именно по этой причине и нет в Рипере того, что вы хотите..... потому как каждый пользователь захочет своего....
 
  • Like
Реакции: squarebel
@Aleksandr Oleynik, спасибо Александр. Сформулирую поточнее. Нужна всего одна галочка, при наличии которой новые треки «не суют нос» в скринсеты. Туда, где я навёл необходимый для себя порядок. А дальше я их уже, как обычно из менеджера треков направляю туда, куда потребуется.
 
Последнее редактирование:
@Aleksandr Oleynik, кстати скринсеты сами по себе лагают. На гифке прослеживается хаотичность. Особенно на 4ой вьюхе. Треки, как хотят так и отображаются. Хотя, может это и не баг, а такая особенность данной функции. Нужно каждый новый трек привязывать через save к каждому скринсету индивидуалльно, только тогда будет работать. Но это ппц, как утомительно. Практически нереально :Dle46:

screensets.gif
 
Последнее редактирование:
@Aleksandr Oleynik, спасибо Александр. Сформулирую поточнее. Нужна всего одна галочка, при наличии которой новые треки «не суют нос» в скринсеты. Туда, где я навёл необходимый для себя порядок. А дальше я их уже, как обычно из менеджера треков направляю туда, куда потребуется.
Не получиться.
@Aleksandr Oleynik, кстати скринсеты сами по себе лагают. На гифке прослеживается хаотичность. Особенно на 4ой вьюхе. Треки, как хотят так и отображаются. Хотя, может это и не баг, а такая особенность данной функции. Нужно каждый новый трек привязывать через save к каждому скринсету индивидуалльно, только тогда будет работать. Но это ппц, как утомительно. Практически нереально :Dle46:
А вы чуть дольше подумайте над этим - и всё встанет на свои места.
Любое изменение состава треков в проекте поломает вам любую запомненную конфигурацию, что скринсетами, что любым другим штатным способом. Добавленные треки будут видны, про них Рипер, создавая скринсет или снэпшот, ни чего не знал.
Вам каждый раз, при добавленных или удалённых треках, прийдётся по новой пересохранять скринсеты.
Тоже самое будет и со снэпшотами.

PS: И мой вам совет - не пользуйтесь русскоязычнм интерфейсом, вас ни кто не будет понимать.
 
  • Like
Реакции: squarebel
Я же вам написал - вам нужно ПРОДУМАТЬ ХОРОШО нужный вам Функционал с учётом того, что пока искусственного интелекта НЕТ в Рипере и его модулях - ВЫ!!!! и больше ни кто, должен задать механизм того, что делать с вновь созданными треками. И только потом кто-то вам сможет написать скрипт.
Пока - сплошной туман у вас.
 
@Aleksandr Oleynik, вот, стараюсь, как могу)) тут просто по ходу продумывания всплывают вопросы, которые нужно решать. соответсвенно я их задаю) а может создать скрипт, который будет работать, как инстанция и загружать компоновку микшера отдельным блоком в обход менеджера треков? Такое реально, как считаете?

PS: И мой вам совет - не пользуйтесь русскоязычнм интерфейсом, вас ни кто не будет понимать.
Спасибо. Учту.
 
@Aleksandr Oleynik, вот, стараюсь, как могу)) тут просто по ходу продумывания всплывают вопросы, которые нужно решать. соответсвенно я их задаю) а может создать скрипт, который будет работать, как инстанция и загружать компоновку микшера отдельным блоком в обход менеджера треков? Такое реально, как считаете?
Вы не туда комаете и путаете причину со следствием.

Пытайтесь разобраться с тем, что происходит и с тем - как бы вы хотели, чтоб происходило на простых примерах!

ну вот смотрите -
В вашем проекте есть четыре трека, три из них являются группой Drums (не важно, пусть даже не оформленны в один Парент Трек по правилам Рипера) -
165603

Вы сделали три Скринсета - Drums, в котором видны только треки Барабанной группы-
165604

FX - в котором все треки FX-ов -
165605
Ну и с All и так понятно.

Всё работает как вы задумали.
Теперь вы добовляете в проект новый трек (не важно как, пустой или затаскивая вавку).

Что нужно делать Риперу, даже если он может что-то сам сделать с ним, в смысле созданных вами Скринсетов?????

Вот как только ответите на этот вопрос - сразу и появится Тех Задание для Скрипта.
 
Да, все верно толкуете.

Что нужно делать Риперу, даже если он может что-то сам сделать с ним, в смысле созданных вами Скринсетов?????

Вот как только ответите на этот вопрос - сразу и появится Тех Задание для Скрипта.
Понял. Вобщем риперу, при добавлении новых треков должно быть запрещено делать вписки в скринсеты. Пусть ставит отметки в менеджере треков и каком нибудь одном скринсете (общем) На данный момент скринсеты и менеджер треков синхронизированы. В этом и проблема. Решение в изменении кода. Если это делать без участия разработчиков, тогда наверное только специальный скрипт поможет.
 
Ему запрещено делать вписки в скринсеты.
Он и не делает! Можете проверить. Это можете сделать только вы ручками - пересохранив какой-то скринсет с новыми настройками.
Пусть ставит отметки в менеджере треков и каком нибудь одном скринсете (общем)
Как Риперу узнать КАКОЙ у вас скринсет - общий?
На данный момент скринсеты и менеджер треков синхронизированы. В этом и проблема.
Это не проблема, а единственно ПРАВИЛЬНОЕ поведение, вы в этом тоже убедитесь, если чуть глубже разберётесь в работе Рипера.
тогда наверное скрипт поможет. Не?
Поможет, как только вы сумеете создать сценарий - пока у вас его НЕТ!
 
@Aleksandr Oleynik, ок, тогда мне нужен отдельный микшер-папка, в который я буду скидывать все, что мне нужно. и чтобы можно было сохранять пресеты конфигураций. Вот вена со своими инстанциями отличный тому пример.
 
@Aleksandr Oleynik, ок, тогда мне нужен отдельный микшер-папка, в который я буду скидывать все, что мне нужно. и чтобы можно было сохранять пресеты конфигураций. Вот вена со своими инстанциями отличный тому пример.
Опять не верный ОТВЕТ и направление размышлений!
Не пытайтесь ПЕРЕДЕЛАТЬ Рипер, научитесь его использовать в начале.
В Ридере нет и быть не может нескольких Микшеров, и на самом деле они ему нафиг не нужны - будут только дэсктоп захломлять.
Что такое -
отдельный микшер-папка, в который я буду скидывать все, что мне нужно.
Что вы туда будете скидывать, если на простом примере не объяснили КАК!
Если Ручками - так и сейчас вы это с лёгкостью можете делать пересохраняя скринсеты.
Если автоматически - то ответьте наконец то - По Какому Принципу?
 
Как Риперу узнать КАКОЙ у вас скринсет - общий?
Добавить в менеджер треков еще один раздел. Для скринсетов и там делать подборки. Тоесть 1 - общий раздел. 2 - доп раздел для подборок. И перетягивать драгиндропом из первого во второй нужные треки. Но если Вы говорите, что изменить рипер нельзя, тогда да, сложновато будет. Я то думал, что скриптами можно все это вылечить. Получается, что нельзя. Понятно тогда. Буду думать, как подстроиться под существующий код.
 
Последнее редактирование:
@squarebel, т.е. вас устраивает сортировка новых треков в проекте по созданным вами группам (что показывать - что нет) ручками?
Наконец то вы ответили на трижды мной поставленный вопрос.
 

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