Для тех кто не в теме, у Reaper появился предустановленный JS степ-секвенсер.Есть что-нибудь подобное типа как в FL Studio step sequencer?
sequencer_baby_v2 - awesome sequencer v2
Для тех кто не в теме, у Reaper появился предустановленный JS степ-секвенсер.Есть что-нибудь подобное типа как в FL Studio step sequencer?
да,по памяти неправильно написал,давно не использовал.Ошибка. Зеленая область - это
это кстати,по моей,просьбе автор плагина добавил транспонирование http://forum.cockos.com/showpost.php?p=1274276&postcount=144и транспонирование паттерна
Вы бы лучше саму технологию описали,как в Ризоне делается,поэтапно,может что-то придумаем.спасибо, кэп)
Здесь наглядно показано с 7:30Вы бы лучше саму технологию описали,как в Ризоне делается,поэтапно,может что-то придумаем.
это кстати,по моей,просьбе
GetUserInputs("Set Pattern", 1 , "Set Pattern Number", #Pattern);//User Set Pattern
match("%i", #Pattern, Pattern);//Pattern as Int
#Name_Pat = "Pattern ";//Prefix for Pattern Name(can be changed)
strcat(#Name_Pat,#Pattern);//Prefix + Pattern(pitch-based index)
Pattern = Pattern - 1;//For 1-based Pattern Count
function Change_Pattern()
(
Pattern >= 0 ? //Check User input
(Count_Items = CountSelectedMediaItems(0);//Count Selected Media Items
Item_index = 0;
loop(Count_Items,
Item_ID = GetSelectedMediaItem(0,Item_index);//Get Current Item Id
Take_ID = GetActiveTake(Item_ID);//Get Current Take Id
GetSetMediaItemTakeInfo_String( Take_ID, "P_NAME", #Name_Pat, 1);//Set Name(pitch-based For Take(aka Pattern)
SetMediaItemTakeInfo_Value( Take_ID, "D_PITCH", Pattern);//Set Pitch For Take(aka Pattern)
Item_index += 1;
);
);
UpdateArrange();
Undo_OnStateChange("Change Pattern");
);
Change_Pattern();
Root_Note = 96;//96 = C6,Set root note for TRIGG(SEE "TRIGG: " IN Plugin Setting),and Change it if need
GetUserInputs("Set Pattern", 1 , "Set Pattern Number", #Pattern);//User Set Pattern
match("%i", #Pattern, Pattern);//Pattern as Int
#Name_Pat = "Pattern ";//Prefix for Pattern Name(can be changed)
strcat(#Name_Pat,#Pattern);//Prefix + Pattern(pitch-based index)
Pattern = Pattern - 1;//For 1-based Pattern Count
function Insert_Pattern()
(
Undo_BeginBlock();
Main_OnCommand(40214, 0); // MAIN section action Insert Midi Item On Sel Track
Item_ID = GetSelectedMediaItem(0,0);//Get 1-st Sel Item Id
Take_ID = GetActiveTake(Item_ID);//Get Current Take Id
MIDI_InsertNote( Take_ID, 0, 0 ,0, 960*4, 0, Root_Note, 100, 0);//Insert Root_Note in Midi Item
GetSetMediaItemTakeInfo_String( Take_ID, "P_NAME", #Name_Pat, 1);//Set Name(pitch-based For Take(aka Pattern)
SetMediaItemTakeInfo_Value( Take_ID, "D_PITCH", Pattern);//Set Pitch In Take(aka Pattern) Setting
Undo_EndBlock("Insert Pattern", 0);
UpdateArrange();
);
Pattern >= 0 ? //Check User input
Insert_Pattern();
Век живи-век учись. Ещё раз спасибо!единственный правильный ориентир-номер ноты.
fakeitback, зеленая область - левой кнопкой мыши влево-вправо - прокрутка ниже или выше base note, правой кнопкой мыши - расширение \ сужение диапазона нот, можно сделать даже одну ноту.