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

  • Автор темы Автор темы @Michael
  • Дата начала Дата начала
Ну кто попробовал, честно?
Вот пробуем. На слух вроде ничего. А развернутый тест с замерами и нюансами, это дело требующее серьезного подхода и организации. Нужно выделить на это время как-то и придумать какую-то стратегию, что замерять и что с чем сравнивать.
 
Ладно. Это последнее, и лучшее, что я выкладываю бесплатно.
Дальше - я так работать не могу. Абсолютно.
Мне очень сложно было это напечатать, но я не могу купить даже нормальных сигарет теперь.
Это вполне закономерное обстоятельство. Чистый энтузиазм исчерпаем, если его не подпитывать. Рано или поздно этот вопрос должен-был встать. И хорошо, когда он встает не раньше времени, когда хватает смелости и возможностей пройти этот этап до конца, завершая его с результатом и достижениями ни о чем не жалея. Ведь этот период, который Вы работали на чистом энтузиазме принес свои плоды: опыт, обретения себя, развитие и осознание своих возможностей, уверенность в себе, уважение и прочее. Поверьте, это очень много, это даст в будущем намного больше нежели возможность "купить сигарет". Я поражаюсь такой смелости и самоотдаче интересующему делу, рискнуть многим и многим пожертвовать ради любимого занятия и самореализации. Теперь Вы понимаете, что прошли этот путь достаточно, что пора завершить этот этап. Это нормальное обстоятельство.
Ведь намного хуже, когда у человека не хватает смелости, сил, уверенности и возможностей настолько упорно заниматься саморазвитием, когда остается только куча заброшенных начинаний и мечтаний. Вот этот груз невыносим. Я это понимаю, ведь сам не раз стоял на этом пути, но ни разу не хватило смелости прислушаться к внутреннему голосу и до конца отдаться увлечению. Чрезмерные переживания о насущном, когда можно было обойтись минимумом и больше думать о саморазвитии и поисках себя, посредством предания увлечениям. Но все откладывалось в долгий ящик. Теперь спустя годы, вижу только упущенные возможности и время, и сигарет тоже нормальных купить не могу себе позволить. Но подобные Вашему, примеры и достижения, многое меняют в восприятии вещей, придают уверенности. Такая увлеченность на грани авантюризма не может быть безрезультатной и Ваш случай тому пример.
Поверьте у Вас все будет в порядке. Такие достижения не могут и не должны оставаться "безнаказанными":)
[DOUBLEPOST=1513290260][/DOUBLEPOST]
Найдете разницу, хоть в семпл - говорите.
Причем, подождите, там на старте есть скачек, его учтем!
Вряд-ли я смогу организовать сравнение с такой точностью до семпла. Но взавтра попробую организовать какое сумею.
Сейчас нагрузка в конце года немаленькая плюс депрессия, времени мало. Удается уделять по часу-двум в день в сумме обучение скрипто-писательству и активность в этой ветке форума.
 
Последнее редактирование:
  • Like
Реакции: EUGEN27771
Я понимаю что он делает. где его взять и как запустить
Боюсь, я Вас не понимаю. Когда говорите "он", что имеете ввиду?
А по ссылке переходили, которую я дал? Там человек спрашивал, как притормозить обновление (перерисовку) интерфейса при выполнении кастом-экшена. Ответ Евгения скорее адресованн ему, так-как функция reaper.PreventUIRefresh как-раз за это и отвечает.
 
Боюсь, я Вас не понимаю. Когда говорите "он", что имеете ввиду?
А по ссылке переходили, которую я дал? Там человек спрашивал, как притормозить обновление (перерисовку) интерфейса при выполнении кастом-экшена. Ответ Евгения скорее адресованн ему, так-как функция reaper.PreventUIRefresh как-раз за это и отвечает.

Где взять эту функцию? как и где ее использовать чтобы она заработала?
 
Мужчины, не бойтесь, пробуйте, пишите мне в случае чего, смотрите!
Позвольте спросить. Ваша цель сделать максимально идентичный алгоритм роботы JS, для так сказать личного эксперимента? Или все же другие цели?
 
Пишите сначала reaper.PreventUIRefresh(день рождения бабушки)
.........
Здесь идут Ваши действия, которые не должны отображаться, то есть Вы хотите их заморозить
В конце reaper.PreventUIRefresh(- день рождения бабушки)
день рождения бабушки
- это любое число, важно только, чтобы в сумме был ноль, если я правильно помню
 
  • Like
Реакции: Buyan
Скрипт, кстати, никто же не скачал даже - что особенно приятно.
Я скачал еще вчера. Сегодня тестирую. Сама по себе идея такого компрессора уже гениальная. Еще с первых версий многие говорили, что такого нету нигде и ни у кого. Вещь уникальная в своем роде. Идей по применению масса. Частая ситуация, когда при сведении хорошо отстроенный компрессор на каком-то одном участке песни требует иных настроек, и приходится рисовать автоматизацию, а в данном случае можно просто ручками поправить огибающую громкости. Теперь мы имеем более качественную реализацию на уровне с ReaComp. Это действительно победа.
Плюс модули - которые я абсолютно на шару всегда отдаю - берите и делайте свое.
Модули это очень ценные наработки. поверьте многие будут ими пользоваться со временем. Здесь просто программистов мало, в основном музыканты не сильно стремящиеся к разработкам чего-либо, которым готовый продукт подавай. Немногие достигли того уровня, что-бы понимать ценность ваших наработок и тем более использовать их. Я вот например только начинаю. С рипером познакомился всего год тому, а скрипты писать только сейчас начинаю.
[DOUBLEPOST=1513320220][/DOUBLEPOST]
Use Selected Envelope. Совершенно интересные эффекты можно получить
Конечно, идей по применению может быть масса со временем. Например, можно управлять сатуратором и подмешивать сатурацию исключительно на сибилянтах.
 
Последнее редактирование:
Мужчины, не бойтесь, пробуйте, пишите мне в случае чего, смотрите!
Спасибо! Будем обращаться если что.
Я имел ввиду не только скрипты, а в общем музыку и звук, так как я художник по образованию и роду деятельности. А музыка для меня это хобби и увлечение, которому никак не получается предаться в требуемой для достижения хоть какого результата мере, но которое никак не оставляет быть равнодушным.
 
Последнее редактирование:
никогда в жизни я не преследовал цель обогащения, даже минимально.
Судя по тому, что я наблюдал в этой ветке форума, то Ваше увлечение можно скорее охарактеризовать, как переполненное, далеко не предвзятыми и чистыми чувствами, порывами в поисках и осознания себя и своих возможностей. Это кстати психологическая потребность своего рода, для интеллигентного человека. Цели обогащения и подобные вещи и рядом здесь не стоят. Я это прекрасно понимаю и очень четко всегда различаю такие вещи.
Но я никогда не был свободен
Никто никогда не свободен. Свобода наверное относительное понятие. бывает сетуешь на свою свободу и даже не представляешь себе, насколько некоторые люди бывают несвободны... черт, это очень больная и сложная тема...
Я полагаю что такой авантюризм, когда мы пытаемся в поперек сценария, хоть немного но следовать за своими мечтаниями, предаваться увлечениям, наполняет все смыслом. Это вероятно и есть стремление своего рода к свободе.

не мое дело, но по-моему(лучше в православие) - монахи отдают себя.
Можно и Богу отдать себя, но при условии, что это будет так-же интересно и увлекательно:) Иначе нету в этом никакого смысла.
 
  • Like
Реакции: EUGEN27771
Всем привет! Натолкнулся на следующую проблему, может быть, кто-нибудь сталкивался. При создании VST- кнопки на тулбаре методом добавление FX Chain в resources extentions, все работает только до момента перезапуска программы. То есть, каждый раз при входе в рипер слетают слоты в ресурсах. Добавлять их нужно либо вручную, либо через -правый клик - auto-fill. Кто знает, как решить подобную задачу.
P.S. тоже самое происходит при добавлении любого Cycle - слетают все слоты. Заранее спасибо за ответ. Сносить Reaper и переустанавливать SWS уже пробовал
 
Мужчины, не бойтесь, пробуйте, пишите мне в случае чего, смотрите!
"Cлучаев чего" не наблюдаю - ebc v2.7 работает как доктор прописал. Наличие меню пресетов и параметра RMS size делают ebc v2.7 ещё более юзабельным. Компрессоры (как впрочем и другие приборы) всегда оцениваю "на ухо". Почему вы решили сравнить алгоритм ebc именно с rea comp? Тем более, алгоритм ebc (v1, v2, v2.7) написан вами с нуля изначально, или по образцу rea comp? Прошу прощения, если вопрос поставлен неграмотно. Ну а если в моём понимании - ebc v2.7 именно как компрессор работает прекрасно, а вычитается он в ноль с rea comp, или нет мне не критично.
Спасибо за отличный инструмент!
 
  • Like
Реакции: Buyan
@Aleksandr Oleynik, @@Michael, @EUGEN27771, и остальные,
Нашел функцию в API - reaper.TimeMap_QNToMeasures( proj, qn ), вот ломаю голову, может кто знает, что такое QN ?
Может вопрос и простой, но я в меру своей недалекости пока не могу сообразить.

Ищу API для работы с тактами, размерами и прочим связанным, везде натыкаюсь на этот QN в параметрах функций.
Вообще задача в том, что-бы измерить количество четвертей между двумя тайм-маркерами(временными позициями на таймлайне).
 
Последнее редактирование:
@Buyan, я так понимаю, что значение в определенном формате. Есть и другие подобные примеры, когда через API можно получить в начале значение в одном каком-то формате, а потом есть API в котором это вот значение в этом формате используется для получения чего то иного.
Нужно просто искать функции в которых этот qn ещё встречается.
 
Четвертные ноты
---------
Вообще, это почти стандартный способ измерения QN -четвертями. В VST тоже так отмеряют.
Это позволяет сразу считать музыкальное время
 
Последнее редактирование:
  • Like
Реакции: Aleksandr Oleynik
Всем привет!
Перехожу на Рипер с Про Тулс. Добиваюсь похожего поведения в работе, ибо привык.
Например при выделении item мне оч удобно что time-selection выставляется по размеру item, а курсор встает на начало item и я знаю что при нажатии play услышу item а не какое-то рандомное место в проекте где остался стоять курсор. Родного такого поведения нет, поэтому я написал простой custom action
-select item under mouse cursor
-move cursor to start of items
-set time selection to items

Повесил свой кастом на левую кнопку мыши и все работает идеально. Супер. Но дальше я понял что добавляя в выделение новые item с помощью Shift - вся логика ломается. Есть опция для Shift+Left Mouse - добавить item в выделение и расширить тайм селекшн. Но курсор не перемещается в начало нового выделения. Я продолжил свой путь и написал второй кастом экшн. Прелесть в том, что сложные экшены доступные для мышки (добавить в выделение и расширить тайм селекшн например) недоступны в списке экшенов. Ок, пишу все сам. И вот тут начинается самое интересное. Добавить в выделение item можно 2умя способами - add (leaving other items selected) и toggle selection under mouse. Оба варианта скрипта работают идеально при наведении мышки на новый item и запуске скрипта через горячие клавиши. Но абсолютно некорректно работает когда ТОТ ЖЕ самый экшн скрипт (PT Mouse Left + Shift) установлен на комбинацию Shift+LMB - в этом случае выделение предыдущих item слетает.

В прикрепленных GIF очень четко видно, как при запуске экшена горячими клавишами все работает как я задумал, и я даже запускал воспроизведение каждый раз с начала выделения всех айтемов. ВО второй же GIF прекрасно видно что тот же самый экшн скрипт запущенный мышкой+shift - работает некорректно, теряя прошлое выделение.

Итого:
1) как решить мою задачу?
2) почему Рипер так себя ведет, на мой взгляд абсолютно некорректно?

Спасибо!
 

Вложения

  • Hot Keys 1.gif
    Hot Keys 1.gif
    2,6 MB · Просмотры: 226
  • Mouse.gif
    Mouse.gif
    766,6 KB · Просмотры: 215
  • Like
Реакции: incubator
Подскажите скрипт, который перемещает выделенную ноту к концу предыдущей ?
 

Вложения

  • Скрин.png
    Скрин.png
    3,4 KB · Просмотры: 220
Подскажите скрипт, который перемещает выделенную ноту к концу предыдущей ?
Что-то вроде этого:
PHP:
  for key in pairs(reaper) do _G[key]=reaper[key]  end
  function ReorderNotes(percent)  
    local ME = MIDIEditor_GetActive()
    if not ME then return end
    local take = MIDIEditor_GetTake(ME)
    if not take or not TakeIsMIDI(take) then return end
    local last_t
    for i = 1, ({MIDI_CountEvts( take )})[2] do
      local _, selected, muted, startppqpos, endppqpos, chan, pitch, vel = MIDI_GetNote( take, i-1 )
      if selected and i > 1 then
        local len = endppqpos- startppqpos
        startppqpos = last_t.endppqpos + 1
        endppqpos = startppqpos + len
        MIDI_SetNote( take, i-1, true, muted, startppqpos,endppqpos, chan, pitch, vel, true )
      end
      last_t={startppqpos=startppqpos, endppqpos=endppqpos}
    end
    MIDI_Sort( take )
  end
  ReorderNotes()
 
  • Like
Реакции: Martin111
@Pochette, Проверьте .ini sws на атрибуты "только чтение" в папке ресурсов, все слоты, настройки хранятся там
 
@BlackWinter, Я пришел сюда за тем же что и вы!Мы с товарищем @vitalker бились сегодня с этим целый вечер!
Неистово плюсую!!!
Это дествительно не работает корректно.Замечу что описать сию проблему\желание довольно сложно) По сути добавление в веделение атемов с синхонным выделением времени и перемещинии курсора на начало все выделенных айтемов по left click с удержаным shift


Я убил 2 бесонных ночи на это и один вечер с Виталием(Дай бог ему здоровья) Но безуспешно)Поэтому думаю что это решаеться только скриптом.
Друзья пожалуйста кто умеет помогите осущетвить мечту не переучиваться а сразу приступить к работе в Рипере!
 
Абсолютно верно! В моем GIF когда я запускал свой скрипт горячими клавишами действительно все работает как в Аблетоне. Правда я уже для себя понял, что вариант с перемоткой курсора на начало делает невозможным редактирование. Слава богу аналогично PT можно назначить разное действие на верхнюю и нижнюю половину item. Таким образом я бы настроил что при нажатии на верхнюю половину курсор перемещается в место нажатия, а при нажатии в нижнюю - выделяет весь item и можно его проиграть.

Итак, что получилось.
1) Ставим по умолчанию левую кнопку мыши на item - Select item and move edit cursor
таким образо мы тыкая в аудиоклип перемещаем курсор куда надо, с этого момента можем проигрывать и зумить именно это место. (попытки перематывать курсор на начало айтема дял воспроизведения убивали возможность зумить середину файла) Но item выделяется, что для нас важно.
2) На левую кнопку item bottom half - ставим свой кастомный скрипт
-select item under mouse cursor
-set time selection to items (уже эта строчка кода переставляет курсор на начало itema, хотя это СОВЕРШЕННО не следует из названия экшена)
-move edit cursor to mouse cursor (раз уж мы решили что все равно запускать выделенные items с их начала будем другой комбинацией клавиш, нам нет смысла переставлять курсор от места нажатия, и этой строчкой мы его возвращаем в то место куда тыкнули)

Разница между между нажатием на верхнюю и нижнюю половину item сейчас у нас в том, что верхнее нажатие не меняет тайм-селекшн. А нижнее выставляет тайм селекшн по размеру item.

3) Дальше все просто - создаем элементарный скрипт для проигрывания выделенных айтемов с их начала
-move cursor to start of item
-play

И вещаем этот скрипт на что-то очень удобное и близкое к пробелу, например Alt+Space

Вуаля! Теперь при любом выделении item наш курсор и точка зума и точка разрезки всегда соответствует месту нажатия мышкой. Но item выделяются целиком, и комбинация Alt-Space проигрывает их именно так, как мы и хотели. И даже выделение нескольких item с зажатым SHift можно прослушать через Alt+Space.

PS
У меня одного после горизонтального зума колесом мышки, через раз горизонтальный скролл или другие действия колесиком становятся неактивны пока не кликнешь в новое место курсором?
 

Вложения

  • New Version 1.gif
    New Version 1.gif
    5,2 MB · Просмотры: 240
А вот теперь действительно серьезный вопрос, который видимо может решить только скрипт. Тема совсем другая, потому и новое сообщение.

Мне нравится логика работы с submix шинами, начиная с того, что я привык к расположению сабмиксов ПОСЛЕ дорожек (а не ДО, как можно с помощью папки) и заканчивая тем, что в шину можно отправить несмежные трэки ( или несмежные шины)
Вручную все это долго и неудобно, и я нашел скрипты на форуме такого рода (оставил только ключевые экшены, без покрасок и тд)

Custom Actions for Submix:
SWS: Disable master/parent send on selected track(s)
SWS/S&M: Create cue buss from track selection, settings 03

Custom Actions for Aux:
SWS/S&M: Create cue buss from track selection, settings 03

Проблема лишь в том, что даже SWS Cue Bus Generator не позволяет выбрать значение новосозданного Send. И задается оно один раз в настройках.
Для создания сабмиксов/шин конечно значение сенда по умолчанию должно быть 0.0 Дб (чтобы весь сигнал шел постфейдерно в шину)
Но нет ничего глупее и ужаснее чем созданный посыл на эффект при 0.0 дб, тонны ревера, и тд. Я предпочитаю добавлять эффект из полной тишины до необходимого едва заметного уровня.

Итого - как сделать чтобы при создании шин сенды были ноль дб, а при создании aux посылов на эффекты сенды были -inf

И если можно - сразу при запуске такого скрипта попросить ввести название шины/аукса, ведь в 99% случаев все равно мы будем давать название свеже созданному посылу.

Спасибо!
 
@BlackWinter, ваша просьба некоторым образом противоречит идеологии построения бусов в Рипере. Посему - врядли ещё кого-то заинтересует. Да и при ауксах сенды в - inf ставить а не в 0 dB спорное удобство, как по мне - все равно посылы на эффекты нужно отстраивать, так какая разница куда крутить фейдер.
[DOUBLEPOST=1513666567][/DOUBLEPOST]
Я убил 2 бесонных ночи на это и один вечер с Виталием(Дай бог ему здоровья) Но безуспешно)Поэтому думаю что это решаеться только скриптом.
Друзья пожалуйста кто умеет помогите осущетвить мечту не переучиваться а сразу приступить к работе в Рипере!
Смысл того, что нужно чтоб происходило в общем то понятен.
А без Shift- ЛКМ должна работать штатным образом?
 
В Кубе была такая полезная логическая функция, которая преобразует velocity миди-трека в огибающую volumе. Очень хочется заиметь такую фичу в Рипере в виде скрипта
Типа выделил миди айтем, нажал скрипт, появилась огибающая громкости на миди-айтеме, а все ноты данного айтема получили velocity, равное 100 например.
 

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