Go Back   Cockos Incorporated Forums > REAPER Forums > MIDI Hardware, Control Surfaces, and OSC

Reply
 
Thread Tools Display Modes
Old 09-21-2013, 01:12 AM   #1
Vendetta V
Human being with feelings
 
Vendetta V's Avatar
 
Join Date: Oct 2010
Location: Currently in Armenia
Posts: 1,114
Default Modifier keys with midi buttons

Here's the FR, please vote in there! http://forum.cockos.com/project.php?issueid=4936

The FR request is the ability to assign SHIFT CTRL ALT and may be combinations of those with a midi button/pad/key/cc/note/etc.

The modifier buttons to be used are on the actual computer keyboard not on midi.

The idea is that we often need several actions at our fingertips that are closely related such as 'nudge left by grid/nudge left', 'volume or pan control/finer control', 'pan control/width control', etc.

All these actions are present in Reaper but I don't have enough encoders (although I got 24) to afford two very closely related actions to go on two separate encoders. Nor do I have pads/buttons for that (only 8). Wish modifiers, it'd make the pads into a crazy amount.

Another example of how this would be used:
you have encoder 1 on jog/scrub. You hold shift and it's now jog/scrub fine control.

Also a midi record button, shift+record would stop the recording without saving the take. Ctrl+record would cycle thru record modes. alt+record would cylce thru automation modes. Ctrl+shift+record would toggle automatic record arm. Sooo many possibilities on a small controller!
__________________
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; 09-21-2013 at 01:18 AM.
Vendetta V is offline   Reply With Quote
Old 09-29-2013, 07:28 PM   #2
Troy
Human being with feelings
 
Troy's Avatar
 
Join Date: Jan 2012
Location: Western Hemisphere
Posts: 378
Default

That would actually be pretty cool. You could have a rotary encoder assigned to channel volume and assign shift+rotary to pan. It could really expand the function of the encoders on interfaces.
Troy is offline   Reply With Quote
Old 09-30-2013, 02:07 AM   #3
DarkStar
Human being with feelings
 
DarkStar's Avatar
 
Join Date: May 2006
Location: Surrey, UK
Posts: 19,680
Default

+1
------------------------
Just a wild thought:
Going further - "chord actions", and no need to go near the PC keyboard:
C0 + C1 invokes action A
...
C0 + B1 invokes action L
C#0 + C1 invokes action M
...
C#0 + B1 invokes action X
and so on, up to B0 +B1, for 144 triggerable actions
__________________
DarkStar ... interesting, if true. . . . Inspired by ...
DarkStar is online now   Reply With Quote
Old 09-30-2013, 02:31 AM   #4
Vendetta V
Human being with feelings
 
Vendetta V's Avatar
 
Join Date: Oct 2010
Location: Currently in Armenia
Posts: 1,114
Default

Did you guys vote for the FR?


someone actually told me that it might be hard for a CC being a shift button and affecting others. Basically because they don't have on and off states.

idk. but I think with Reaper implmenting a shift+CC is gonna be easy and won't have anything to do with the midi controller. or have issues with some of the controllers.


Cmon guys, spread this around and lets get this implemented
__________________
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 09-30-2013, 03:17 AM   #5
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

+ 1000. I do this all the time using external tools (e.g. Max/MSP, Pure data).
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 09-30-2013, 06:05 AM   #6
Vendetta V
Human being with feelings
 
Vendetta V's Avatar
 
Join Date: Oct 2010
Location: Currently in Armenia
Posts: 1,114
Default

Hey Banned, the software you mentioned. Does any of them have such things like a modifier key on your keyboard+CC on your midi controller? If yeah then may be I should give them a try for the time being? Would it be hard to setup a function like this in Pure Data?



Also, I'm so glad this thread is getting some attention finally. I totally lost my hope until the first reply appeared and now we seem to have a few votes! Not so many bt still more than I was hoping already
__________________
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; 09-30-2013 at 07:03 AM.
Vendetta V is offline   Reply With Quote
Old 09-30-2013, 07:54 AM   #7
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Quote:
Originally Posted by Vendetta V View Post
Hey Banned, the software you mentioned. Does any of them have such things like a modifier key on your keyboard+CC on your midi controller? If yeah then may be I should give them a try for the time being? Would it be hard to setup a function like this in Pure Data?



Also, I'm so glad this thread is getting some attention finally. I totally lost my hope until the first reply appeared and now we seem to have a few votes! Not so many bt still more than I was hoping already
It is quite easy to do. I'll make a simple example when I have some time and post it here. What would work best in your case? Something like: if SHIFT is pressed, increase the CC# of incoming data by 24? (So e.g. CC#1 would become CC#25 - be sure not to use any 14 bit MIDI with this configuration.)
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 09-30-2013, 08:37 AM   #8
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Simple example patch for Pd-extended that uses SHIFT key to offset incoming CC#.

You need to set Pd's MIDI input to your MIDI controller, and its MIDI output to a virtual MIDI port (on OS X, I use IAC; on Windows there are a few third party freebies doing much the same, iirc). Then make REAPER listen to the virtual MIDI port instead of the controller itself.

Note that this simple approach is a bit clumsy, as it needs focus on Pd to grab keyboard input. You probably want to keep focus on REAPER. However, grabbing the keyboard without focus is a bit more complicated; I guess this makes for an easier introduction to this approach.

I typically prefer to use a switch button on my MIDI controller, which avoids that issue; I prefer that approach anyway since it keeps all the controls in one place (no need to use computer keyboard). But that depends on having (enough) switch buttons in the first place, of course. You could perhaps do something similar by sacrificing one knob, and divide it into 2 (or more, whatever feels comfortable to you) zones, e.g. values below 64 for regular, values above 64 for alternate CC#s.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 09-30-2013, 12:46 PM   #9
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 Banned View Post
Simple example patch for Pd-extended that uses SHIFT key to offset incoming CC#.

You need to set Pd's MIDI input to your MIDI controller, and its MIDI output to a virtual MIDI port (on OS X, I use IAC; on Windows there are a few third party freebies doing much the same, iirc). Then make REAPER listen to the virtual MIDI port instead of the controller itself.

Note that this simple approach is a bit clumsy, as it needs focus on Pd to grab keyboard input. You probably want to keep focus on REAPER. However, grabbing the keyboard without focus is a bit more complicated; I guess this makes for an easier introduction to this approach.

I typically prefer to use a switch button on my MIDI controller, which avoids that issue; I prefer that approach anyway since it keeps all the controls in one place (no need to use computer keyboard). But that depends on having (enough) switch buttons in the first place, of course. You could perhaps do something similar by sacrificing one knob, and divide it into 2 (or more, whatever feels comfortable to you) zones, e.g. values below 64 for regular, values above 64 for alternate CC#s.
thanks for the post. really digging it. I'm currently downloading PD to install it then try out the patch and see where I get with it. What you wrote all makes sense but I wonder how much of that sense is gonna translate to the actual interface/pd/computer monitor.

So i'll get back quickly once I'm done tweaking.

Guess with a sacrifice of one pad/switch I gain double amount of what's left so it's still a win situation
__________________
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 09-30-2013, 01:07 PM   #10
Vendetta V
Human being with feelings
 
Vendetta V's Avatar
 
Join Date: Oct 2010
Location: Currently in Armenia
Posts: 1,114
Default

update: trying it out all makes sense now. I'm actually tempted to get the HID working but reading various pages didn't really help me get my head around it. Actually after some research I figured HID doesnt work on windows (I'm on win 7 64x) and apparently I have to use hidin object instead. Anyways help would be appreciated and this I feel really is what I'm looking for


and if that's a really tough one to do. then may be I should try going with a modifier CC switch? How would I edit your patch then?
__________________
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; 09-30-2013 at 01:50 PM.
Vendetta V is offline   Reply With Quote
Old 09-30-2013, 04:51 PM   #11
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Quote:
Originally Posted by Vendetta V View Post
update: trying it out all makes sense now. I'm actually tempted to get the HID working but reading various pages didn't really help me get my head around it. Actually after some research I figured HID doesnt work on windows (I'm on win 7 64x) and apparently I have to use hidin object instead. Anyways help would be appreciated and this I feel really is what I'm looking for


and if that's a really tough one to do. then may be I should try going with a modifier CC switch? How would I edit your patch then?
Yeah, using a CC for a modifier switch is probably easiest, at least as a starting point to wrap your head around using Pd.

I made another simple patch to demonstrate the basic concept, deliberately keeping things simple (I made it from scratch in just a few minutes): it takes one CC# (default = CC#17, editable) and applies an offset to the CC# number (default = 24, configurable) when the modifier CC#'s value is above some threshold (default = 63, also editable). So, for example, if you would find zero vs. non-zero more comfortable for a threshold value, replace 63 in the [63( message to [1(.

NB: it works on all MIDI channels (to keep things simple). But since you are only using 24 CC# knobs, that should not be a problem, I hope? Let me know if this works for you; hopefully you get inspired to build something that suits your preferred workflow even better that what you already have.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ

Last edited by Banned; 10-01-2013 at 04:49 AM.
Banned is offline   Reply With Quote
Old 10-01-2013, 01:41 AM   #12
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 Banned View Post
Yeah, using a CC for a modifier switch is probably easiest, at least as a starting point to wrap your head around using Pd.

I made another simple patch to demonstrate the basic concept, deliberately keeping things simple (I made it from scratch in just a few minutes): it takes one CC# (default = CC#17, editable) and applies an offset to the CC# number (default = 24, configurable) when the modifier CC#'s value is above some threshold (default = 63, also editable). So, for example, if you would find zero vs. non-zero more comfortable for a threshold value, replace 63 in the [63( message to [1(.

NB: it works on all MIDI channels (to keep things simple). But since you are only using 24 CC# knobs, that should not be a problem, I hope? Let me know if this works for you; hopefully you get inspired to build something that suits your preferred workflow even better that what you already have.
alright that works (I tweaked ita lot to figure what does what, still have empty spots but it makes sense more and more) thanks!

now the new issue that arose is that all of this affects my midi keys on the same controller (it's a keyboard/controller by Arturia (minilab))

So yeah midi keys don't get thru Pure data to loopbe that i'm using which goes to Reaper.

Same with program changes. They don't go thru. Plus an issue i have is I use different program changes for things like mute and solo because these are momentary switches that actually send a single param, which reaper uses for toggling mute and solo. With CC momentary I figured it sends an on state and then when I release it sends an off state so if I dont want my pad to be lit all the time (especially because I use this pad to mute selected tracks, it doesnt only reflect a single track state so I better not see the state at all on my controller)


So long question short: how would I do the following
1. send midi keys thru unaffected
2. affect program changes the same way as CCs
__________________
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 10-01-2013, 04:46 AM   #13
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Quote:
Originally Posted by Vendetta V View Post
alright that works (I tweaked ita lot to figure what does what, still have empty spots but it makes sense more and more) thanks!

now the new issue that arose is that all of this affects my midi keys on the same controller (it's a keyboard/controller by Arturia (minilab))

So yeah midi keys don't get thru Pure data to loopbe that i'm using which goes to Reaper.

Same with program changes. They don't go thru. Plus an issue i have is I use different program changes for things like mute and solo because these are momentary switches that actually send a single param, which reaper uses for toggling mute and solo. With CC momentary I figured it sends an on state and then when I release it sends an off state so if I dont want my pad to be lit all the time (especially because I use this pad to mute selected tracks, it doesnt only reflect a single track state so I better not see the state at all on my controller)


So long question short: how would I do the following
1. send midi keys thru unaffected
2. affect program changes the same way as CCs
Ok, that is not very hard to fix. On a side-note: bonus points for tweaking stuff to figure out how it works. Also, you can right-click on any [object] you see in Pd to show its Help. Once you understand a handful of the basic building blocks, it's much like Lego - you can build almost everything.

The first option is to add a [notein] and [noteout] object, connecting the outputs of the former to the inputs of the latter (so it just routes notes from input to output), and copying the stuff for the CC#, and adapting it for use with [pgmin] and [pgmout] objects.

Maybe try the first approach yourself, as a little exercise - if you more or less understand what's going on in the previous patch, it should be quite feasible to do so, now you know about the [notein] / [noteout] and [pgmin] / [pgmout] objects.

The second approach uses [midiin] plus [midiparse] and [midiformat] plus [midiout] to get all MIDI data, then routes the different MIDI event types where you want them to go, so you can change some, and then merge everything (except the 'modifier' events, of course) to the output again.

I added an adaptation of the previous patch using the second approach, as it is perhaps more instructive for wrapping your head around Pd and building your own patches. (For example, it's perhaps still overly simple, as it is still affects all MIDI channels, and uses the same offset value for CC# and program changes). I haven't been able to test it thoroughly, but it should now only 'eat' the modifier CC# events, use the modifier to adjust both CC# and program change numbers, but pass notes / pitch bend / (channel / polyphonic) aftertouch without any changes. Let me know if this works.

As a bonus, I demonstrated a few little tricks that are very helpful for understanding what goes on and 'debugging' patches: the [print] object for 'logging', and [prepend set] followed by an empty [message( object to display what is actually going through those patch cables. I typically use these 'everywhere' while building or adapting a patch, then remove them when I'm done.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 10-01-2013, 06:21 AM   #14
Vendetta V
Human being with feelings
 
Vendetta V's Avatar
 
Join Date: Oct 2010
Location: Currently in Armenia
Posts: 1,114
Default

thanks again banned, that's hella helpful!

I actually tried the patch you got me first and it told me midiin is not supported on windows.

I tried the first approach then and apparently notein and noteout work perfectly (not a big deal bidning two objects I guess hehe)

now I had my issues with the pgmin and pgmout.

but I think I got it sorted out

here's a patch I created:
what do you think?

https://dl.dropboxusercontent.com/u/...PGMmodifier.pd

edit: one more question: is there a way to run PD in the background all the time? or may be turn on when Reaper turns on automatically?
__________________
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 10-01-2013, 06:58 AM   #15
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Quote:
Originally Posted by Vendetta V View Post
[...] but I think I got it sorted out

here's a patch I created:
what do you think?

https://dl.dropboxusercontent.com/u/...PGMmodifier.pd


edit: one more question: is there a way to run PD in the background all the time? or may be turn on when Reaper turns on automatically?
Oh, bummer that [midiin] doesn't work on Windows. Your patch looks good enough to achieve what it should (bonus points awarded! ), but now you can also eliminate some of the stuff appearing twice, at least if you are comfortable with using the same modifier CC# and offset. To illustrate, I simplified your patch a bit, and added [notein] plus [noteout] objects to pass MIDI notes through.

For your other question: you can run Pd (patches) 'headless' by using the -nogui flag, either from a command line / script or as a startup flag. Bonus tip: if you're only doing MIDI processing (as in this example), you may also want to use the -noaudio flag, and you can also configure the MIDI ports this way. I guess you would end up with something like this (assuming your system lists the MIDI controller as device 1, and the virtual MIDI port as 2):

Code:
pd -nogui -noaudio -midiindev 1 -midioutdev 2 /path/to/my/patches/CCPGMmodifier.pd
I'm not sure what the most comfortable method is to automatically start Pd on Windows along with REAPER, but hopefully, that shouldn't be hard to figure out.

PS: be warned: building your own stuff may negatively impact your enthusiasm to lobby for FRs doing much the same.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ

Last edited by Banned; 10-01-2013 at 07:04 AM.
Banned is offline   Reply With Quote
Old 10-01-2013, 09:00 AM   #16
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 Banned View Post
Oh, bummer that [midiin] doesn't work on Windows. Your patch looks good enough to achieve what it should (bonus points awarded! ), but now you can also eliminate some of the stuff appearing twice, at least if you are comfortable with using the same modifier CC# and offset. To illustrate, I simplified your patch a bit, and added [notein] plus [noteout] objects to pass MIDI notes through.

For your other question: you can run Pd (patches) 'headless' by using the -nogui flag, either from a command line / script or as a startup flag. Bonus tip: if you're only doing MIDI processing (as in this example), you may also want to use the -noaudio flag, and you can also configure the MIDI ports this way. I guess you would end up with something like this (assuming your system lists the MIDI controller as device 1, and the virtual MIDI port as 2):

Code:
pd -nogui -noaudio -midiindev 1 -midioutdev 2 /path/to/my/patches/CCPGMmodifier.pd
I'm not sure what the most comfortable method is to automatically start Pd on Windows along with REAPER, but hopefully, that shouldn't be hard to figure out.

PS: be warned: building your own stuff may negatively impact your enthusiasm to lobby for FRs doing much the same.
alright all that looks good.

I'm still not getting my head around the startup flag it returns errors


pd: can't open
-noaudio: can't open
-nogui: can't open


I didn't put the mididev liens cause I'm not sure which one my arturia is (I have two midi controllers and a few virtual midis and stuff)

it does open my patch at once now though
ideas?
__________________
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 10-01-2013, 09:20 AM   #17
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Quote:
Originally Posted by Vendetta V View Post
alright all that looks good.

I'm still not getting my head around the startup flag it returns errors


pd: can't open
-noaudio: can't open
-nogui: can't open


I didn't put the mididev liens cause I'm not sure which one my arturia is (I have two midi controllers and a few virtual midis and stuff)

it does open my patch at once now though
ideas?
Hmm, not sure why that doesn't work for you. Been awful long since I used Pd on Windows...

You may be able to find out the numbers for your MIDI devices by using the -listdev startup flag and looking at the output (note that numbers change depending on what is connected or not, so make sure your controller is switched on before starting Pd). They should follow the same order as the list that is displayed when clicking the device buttons in Pd > Media > MIDI Settings.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 10-01-2013, 09:33 AM   #18
Vendetta V
Human being with feelings
 
Vendetta V's Avatar
 
Join Date: Oct 2010
Location: Currently in Armenia
Posts: 1,114
Default

alright thanks for the support man! Much appreciated! I did get it all working so now

hopefully people will implement this feature into reaper though as that'd be freaking awesome. PD does the job but it's a bit of a hassle to run two software and stuff
__________________
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 10-01-2013, 09:54 AM   #19
Banned
Human being with feelings
 
Banned's Avatar
 
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
Default

Quote:
Originally Posted by Vendetta V View Post
alright thanks for the support man! Much appreciated! I did get it all working so now

hopefully people will implement this feature into reaper though as that'd be freaking awesome. PD does the job but it's a bit of a hassle to run two software and stuff
Good to hear. And yes, of course we still want this stuff in REAPER.

If it really bothers you to use multiple apps, you could probably also achieve something similar with Jesusonic and MIDIToReaControlPath and make some sort of template.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
Banned is offline   Reply With Quote
Old 10-01-2013, 11:03 AM   #20
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 Banned View Post
Good to hear. And yes, of course we still want this stuff in REAPER.

If it really bothers you to use multiple apps, you could probably also achieve something similar with Jesusonic and MIDIToReaControlPath and make some sort of template.
guess that looks more complex.

I'll see if I can live up with PD and if not well will eagerly wait for this to be implemented once!

wish we could attract more attention to this FR
__________________
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 10-04-2013, 02:38 AM   #21
Vendetta V
Human being with feelings
 
Vendetta V's Avatar
 
Join Date: Oct 2010
Location: Currently in Armenia
Posts: 1,114
Default

Alright, bumping for more attention guys, we need a lot of people signing up for this FR
__________________
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 10-09-2013, 06:17 AM   #22
deailes
Human being with feelings
 
Join Date: May 2010
Posts: 90
Default

+1 from me for this and voted.

I would love this functionality.
deailes is offline   Reply With Quote
Old 10-09-2013, 08:22 AM   #23
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 deailes View Post
+1 from me for this and voted.

I would love this functionality.
yay thanks, you also bumped the thread which is very important.

hope more people will have their attention on this matter because I believe this is a great way of expanding the controllers possibilities without the need of buying new controllers
__________________
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 10-19-2013, 07:55 AM   #24
Vendetta V
Human being with feelings
 
Vendetta V's Avatar
 
Join Date: Oct 2010
Location: Currently in Armenia
Posts: 1,114
Default

bump
__________________
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 10-19-2013, 08:34 AM   #25
Win Conway
Human being with feelings
 
Join Date: Dec 2010
Posts: 3,826
Default

Quote:
Originally Posted by Vendetta V View Post
someone actually told me that it might be hard for a CC being a shift button and affecting others. Basically because they don't have on and off states.
Silliest thing i have heard in years, lots of MIDI is sent via CC as On/Off
0 = Off
127 = On
Various MIDI controllers and indeed hardware receiving MIDI have used that format for a lot of years.

(Some even use 0-63 as Off and 64-127 as On)
__________________
Stop posting huge images, smaller images or thumbnail, it's not rocket science!

Last edited by Win Conway; 10-19-2013 at 08:47 AM.
Win Conway is offline   Reply With Quote
Old 10-19-2013, 09:05 AM   #26
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 gpunk_w View Post
Silliest thing i have heard in years, lots of MIDI is sent via CC as On/Off
0 = Off
127 = On
Various MIDI controllers and indeed hardware receiving MIDI have used that format for a lot of years.

(Some even use 0-63 as Off and 64-127 as On)
exactly what I thought myself but then was thinking they were referring to buttons such as those on Faderport and idk why I thought it'd make sense :P
__________________
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 10-19-2013, 09:27 AM   #27
jnif
Human being with feelings
 
jnif's Avatar
 
Join Date: Dec 2008
Posts: 2,111
Default

Quote:
Originally Posted by gpunk_w View Post
Silliest thing i have heard in years, lots of MIDI is sent via CC as On/Off
0 = Off
127 = On
Various MIDI controllers and indeed hardware receiving MIDI have used that format for a lot of years.

(Some even use 0-63 as Off and 64-127 as On)
Quote:
Originally Posted by Vendetta V View Post
exactly what I thought myself but then was thinking they were referring to buttons such as those on Faderport and idk why I thought it'd make sense :P
I guess the problem is that most CC controls in typical MIDI controllers don't have hardware springs that would automatically return the control to "Off" state after using it as a "Shift".

Some controls like sustain pedal or pitch bend wheel can work well because those will automatically return to original position. But using CC faders or CC knobs as "shift" is probably more awkward because you have to manually move them back to "Off" state.

And many buttons in typical MIDI keyboards (which have the proper springs) will send MIDI only on pressing button down. Nothing is sent on button up. Of course, you could sacrifice a single piano key to act as a Shift. Piano keys will send "note on" on key down and "note off" on key up, and they have springs that will return the key to off position automatically.

jnif

Last edited by jnif; 10-19-2013 at 09:38 AM.
jnif is offline   Reply With Quote
Old 10-19-2013, 11:52 AM   #28
Vendetta V
Human being with feelings
 
Vendetta V's Avatar
 
Join Date: Oct 2010
Location: Currently in Armenia
Posts: 1,114
Default

thanks jnif that pretty much sums it up.

I myself wish it was the actual SHIFT key on my computer
__________________
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 10-19-2013, 02:28 PM   #29
foxAsteria
Human being with feelings
 
foxAsteria's Avatar
 
Join Date: Dec 2009
Location: Oblivion
Posts: 10,271
Default

would be awesome. have to set this sort of thing up manually with midi-ox and it's quite a pita!! the addition i would make would be to allow for assigning these modifiers to any key on the keyboard as well. sometimes modifiers would make more sense holding a certain letter, like 'z' for zooming just while held.
__________________
foxyyymusic
foxAsteria is online now   Reply With Quote
Old 10-20-2013, 12:39 AM   #30
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 PooFox View Post
would be awesome. have to set this sort of thing up manually with midi-ox and it's quite a pita!! the addition i would make would be to allow for assigning these modifiers to any key on the keyboard as well. sometimes modifiers would make more sense holding a certain letter, like 'z' for zooming just while held.
that's a great idea, but holding Z would also trigger a command that's assigned to the letter Z. With, shift, alt, ctrl, you dont have anything assigned directly to them
__________________
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 10-20-2013, 02:17 AM   #31
foxAsteria
Human being with feelings
 
foxAsteria's Avatar
 
Join Date: Dec 2009
Location: Oblivion
Posts: 10,271
Default

Quote:
Originally Posted by Vendetta V View Post
that's a great idea, but holding Z would also trigger a command that's assigned to the letter Z. With, shift, alt, ctrl, you dont have anything assigned directly to them
well if it were possible, it would mean reassigning 'z' to be used just as a modifier. it would work the same as assigning a controller key. it's only allowed to be assigned to one action. you're just asking that action to be a set of modifier keys.

and actually i think bome's midi translator can do what you ask for already. you could set it up to send those modifier keys when you hold a button on your controller i believe.
free version:
http://www.bome.com/products/miditra...erview/classic
__________________
foxyyymusic
foxAsteria is online now   Reply With Quote
Old 10-20-2013, 02:25 AM   #32
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 PooFox View Post
well if it were possible, it would mean reassigning 'z' to be used just as a modifier. it would work the same as assigning a controller key. it's only allowed to be assigned to one action. you're just asking that action to be a set of modifier keys.

and actually i think bome's midi translator can do what you ask for already. you could set it up to send those modifier keys when you hold a button on your controller i believe.
free version:
http://www.bome.com/products/miditra...erview/classic
well yeah that could work in that fashion really.

As for the midi translator. I actually tried to setup a PureDate preset for this exact purpose (with the awesome help from Banned!) but it ended up having latency and my keyboard controller being a keyboard too (lol) I coulnd't use it with that latency you know
__________________
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 10-20-2013, 08:50 AM   #33
plamuk
Human being with feelings
 
Join Date: Feb 2007
Posts: 3,221
Default

you could also look into Eventghost for something like this. all of these are time-consuming workarounds, though.
plamuk is offline   Reply With Quote
Old 10-20-2013, 09:08 AM   #34
Vendetta V
Human being with feelings
 
Vendetta V's Avatar
 
Join Date: Oct 2010
Location: Currently in Armenia
Posts: 1,114
Default

yeah they consume a lot of time and might as well introduce latency for some reason? :shrug:


I wanna remind you guys to vote for this FR please?
__________________
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 11-16-2013, 11:42 AM   #35
Vendetta V
Human being with feelings
 
Vendetta V's Avatar
 
Join Date: Oct 2010
Location: Currently in Armenia
Posts: 1,114
Default

bump
__________________
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 01-06-2015, 08:18 PM   #36
foxAsteria
Human being with feelings
 
foxAsteria's Avatar
 
Join Date: Dec 2009
Location: Oblivion
Posts: 10,271
Default

I think we could take this one step further and simply request unlimited "Reaper modifiers." These would be keys that when toggled or held would open a whole new set of action assignments.

This way, we would not be limited to the 3 modifiers (and their combinations) of a regular keyboard. Using qwerty keys in combination with ctrl/alt/shift/cmd is unintuitive anyway. E.g. We should be able to do things like hold down "s" as a "select modifier" and hit "a" to select all. Ctrl+a is only intuitive because it's pretty standard by now.

This would also extend the usefulness of any MIDI controller. My NI Maschine for instance already works this way in standalone mode; the center column of buttons are all momentary modifier buttons (Select, Solo, Mute, View, etc) used in conjunction with the drum pads. In MIDI mode this functionality is stripped since the modifier buttons become standard triggers or toggles.

Having any key or MIDI message operate as a modifier should streamline workflow like nothing else. Imagine how this could improve Mouse Modifiers. Hold a key that makes sense to you to perform certain types of action with the mouse.

Ctrl, Alt, Shift are pretty arbitrary, but letters and/or labelled buttons would be far more intuitive.
__________________
foxyyymusic

Last edited by foxAsteria; 01-27-2016 at 12:31 PM.
foxAsteria is online now   Reply With Quote
Old 01-11-2015, 09:01 AM   #37
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
Default

This ^^^^ +1000 !
vanhaze is offline   Reply With Quote
Old 01-27-2016, 04:57 AM   #38
aspiringSynthesisingAlch
Human being with feelings
 
Join Date: Feb 2014
Posts: 309
Default

Quote:
Originally Posted by Vendetta V View Post
alright that works (I tweaked ita lot to figure what does what, still have empty spots but it makes sense more and more) thanks!

now the new issue that arose is that all of this affects my midi keys on the same controller (it's a keyboard/controller by Arturia (minilab))

So yeah midi keys don't get thru Pure data to loopbe that i'm using which goes to Reaper.

Same with program changes. They don't go thru. Plus an issue i have is I use different program changes for things like mute and solo because these are momentary switches that actually send a single param, which reaper uses for toggling mute and solo. With CC momentary I figured it sends an on state and then when I release it sends an off state so if I dont want my pad to be lit all the time (especially because I use this pad to mute selected tracks, it doesnt only reflect a single track state so I better not see the state at all on my controller)


So long question short: how would I do the following
1. send midi keys thru unaffected
2. affect program changes the same way as CCs
great thread with some great ideas

Quick q, if you're using program changes like this, does that mean ya can't use programchange to go to preset next/previous/# in ya synths and vstis?

I've been using programchange to load reasynth presets, for example.
Are you setting up MUTE/SOLO programchanges on a different channel?

I know there's ways of setting up cc's so it affects param is the fx/track is focussed etc, just not sure EXACTLY how it's working here ^ (still trying to get my head round all this cc mapping stuff, but really like this idea with shift modifiers... probably guilty of trying to fly before I'm mastered the art of crawling)
aspiringSynthesisingAlch is offline   Reply With Quote
Old 11-05-2020, 11:42 PM   #39
lukesanantonio
Human being with feelings
 
Join Date: Oct 2020
Posts: 1
Default

Does anyone have any solutions for 2020? =D

Even though this is an old thread, modifier keys would be the missing piece to the puzzle of getting the shift+transport controls working on my Nektar LX49+ keyboard on Linux with Reaper!!
lukesanantonio is offline   Reply With Quote
Old 11-06-2020, 09:37 AM   #40
foxAsteria
Human being with feelings
 
foxAsteria's Avatar
 
Join Date: Dec 2009
Location: Oblivion
Posts: 10,271
Default

Quote:
Originally Posted by lukesanantonio View Post
Does anyone have any solutions for 2020? =D

Even though this is an old thread, modifier keys would be the missing piece to the puzzle of getting the shift+transport controls working on my Nektar LX49+ keyboard on Linux with Reaper!!
Well if you don't mind a little work, you can set up MIDI modifiers with MIDI-Ox.

I've detailed how here, using Maschine:
https://forums.cockos.com/showthread.php?t=207939

Any controller can work for this as long as buttons on it can be configured to send Program Change messages. MIDI Ox can use PC messages to load patch maps on the fly. I use this setup to momentarily change the MIDI channel for incoming notes or CC.
__________________
foxyyymusic
foxAsteria is online now   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 10:35 AM.


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