ReaScripts (скрипты для Reaper) - делимся (1 онлайн

maxmusic

New Member
10 Дек 2008
20
11
3
MaxMusiMax; Razor Edit; Fast Mode

в состоянии SetButtonOFF вы можете вставить свои модификаторы
для этого в поиске окна "Actions" набрав это "Set default mouse modifier action for" найдите нужный вам

244740


PHP:
function print_rs (param)
    reaper.ShowConsoleMsg (tostring (param) .. "\n");
end
-- #######################################
reaper.PreventUIRefresh(1);
-- #######################################

function SetButtonON()
    is_new_value, filename, sec, cmd, mode, resolution, val = reaper.get_action_context()
    state = reaper.GetToggleCommandStateEx( sec, cmd )
    reaper.SetToggleCommandState( sec, cmd, 1 ) -- Set ON
    reaper.RefreshToolbar2( sec, cmd )
end


function SetButtonOFF()
    is_new_value, filename, sec, cmd, mode, resolution, val = reaper.get_action_context()
    state = reaper.GetToggleCommandStateEx( sec, cmd )
    reaper.SetToggleCommandState( sec, cmd, 0 ) -- Set OFF
    reaper.RefreshToolbar2( sec, cmd )
end


is_new_value, filename, sec, cmd, mode, resolution, val = reaper.get_action_context()
state = reaper.GetToggleCommandStateEx( sec, cmd )


if state == 1 then
    reaper.Main_OnCommand(39201, 0) -- Set default mouse modifier action for "Track left drag" to "Marquee select items"
    reaper.Main_OnCommand(39513, 0) -- Set default mouse modifier action for "Media item left click" to "Select item and move edit cursor" (factory default)
    reaper.Main_OnCommand(39001, 0) -- Set default mouse modifier action for "Media item left drag" to "Move item"
    reaper.Main_OnCommand(39033, 0) -- Set default mouse modifier action for "Media item bottom half left drag" to "Move item"

    SetButtonOFF()
else
    reaper.Main_OnCommand(27030, 0) -- Set default mouse modifier action for "Media item left drag" to "Select razor edit area"
    reaper.Main_OnCommand(39217, 0) -- Set default mouse modifier action for "Track left drag" to "Select razor edit area"
    reaper.Main_OnCommand(27062, 0) -- Set default mouse modifier action for "Media item bottom half left drag" to "Select razor edit area"

    SetButtonON()
end
-- #######################################
reaper.PreventUIRefresh(-1);
reaper.TrackList_AdjustWindows(0)  -- Updates the window view
reaper.UpdateArrange();  -- Updates the window view
 

Вложения

Последнее редактирование:
  • Like
Реакции: Andernik

Kokarev Maxim

ex cool
13 Май 2007
5.520
4.760
113
44
Барнаул
recording-studio.ru
О, так это ж буквально мой Слайсер, на том же коде :D

@iq.urbat-off, загляни сюда, там есть описание и инструкция на русском: https://forum.cockos.com/showthread.php?t=232914
Скрипт есть в ReaPack, то есть, сначала его нужно установить отсюда: https://reapack.com/
 
  • Like
Реакции: Andernik и Landre

knst

New Member
28 Мар 2023
19
1
3
34
Привет всем! Подскажите пожалуйста есть ли экшн для создания региона (или маркера) с конкретным именем? и можно ли перемещаться вправо/влево только между конкретным названием региона (к примеру 20 регионов с названием «SIB», что бы при перемещении не затрагивались регионы с названиями «verse» «chorus» и тд, а перемещались строго клавишами вправо влево по регионам «SIB»)
 

knst

New Member
28 Мар 2023
19
1
3
34
Привет всем! Подскажите пожалуйста есть ли экшн для создания региона (или маркера) с конкретным именем? и можно ли перемещаться вправо/влево только между конкретным названием региона (к примеру 20 регионов с названием «SIB», что бы при перемещении не затрагивались регионы с названиями «verse» «chorus» и тд, а перемещались строго клавишами вправо влево по регионам «SIB»)
Ответ на первый вопрос нашёл, осталось найти как одной клавишей перемещаться между регионами с определённым названием, не цепляя по пути другие регионы...
 

knst

New Member
28 Мар 2023
19
1
3
34
Так может поделитесь? =)
Скрипт для создания региона с нужным именем нашёл, «intro» в конце заменить на нужное:
function create_region(region_name)
local color = 0
local ts_start, ts_end = reaper.GetSet_LoopTimeRange(false, false, 0, 0, false)
if ts_start == ts_end then return end
reaper.AddProjectMarker2(0, true, ts_start, ts_end, region_name, -1, color)
reaper.Undo_OnStateChangeEx("Create region with predefined name", -1, -1)
end

create_region("intro")


Код для перемещения по конкретным регионам не цепляя регионы и маркеры с другими названиями сделал, всё работаетт, но пока не тестил, sib заменить на нужное. Для перемещения вперёд:

-- Функция для перемещения к следующему региону с именем "sib" и выделения его
function goToNextRegionWithNameAndSelect(regionName)
local numMarkers = reaper.CountProjectMarkers(0)
local currentPosition = reaper.GetCursorPosition()

for i = 0, numMarkers - 1 do
local retval, isRegion, pos, rgnend, name, markrgnindex, color = reaper.EnumProjectMarkers(i)
if isRegion and name == regionName and pos > currentPosition then
reaper.SetEditCurPos(pos, true, false)
reaper.GetSet_LoopTimeRange(true, false, pos, rgnend, false)
return
end
end
end

-- Основная функция скрипта
function main()
local regionName = "sib"
goToNextRegionWithNameAndSelect(regionName)
end

-- Запуск основной функции
main()


Для перемещения назад:


-- Функция для перемещения к предыдущему региону с именем "sib" и выделения его
function goToPreviousRegionWithNameAndSelect(regionName)
local numMarkers = reaper.CountProjectMarkers(0)
local currentPosition = reaper.GetCursorPosition()
local targetPosition = nil
local targetEnd = nil

for i = 0, numMarkers - 1 do
local retval, isRegion, pos, rgnend, name, markrgnindex, color = reaper.EnumProjectMarkers(i)
if isRegion and name == regionName and pos < currentPosition then
if targetPosition == nil or pos > targetPosition then
targetPosition = pos
targetEnd = rgnend
end
end
end

if targetPosition ~= nil then
reaper.SetEditCurPos(targetPosition, true, false)
reaper.GetSet_LoopTimeRange(true, false, targetPosition, targetEnd, false)
end
end

-- Основная функция скрипта
function main()
local regionName = "sib"
goToPreviousRegionWithNameAndSelect(regionName)
end

-- Запуск основной функции
main()


Если не нужно что-бы регион выделялся то удалить строчку «reaper.GetSet_LoopTimeRange(true, false, pos, rgnend, false)»
 
  • Like
Реакции: truemanofan

knst

New Member
28 Мар 2023
19
1
3
34

ShaMee

Active Member
2 Апр 2019
966
182
43
Ребят, всем привет, есть очень большая потребность в одном скрипте, но его как понимаю нет, может вы подскажите к кому обратится...Вообщем есть скрипт reposition items в режиме end мы выставляем на каком расстоянии от текущего айтема будет находится следующий. Все бы хорошо, но не хватает одной важной функции, хотелось бы, что-бы скрипту можно было указывать какие айтемы условно надо затрагивать а какие нет. Если более конкретно то предположим,что я не хочу двигать те айтемы которые находятся на расстоянии до 5ти секунд, а те которые находятся в расстоянии друг от друга больше 5 секунд те сдвинуть до 5ти секунд...
 

DmitrijSorokin

Well-Known Member
12 Мар 2019
238
436
63
скрипты и тема от phaselab (покупка за 0):

Reanspiration is a collection of 3 scripts designed to provide a creative spark when you need it most, helping you start your songs with fresh, inspiring ideas: https://phaselabaudio.gumroad.com/l/Reanspiration

Reanspiration-Rhythms.lua
Reanspiration-Notes.lua
Reanspiration-Chords.lua


Reaplacer - Random Sample and Pattern Replacement Scripts: https://phaselabaudio.gumroad.com/l/reaplacer

phaselab_Reaplacer_Sample-Script-Creator.lua
phaselab_Reaplacer_Pattern-Script-Creator.lua


phaselab Reaper Theme: https://phaselabaudio.gumroad.com/l/reapertheme
 

fruitcore

Active Member
14 Дек 2013
286
75
28
NN
Привет) такой вопрос тем, кто использовал ImGUI.. среди предлагаемых элементов есть только слайдеры, но не нахожу круглых кнобов. При этом вижу, что например paranormal fx router использует тоже imgui в интерфейсе, там например dry-wet сделан в виде кноба, но как ни искал, так и не понял, где он там закопан( куда копать, подскажите плз
 

Kokarev Maxim

ex cool
13 Май 2007
5.520
4.760
113
44
Барнаул
recording-studio.ru
Привет) такой вопрос тем, кто использовал ImGUI.. среди предлагаемых элементов есть только слайдеры, но не нахожу круглых кнобов. При этом вижу, что например paranormal fx router использует тоже imgui в интерфейсе, там например dry-wet сделан в виде кноба, но как ни искал, так и не понял, где он там закопан( куда копать, подскажите плз
Привет. Эт проще у них в профильной теме поискать. Вот, например: https://forum.cockos.com/showpost.php?p=2437088&postcount=157
 
  • Like
Реакции: fruitcore

fruitcore

Active Member
14 Дек 2013
286
75
28
NN
Привет. Эт проще у них в профильной теме поискать. Вот, например: https://forum.cockos.com/showpost.php?p=2437088&postcount=157
спасибо!
Я кстати на Ваши скрипты поглядываю в плане отрисовки формы волны айтемов.. но до сих пор не разобрался с track acsessors, или как их там.. хочу сделать контроль loop source как в ableton, чтобы выбирать область на всём айтеме с отображением grid lines. Мне кажется, это было бы очень удобная фича
 
  • Like
Реакции: Andernik

fruitcore

Active Member
14 Дек 2013
286
75
28
NN
249656

Пока что вот такое сделал, сыроватенько, но работает) причем функция BR_SetMediaSourceProperties работает с багом, у меня она портит путь к файлу, пришлось через chunk делать
 

Вложения

  • Wow
Реакции: Andernik

drumwizard

Well-Known Member
18 Дек 2011
1.150
760
113
46
Санкт-Петербург
Что-то странное происходит в MIDI Editor при создании дубликатов нот выделенной области (Duplicate Events Within Time Selection). Иногда срабатывает нормально, а иногда косячит.
Например. Выделяю область первой четверти такта, внутри выбираю третью и четвёртую шестнадцатые (есть ещё первая, но её копировать не надо). Применяю экшн/скрипт и... не получаю шестнадцатые внутри области второй четверти( Вместо этого выделенная область увеличилась на одну восьмую, шестнадцатые ноты оказались не на своём месте.
Базовые вещи. Как исправить?
 
Последнее редактирование:

Сейчас онлайн (Пользователей: 0, Гостей: 1)