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

  • Автор темы Автор темы @Michael
  • Дата начала Дата начала
можно ли сделать скрипт, с помощью которого можно резать item-ы (alt+click), будет будет выделяться правая часть отрезанная и НЕ БУДЕТ перескакивать в место среза курсор?
пока насколько знаю нельзя, так же как и для любых сочетаний ЛКМ по айтему.
Ребята, надо искать. )). очень полезная фишка, напрягает курсор конкретно. Может есть у кого?
 
  • Like
Реакции: stepperian
Сделал кнопку на тулбаре для VST (добавляет EQ в инсерт выделенного трека). Подскажите, пожалуйста какую команду (команды) нужно добавить в циклэкшн, чтобы эффект добавлялся в начало цепи инсерта, а не в конец как по умолчанию?
 
В начале нужно скопировать FX Chain с уже имеющимися плагинами, потом их удалить, потом вставить вам нужный, а потом вставить скопированный FX Chain.
 
не нашел в стандартных экшнах возможности удаления нот меньше определенного уровня велосити. Например, мне нужно в Midi Editor удалить все ноты, у которых велосити менее 10.
аналогичная штука удаления нот менее определенной длительности есть, а вот по велосити нет.
Помогите плиз с экшном. Собрать кастом самостоятельно не получилось.
Спасибо.
 
блин, ребяты! @lil-burn, Женя, Миша, скриптописатели наши, что б мы без вас делали, родные - вы так облегчаете жизнь рипереводам! понятно, что есть еще ребята - Саша Олейник, например - да не знаю я всех, кто вкладывает свое время и талант в рипер для нас! поклон вам низкий, камрады! очень хочется пожелать вам в скорейшем времени "получить по заслугам" :D чтобы и денег, и здоровья...
 
@lil-burn, нашел на форуме, Вы в какой-то ветке выкладывали скрипты SET USER VELOCITY (2-х версии). Первая версия как я понял устанавливает велосити 101 для выделенных нот. А вот со второй не могу разобраться. Выделяю ноты, запускаю скрипт, в окне ввожу значение велосити, но ничего не происходит.
Я правильно понимаю, выделенные ноты же должны менять значение велосити на то, которое вводится в окно? Если так, посмотрите пожалуйста. Было бы очень удобно выделять ноты, вызывать окно и назначать им велосити, вместо того, чтобы тянуть их мышкой в поле контролеров к нужному значению. Заранее спасибо.
 
Последнее редактирование:
Здорово. Работает. Можно еще пару вопросов?
Нашел у Вас в папке экшн Edit selected envelope point.lua. Крутая штука! Но он работает (изменяет) только одну точку автоматизации даже если выделены несколько. Нет у Вас случайно скрипта по аналогии, как Вы только сделали с велосити: выделить несколько точек автоматизации и задать им единое значение в окне.
Сейчас в стандартных экшнах этого нет и решается только через правую кнопку мыши.

Также (тут уже не помню Вы или @Michael ) выкладывали тестовые версии копирование всего содержимого фолдер трека: Выделил область на тайм-селекшене и папку, перевел эдит-курсор в место вставки и нажал хоткей. Все айтемы на всех дочерних треках выделенной папки скопировались в место курсора (на гифке это именно так работало). Помогите плиз найти этот экшн
 
выделить несколько точек автоматизации и задать им единое значение в окне
Код:
local r = reaper; local function nothing() end; local function bla() r.defer(nothing) end

local env = r.GetSelectedEnvelope()
if not env then bla() return end
local points = r.CountEnvelopePoints(env)
if points == 0 then bla() return end

local cur = r.GetCursorPosition()

r.Undo_BeginBlock()
--r.PreventUIRefresh(1)

local found

for i = 0, points-1 do
  local _, time, _, _, _, sel = r.GetEnvelopePoint(env,i)
  if sel then

    r.SetEditCurPos2(0, time, 0, 0)
    found = 1; iter = i

  break end
end

if not iter then bla() return end

local _, val, shape, tens

if found then
  r.Main_OnCommand(41987,0)--Envelope: Edit envelope point value at cursor
 
  _, _, val, shape, tens = r.GetEnvelopePoint(env, iter)
 
  for i = iter+1, points-1 do
    local _, _, _, _, _, sel = r.GetEnvelopePoint(env,i)
    if sel then
      r.SetEnvelopePoint(env, i, nil, val, shape, tens, nil, 0)
    end
  end
 
--  r.SetEditCurPos2(0, cur, 0, 0)
end

--r.PreventUIRefresh(-1)

r.UpdateArrange()

r.Undo_EndBlock('Edit sel envelope point', -1)

в реапак пока не шлю, т.к. эта версия имеет баг: если в открывшемся окошке Set envelope point value вместо OK нажать cancel, то все выделенные точки получат значение первой выделенной, так что в серьезных проектах используйте очень внимательно.
Этот баг можно решить написав, например, аналогичный графический скрипт, возможно позже напишу (требует больше времени)
[DOUBLEPOST=1492682290][/DOUBLEPOST]
тестовые версии копирование всего содержимого фолдер трека
если это был кастом и пост датирован 2015 г - то за его работу не отвечаю, тогда не учитывал многих вещей, напишу позже скрипт
 
Этот баг можно решить написав, например, аналогичный графический скрипт, возможно позже напишу (требует больше времени)
спасибо за труды. Буду ждать исправление бага.

PS. Вопрос по копированию айтемов фолдера решил. Нашел рабочую версию скрипта в этой же ветке
 
А как можно перенести выделенный трек в папку с определенным названием (название всегда будет одиинаковым, статическим)?
По--большому, задача сводится к выделению папки с определенным названием.
При реампинге мне нужно создать последний трек в папке Reamp Guitars, чтобы реампить уже в него.
 
@Supa75,
Select all tracks with name X (without input box).lua
Select only first track with name X (without input box).lua

Достаточно отредактировать строку
local name = 'Buss'
(сейчас выделяютcя треки с названием Buss)
 
Хм. Полчаса не могу придумать как построить кастом.
Нужно:
1. На выделенном треке включить роутинг на мастер SWS: Toggle master/parent send on selected track(s)
2. Сделать на нем эксклюзивное соло. Script: ! Exclusive Solo for Selected Track.lua
3. Выделить папку с названием Guitar Reamp. Select all tracks with name X (without input box).lua
4. В этой папке создать новый трек. Script: smart insert track.lua
5. Оба трека оставить выделенными (трек п.1 и трек п.4) ??
6. Скрыть из проекта все треки, кроме выделенных. SWS: Toggle zoom to selected tracks and time selection, hide others
----
до 4-го шага всё отрабатывается правильно, но почему-то новый трек создается под тем, который я выделял перед записью скрипта. Непонятно. Если просто выделить папку и запустить Script: smart insert track.lua, то в рамках скрипта новый трек создается первым уже в этой папке, а вот в рамках вышеописанного кастома, он почему то в папку не попадает :(

И еще вопрос. После решения проблемы помещения нового трека в папку, есть вариант чем-нибудь допилить экшн, чтобы в итоге остались выделенными и первый и тот, который я создал в папке для реампинга, чтобы потом только их оставить видимыми (п.5-6)?
 
если это мой скрипт (нашел сейчас у себя с этим названием), то для использования в кастомах его надо допилить, т.к. он фактически добавляет трек не на выделенный трек, а на последний задетый. На днях доработаю, а пока можно в кастоме между 3 и 4 поставить экшен
Track: Set first selected track as last touched track
 
т.к. он фактически добавляет трек не на выделенный трек, а на последний задетый.
Вообщем если заменить smart insert track.lua на стандартный Insert new track - всё работает как нужно.

Осталось решить как первый выделенный трек и тот, который только что создался в папке - оба оставить выделенными? Т.к. созданный трек в папке остался выделенным после вставки, как добавить к нему выделение первого трека?
 
Последнее редактирование:
@Supa75, если нужно, чтобы скрипт Select all tracks with name X (without input box).lua сохранял прежнее выделение треков, можно закомментировать строку
r.Main_OnCommand(40297,0) -- unselect all tracks
просто добавив в ее начало два знака тире:
--r.Main_OnCommand(40297,0) -- unselect all tracks
 
нет, так не подходит. \у меня в кастоме еще стоит переименование нового трека в папке, и если я закоментиваю r.Main_OnCommand(40297,0) -- unselect all tracks - то вводя имя, изменятся названия обоих треков.
По сути моего кастома нужно сохранить выделение первого трека из п.1 и в конце к этому выделенному треку добавить новый созданный в папке трек.
Сейчас кастом выглядит так:
Reamp 1.png
 
@Supa75, сохранять и восстанавливать выделение треков можно экшенами
SWS: Save current track selection
SWS: Restore saved track selection
этому я уже научился. Но мне нужно сохранить выделение трека (SWS: Save current track selection), а потом через время вызвать его (SWS: Restore saved track selection) и добавить к нему последний выделенный трек. Не могу понять и найти экшн типа add selection track current selection
 
@Supa75, да, когда полтора года назад конструировал кастомы, тоже не хватало этой возможности типа:
save selected tracks slot X
save selected tracks slot Y
restore saved selected tracks slots X and Y.
Напишу их на днях.
 
хочу создать цикл-экшн, по которому в миди-эдиторе будет вызываться и прятаться окно для редактирования CC Lane Velocity. Не могу найти вызов именно velocity. Нашел как показать все используемые и как прятать все, а вот чтобы вызвать именно velocity CC - не нахожу
 
Помогите плиз сделать пару кастомов или скриптов.

1. Иногда удобно (возможно только мне, совсем недавно перешедшему на Рипер с Куба) использовать папки просто как некий графический консолидатор входящих в неё треков (т.е. папка НЕ является парент треком для входящих). Это что-то похоже на идеологию Куба. Т.е. можно проделывать все действия с графическими плюшками папки (скрывать, колапсить, красить в один цвет все входящие в неё треки и тд.), но сама папка не будет являться bus-шиной для входящих в ней треков и они будут роутироваться напрямую на мастер. Последовательность вижу так (назовем этот кастом Cubase Folder :)
- создать папку для выделенных треков
- выделить только дочерние треки для выделенной папки
- убрать роутинг выделенных треков на трек-папку
- направить выход треков на мастер шину.

2. Иногда удобно (возможно только мне, совсем недавно перешедшему на Рипер с Куба), чтобы создавать bus-шину ля выделенных треков НЕ как папку, а как классический bus в конце микшера - как это в Кубе. Последовательность вижу так (назовем этот кастом Cubase Bus :)
- сохранить выделение треков
- создать новый трек в конце микшера
- установить для трека статус last-touched
- вызвать сохраненное выделение треков
- отключить роутинг выделенных треков на мастер-шину
- включить роутинг выделенных треков на last-touched трек.

Пытался сделать сам кастомами, но как-то в экшенах не нашел нужных команд для роутинга в мастер и другой трек.
 

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