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

vax

Чукча-писатель
13 Ноя 2002
7.397
4.620
113
44
Kiev/UA
www.andivaxmastering.com
коллеги, что-то тупикую, не могу найти сабж
нужно в action вставить события по копированию громкости выделенной дороги
а потом создать новую дорогу и применить скопированный параметр громкости на её фейдер
спс
 

vax

Чукча-писатель
13 Ноя 2002
7.397
4.620
113
44
Kiev/UA
www.andivaxmastering.com
мне нужно копировать состояние выделенного канала (его громкость) и вставлять его на вновь созданный.
и между этими действиями будут другие ещё )))
 

@Michael

Well-Known Member
14 Дек 2010
969
1.461
93
Орёл / Москва
@lil-burn,
tr = reaper.GetSelectedTrack(0, 0)
if tr ~= nil then ... (дальше делай что хошь) ...end
иначе ошибка будет, если нет выделенного трека (или если в лупе по каким-то причинам не захватится трек)
 

lil-burn

Well-Known Member
15 Авг 2012
903
638
93
Екатеринбург
обновил paste на гитхабе, чтобы громкость применялась ко всем выделенным трекам. В архиве файлы остались как есть.

@@Michael а кроме этого в кодах все нормально? Просто буквально несколько минут назад оба варианта перестали почему-то работать - просто ноль реакции - и с учетом NIL, и без. Комп перезагружал - все равно. Странное дело, до этого все работало
 

@Michael

Well-Known Member
14 Дек 2010
969
1.461
93
Орёл / Москва
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

lil-burn

Well-Known Member
15 Авг 2012
903
638
93
Екатеринбург
@@Michael, теперь работает! А в чем плюшки DeleteExtState?
А вот без нее не будет ошибки при повторном пасте (у меня была bad argument) + мы сможем пастить громкость многократно на разные треки, до тех пор, пока не скопируем громкость другого трека
Обновил скрипты на гитхабе
Добавил копипаст панорамы (см gif)
copy paste vol+mpl.gif
приложил архив
thanx2mpl ❤
 

Вложения

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
А в чем плюшки DeleteExtState?
Я так понимаю, что если скрипт построен так, что в начале данные считываются, а потом вносятся, то так может быть, что считаются старые, не верные данные. Или нужно их принудительно перезаписывать чем-то, или обнулять.
 

lil-burn

Well-Known Member
15 Авг 2012
903
638
93
Екатеринбург
@Aleksandr Oleynik, без нее старые данные считываются, и благодаря этому мы можем, например, скопировать значение громкости трека один раз и вставлять его на другие треки до тех пор, пока снова не запустим copy track volume. По-моему, это скорее позитивная особенность.
Еще может такой случай, когда какой-то другой скрипт грубо говоря будет обращаться к этому же значению в буфере, но имхо вероятность этого несущественна и даже если будут такие нестыковки, всегда можно подправить ExtState в любом из таких скриптов.
В любом случае, у @vax уже есть как минимум 2 пары скриптов)
добавил на гитхаб копи-паст с выделенного трека на другие выделенные
- текущего цвета трека
- режима автоматизации (трим, рид латч тач и тд)
- рекинпута
- рекмода
 

@Michael

Well-Known Member
14 Дек 2010
969
1.461
93
Орёл / Москва
другой скрипт грубо говоря будет обращаться к этому же значению в буфере, но имхо вероятность этого несущественна
Но есть. Поэтому надо либо выгружать всё, что ты туда пишешь, либо использовать оригинальные имена вроде
PHP:
reaper.GetExtState("lilburn_copypaste_buffer", "vol")
 

Сейчас онлайн (Пользователей: 0, Гостей: 1)