ReaScripts (скрипты для Reaper) - Учимся создавать!!!

Тема в разделе "Reaper", создана пользователем Archchie, 29 дек 2017.

  1. incubator

    incubator Active Member

    Регистрация:
    24 янв 2007
    Сообщения:
    363
    Симпатии:
    143
    Адрес:
    Spb
    вот так reaper.Main_OnCommand(reaper.NamedCommandLookup('_RSada20633a8d9576327cdedd9526f6dc9e195fd28'), 0) или так например с путем


    local info = debug.getinfo(1,'S');
    script_path = info.source:match[[^@?(.*[\/])[^\/]-$]]
    dofile(script_path .. "/Nantho_PeakVsRMS/spk77_Get max peak val and pos from take_function.lua")
     
    Archchie и Aleksandr Oleynik нравится это.
  2. Aleksandr Oleynik

    Aleksandr Oleynik Well-Known Member

    Регистрация:
    16 янв 2007
    Сообщения:
    16.914
    Симпатии:
    9.168
    Пол:
    Мужской
    Адрес:
    Киев
    @incubator, ID узнать автоматом нельзя.
    А с dofile - то решение, что написал бы открыв комп - это оно!
     
  3. @Michael

    @Michael Well-Known Member

    Регистрация:
    14 дек 2010
    Сообщения:
    840
    Симпатии:
    1.266
    Пол:
    Мужской
    Адрес:
    Орёл / Москва
    get_action_context()
     
  4. Aleksandr Oleynik

    Aleksandr Oleynik Well-Known Member

    Регистрация:
    16 янв 2007
    Сообщения:
    16.914
    Симпатии:
    9.168
    Пол:
    Мужской
    Адрес:
    Киев
    @@Michael, это если скрипт запущен.
    А как по имени скрипта узнать его ID?
     
  5. @Michael

    @Michael Well-Known Member

    Регистрация:
    14 дек 2010
    Сообщения:
    840
    Симпатии:
    1.266
    Пол:
    Мужской
    Адрес:
    Орёл / Москва
    PHP:
    function GetScriptNameByID(ID)
      
    local fpcont reaper.GetResourcePath()..'/reaper-kb.ini'
      
    local f io.open(fp'a+')
      if 
    not f then return else cont f:read('a'f:close() end
      
    return cont:match(ID:match('[%a%d]+')..'%s"(.-)".-\n')
    end

    scriptname 
    GetScriptNameByID('_RS5a9b832ada3f7ee194cb55a9e2e504626cd6a546')
     
    Archchie нравится это.
  6. Aleksandr Oleynik

    Aleksandr Oleynik Well-Known Member

    Регистрация:
    16 янв 2007
    Сообщения:
    16.914
    Симпатии:
    9.168
    Пол:
    Мужской
    Адрес:
    Киев
    @@Michael, Это имя по ID, а нужно наоборот.
     
  7. @Michael

    @Michael Well-Known Member

    Регистрация:
    14 дек 2010
    Сообщения:
    840
    Симпатии:
    1.266
    Пол:
    Мужской
    Адрес:
    Орёл / Москва
    PHP:
    function GetIDByScriptName(scriptname)
      
    local fpcont reaper.GetResourcePath()..'/reaper-kb.ini'
      
    local f io.open(fp'a+')
      if 
    not f then return else cont f:read('a'f:close() end
      scriptname 
    scriptname:gsub('Script:%s' ,''):gsub("[%(%)%.%%%+%-%*%?%[%]%^%$]", function(c) return "%" .. c end)
      for 
    line in cont:gmatch('[^\r\n]+') do if line:match(scriptnamethen return line:match('RS[%a%d]+'end end
    end

    ID 
    GetIDByScriptName('Script: Argitoth_Select items with color of selected items.eel')
     
    Aleksandr Oleynik и Archchie нравится это.
  8. Намасте_намасте

    Намасте_намасте Well-Known Member

    Регистрация:
    21 ноя 2016
    Сообщения:
    2.060
    Симпатии:
    1.840
    Пол:
    Мужской
    Род занятий:
    Alpha Mix Records
    Ребята, подскажите. Как выделить самый первый айтем трека без снятия выделения на таймлане и переходов? Вроде обсмотрел все, не могу найти похожего экшена...
    --------------
    Вопрос снят. нашел )
     
  9. Archchie

    Archchie Active Member

    Регистрация:
    24 окт 2017
    Сообщения:
    352
    Симпатии:
    175
    Пол:
    Мужской
    Подскажите кто знает как работать с gfx.blit(), то есть не как работать, а как осуществить вот такое и возможно ли это?
    Нашел от Михаила описание
    Вроде все понятно, но по этому описанию я могу сохранить графику только от 0, то есть "x, y" у нас всегда ноль gif 1 и картинка сохраняется всегда от левого верхнего угла.
    Вопрос: А как сохранить кусок с права gif_2 или например кусок в центре gif_3. Как задать координаты иксу и игреку?
     

    Вложения:

    • gif_1.png
      gif_1.png
      Размер файла:
      2,7 КБ
      Просмотров:
      9
    • gif_1.png
      gif_1.png
      Размер файла:
      2,7 КБ
      Просмотров:
      9
    • gif_2.png
      gif_2.png
      Размер файла:
      5,7 КБ
      Просмотров:
      9
    • gif_3.png
      gif_3.png
      Размер файла:
      3,8 КБ
      Просмотров:
      9
  10. @Michael

    @Michael Well-Known Member

    Регистрация:
    14 дек 2010
    Сообщения:
    840
    Симпатии:
    1.266
    Пол:
    Мужской
    Адрес:
    Орёл / Москва
    Первая пара XY координат у gfx.blit (координаты исходника относительно окна ReaScript GUI)
     
    Archchie нравится это.
  11. EUGEN27771

    EUGEN27771 Well-Known Member

    Регистрация:
    23 апр 2010
    Сообщения:
    2.321
    Симпатии:
    1.963
    Пол:
    Мужской
    Есть нечто интересное, может быть... Я хочу оставить пару вещей.
    Об этом говорили на кокосовском форуме, мне трудно там ответить обстоятельно, так сказать.
    Там вопрос про массивы был. Есть у нас менеджеры памяти, даже несколько вариантов.
    А когда у нас в руках память - у нас есть и все остальное. По сути дела - дин. распределение памяти решает все вопросы.
    И все это очень красиво сходится. Почему же это никто не выложил?
    Потому что пц. Графика идет отдельно, и все может развалиться, отдельный поток...
     
    PianoIst нравится это.

Поделиться этой страницей