Old 08-25-2013, 03:02 AM   #1
Vendetta V
Human being with feelings
 
Vendetta V's Avatar
 
Join Date: Oct 2010
Location: Currently in Armenia
Posts: 1,114
Default SWS macros missing/flaw

Hey guys was trying to make a macro which controls the note velocity of the selected notes with an encoder rotation:

Skip next action if CC >0
Note velocity down -1
Skip next action if CC <0
Note velocity up +1

this should work in theory. However in actions list, I have the skip next action command when I select Main as Section. But the Note Veclocity is in MIDI Editor Section thus causing me to not be able to put these two commands into one macro.

Main has a command to change the velocity of the selected midi item but I need selected notes not the entire item.

Any workaround?
__________________
Vendetta V @ VMS studio
Check my music here : Avant-Garde Psycho Metal
Check my studio here : Video and Audio services
Vendetta V is offline   Reply With Quote
Old 08-25-2013, 04:37 AM   #2
gofer
-blänk-
 
gofer's Avatar
 
Join Date: Jun 2008
Posts: 11,359
Default

Use "Edit: Adjust value for events (mousewheel/MIDI controller only)" from the MIDI editor section.
It seems from your description that you have a relative controller knob there which sends a value <65 for downward and a value >65 for upward. If so, you want to set the "MIDI CC" field in the "Add shortcut" dialog to Relative 3.


But DANG!

Testing this, I can't seem to make any MIDI CC shortcut assignment work with actions in a docked MIDI editor. They only work if the editor window is undocked .
And (in an undocked editor) "Adjust value..." actually in/decreases in steps of 3 with a relative3 mode knob, no matter the actual values sent (ideally values 1/65 should do 1 step up/down, values 2/66 should do 2 steps, values 3/67 three steps and so forth). We seem to have found a few bugs here (tested in v4.402 and the current pre-release).

Last edited by gofer; 08-25-2013 at 04:42 AM.
gofer is offline   Reply With Quote
Old 08-25-2013, 06:08 AM   #3
Vendetta V
Human being with feelings
 
Vendetta V's Avatar
 
Join Date: Oct 2010
Location: Currently in Armenia
Posts: 1,114
Default

Quote:
Originally Posted by gofer View Post
Use "Edit: Adjust value for events (mousewheel/MIDI controller only)" from the MIDI editor section.
It seems from your description that you have a relative controller knob there which sends a value <65 for downward and a value >65 for upward. If so, you want to set the "MIDI CC" field in the "Add shortcut" dialog to Relative 3.


But DANG!

Testing this, I can't seem to make any MIDI CC shortcut assignment work with actions in a docked MIDI editor. They only work if the editor window is undocked .
And (in an undocked editor) "Adjust value..." actually in/decreases in steps of 3 with a relative3 mode knob, no matter the actual values sent (ideally values 1/65 should do 1 step up/down, values 2/66 should do 2 steps, values 3/67 three steps and so forth). We seem to have found a few bugs here (tested in v4.402 and the current pre-release).
woah. that's a bit messed up it seems to me.

I still wish the Relative mode in Reaper was good. like say in Traktor where you can adjust the speed and acceleration speed

EDIT: thanks that did the job!
__________________
Vendetta V @ VMS studio
Check my music here : Avant-Garde Psycho Metal
Check my studio here : Video and Audio services

Last edited by Vendetta V; 08-25-2013 at 06:34 AM.
Vendetta V is offline   Reply With Quote
Old 08-28-2013, 11:49 AM   #4
Vendetta V
Human being with feelings
 
Vendetta V's Avatar
 
Join Date: Oct 2010
Location: Currently in Armenia
Posts: 1,114
Default

Bump now the issue is with another action:

Move the cursor left by grid
Move the cursor right by grid

in midi editor that is. Is there a way to get the 'if' actions into the midi editor section too?
__________________
Vendetta V @ VMS studio
Check my music here : Avant-Garde Psycho Metal
Check my studio here : Video and Audio services
Vendetta V is offline   Reply With Quote
Old 08-29-2013, 02:09 AM   #5
gofer
-blänk-
 
gofer's Avatar
 
Join Date: Jun 2008
Posts: 11,359
Default

Normally you can use ReaScript to import actions from the main section into the MIDI editor section. But I didn't get it to work with the "skip if" actions in a quick test.

(If you want to try, the procedure is pretty easy, you'd write scripts which trigger the main section action and import the script into the MIDI section. For "Skip next if CC>0/mid the script would be
Code:
RPR_Main_OnCommand(2014, 0) #skip next if cc>0/mid
For Skip if CC<0:
Code:
RPR_Main_OnCommand(2013, 0) #skip next if cc<0/mid
Basically "RPR_Main_OnCommand says trigger this action from the main section and the first number inside the brackets is the CmdID of the action you want triggered. Extension or custom actions need a slightly different approach.)

It works fine with all actions I tried so far, but the ones you want imported seem to fail here. Could be I am doing something wrong though, as I am testing in a bit of a hurry.



Myself I use a program that bends MIDI messages before they arrive at Reapers MIDI inputs to do this stuff. Like if my relative knob sends CC60>64, then the message gets turned into CC61 and if it sends CC60<=64 it gets turned into CC62. Then I'd assign CC61 to "Move the cursor left by grid" and CC62 to Move the cursor right by grid".

I use Logic in combination with MIDI yoke virtual MIDI cables, but any other MIDI processing application plus virtual MIDI cables would work, E.G. MIDI OX.



That said: This method (splitting relative knob into two messages) is not cool with all actions, some - especially custom actions - are too slow for that. If you turn the knob fast the messages sent by the knob are cued up and executed. If the action lags behind too much can feel pretty awkward (your cursor may keep moving after you stopped turning the knob).
gofer is offline   Reply With Quote
Old 08-29-2013, 03:48 AM   #6
FnA
Human being with feelings
 
FnA's Avatar
 
Join Date: Jun 2012
Posts: 2,173
Default

Quote:
Originally Posted by Vendetta V View Post
Is there a way to get the 'if' actions into the midi editor section too?
I would like to know this too. Named command lookup on cycle actions or custom action code crashes Reaper for me. Works fine on other individual SWS actions.
FnA is offline   Reply With Quote
Old 08-29-2013, 12:37 PM   #7
Vendetta V
Human being with feelings
 
Vendetta V's Avatar
 
Join Date: Oct 2010
Location: Currently in Armenia
Posts: 1,114
Default

Quote:
Originally Posted by gofer View Post
Normally you can use ReaScript to import actions from the main section into the MIDI editor section. But I didn't get it to work with the "skip if" actions in a quick test.

(If you want to try, the procedure is pretty easy, you'd write scripts which trigger the main section action and import the script into the MIDI section. For "Skip next if CC>0/mid the script would be
Code:
RPR_Main_OnCommand(2014, 0) #skip next if cc>0/mid
For Skip if CC<0:
Code:
RPR_Main_OnCommand(2013, 0) #skip next if cc<0/mid
Basically "RPR_Main_OnCommand says trigger this action from the main section and the first number inside the brackets is the CmdID of the action you want triggered. Extension or custom actions need a slightly different approach.)

It works fine with all actions I tried so far, but the ones you want imported seem to fail here. Could be I am doing something wrong though, as I am testing in a bit of a hurry.



Myself I use a program that bends MIDI messages before they arrive at Reapers MIDI inputs to do this stuff. Like if my relative knob sends CC60>64, then the message gets turned into CC61 and if it sends CC60<=64 it gets turned into CC62. Then I'd assign CC61 to "Move the cursor left by grid" and CC62 to Move the cursor right by grid".

I use Logic in combination with MIDI yoke virtual MIDI cables, but any other MIDI processing application plus virtual MIDI cables would work, E.G. MIDI OX.



That said: This method (splitting relative knob into two messages) is not cool with all actions, some - especially custom actions - are too slow for that. If you turn the knob fast the messages sent by the knob are cued up and executed. If the action lags behind too much can feel pretty awkward (your cursor may keep moving after you stopped turning the knob).
that's quite itneresting, I'm gonna be reading up on reascript right now but could you may be give me a link on creating/importing new actions into midi section.


EDIT: a follow up, I did get to implement these actions and while they kind of 'seem' to work, they actually introduce this huge lag, and loop. So if i rotate the encoder, it just keeps doing somehting even while i'm not turning it anymore (oh and it goes back and force for some reason). Let me know if you get to succeed at implementing the 'if' parameter into the midi editor actions. that'd be really helpful!
__________________
Vendetta V @ VMS studio
Check my music here : Avant-Garde Psycho Metal
Check my studio here : Video and Audio services

Last edited by Vendetta V; 08-29-2013 at 02:32 PM.
Vendetta V is offline   Reply With Quote
Old 08-29-2013, 05:59 PM   #8
FnA
Human being with feelings
 
FnA's Avatar
 
Join Date: Jun 2012
Posts: 2,173
Default

Oops V, I guess I read you wrong. Anyway, I got it working somewhat acceptably on my Novation controller, using the relative 2 mode assigned to a main section custom action. I used SWS MIDI Editor section cycle actions for each of the MIDI Editor velocity actions rather than ReaScripts. I would guess they are faster. (ReaScript is pretty cool for a lot of things though. Check it out when you get the chance.) Since it's triggered by MIDI, it doesn't have to be actions actually inside the MIDI editor. In my limited experience, things are a little more problematic with the actions in there anyway.

Well, it's not 100% perfect. It does have some lag, and the fan on the laptop sped up when I was screwing around. LOL. But it will move 1 step at a time if I'm gentle with it. Fairly controllable otherwise, again not perfect, but I can get it to move back and forth pretty rapidly. The worst thing is it creates a million undo points. One for every triggering of the action. One note from 1 to 127 adds over a megabyte. I don't know how to deal with that really. Maybe there's a way, but judging by some recent discussions, I'm not to hopeful for it.

BTW, the stuff I complained about in the other post seems to be working now after a quick trial...I don't know what's different now, other than I'm using the latest official SWS now, rather than one of their pre-releases.
FnA is offline   Reply With Quote
Old 08-30-2013, 01:42 AM   #9
Vendetta V
Human being with feelings
 
Vendetta V's Avatar
 
Join Date: Oct 2010
Location: Currently in Armenia
Posts: 1,114
Default

hmm that still keeps me wondering how i could do the grid scrolling with the encoder inside the midi editor so that it would only scroll to the end/start of the item.

Eh dreams I guess
__________________
Vendetta V @ VMS studio
Check my music here : Avant-Garde Psycho Metal
Check my studio here : Video and Audio services
Vendetta V is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 12:45 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.