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

  • Автор темы Автор темы @Michael
  • Дата начала Дата начала
Наверное - reaper.SetExtState
Спасибо, да, похоже, это оно. Я нашёл в других скриптах и даже пытался анализировать.
reaper.GetProjExtState
reaper.SetProjExtState
Отвечают за сохранение в проект. Но прикрутить к тому скрипту мне так и не вышло, судя по ошибкам, моя проблема в том, что я задавал в скобках. Но дальше уже мозгов не хватает.
 
  • Like
Реакции: Aleksandr Oleynik
@drwhite, вопрос не по теме, но отвечу.
Заходим в Preferences->Mouse modifiers, Context Media item и справа left click. Далее выбираем нужный модификатор и из списка выбираем самое подходящее, можно поэкспериментировать. Наверон будет работать только в том случае, если луп совпадает с time selection, но большинство наверно об этом и не знает, так что будет работать. Ну или по умолчанию и так стоит в Context Ruler на left click с Shift "Extend loop points". Просто кликаем по рулеру в двух разных местах и луп готов.
Capture.PNG
 
Скажите, пожалуйста, сможет ли кто-нибудь отредактировать скрипт Script: js_Trim notes by drawing a line with the mouse.lua таким образом, чтобы он удалял ноты после разреза не с правой стороны, а с левой?
Есть еще кстати Script: js_Split notes by drawing a line with the mouse.lua который рабоает почти также, но ничего не удаляет. Оба скрипта учитывают привязку к сетке
Это прям будет очень полезно, особенно юзерам кубейс. Например, когда пишешь фортепианные аккорды и нужно сделать их разложенными. Этот скрипт лучше всего повторяет разрезку в piano roll по выбранной диагонали. Хотелось бы именно два варианта его работы - с удалением нот слева и справа. Все эти скрипты есть в Reapack.
 

Вложения

  • 2018-02-17_13-24-10.gif
    2018-02-17_13-24-10.gif
    1,6 MB · Просмотры: 85
Последнее редактирование:
  • Like
Реакции: riko
Это другое. А ему нужны pooled items.
По-моему это тоже не то, партии(миди-айтемы) то уже созданы, и в каждый из них нужно, допустим, создать ноту для KS, что бы каждый вручную не открывать. Т.е выделил нужные айтемы, нарисовал в одном и нарисованное скопировалось в остальные.
 
@vitalker, причем здесь перемещение, если я вроде понятно сказал про разрезку? Если тебе это кажется одним и тем же, то это не так. Как я буду так перемещать, если у меня ноты в аккордах слигованы? Можно сделать дырки между аккордами, сдвинуть ноты, потом склеить. А если это надо будет повторить? Это ж лишние действия. Штатная фишка не повторяет разрезку, также как и наоборот - каждое в своей ситуации подойдет. Ну и данный функционал есть как минимум не только в cubase (кажется еще в S1)
 
Последнее редактирование:
  • Like
Реакции: riko
@drwhite, вопрос не по теме, но отвечу.
Заходим в Preferences->Mouse modifiers, Context Media item и справа left click. Далее выбираем нужный модификатор и из списка выбираем самое подходящее, можно поэкспериментировать. Наверон будет работать только в том случае, если луп совпадает с time selection, но большинство наверно об этом и не знает, так что будет работать. Ну или по умолчанию и так стоит в Context Ruler на left click с Shift "Extend loop points". Просто кликаем по рулеру в двух разных местах и луп готов.

Спасибо за инфу, но Extend loop points это не то, я его пробовал, там логика другая, нужно именно Set loop point, а контекст медиа итема не совсем подходит для поставленной задачи, хотя, как ни странно, работает.
В идеале нажимать нужно на линейку, причем как в области аранжировки, так и в MIDI Ruler (в последнем случае, кстати, сейчас ситуация обратная: играющий курсор перемещается в точку нажатия вместе с границей лупа =).

В общем, пока что не выходит. Интересно, неужели никто не пользуется, это же чертовски удобно, или может есть альтернатива?
 
помогите создать экшн- рендер айтема на новую дорогу со всеми Fx на треке . спасибо
 
Нужна помощь в добавлении в два скрипта ( 1.Toggle Bypass all FX Except Instruments.lua. 2. mpl_Bypass all FX except instruments on all tracks .lua) исключение плагина JS : midi_keyswitches и vsti и отключение всех fx. В первом скрипте исключить отключение vsti и JS : midi_keyswitches только на выделенном треке, и отключить все fx, во втором, на всех треках исключить отключение vsti и JS : midi_keyswitches, и отключить все fx.
 

Вложения

  • Keyswitch.jpg
    Keyswitch.jpg
    209,4 KB · Просмотры: 77
Последнее редактирование:
@drwhite, объясните нормально тогда

Попробую, не так-то это просто =)

Допустим, выделен участок на треке (Loop), скажем, первый такт.
Untitled-1.png


Задача в том, чтобы при удержании кнопки Альт и щелчке мышью в области линейки, правая граница выделения перемещалась в то место, где был щелчок мышью. Причем в любой области линейки: и в Arrange area, и в Midi editor.
image.png

С кнопкой Контрол — аналогично, левая граница.

И все бы хорошо, до тех пор, пока не включить воспроизведение.
При включенном воспроизведении и щелчке начинается интересное:
В Arrange area граница выделения перемещается не в то место, где был щелчок, а в позицию играющего курсора в момент щелчка.
А в Midi editor все вроде бы срабатывает правильно, но в этом случае теперь играющий курсор перемещается вместе с границей выделения.

Для примера, допустим, нужно во время воспроизведения переместить правую границу выделения с 3.1.00 на 2.3.00.
image.png


Вопрос: возможно ли отвязать границы от курсора при включенном воспроизведении, чтобы
они ставились в место щелчка, а курсор как двигался, так и продолжал бы себе двигаться?
 
@drwhite, у меня работает во время воспроизведения через Shift. Я не помню, как по умолчанию, у меня в модификаторах мыши на шифт+клик стоит Extend Loop Points. Хоть влево, хоть вправо меняет границы. Одинаково и с воспроизведением, и без. Кликать можно хоть по Ruler, хоть по Arrange view
Видео записал
 

Вложения

  • 11.gif
    11.gif
    258,5 KB · Просмотры: 74
@Kokarev Maxim, хорошо, допустим у меня включено воспроизведение и мне надо быстро, не раздумывая, поставить правый локатор из точки 3.1.00 в точку 1.4.00, к примеру. Возможно ли это сделать в один клик?

image.png
 
@drwhite, и делать это вам приходится по 100 раз в день?


@Aleksandr Oleynik, объясню.

Натыкать мышкой иногда можно такое, что руками сыграть просто не реально (для меня во всяком случае), а звучит интересно, но приходится корректировать. Так вот, выделяешь, допустим первый такт, ставишь на петлю и гоняешь сколько нужно, корректируя в процессе воспроизведения.

Иногда бывает нужно, не останавливаясь, быстро выделить, например, половину такта для более быстрой корректировки (ну чтобы до конца не прослушивать), а потом вернуть выделение опять на весь такт. И количество таких манипуляций может быть гораздо больше, чем сотня, особенно, если идея какая-то поперла =)

В такой ситуации, быстрая установка границ выделения для «шлифовки» мелодии в процессе воспроизведения просто незаменима, ведь зажать кнопку и щелкнуть мышью — это доля секунды, просто не обращаешь на это внимание и не отвлекаешься.

В данном же случае через шифт работает Extend Loop Points, который не поставит границу в точку, до которой дальше, чем от этой границы до середины выделения. Вместо этого, он передвинет другую границу, расстояние от которой меньше.
В примере ниже, расстояние от 1.1 до 1.4 меньше, чем от 3.1, поэтому передвинется левая граница, а мне надо поставить туда правую. Ну вот хоть убейся =)) Поэтому Extend Loop Points здесь не прокатывает, а команда Set Loop Points взаимодействует с курсором. Короче, куда ни кинь — всё клин.

В общем, вот краткая формулировка:
image.png
 
@Kokarev Maxim, хорошо, допустим у меня включено воспроизведение и мне надо быстро, не раздумывая, поставить правый локатор из точки 3.1.00 в точку 1.4.00, к примеру. Возможно ли это сделать в один клик?
Да. Я же выше прикрепил анамированную гифку, какие ещё сложности? :)
 
@Kokarev Maxim, сложности в том, что воспроизведеие скачкообразно перемещается к концу или к началу лупа, я так понимаю. Нет не зависящего от манипуляций с тайм селекшин плея.
 
@Aleksandr Oleynik, да, скачет курсор. Это похоже на особенность программы. Но вроде работать вполне можно - курсор при смене области лупа остаётся в пределах лупа, продолжая воспроизведение:
 

Вложения

  • 12.gif
    12.gif
    194,6 KB · Просмотры: 212
Mouse Modifiers / Ruler
Назначить это:
Код:
  local startOut , endOut = reaper.GetSet_LoopTimeRange2( 0, false, true, 0, 0, false )
  cur_pos = reaper.GetCursorPositionEx( 0 )
  if cur_pos <= startOut then
    endOut = startOut
    startOut = cur_pos
   else
    endOut = cur_pos
  end
  reaper.GetSet_LoopTimeRange2( 0, true, true, startOut, endOut, false )
 
@@Michael, не корректные условия в скрипте - работать будет правильно только с endOut
Нужно вот так -
PHP:
local startOut , endOut = reaper.GetSet_LoopTimeRange2( 0, false, true, 0, 0, false )
cur_pos = reaper.GetCursorPositionEx( 0 )
if cur_pos > startOut and cur_pos < endOut then
  if math.abs(cur_pos - startOut) < math.abs(cur_pos - endOut) then
    startOut = cur_pos
    endOut = endOut
  else
    endOut = cur_pos
    startOut = startOut
  end
else
  if cur_pos <= startOut then
    startOut = cur_pos
    endOut = endOut
  elseif cur_pos >= endOut then
    endOut = cur_pos
    startOut = startOut
  end
end
reaper.GetSet_LoopTimeRange2( 0, true, true, startOut, endOut, false )

@drwhite, установите приатаченный скрипт и его повесьте на комбинацию нужную вам в Mouse Modifiers/Ruler - будет как вы хотите.
 

Вложения

Последнее редактирование:
@Aleksandr Oleynik, Привет , Саша ! Ну а как тогда у меня работает ? Я ничего специально не делал )) В настройках мыши : Ruler-left click-shift-extand loop points

fi2wkemv1mv2or5th1w39unpy.gif
[/url][/IMG]
 
Последнее редактирование:

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