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

  • Автор темы Автор темы @Michael
  • Дата начала Дата начала
@Archchie, Если вас не затруднит сделать еще два простеньких скрипта перемещение итема вверх на трек и вниз на трек. Благодарю
 
Если вас не затруднит сделать еще два простеньких скрипта перемещение итема вверх на трек и вниз на трек. Благодарю
есть стандартные
Item edit: Move items/envelope points up one track/a bit
Item edit: Move items/envelope points down one track/a bit
 
  • Like
Реакции: Archie's
Мужики,сорри,если скрипт был ,а я его пропустил... Задача : С флэшки 30 гигов вавок сконвертировать в мп3 на другую флэшку, с сохранением названия трэка...
зы,,,, чей-то закинул в Рипер только одну паку с вавками и охренел сколько я буду по времени,без скрипта, это переконвертировать (а папок 30).... :(
 
Да что-то я несколько лет назад пробовал подобное было глючно.... Наверно сейчас всё по-лучше,,,Пробую опять...Спасибо
 
@nazarol-jk35, еще как вариант, располагать их на одном треке, потом выделить, и экшн от SWS, который создает регионы с именами как у итемов. И черезз render project regions. Я рендерил макс ~1500 регионов, полет нормальный
 
  • Like
Реакции: Archie's и nazarol-jk35
А можно запилить пару скриптов, которые можно было бы повесить на шоткаты и добавлять или убавлять по 1 db у параметра Solo in front dimming:
- Dimming +1 db
- Dimming -1 db
?
Если что, это вот этот параметр в опциях:
Screenshot_1.jpg
 
Последнее редактирование:
Последнее редактирование:
PHP:
  function main()
    reaper.Undo_BeginBlock()
    local ME = reaper.MIDIEditor_GetActive()
    if not ME then return end
    local take = reaper.MIDIEditor_GetTake(ME)
    if not take or not reaper.TakeIsMIDI(take) then return end
    local ME_grid, swing = reaper.MIDI_GetGrid( take )
    
    local parent_item = reaper.GetMediaItemTake_Item( take )
    local itpos = reaper.GetMediaItemInfo_Value( parent_item, 'D_POSITION' )

   
    local _, notecnt = reaper.MIDI_CountEvts( take )
    for i = 1, notecnt do
      local _, selected, muted, startppqpos, endppqpos, chan, pitch, vel = reaper.MIDI_GetNote( take, i-1 )
      if selected then
     
        local proj_time = reaper.MIDI_GetProjTimeFromPPQPos( take, endppqpos )
        local beats, _, _, tpos_beats = reaper.TimeMap2_timeToBeats( proj, proj_time )
        local out_pos, out_ppq, out_beatpos
       
        if swing == 0 then            
          if (beats % ME_grid) < (ME_grid/2) then out_beatpos = tpos_beats - (beats % ME_grid) else out_beatpos = tpos_beats - (beats % ME_grid) + ME_grid end
          out_pos = reaper.TimeMap2_beatsToTime( 0, out_beatpos)
          out_ppq = reaper.MIDI_GetPPQPosFromProjTime( take, out_pos )
         else
          local midval = 0.5 + 0.25*swing
          local checkval = 0.5 * (beats % (ME_grid*2)) / ME_grid
          if checkval < midval then
            -- before swing grid
            if checkval < 0.5*midval then
              out_beatpos = tpos_beats - (beats % ME_grid) 
             else
              if swing < 0 then
                out_beatpos = tpos_beats - (beats % ME_grid) + ME_grid*midval*2
               else
                out_beatpos = tpos_beats - (beats % ME_grid) + ME_grid*swing/2
                if checkval % midval < 0.5 then out_beatpos = out_beatpos + ME_grid end
              end
            end
                     
           else
          
            -- after swing grid
            if checkval < midval + 0.5*  (1-midval)  then
              out_beatpos = tpos_beats - (beats % ME_grid) + ME_grid * 0.5 * swing
             else
              out_beatpos = tpos_beats - (beats % ME_grid) + ME_grid
            end           
          
          end
          out_pos = reaper.TimeMap2_beatsToTime( 0, out_beatpos)
          out_ppq = reaper.MIDI_GetPPQPosFromProjTime( take, out_pos )         
        end 

        if out_ppq and out_ppq - startppqpos > 10 then reaper.MIDI_SetNote( take, i-1, true, muted, startppqpos, out_ppq, chan, pitch, vel, true ) end
      end
    end
              

    reaper.MIDI_Sort( take )
    reaper.Undo_EndBlock('Quantize selected MIDI notes ends', 0) 
  end
 
  main()
 
  • Like
Реакции: Maestro Sound и Nagor
Новый проект. Options/Loop points linked to time selection - активно.
А также Record mode - time selection auto pinch

Размешаю мышкой пустой item midi.
Выделяю его и делаю область выделения равным этому итему.
Активирую запись в треке.

Выполняю экшн
Код:
  Transport: Go to start of project
  Transport: Record
  SWS: Wait until end of loop (if playing)
  Transport: Stop (save all recorded media)

Иногда экшн выполняется, а иногда курсор только дергается и все.
В итоге мне нужно произвести запись с МИДИ клавы в режиме лупа, при этом я ЗАРАНЕЕ задаю границы "будущего пустого" лупа.
 
Друзья! Так есть ли ответ ? Возможно ли создание скрипта с реагированием с каким сочетанием клавиш его запустили? Следуя Мouse Modifiers Есть надежда или нет?
 
Друзья! Так есть ли ответ ? Возможно ли создание скрипта с реагированием с каким сочетанием клавиш его запустили? Следуя Мouse Modifiers Есть надежда или нет?
Постараюсь сегодня проверить.
 
  • Like
Реакции: Maestro Sound
Мужики,сорри,если скрипт был ,а я его пропустил... Задача : С флэшки 30 гигов вавок сконвертировать в мп3 на другую флэшку, с сохранением названия трэка...
зы,,,, чей-то закинул в Рипер только одну паку с вавками и охренел сколько я буду по времени,без скрипта, это переконвертировать (а папок 30).... :(
File/batch convert. Имя по cards легко.
 
Пока не нашёл способ без загруженного GUI скрипта.
Может при нажатии на скрипт левой кнопки мыши запускать его (он сканирует какое сочетание кнопок нажато) а при отпускании левой кнопки, применяется следующий, соответствующий сочетанию клавиш скрипт и первый выключается???
 
@Maestro Sound, проблема в том, что я пока не знаю способа контроля за нажатыми сочетаниями клавиш, кроме как при созданном и загруженном GUI.
А большинству скриптов GUI нафиг не нужны.
Но может я плохо смотрел.
 
Друзья! Так есть ли ответ ? Возможно ли создание скрипта с реагированием с каким сочетанием клавиш его запустили? Следуя Мouse Modifiers Есть надежда или нет?
Может при нажатии на скрипт левой кнопки мыши запускать его (он сканирует какое сочетание кнопок нажато) а при отпускании левой кнопки, применяется следующий, соответствующий сочетанию клавиш скрипт и первый выключается???
Смотри подойдет такое решение или нет???
Вписываешь ид экшенов в скрипт и работает с "Click, CTRL_Click, SHIFT_Click, ALT_Click", если какое то сочетание не нужно ставите в ид = 0
Единственное что клик по кнопке надо делать не одиночный, а двойной
Недостатки:
Двойной клик
Мерцающее окно
 

Вложения

Последнее редактирование:
Извиняюсь!
Не работает мое решение, когда кнопка на тулбаре стоит, второй клик должен промахнуться мимо тулбара
из экшен листа прекрасно работает, а на тулбаре к сожалению нет
Так что Sorry
 
Последнее редактирование:

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