Пока работает так:
1) сохраняем главный проект под именем субпроекта. (для того, чтобы в субпроекте были такие же установки таймкода и видео стояло на нужном таймкоде, как в родительском проекте)
2) Ставим маркеры =START и =END, которыми определяем область рендеринга в субпроекте
3) Мьютируем трек с видео в субпроекте (чтобы он лишний раз не просчитывался) и сохраняем субпроект.
4) открываем главный проект
5) ставим крсор в самое начало
6) импортируем на новый трек сохранённый субпроект как айтем - теперь он коротенький
а на самом деле всё ещё сложнее, поскольку темп/размер в музыках разный. вот тут есть пошаговое описание процесса для случая, когда видеофайл используется внутри проекта. а тут - вторая часть ролика, если вдруг ссылка под видео не работает.поэтому подправил 2й пункт:
Можно - но это не мой скрипт .@Archchie а возможно используя Script: sr_Open MIDI editor and zoom to content.lua, но чтобы в миди эдиторе начало активного поля было в притык к клавишам ( картинка 1 )? Так может открывать Item: Open in built-in MIDI editor (set default behavior in preferences).
На самом деле от этого скрипта View: Zoom to content пришлось уже отказаться, потому что он действительно всё зумит к содержимому, а это нужно далеко не всегда. Если там всего три ноты слегка отличающиеся по высоте, то они занимают весь экран и постоянно приходится крутить вертикальный зум. Поэтому, как Вы сказали, практиковаться надо, то есть постоянно ручками работать и с зумингом и со скроллингом. Это утомляет, особенно скроллинг в миди, который невозможно настроить с максимальным удобством.Archchie
Не много по практиковавшись, все получилось. с миди нотами.. )))
Ну как это не решает ? У меня при отключении этого экшена вообще скролл не работает в миди редактореView: Toggle auto-view-scroll on playback проблемы не решает
Хотелось бы, чтобы Вы проверили. Вот такая ситуация: нарисуйте в середине проекта айтем с мидинотой и настройте зум чтобы она была посередине видимой области. Теперь примените Transport: Go to start of project. Изменится картинка или сместится вслед за курсором? Может, это только у меня так?@Konstantin3K, Ну как это не решает ? У меня при отключении этого экшена вообще скролл не работает в миди редакторе
Вот - у меня полностью скролл отрубился при отключении View: Toggle auto-view-scroll on playback и даже на Go to start of project не реагирует.Хотелось бы, чтобы Вы проверили.
Да, стоит Project synced, попробовал переключить на Time - картинка не улетает, но стоит нажать воспроизведение - всё равно улетает и исправить это, похоже, никак не удастся. Спасибо за совет.
Вы точно регион хотите изменить? На видео изменяется Time Selection, а не регион.Привет, хочу уменьшить регион, делаю это с помощью модификатора шифт+левый клик. Но проблема в том что он двигает ту границу ближе к которой располагается клик, а мне нужно чтобы он двигал другую границу. Ни модификатора, ни скрипта для этого не нашел. Возможно ли это вообще? Вот для примера, у меня есть регион с 43 по 67 такт, я хочу в один клик сделать регион с 61 по 67 такт, мне нужно левую границу переместить с 43 на 61, но поскольку 61 ближе к 67 чем к 43, то и двигает он 67, а нужно 43
local Start, End = reaper.GetSet_LoopTimeRange(0,0,0,0,0);
if Start == End then return end;
local window, segment, details = reaper.BR_GetMouseCursorContext();
if window == "ruler" and segment == "timeline" then;
local pos = reaper.BR_PositionAtMouseCursor(true);
reaper.GetSet_LoopTimeRange(1,1,pos,End,0);
end;
local Start, End = reaper.GetSet_LoopTimeRange(0,0,0,0,0);
if Start == End then return end;
local window, segment, details = reaper.BR_GetMouseCursorContext();
if window == "ruler" and segment == "timeline" then;
local pos = reaper.BR_PositionAtMouseCursor(true);
reaper.GetSet_LoopTimeRange(1,1,Start,pos,0);
end;
@shprot,
Посмотреть вложение 170904
Левая
ПраваяJavaScript:local Start, End = reaper.GetSet_LoopTimeRange(0,0,0,0,0); if Start == End then return end; local window, segment, details = reaper.BR_GetMouseCursorContext(); if window == "ruler" and segment == "timeline" then; local pos = reaper.BR_PositionAtMouseCursor(true); reaper.GetSet_LoopTimeRange(1,1,pos,End,0); end;
JavaScript:local Start, End = reaper.GetSet_LoopTimeRange(0,0,0,0,0); if Start == End then return end; local window, segment, details = reaper.BR_GetMouseCursorContext(); if window == "ruler" and segment == "timeline" then; local pos = reaper.BR_PositionAtMouseCursor(true); reaper.GetSet_LoopTimeRange(1,1,Start,pos,0); end;
В каком смысле слетает привязка?Вроде и то что надо, но в тоже время слетает привязка, что критично
local Start, End = reaper.GetSet_LoopTimeRange(0,0,0,0,0);
if Start == End then return end;
local window, segment, details = reaper.BR_GetMouseCursorContext();
if window == "ruler" and segment == "timeline" then;
local pos = reaper.BR_PositionAtMouseCursor(true);
local pos = reaper.SnapToGrid(0,pos);
reaper.GetSet_LoopTimeRange(1,1,pos,End,0);
end;
local Start, End = reaper.GetSet_LoopTimeRange(0,0,0,0,0);
if Start == End then return end;
local window, segment, details = reaper.BR_GetMouseCursorContext();
if window == "ruler" and segment == "timeline" then;
local pos = reaper.BR_PositionAtMouseCursor(true);
local pos = reaper.SnapToGrid(0,pos);
reaper.GetSet_LoopTimeRange(1,1,Start,pos,0);
end;
Если Вы хотите точно выставлять Time Selection , то для этого есть готовые экшены. Ставите курсор на начало нужного такта и Time selection: Set start point , потом ставите курсор на конечный такт и Time selection: Set end point , всё будет идеально выделено. Я ещё так делаю - рисую пустой айтем, заполняющий нужный диапазон, мышкой, затем выделяю айтем и применяю Time selection: Set time selection to items - результат тот же самый.Вроде и то что надо, но в тоже время слетает привязка, что критично
Спасибо то что нужно.В каком смысле слетает привязка?
Выбор времени должен остаться что ли, а луп измениться или что ?
PS все понял - привязка к сетке
Левая
ПраваяJavaScript:local Start, End = reaper.GetSet_LoopTimeRange(0,0,0,0,0); if Start == End then return end; local window, segment, details = reaper.BR_GetMouseCursorContext(); if window == "ruler" and segment == "timeline" then; local pos = reaper.BR_PositionAtMouseCursor(true); local pos = reaper.SnapToGrid(0,pos); reaper.GetSet_LoopTimeRange(1,1,pos,End,0); end;
JavaScript:local Start, End = reaper.GetSet_LoopTimeRange(0,0,0,0,0); if Start == End then return end; local window, segment, details = reaper.BR_GetMouseCursorContext(); if window == "ruler" and segment == "timeline" then; local pos = reaper.BR_PositionAtMouseCursor(true); local pos = reaper.SnapToGrid(0,pos); reaper.GetSet_LoopTimeRange(1,1,Start,pos,0); end;
Для чего такие заморочки ? Не проще сразу на линейке мышью нарисовать.Я ещё так делаю - рисую пустой айтем, заполняющий нужный диапазон, мышкой, затем выделяю айтем и применяю Time selection: Set time selection to items - результат тот же самый.
Ты про курсор, если да, то у меня ничего не перескакивает.Только там полоска плейбека тоже перескакивает к границе
Согласен, я так и делаю, без всяких экшенов провожу мышью слева направо по полю аранжировки (даже не по таймлайну) - и готово. Но надо ж человек подробно объяснить, он пока ещё на стадии освоения программы.Для чего такие заморочки ? Не проще сразу на линейке мышью нарисовать.