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

  • Автор темы Автор темы @Michael
  • Дата начала Дата начала
Возник вопрос в процессе работы ))
Имеем структуру папок . далее из медиа браузера я бросаю трек в проект , е-но дорожка с треком создается " в не папки"
кино rec 1.gif
Мне хочется что бы трек попадал сразу в "последнюю " папку . Что делаю сейчас . Просто создаю новый трек . и далее бросаю на него файл из медиа браузера.
Но выяснилось что стандартно созданный трек контрл+T не всегда создает трек в папке , а именно он в папке создает только тогда , когда при создании выделенный трек не последний в папке .
кино 2 rec 2.gif
Вот пытаюсь сделать экшн , что бы трек четко оставался в программе . А именно нашел экшн insert new track abowe ..... но вот с below нет экшена .
Далее я вспомнил про цикл экшн дабл трека , и начел его усовершенствовать , вставив ресет на паноаму и волюм . но сталкнулся с тем что не знаю как Удалить все плагины из трека который создается , да и как сделать фул ресет envelopes если они были на предыдущем треке ...........

В общем возможно далеко пошел капать )) Всего то нужно что бы новый трек создавался в текущей папке и был последний..
 
@belovw, @Aleksandr Oleynik, проще определять source и выполнять опр.экшен в зависимости от типа
123.gif
Зачем здесь усложнять?
PHP:
Item_ID=reaper.GetSelectedMediaItem(0, 0)
if Item_ID then
   Take_ID=reaper.GetActiveTake(Item_ID)--Get Active Take(from Item)
   if Take_ID~=nil then
      FastString = reaper.SNM_CreateFastString( FastString )
      SourceType = reaper.SNM_GetSourceType(Take_ID, FastString )
      Type = reaper.SNM_GetFastString( FastString )
      reaper.SNM_DeleteFastString( FastString )
   else Type="Emtpy"
   end
else Type="No sel items!"
end   

reaper.ShowConsoleMsg(Type.."\n")
 
проще определять source и выполнять опр.экшен в зависимости от типа
123.gif
Но это нужно каждый раз после того как выбрал source опять запускать скрипт.
Не проще ли держать скрипт запущенным, а его работу определять по тому - какой из source ткнули?
Разве это усложнение? Усложнение для скрипта ни что по сравнению с усложнением последовательности действия Пользователя.
Именно по причине не понятности действий, их не очевидности и необходимости что-то помнить - и не используются многие функции и скрипты.
Повесь на свой скрипт deffer и назначай дальше что должна делать мышь в зависимости от типпа айтема
Кстати - это на много удобнее для Пользователя, чем помнить шоткаты.... Отстроил один раз себе тип инструмента в зависимости от условия - и всё.
[DOUBLEPOST=1450985862,1450985782][/DOUBLEPOST]@EUGEN27771, а не хочешь на базе своего RR сделать лупер удобный?
 
Последнее редактирование:
Помню кто-то спрашивал про external editor для midi.
Вопрос, рипер может посылать и принимать команды любой daw ?
Прошу прощения если кто не поймет, но речь не о ReWire.
 
Вопрос, рипер может посылать и принимать команды любой daw ?
какие команды? вы о чём?
Риперу по барабану кто передаёт и кто принимает - он умеет Принимать MIDI и OSC и их-же и передавать.
При чём фидбэка по midi у Рипера нет, но его можно организовать посредством утилиты OSCII-bot
[DOUBLEPOST=1450986176,1450986037][/DOUBLEPOST]
Прошу прощения если кто не поймет, но речь не о ReWire.
Так поясняйте так, чтоб поняли.
Теперь яснее всё равно не стало
 
@Aleksandr Oleynik, примерно обьясню. я хочу использовать рипер исключительно для функций, а написание производить в другой daw. не?
 
Open media item (source relative).lua
Скрипт выполняет разные действия, в зависимости от типа source - например, открывает миди-айтем в миди-редакторе, empty- айтем на редактирование текст. заметки, аудио - увеличивает на весь экран и т.п. Действия можно изменить(смотреть в начале скрипта)
123.gif

[DOUBLEPOST=1450990492,1450987924][/DOUBLEPOST]
сделать лупер удобный?
В Рипере есть super8.Вот я по нему смотрел,как буфер в проект экспортировать:)
 
Последнее редактирование:
примерно обьясню.
Примерно, не получится - объясняйте максимально подробно.
Что такое функции? Что такое написание?
Если написание это миди партии, а функции это их обработка - то ктож мешает записать миди где угодно и импортировать в Рипер и делать с ним что угодно?
[DOUBLEPOST=1450995857,1450995748][/DOUBLEPOST]
Самый простой вариант.
Женя, так смысл то в том, чтобы при выборе разного типа source менялся инструментарий воздействия
[DOUBLEPOST=1450995961][/DOUBLEPOST]
выпросил osc туда обратно из скрипта, с 5.12 обещают
Это существенно раздвинет область применения скриптов.
 
при выборе разного типа source менялся инструментарий воздействия
Так инструментарий и меняется.Я для примера разные экшны повесил на разные типы source.
Типов много,что с ними делать-я лично не представляю,потому на миди и аудио только для примера назначил.Можно и другие действия,и на другие типы,и условия еще можно прописать дополнительные и тп.
Или я чего-то не понял.Как предположительно должно работать?
 
Последнее редактирование:
@belovw, это lua.
Можете еще удалить кв. скобки
Снимок.PNG
и назначить другие экшены на другие типы source.
 
Последнее редактирование:
мне кажется,это уже слишком.
Так иначе в этом нет смысла - ну повесишь ты по одному разному Экшину на разный source - и что?
Весь цимус в том, чтобы менялись Куча инструментов и их воздействия при смене source автоматом!
 
Немного не в тему может. Но как сделать чтобы при клике левой кнопкой только перемещался курсор и не снималось выделение с выбранных айтемов (выделение снять можно по клику на отдельный айтем)

Клик по верхней шкале не подходит
 
Последнее редактирование:
@crutifixus, добавление трека в конец папки спрашивали
insert tracks+.gif

добавить трек в конец треклиста или в конец последней папки
upload_2015-12-27_10-6-28.png


добавить трек в конец треклиста:
upload_2015-12-27_10-5-15.png


В кастомах происходит изменение состояния трека (существует 3 состояния вещества трека: normal - обычное, parent - родительский трек и last in folder - последний в папке).
Экшен, запускаемый с Ctrl+T работает - добавляет трек - в зависимости от того, какое состояние имеет выделенный трек. Состояние трека меняется либо щелчком мыши по правому нижнему углу трека, либо через SWS-экшены (как в кастомах выше) set selected tracks folder states to normal (/last of all tracks/parent), либо через скрипты.
=======================

To all
как через скрипт установить состояние трека? Научите, плз
 
  • Like
Реакции: crutifixus
@crutifixus, добавление трека в конец папки спрашивали
Посмотреть вложение 108989

добавить трек в конец треклиста или в конец последней папки
Посмотреть вложение 108991

добавить трек в конец треклиста:
Посмотреть вложение 108990

Спасибо , проработал эти 2 кастома , но задача решилась только одна . А именно да , действительно сейчас трек создается в нужной папке , но только он всегда последний ...............
кино rec 3.gif

Мне нужно что бы трек создавался под выделенным треком и в той же иерархии как и предыдущий .
Думаю подойдет простой кастом "создать дабл трек" только я не знаю как сбросить в нем все параметры на ноль ... а именно автоматизацию , убрать все эффекты (это на случай того если на выделенном треке они были)
 
@crutifixus,
что бы трек создавался под выделенным треком и в той же иерархии как и предыдущий
щас сделаю
=====
так а там делать-то нечего - просто оставьте 2 выделенных экшена, остальные удалите
upload_2015-12-27_14-34-26.png

так. работает правильно, не всегда так, как нужно. надо писать скрипт с условием.
 
Последнее редактирование:
  • Like
Реакции: crutifixus
@crutifixus,

щас сделаю
=====
так а там делать-то нечего - просто оставьте 2 выделенных экшена, остальные удалите
Посмотреть вложение 109016

так. работает правильно, не всегда так, как нужно. надо писать скрипт с условием.

Может проще действительно с дабл треком ? там же все как нужно создается
 
как через скрипт установить состояние трека? Научите, плз

поиграйся с этим:
PHP:
track = reaper.GetSelectedTrack(0,0)
if track ~= nil then
  test = 0
  -- 0=normal,
  -- 1=track is a folder parent,
  -- -1=track is the last in the innermost folder,
  -- -2=track is the last in the innermost and next-innermost folders, etc
  reaper.SetMediaTrackInfo_Value(track, 'I_FOLDERDEPTH',test)
end
 
  • Like
Реакции: lil-burn
lil-burn, открываешь IDE, туда всё это вставляешь, через ctrl+S сохраняешь и запускаешь скрипт (кнопка Run скрипт не сохраняет перед запуском), это наиболее быстрый способ при написании/дебаге (обычно народ не в курсе и по сто раз сохраняет скрипт при выходе, запускает из экшнлиста и т.д.)
 
  • Like
Реакции: lil-burn

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