Old 10-26-2014, 02:10 PM   #1
Ian
Human being with feelings
 
Join Date: Oct 2014
Posts: 4
Default Custom action to send MIDI out?

Hi everyone,

Just wondering if there’s a way to get Reaper to send out MIDI notes (in this case, to a Novation Launchpad) using actions? I’ve built a live looping setup that involves arming/disarming different channels with different FX chains, which I do using MIDI-mapped custom actions. I’d love to get LED feedback on the Launchpad, too, to tell me which track is currently selected. All I need is a way to get Reaper to send a MIDI note to the Launchpad telling it which button to light up. I’ve searched the action list (and the SWS extensions) and haven’t seen anything that does this.

Thanks,
Ian
Ian is offline   Reply With Quote
Old 10-26-2014, 02:46 PM   #2
BenK-msx
Human being with feelings
 
BenK-msx's Avatar
 
Join Date: Jun 2008
Location: Whales, UK
Posts: 6,010
Default

hi 1st poster.. welcome.

in short yes, i do this with a (Former) dj controller i've remapped and can make the lights go on to indicate stuff.

the 'sws resources' has the ability to load in midi items you've created to its (media) 'slot list'.
then there are actions to play that 'media' through a track out to your device.
normally those lights are triggered by plain old midi notes so some testing playing notes out to it from a keyboard or some midi should allow you to figure which notes trigger what.


if the midi out of the launchpad is not in use/setup in the control surfaces section of reaper prefs, you should be ok and can send the midi notes to it from a track.

i set up a macro that loads pre set up tracks template and a play media macro (made in the s&m 'cycle action editor' ) which selects those tracks based on their name and then plays the media through them out to device..

yes its fiddly but working pretty well and my dumb controller is now pretty smart.

i can't recall my exact setup as its been a while since i did it, but can get more detail if need be.

EDIT: if you can stand hearing my stupid exagerated voice that was attempting to make up for the blurry video, i did do this video that relates to triggering a sysex out which is basically the same procedure as for a midi file, except for the creating a sysex bit

https://www.youtube.com/watch?v=vMQuBCwWvVA
__________________
JS Super8 Looper Template & intro | BCF2000 uber info Thread | Who killed the Lounge?

Last edited by BenK-msx; 10-26-2014 at 03:13 PM.
BenK-msx is offline   Reply With Quote
Old 10-26-2014, 04:45 PM   #3
Ian
Human being with feelings
 
Join Date: Oct 2014
Posts: 4
Default

Awesome, thanks. Very helpful video. Just tried it out and got the LEDs to blink when they should, so I think this’ll work. Two (noobish) questions:

1. Is there a way to use the MIDI editor to program notes that only send a “note on” message –*without the corresponding “note off”? Like a drum trigger, I guess. Note ons turn the Launchpad LEDs on, note offs turn it off. Which means just playing a single MIDI note will make the LED blink momentarily and then go dark again, whereas I want it to stay on (until I send another message to turn it off).

2. Is there a way of getting around the fact that the SWS extensions in the action list only let you trigger slots 1 –* 4? I need more than that (around 24) for my setup. Is that what you were doing by having track different preconfigured track templates mapped to a macro?

(A less elegant solution, I guess, would be to store the MIDI files in separate tracks, which I’d use actions to selectively mute and unmute. Not keen on the idea of adding another 24 tracks just to control LEDs, though ...)

Any ideas?
Ian is offline   Reply With Quote
Old 10-26-2014, 05:07 PM   #4
BenK-msx
Human being with feelings
 
BenK-msx's Avatar
 
Join Date: Jun 2008
Location: Whales, UK
Posts: 6,010
Default

no prob, glad it was of use..

note offs: i think if as in the vid you set the midi editor to list view you can just create a note on event or delete the note off event. then export that and load it to a slot.
edit: maybe not, i got around it by making a note fill an entire short midi item then using sws play media (looped) actions. tho i'm sure another midi editor can create an item with just a note on which would be better, just don't think reaper will.

slots: in reaper - options menu select 'show reaper resource path' and in that folder is a file "s&m.ini" and somewhere in there you can change the max number of media slots that show up as actions.


as you are getting somewhere also look into the 'cycle action editor' and its ability to specify an
sws console command - e.g
r-click on right hand side of the editor - insert statement > console.

then in command column type "console S*nameofmymidiouttrack " ( capital S )
which selects only tracks of that name.

that can then be used in a macro that e.g
saves current track selection - unselects all tracks - selects your midi out track - plays the midi file - restores selection.

then what i do is have a key that inserts my 'midi control/lights track template into every project ( also hiding it ) and those things combined make for a controller that executes actions etc as well as light up lights to indicate whats going on.
__________________
JS Super8 Looper Template & intro | BCF2000 uber info Thread | Who killed the Lounge?

Last edited by BenK-msx; 10-26-2014 at 05:17 PM.
BenK-msx is offline   Reply With Quote
Old 10-26-2014, 08:04 PM   #5
plamuk
Human being with feelings
 
Join Date: Feb 2007
Posts: 3,221
Default

I'm on my phone right now so I'm just going to post links

but I do a lot of advanced stuff with launchpad, bidule and reaper

this is a good summary thread.

http://forum.cockos.com/showthread.php?t=132383

for more info, search "nym launchpad site:forum.cockos.com"

there are some threads detailing my experience doing what I did
plamuk is offline   Reply With Quote
Old 10-28-2014, 05:38 PM   #6
Ian
Human being with feelings
 
Join Date: Oct 2014
Posts: 4
Default

Nym, just checked out your threads and wow, very impressive what you’ve managed to rig up with Bidule. I managed to build something similar in Max MSP, splitting the Launchpad into different modes. I also split the 8 x 8 grid into four square “windows,” so I can have, say, my loopers, mixer, FX, etc. in different corners, and swap each of them out individually. So all the MIDI comes from Max, no more problem with sending visual feedback from Reaper.

(Although it’d be great if there were a way to observe components in the Reaper API, so if I mute a track on my Mac, say, the Launchpad will change accordingly. Not so much of a problem because my goal is not to look at my screen at all during performance.)

I’d love to hear more about your setup ... How did you manage to get 500+ tracks with VSTs in one Reaper project without overloading your CPU? Do you mute/hide/disarm the tracks or something when you’re not using them? This is basically what I’m trying to do, except I don’t have any synths or samples, just my beatboxing + vocals which I loop and process with tons of effects on the fly. Would be grateful for any tips.

Cheers,
Ian
Ian is offline   Reply With Quote
Old 11-04-2014, 01:13 PM   #7
plamuk
Human being with feelings
 
Join Date: Feb 2007
Posts: 3,221
Default

hey, missed your reply.

Quote:
(Although it’d be great if there were a way to observe components in the Reaper API, so if I mute a track on my Mac, say, the Launchpad will change accordingly. Not so much of a problem because my goal is not to look at my screen at all during performance.)
distinct programmatic outputting of midi notes depending on track conditions (note off if muted, note on if unmuted, etc) and play/record states would be awesome.

Quote:
I’d love to hear more about your setup ... How did you manage to get 500+ tracks with VSTs in one Reaper project without overloading your CPU? Do you mute/hide/disarm the tracks or something when you’re not using them? This is basically what I’m trying to do, except I don’t have any synths or samples, just my beatboxing + vocals which I loop and process with tons of effects on the fly. Would be grateful for any tips.
marker actions. it's a goddamn mess but it works. as one song concludes, one marker action unmutes the next song folder. as the new song starts to play, another action marker mutes the song that just finished. there are also action markers that hide every all tracks that are not relevant.
plamuk is offline   Reply With Quote
Old 11-04-2014, 04:45 PM   #8
DarkStar
Human being with feelings
 
DarkStar's Avatar
 
Join Date: May 2006
Location: Surrey, UK
Posts: 19,681
Default

Quote:
Originally Posted by nym View Post
distinct programmatic outputting of midi notes depending on track conditions (note off if muted, note on if unmuted, etc) and play/record states would be awesome.
... or MIDI CCs (or even Sysex). Then I'd get one of these:



http://uk.novationmusic.com/midi-con...nch-control-xl
(Son of Launch Pad )
__________________
DarkStar ... interesting, if true. . . . Inspired by ...
DarkStar is offline   Reply With Quote
Old 11-05-2014, 10:42 AM   #9
plamuk
Human being with feelings
 
Join Date: Feb 2007
Posts: 3,221
Default

on topic:

can we make an informal list of things for which it might be useful to have this kind of midi feedback?

record state
play state
track mute/solo state
sends? receives?
record mode?

...at this point i'm just listing off everything on a populated TCP panel. honestly this sounds like it could be better off as a whole new extension rather than a native reaper function. have it all output to a track which in turn outputs to a midi output.


off topic:

maaan damn you Darkstar, i'd never even seen that controller before...wonder what the used market looks like for it. launchpads are the ideal thing to buy used on ebay because they're basically breakproof. the only part that i could imagine getting damaged is the USB port, which is an easy resolder.

i've forgone recording much midi cc action these days in favor of just using envelopes (gotten pretty pleased with them, even -- despite REAPER's tendency to create WAAAY more unnecessary sequential envelope points of the same value). i haven't yet tried using ccs to record/edit envelopes after failing to grasp it several years back.
plamuk is offline   Reply With Quote
Old 11-05-2014, 10:58 AM   #10
BenK-msx
Human being with feelings
 
BenK-msx's Avatar
 
Join Date: Jun 2008
Location: Whales, UK
Posts: 6,010
Default

Nym - doesn't reaper's OSC feature do all those things - seems easily (for seasoned programmatical tweakers as yourself) converted to midi if need be.
__________________
JS Super8 Looper Template & intro | BCF2000 uber info Thread | Who killed the Lounge?
BenK-msx is offline   Reply With Quote
Old 11-05-2014, 05:06 PM   #11
plamuk
Human being with feelings
 
Join Date: Feb 2007
Posts: 3,221
Default

just started getting back into OSC today

i couldn't figure out how to define/configure the OSC being SENT from REAPER. any tips on that?

it's receiving from bidule just fine, and i can see that it's sent to TouchOSC just fine as well. but there's nothing showing up in the incoming OSC monitor in bidule.
plamuk is offline   Reply With Quote
Old 11-05-2014, 05:23 PM   #12
BenK-msx
Human being with feelings
 
BenK-msx's Avatar
 
Join Date: Jun 2008
Location: Whales, UK
Posts: 6,010
Default

ah.. i played with it on debut and have setup a little 'what the last touched parameter was' display using a litte osc monitor, but been a while since have had to tweak so forgot most of it...

user Banned is the OSC guy to seek

its the reaper pattern config that you want to play with.

from memory and for any other reader, if you send to reaper the lower case stuff it returns that 'value'
__________________
JS Super8 Looper Template & intro | BCF2000 uber info Thread | Who killed the Lounge?
BenK-msx is offline   Reply With Quote
Old 11-05-2014, 05:53 PM   #13
plamuk
Human being with feelings
 
Join Date: Feb 2007
Posts: 3,221
Default

thanks. maybe banned will stop in. i've been looking in default.reaperosc for several hours and it's not very clear on when messages are sent from REAPER.

if i'm understanding correctly, upon state changes in REAPER (a track becoming muted, for instance) OSC messages are not sent?
plamuk is offline   Reply With Quote
Old 11-05-2014, 06:28 PM   #14
BenK-msx
Human being with feelings
 
BenK-msx's Avatar
 
Join Date: Jun 2008
Location: Whales, UK
Posts: 6,010
Default

on a normal project and the default config a whole bunch of stuff should streaming out of the back of reaper via OSC including states.

remembered how i tested this now: give a try. proof of concept type thing.

involves two instances of reaper:

REAPER1 is set in control surfaces to send to your local IP & port of choice. default osc config.

receive disabled. * *see post 16

2nd instance (you can use action 'spawn new instance' from main reaper to launch it)
maybe change the theme for a moment to avoid confusion and set so you
can see both reapers on screen.

2nd reaper is set in Control surface to receive OSC on the same ip and port. no sending.
then hit the 'listen' button to bring up the osc monitor of reaper2.

back to main reaper1, hit play - do things/anything. should see a bunch of crap whizzing through the OCS monitor in reaper2.
__________________
JS Super8 Looper Template & intro | BCF2000 uber info Thread | Who killed the Lounge?

Last edited by BenK-msx; 05-28-2015 at 06:55 AM.
BenK-msx is offline   Reply With Quote
Old 11-06-2014, 01:29 PM   #15
plamuk
Human being with feelings
 
Join Date: Feb 2007
Posts: 3,221
Default

Quote:
. should see a bunch of crap whizzing through the OCS monitor in reaper2.
hhhehehwhew, yup.

ok. now to find out why Bidule doesn't seem to be receiving that stuff.

eventually i'd like to free up my 16th midi channel from being control change enabled (using it with miditoreacontrolpath as a reaper pgm controller) and use all osc instead, but who knows if that's doable.

meanwhile, track activity/state would be a cool thing to use osc to create midi/led feedback for.
plamuk is offline   Reply With Quote
Old 11-06-2014, 02:29 PM   #16
BenK-msx
Human being with feelings
 
BenK-msx's Avatar
 
Join Date: Jun 2008
Location: Whales, UK
Posts: 6,010
Default

cool, it at least shows what info to expect, how it kind of works and it's potential. can only imagine its ip or port related on sender or reciever side.

a fun minor tweak to the above test setup was to activate the recieve on reaper1 and then exit the listen window in reaper2 and i was then tele-controlling reaper2 with reaper1! - e.g place cursor in 1 and it happens in 2, add an eq, tweak it, same happens.. pretty mad.

not sure of a practical use off the top of my head but had an awesomeness to it.

anyway, what i did for the last touched parameter 'info display' was to delete everything in the config file except the msgs i wanted, then use a 3rd party osc monitor as my 'what the last touched fx parameter' was display. so instead of a stream of kak i just get 'reaq eq band 3 freq' etc.

i think OSCIIBOT by cockos can be made to convert OSC to midi, not really played with that.
stuff like states / the non'text string' info should be easily made to light up a midi led etc or even one of those virtual mackie displays etc. world is your oyster i imagine with bidule etc.. (loaded it up once, not really used)
__________________
JS Super8 Looper Template & intro | BCF2000 uber info Thread | Who killed the Lounge?
BenK-msx is offline   Reply With Quote
Old 05-28-2015, 07:49 AM   #17
Jae.Thomas
Human being with feelings
 
Join Date: Jun 2006
Posts: 22,572
Default

wow! that works pretty easily. Is there a good theme which makes things HUGE so that it's easy to throw up a mixer/transport view on my tablet?
Jae.Thomas 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 04:37 PM.


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