Копирование/вставка громкости дорожки

  • Автор темы Автор темы vax
  • Дата начала Дата начала

vax

Чукча-писатель
13 Ноя 2002
7.397
4.596
113
45
Kiev/UA
www.andivaxmastering.com
коллеги, что-то тупикую, не могу найти сабж
нужно в action вставить события по копированию громкости выделенной дороги
а потом создать новую дорогу и применить скопированный параметр громкости на её фейдер
спс
 
@vax,
если
1) нужно в одно нажатие и
2) трек новый трек добавляется сразу после выделенного, то вот
half life.gif
проще в архиве скачать (во вложении)
 

Вложения

  • Like
Реакции: vax
мне нужно копировать состояние выделенного канала (его громкость) и вставлять его на вновь созданный.
и между этими действиями будут другие ещё )))
 
@lil-burn,
tr = reaper.GetSelectedTrack(0, 0)
if tr ~= nil then ... (дальше делай что хошь) ...end
иначе ошибка будет, если нет выделенного трека (или если в лупе по каким-то причинам не захватится трек)
 
обновил paste на гитхабе, чтобы громкость применялась ко всем выделенным трекам. В архиве файлы остались как есть.

@@Michael а кроме этого в кодах все нормально? Просто буквально несколько минут назад оба варианта перестали почему-то работать - просто ноль реакции - и с учетом NIL, и без. Комп перезагружал - все равно. Странное дело, до этого все работало
 
PHP:
  tr = reaper.GetSelectedTrack(0, 0)
  if tr ~= nil then
    tr_vol = reaper.GetMediaTrackInfo_Value(tr, "D_VOL")
    reaper.SetExtState("Buffer", "vol", tr_vol, false)
  end

PHP:
  sel_tr_count = reaper.CountSelectedTracks(0)
  if sel_tr_count ~= nil then
    vol = reaper.GetExtState("Buffer", "vol")
    if vol ~= '' then
      for i = 1, sel_tr_count do
        tr = reaper.GetSelectedTrack(0, i-1)
        if tr ~= nil then
          reaper.SetMediaTrackInfo_Value(tr, "D_VOL", vol)
        end
      end
      reaper.DeleteExtState("Buffer", "vol", false)
    end
  end
 
Последнее редактирование:
  • Like
Реакции: lil-burn
@@Michael, теперь работает! А в чем плюшки DeleteExtState?
А вот без нее не будет ошибки при повторном пасте (у меня была bad argument) + мы сможем пастить громкость многократно на разные треки, до тех пор, пока не скопируем громкость другого трека
Обновил скрипты на гитхабе
Добавил копипаст панорамы (см gif)
copy paste vol+mpl.gif
приложил архив
thanx2mpl ❤
 

Вложения

А в чем плюшки DeleteExtState?
Я так понимаю, что если скрипт построен так, что в начале данные считываются, а потом вносятся, то так может быть, что считаются старые, не верные данные. Или нужно их принудительно перезаписывать чем-то, или обнулять.
 
@Aleksandr Oleynik, без нее старые данные считываются, и благодаря этому мы можем, например, скопировать значение громкости трека один раз и вставлять его на другие треки до тех пор, пока снова не запустим copy track volume. По-моему, это скорее позитивная особенность.
Еще может такой случай, когда какой-то другой скрипт грубо говоря будет обращаться к этому же значению в буфере, но имхо вероятность этого несущественна и даже если будут такие нестыковки, всегда можно подправить ExtState в любом из таких скриптов.
В любом случае, у @vax уже есть как минимум 2 пары скриптов)
добавил на гитхаб копи-паст с выделенного трека на другие выделенные
- текущего цвета трека
- режима автоматизации (трим, рид латч тач и тд)
- рекинпута
- рекмода
 
другой скрипт грубо говоря будет обращаться к этому же значению в буфере, но имхо вероятность этого несущественна
Но есть. Поэтому надо либо выгружать всё, что ты туда пишешь, либо использовать оригинальные имена вроде
PHP:
reaper.GetExtState("lilburn_copypaste_buffer", "vol")
 

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