Помогите создать экшн / кастом экшн / скрипт (2 онлайн)

EUGEN27771

Well-Known Member
23 Апр 2010
2.293
1.995
113
@@Michael, насчет С++ сам уже настраивался,там ничего особо сложного нет,главное,зацепиться за что нибудь,это 100%.Я попробовал,оказалось не за что,как за стекло.Но и до него доберемся,готов спорить.
А тебе уж сам Бог велел.
==
Даже представить,как даже сами опереации в Lua происходят,это же все на Си.Те же строковые-ужас,но вполне представляемо.
===
Мне интересно,что есть объектно-ориентированное программирование?Я примерно(не уверен) понял смысл классов и объектов.Где разница,между тем,что прописать основные свойства функцией,а особенности другой функцией,а другие,например, особенности третьей?
в одном из учебников по lua приводят пример с лампочкой,которая,горит,либо не горит,и суперлампочкой,которая меняет яркость.Там лампочка выступает,как класс,а суперлампа,как объект,с хар. свойствами.О,пока писал,понял,для объектов с множеством свойств будет невыгодно писать кучу функций
 
Последнее редактирование:

@Michael

Well-Known Member
14 Дек 2010
969
1.461
93
Орёл / Москва
SWS практически умерло, мелкие коммиты только Jeffos толкает. Breeder вернулся в куб, а больше никого и не осталось кто работает. Во многом потому, что большую часть уже придумали. Для продакшена во всех возможных ипостасях Рипера нынешнего хватает с головой. Можно практически вдоль и поперёк настроить. Фактически для Cockos приоритетными остаются фиксы багов, критичных и не очень. Не считая Notation Editor, над которым сейчас schwa пыхтит, и интеграцией с oscii-bot у них нет особых нововведений в планах, как я понял. По крайней мере, никто из команды не анонсировал.

Про разницу - не знаю.
 
Последнее редактирование:
  • Like
Реакции: elektrozz и EUGEN27771

EUGEN27771

Well-Known Member
23 Апр 2010
2.293
1.995
113
Breeder вернулся в куб
Печально,но в любом случае,двигаться есть куда.Мир же тоже на месте не стоит.
Не считая Notation Editor
Это тоже очень хорошо,а то скоро людей,в нотах разбирающихся на Земле не останется:).
Все равно,@@Michael, ты вклад в программу внес неоценимый,всего-то за год!
 

elektrozz

Active Member
12 Авг 2009
544
214
43
Breeder вернулся в куб
В чем то он прав в данном топике. http://forum.cockos.com/showthread.php?t=165257&highlight=cubase
Рипер быстрый, настраиваемый, робот сенквенсор) Но как не пытался, написать аранж и сводить я в нем не смог.
Никто не мешает работать во всех. Бросать не собираюсь, он все же гениальный!

Прошу прощения за оффтоп.
 

EUGEN27771

Well-Known Member
23 Апр 2010
2.293
1.995
113
В чем то он прав в данном топике. http://forum.cockos.com/showthread.php?t=165257&highlight=cubase
Рипер быстрый, настраиваемый, робот сенквенсор) Но как не пытался, написать аранж и сводить я в нем не смог.
Никто не мешает работать во всех. Бросать не собираюсь, он все же гениальный!
Прошу прощения за оффтоп.
Может я не прав,но это индивидуальный подход.Ну нет тут чего-то,но есть другое,при огромнейшем уважении,BR все его?
Может он решил затроллить всех беспощадно,странно как-то.Еще FNG уйдет,что будет,это мои любимые по миди функции...FNG_AddMidiNote иногда косячит.
Глянул только что,там 70% BR в 3-party API,плохо,очень
Third-party API
.
 
Последнее редактирование:
  • Like
Реакции: elektrozz

@Michael

Well-Known Member
14 Дек 2010
969
1.461
93
Орёл / Москва
Да, его. + Сопутствующие этим API Contextual Toolbars и экшны. Мне он сказал, что если и напишет чего-нибудь, то только за хорошие деньги.
Думаю, что на такое решегие повлиял финансовый аспект и то, что после введения новых API стретч маркеров часть его API накрылась. А перебивать это ох как много терпения нужно)) Чтобы понять насколько, можно попробовать например вычислить оригинальную позицию семпла, который находится между двух маркеров с linear transition.
 
Последнее редактирование:
  • Like
Реакции: EUGEN27771

lil-burn

Well-Known Member
15 Авг 2012
903
638
93
Екатеринбург
@@Michael, @EUGEN27771,
reaper.GetPlayState()
upload_2016-1-14_16-50-54.png
у X-Raym заявлено, что &1=playing,&2=pause,&=4 is recording
у меня почти все совпадает, кроме 4. Опытным путем получил:
0 = stopped
1 = playing
2 = paused
5 = record

известно ли что-то про 3 и 4 ? В каких случаях их можно получить?
 

EUGEN27771

Well-Known Member
23 Апр 2010
2.293
1.995
113
@lil-burn,тут сложением 1+4
[DOUBLEPOST=1452776478,1452775949][/DOUBLEPOST]@lil-burn, обрати внимание,где = стоит
они таким способом всякую побитовую хрень записывают,тут просто,набери на калькуляторе в двоичном виде,все поймешь.
А я три дня возился,чтоб выяснить,что значит scale,где 8 знаков,тоже так написали
[DOUBLEPOST=1452777421][/DOUBLEPOST]
известно ли что-то про 3 и 4 ? В каких случаях их можно получить?
попробуй посчитать,думаю вряд ли,а не 4 может быть(не уверен) stop+rec
 
  • Like
Реакции: lil-burn

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
@@Michael, а GUI для роутинга в рамках одного трека ты совсем забросил, или что-то пописываешь?

по мне, так в Рипере бы сделать ещё нодовую схему представления Роутинга полного по трекам и внутри трека - и был бы самый кдобный из всех DAW точно.
Очень многие спотыкаются об роутинг Рипера - с одной стороны очень продвинутый, с другой - большинству не понятный и не информативный.
 
  • Like
Реакции: Al Brazy

EUGEN27771

Well-Known Member
23 Апр 2010
2.293
1.995
113
@Aleksandr Oleynik, некоторые спотыкаются о слово роутинг и вспоминают роутер,а когда спросишь,что такое роутер,то разводят плечами,это такая штука черная,на окне стоит и что-то с интрнетом делает(как черный ящик в самолете,или,еще хуже,черная дыра!)
По теме да,круто было бы.
 
  • Like
Реакции: Al Brazy

lil-burn

Well-Known Member
15 Авг 2012
903
638
93
Екатеринбург
почитал мельком пост Breeder. Насколько понял, он пишет оркестровки и понятно, что для этого нужна продвинутая работа с миди. Для написания же всякой простенькой музыки типа танцевалки, r&b а тем более hip-hop и trap рипер имхо идеален (при соответствующей кастомизации). А уж о сведении, по-моему и речи быть не может. Вот он пишет, что мол подустал кастомизировать рипер - так ведь это здорово, что можно кастомизировать! предчувствую его разочарование, когда например захочется в кубе поменять что-нибудь неменяемое
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
@lil-burn, кастомизация и возможность всё настроить нужны только тем, кто точно знает, что им нужно и как этого добиться - таких людей очень не много, новсе они останавливают свой выбор либо на Рипере, либо на Аблтоне с макс4лайв.
Для всех же прочих - это либо игрушка, либо головная боль.
 

EUGEN27771

Well-Known Member
23 Апр 2010
2.293
1.995
113
[DOUBLEPOST=1452780595,1452780164][/DOUBLEPOST]@Aleksandr Oleynik, я уже вошел в процесс кастомизации,музыка стала не нужна,теперь главное кастомизировать...не,не шутка,мне даже стало пофиг,что кастомизировать,не было бы рипера,нашел бы,процесс интересует,как в буддизме,не цель,а путь.Надоест кастомизировать,буду музыку писать.
@lil-burn, да,это понятно,но это его дело,может вернется.Не унываем,там еще люди есть.
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
Пока не сделают внятное API кодера/декодера base64, там делать нечего с такими костылями.
Да, я это понимаю....
[DOUBLEPOST=1452780813,1452780631][/DOUBLEPOST]
@Aleksandr Oleynik, я уже вошел в процесс кастомизации,музыка стала не нужна,теперь главное кастомизировать...не,не шутка,мне даже стало пофиг,что кастомизировать,не было бы рипера,нашел бы,процесс интересует,как в буддизме,не цель,а путь.Надоест кастомизировать,буду музыку писать.
ну вот...., я об это и говорю.
но более предметная мотивация всё же всегда лучше.
У меня сейчас с мотивацией тоже напряг. Группа сына на паузе - все музыканты заняты работой не музыкальной :(
 
Последнее редактирование:
  • Like
Реакции: EUGEN27771

EUGEN27771

Well-Known Member
23 Апр 2010
2.293
1.995
113
когда я учился в школе,мне все это было крайне интересно,я обожал все компьютеры и прочую технику,очень хорошо знал математику(хотя сейчас даже таблицу умножения еле вспоминаю),информатику любил,но,к сожалению,финансовые возможности родителей не позволяли купить компьютер,он тогда стоил как полквартиры.Может это комплекс из детства остался,я почти уверен,мне даже сейчас кажется,что это мое было,а я упустил,все растерял.У меня много такого было,но именно это запомнилось.Может просто наверстать пытаюсь,то чего никогда не было?
 
  • Like
Реакции: Buyan

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
когда я учился в школе,мне все это было крайне интересно,я обожал все компьютеры и прочую технику,очень хорошо знал математику(хотя сейчас даже таблицу умножения еле вспоминаю),информатику любил,но,к сожалению,финансовые возможности родителей не позволяли купить компьютер,он тогда стоил как полквартиры.Может это комплекс из детства остался,я почти уверен,мне даже сейчас кажется,что это мое было,а я упустил,все растерял.У меня много такого было,но именно это запомнилось.Может просто наверстать пытаюсь,то чего никогда не было?
Заниматься любимой работой, которая ещё и обеспечивает твою жизнь полностью - это дорогого стоит.
Каких либо существенных высот можно добиться занимаясь любимым делом.
Но есть и другие варианты - работа, которая обеспечивает жизнь, и разнообразнейшие хобби, которые делают жизнь насыщенной и интересной.
 
Последнее редактирование:
  • Like
Реакции: lil-burn и EUGEN27771

EUGEN27771

Well-Known Member
23 Апр 2010
2.293
1.995
113
@Aleksandr Oleynik, не унываем,насколько я помню,это Вы меня обратно втянули,по js сначала:),по многим другим темам подтолкнули,теперь время освободится,буду что-то изучать еще по lua,что-то хорошее еще сделаем!Музыка подождет пока.Это не б..дь,а красивая и верная женщина,она ждет ровно столько,пока за ней не придут.
[DOUBLEPOST=1452783562,1452783420][/DOUBLEPOST]@Aleksandr Oleynik, пока вариантов нет,нужно заниматься х..ней
[DOUBLEPOST=1452783613][/DOUBLEPOST]О,зато времени скоро будет много
[DOUBLEPOST=1452783691][/DOUBLEPOST]Собственно,все мы торгуем временем.Помню с детства Сказку о потерянном времени
ПС.Я исправляю иногда ошибки(только синтаксис).Не люблю корявых слов...
 
  • Like
Реакции: Aleksandr Oleynik

belovw

Well-Known Member
22 Апр 2009
9.225
8.406
113
50
RK Almaty
Парни, а чего это мы раскили? Общество у нас достаточно сплочённое. Ушел Бред, придет ещё кто-нибудь. Чего не хватает - сами напишем. Насчёт кастамайза, как оказалось, не я один. Нужен законченый интерфейс с идеалогией: "сел и работай". По функциям рипер практически идеал. Ретроспектив рекорд для миди есть. Кстати, хочу лично выразить Женьке благодарность. Благодаря этой функции теперь могу себе позволить записывать партии не напрягаясь. Варпинг тул на подходе, осталось накатать аналог ревойса и мелодайна, и тогда будет вообще всем трындец.
 

belovw

Well-Known Member
22 Апр 2009
9.225
8.406
113
50
RK Almaty
@Коля Ефремов, вроде как имеются средства для запуска скриптов или экшенов при загрузке Рипера.

v2.8.3 featured build (January 8, 2016)

New global startup action (in addition to per-project startup actions)
  • The global startup action is performed one time, when launching REAPER
  • To edit/view/clear startup actions: Main menu / Extenstions / Startup actions
  • Tip: if you want to perform several actions at launch time, create a macro and set it as the global startup action
 

fruitcore

Active Member
14 Дек 2013
276
70
28
NN
Очень многие спотыкаются об роутинг Рипера - с одной стороны очень продвинутый, с другой - большинству не понятный и не информативный.
что забавно, именно логичность роутинга рипера стала для меня ключевой в выборе daw.) Все время меня вводили в ступор все эти кубэйсовские (к примеру) ауксы/шины/подгруппы/инструмент-треки/моно-треки/стерео-треки и прочее, а здесь всё просто и универсально
 
  • Like
Реакции: sd

EUGEN27771

Well-Known Member
23 Апр 2010
2.293
1.995
113
По графике,я думаю тут не совсем правильно,но сделал так
PHP:
-------Draw Butt---------------------
function Draw_butt(butt, butt_text)
local x, y, w, h = butt.x, butt.y, butt.w, butt.h
gfx.r, gfx.g, gfx.b, gfx.a = 0.2, 0.2, 0.3, 1
gfx.rect(x,y,w,h,true)
  ----
  gfx.r, gfx.g, gfx.b, gfx.a = 1, 1, 1, 1
  gfx.setfont(1,"Comic Sans MS", 24);
    str_w, str_h = gfx.measurestr(butt_text)
    gfx.x=x+(w-str_w)/2; gfx.y=y+(h-str_h)/2
  gfx.drawstr(butt_text)
end
--------Mouse In-------------
function mouse_in_butt(butt, m_x, m_y)
local x, y, w, h = butt.x, butt.y, butt.w, butt.h
  if m_x>x and m_x<x+w and m_y>y and m_y<y+h then
     return true
  end
end
------
function mouse( m_x, m_y, mouse_cap)
----root,scale--
  if     mouse_in_butt(root_bt, m_x, m_y)  then Set_root();
  elseif mouse_in_butt(scale_bt, m_x, m_y) then Set_scale();
----transpose--
  elseif mouse_in_butt(Up_bt, m_x, m_y)    then Transpose_Takes(1);
  elseif mouse_in_butt(Down_bt, m_x, m_y)  then Transpose_Takes(-1);
----move time sel--
  elseif mouse_in_butt(R_bt, m_x, m_y) and mouse_cap==1 then move_time_sel(1);
  elseif mouse_in_butt(L_bt, m_x, m_y) and mouse_cap==1 then move_time_sel(-1);
  ----move time sel--
  elseif mouse_in_butt(R_bt, m_x, m_y) and mouse_cap==2 then change_time_sel(2);
  elseif mouse_in_butt(L_bt, m_x, m_y) and mouse_cap==2 then change_time_sel(0.5);
  end
end
--------RUN----------
function run()
if gfx.w~=last_w or gfx.h ~=last_h  then draw() end--redraw when w,h changed
       ----Left mouse cap--
       if gfx.mouse_cap==0 and  last_mouse_cap==1
          then mouse(gfx.mouse_x, gfx.mouse_y, last_mouse_cap)
       end
       ----Right mouse cap--
       if gfx.mouse_cap==0 and  last_mouse_cap==2
          then mouse(gfx.mouse_x, gfx.mouse_y, last_mouse_cap)
       end
-----
last_mouse_cap = gfx.mouse_cap--update last state
last_w, last_h = gfx.w, gfx.h--update last state
----Gfx Window--
char=gfx.getchar()
if char==32 then reaper.OnPlayButton() end--pass play
if char>0 then reaper.Main_OnCommandEx(reaper.NamedCommandLookup("_S&M_WNMAIN"), 0,0) end--focus main(for pass other)
if char~=-1 then reaper.defer(run) end --defer
gfx.update();
end
===
Вместо функций,можно писать свои.Вместо кнопок подставлять что-то со своими координатами,например:
scale_bt = {x=45, y=5, w=150,h=30} --scale butt и тп.
Текст кнопки:
Draw_butt(scale_bt, scale_tb[scale]) из таблицы ,например,
scale_tb = {"Major", "Natural minor", и тп}
В начале,инит,draw()(и сюда включить все кнопки).
==========
Так рисуются кнопки,можно добавить в аргументы цвета и тп(чуть дописать),можно добавить обводку.
Снимок.PNG
Нужно добавить подсветку при наведении мыши,чуть позже попробую.Уже можно нарисовать калькулятор какой-то.
[DOUBLEPOST=1452803220,1452800989][/DOUBLEPOST]===
Вот так примерно сделал простейшие меню с переставляющимися галочками:
PHP:
--Root Menu--
function Set_root()
local root_str=""
   for i=1,12,1 do
     if i~=root then root_str=root_str..root_tb[i].."|"
                else root_str=root_str.."!"..root_tb[i].."|"
     end
   end
  ---------------
gfx.x=root_bt.x; gfx.y=root_bt.y
local new_root=gfx.showmenu(root_str)
   if new_root>0 then
      root = new_root
      Draw_butt(root_bt,root_tb[root])
   end
end
Вместо 12 можно #таблица(-размер таблицы),и можно любую таблицу засунуть сюда,довольно прикольно
Снимок2.PNG
 
Последнее редактирование:

DRYGVA

Active Member
14 Дек 2010
501
80
28
ПОдскажите, пожалуйста, можно ли цепочку действий организовать через кастом экшн? хочу ускорить процесс обработки в рилтайме через внешние приборы, не назначать каждый раз ауты инпуты и заниматься переименованием, откуда начать?

имеем дорогу с именем. По хоткею она должна уходить например на 6 аналоговый выход, мастер аут выключается на ней. Рядом появляется дорога с таким же именем, инпут установлен на 8 канал, например, дорога готова к записи. По второму хоткею исходная дорога мьютируется, убирается из TCP и MCP (ну это уже просто)
 

Andrey Marchenko

Active Member
10 Апр 2007
654
106
43
39
Moscow, Russia
Скажите, можно ли создать экшн для следующего действия: Выбираем несколько трэков, запускаем экшн, создаётся новая дрожка и выбранные трэки автоматически сендятся на созданную дорожку.

Возможно это?

Надеюсь ясно объяснил )
 

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