Настройка поведения Play Cursor при остановке воспроизведения

Konstantin3K

Active Member
4 Мар 2013
563
166
43
64
Казань
Не могу добиться в Рипере нужного мне поведения Play Cursor - кто как для себя решает проблему?
Настройка воспроизведения и остановки - две различных идеологии. Их я мог настроить для себя в Нуэндо и кроме того с помощью хоткея переключаться между ними - возможно ли это в Рипере?


1. При нажатии на Space хочу, чтобы была остановка была на текущей позиции курсора воспроизведения в проекте (то есть там, докуда дослушал, типа "пауза").
Если надо вернуться к первоначальной позиции после остановки - то нажать хоткей.


2. При нажатии на Space хочу, чтобы была остановка на первоначальной позиции курсора воспроизведения в проекте. (то есть - чтобы был возврат в то место, откуда начал прослушивание). Если же надо остановить на текущей позиции курсора воспроизведения в проекте (то есть там, докуда дослушал) - то нажать хоткей паузы.
 
Ссылка открывается несколько непривычным образом, может, конечно так и должно быть. Попробую попытаться что-нибудь понять, но я не программист, к сожалению.

А можно хотя бы чуть-чуть подсказать, как я смогу использовать этот текстовый документ? Создать файл расширения и скопировать туда эти данные? Пока я пытался решить свою проблему, то действовал с помощью поиска actions на которые бы мог назначить необходимый хоткей, к сожалению - не нашёл таковых (типа return to first position или stop\pause кроме привязанного к стандартному space).
Михаил, может быть, у Вас есть готовое написанное Вами SWS-расширение примерно с таким названием и смыслом Move Cursor To Previos Position? Судя по Вашим постам Вы специалист в этом деле. Был бы очень благодарен.
 

Вложения

  • ссылка от.JPG
    ссылка от.JPG
    64,6 KB · Просмотры: 298
Последнее редактирование:
  • Like
Реакции: Konstantin3K
Спасибо, Александр!
[DOUBLEPOST=1454514486,1454506072][/DOUBLEPOST]Александр, ещё раз спасибо, благодаря Вашему совету удалось загрузить у Михаила actions, которая называется Move edit cursor to start of previous measure и даже импортировать её в Рипер и назначить хоткей. Но вот Move Cursor To Previous Position у него найти не смог, может быть у кого-нибудь другого смогу найти.
 
Последнее редактирование:
Михаил, может быть, у Вас есть готовое написанное Вами SWS-расширение
Михаил не пишет SWS-расширения - он пишет mpl-расширения:)

по теме: в каких случаях изменяется предыдущая позиция? меняется ли она, напр. при клике мышью по окну аранжировки?
 
lil-burn, в моём понимании "предыдущая позиция" - это место, с которого начинается воспроизведение. После остановки воспроизведения оно становится "предыдущей позицией курсора". Некоторые давы типа Кубейса её отслеживают и сохраняют в памяти до следующего нажатия воспроизведения. Я думаю, что эту точку Рипер тоже отслеживает, потому что по умолчанию после остановки воспроизведения курсор возвращается к ней. Вот мне бы хотелось, чтобы после остановки на паузе была возможность вернуться на "предыдущую позицию курсора". Возможно ли это запрограммировать?
 
Возможно ли это запрограммировать?
возможно, но через маркеры, а это плохо..... потому как если маркеры уже в проекте есть и они расставлены с пропусками, то будет кавардак.
Тем более, что будет ПОЛНЫЙ кавардак, если вы вдруг возвращаться не захотите и плэй не нажмёте, а мышкой скакнёте на след позицию.
Следовательно ловить нужно не события Play/Stop/Pause, а перемещение курсора, и ставить всё время на последнее его положение маркер автоматом....
Как-то так
 
@lil-burn, спасибо, сейчас буду пробовать, потом напишу о результате.
Немного разобрался. Вы мне послали Play-pause.lua, этот скрипт работает, проверил, но он уже есть среди стандартных Риперовских. Вы также мне послали Go to previous position.lua, назначил на него хоткей, Рипер при его нажатии пишет следующее
...pData\Roaming\REAPER\Scripts\Go to previous position.lua:9: bad argument #1 to 'SetEditCurPos' (number expected, got string)

Вот что я бы хотел реализовать - 1. включаю воспроизведение (Space) и останавливаю его на паузе тем же самым Space. 2. Хочу вернуться к предыдущей позиции - нажимаю хоткей. 3. Хочу начать воспроизведение с предыдущей позиции - нажимаю другой хоткей. Первый пункт я реализовал, просто назначив Space на Play\pause. Пункт два и три реализовать в Рипере не получается, а хотелось бы. Кто бы помог?
 
Последнее редактирование:
@Konstantin3K, сейчас разберемся
[DOUBLEPOST=1454611955,1454610683][/DOUBLEPOST]@Konstantin3K, поменяйте файл Go to previous position на файл из этого архива. Как минимум ошибка должна исчезнуть.
в остальном все, как и писал выше: Play-pause - на Space, Go to previous position - на хоткей
 

Вложения

@lil-burn, спасибо, этот скрипт работает, но не в соответствии со своим названием. Я этот скрипт назначил на хоткей и он работает как Play\pause, то есть запускает воспроизведение и останавливает его на текущей позиции курсора. Это здорово, но в принципе проблемы не решает. Мне бы хотелось иметь скрипт, после паузы возвращающий курсор к предыдущей позиции. Может, у Вас получится.
 
@Konstantin3K, Play-pause - на пробел поставлен?

1. При нажатии на Space хочу, чтобы была остановка была на текущей позиции курсора воспроизведения в проекте (то есть там, докуда дослушал, типа "пауза").
это достигается скриптом Play-pause, который мы назначаем на пробел

Если надо вернуться к первоначальной позиции после остановки - то нажать хоткей.
это достигается скриптом Go to previous position, который мы назначаем на хоткей
 
По-моему,все это можно даже кастом-экшнами сделать.Без использования скриптов.При запуске воспроизведения-сохраняем позицию курсора,при остановке-подтягиваем курсор к плэй-курсору и сохраняем.Если нужно-ресторим позицию курсора и т.д.
Снимок.PNG
Снимок2.PNG
 
Последнее редактирование:
@lil-burn, сделал по Вашему совету - назначил Ваш скрипт Play-pause на пробел, Ваш Go to previous position - на NumEnter. Теперь Ваш Go to previous position работает не просто как Go to previous position, а Go to previous position & Play, то есть то, что я и хотел получить в пункте "3. Хочу начать воспроизведение с предыдущей позиции - нажимаю другой хоткей". Замечательно, премного благодарен!!! Не сочтите за навязчивость - как бы еще реализовать пункт "2. Хочу вернуться к предыдущей позиции после остановки (не запуская воспроизведения) - нажимаю хоткей"?
[DOUBLEPOST=1454618497,1454617916][/DOUBLEPOST]@EUGEN27771, спасибо, кстати, очень неплохая мысль, я сначала не понял о чём речь, поэтому не нашёл, что сказать, но после просмотра картинок прояснилось. Раньше я просто не понимал значения этих экшенов. Попробую реализовать на деле.
[DOUBLEPOST=1454619870][/DOUBLEPOST]@EUGEN27771, ура, всё получилось. Создал экшн SWS\BR Save edit cursor position + скрипт Play-pause от @@lil-burn, назначил его на Space. А на экшн Restore edit cursor position просто назначил хоткей. Сбылась мечта.....Благодарю всех поучаствовавших в помощи! Жаль только, что при открытом PianoRoll эти фишки с воспроизведением-остановкой не работают и пришлось создавать экшены и назначать хоткеи ещё и для мидиредактора. Наверное, в этом разнообразии сила Рипера. Если кто-нибудь скажет, возможна ли запись с внешнего синтезатора в режиме MidiEditor (PianoRoll), то следующую тему создавать не буду (она как раз об этом, привык так делать в Nuendo, это позволяет обходиться без последующего склеивания айтемов\клипов)
[DOUBLEPOST=1454623397][/DOUBLEPOST]Пока разбирался c MidiEditor, выяснил, что там нет функции Move cursor to start of next measure, а также Move cursor to start of previous measure. Кто может что-нибудь посоветовать, как преодолеть эту сильную сторону Рипера (то, что на мидиредактор не распространяются функции перемещения курсора на поле аранжировки)?
 
@Konstantin3K, в миди-редакторе есть экшн-пропустить действия на основное окно
Снимок.PNG
Там нужно добавить пропускаемые шоткаты,должно помочь
 
  • Like
Реакции: Konstantin3K
@Konstantin3K, отдельный переход к предыдущей позиции в архиве (прошлый скрипт делает "Go to previous position + play-pause", можете так и переименовать его). Этот скрипт без скрипта Play-pause (см.выше) работать не будет, т.к. предыдущее положение получает именно из него.


пришлось создавать экшены и назначать хоткеи ещё и для мидиредактора
обратите внимание: если нужно будет добавить один и тот же скрипт в несколько секций (например, main и midi-editor) то лучше создать копии этого скрипта и переименовать их в blablabla(main).lua и blablabla(midi).lua и затем первый назначить в секцию Main, а второй - в Midi Editor. Иначе есть вероятность, что один из них не будет работать.

Пока разбирался c MidiEditor, выяснил, что там нет функции Move cursor to start of next measure, а также Move cursor to start of previous measure.

Кроме Pass Through key можно насоздавать скрипты способом, описанным
здесь
(и заодно удивиться, как легко создавать скрипты в рипере)
Способ полезен, например, когда нужно, чтобы экшен, назначенный в секции Main на один хоткей, работал в секции Midi с другого хоткея
 

Вложения

  • Like
Реакции: Konstantin3K
@EUGEN27771, @lil-burn, благодарю за советы, похоже они очень правильные, но требуется время на их осознание моему неторопливому уму.

@lil-burn, как первый назначить в секцию Main, а второй - в Midi Editor? Вроде бы дошло как, сейчас попробую. Не получилось. Действия были такие
1. В секции Main Window нашёл экшн Move edit cursor to start of next measure, сохранил его в папку Scripts, переназвал как Move edit cursor to start of next measure (midieditor), открыл в секции Midi Editor, сохранил как Custom с этим же названием, назначил хоткей - пару раз получилось, потом не реагирует. Сделал по ссылке, с где экшен создаётся с копированием ID процесса - получилось!
[DOUBLEPOST=1454665527,1454654644][/DOUBLEPOST]@lil-burn,

Кроме Pass Through key можно насоздавать скрипты способом, описанным
здесь
(и заодно удивиться, как легко создавать скрипты в рипере)
Способ полезен, например, когда нужно, чтобы экшен, назначенный в секции Main на один хоткей, работал в секции Midi с другого хоткея
Действительно, здорово, даже у меня получилось, хотя и не сразу из-за невнимательности.
[DOUBLEPOST=1454666267][/DOUBLEPOST]@EUGEN27771,

в миди-редакторе есть экшн-пропустить действия на основное окно

Там нужно добавить пропускаемые шоткаты,должно помочь
Нашёл Pass trough key to main window. Правильно ли я понял, что эта функция пропускает хоткей с мидиэдитора на основное окно? Мне-то надо наоборот - чтобы с основного окна хоткеи работали в мидиэдиторе.
 
@EUGEN27771, попробовал по Вашему совету использовать экшн Pass trough key to main window - он работает именно так, как мне нужно! Сначала я реализовал все свои хоткеи по совету lil-burn через двойные экшэны - и у меня всё получилось. Теперь я убрал все эти экшены и просто добавил хоткеи в экшэн Pass trough key to main window - так гораздо проще и всё работает! Мало того - получил ответ на вопрос, на который мне никто не смог ответить - как записывать не выходя из MidiEditor? Оказывается, всё просто - через экшн Pass trough key to main window добавляю хоткей записи и записываю не закрывая MidiEditor. Классная программа Reaper, перспективная!
 

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