 Welcome to the show, it's me, John Park, and it's time for John Park's workshop. That's where we are right now, we're here in my workshop and we're gonna build a couple projects or look at a couple projects today that I've been building. We have a Circuit Python Parsec, brand shiny new. I've got a little recap of a product pick of the week as well as a couple other announcements. And I have some hot tea. Ah, delicious. It's slightly rainy here in Southern California today, so I felt like hot tea was the way to go. Thanks for stopping by over here in the Discord as well as our YouTube chat. If you are wondering where the chat's happening, if you're on one of the other streaming platforms such as Twitch or Periscope, if that's still a thing, LinkedIn, some other places, Facebook. I'm not watching those chats, but I am watching this one here in the Discord where apparently Lars has joined the Miyazaki universe. Wow, that's awesome, Andy, very funny, I like that. Lars is just right back there chilling out, staying dry. What else? We've got a help wanted sign up here and that's because we have our Adafruit job board. So if you head on over to jobs.adafruit.com, you'll see this and here you'll see some job position openings as well as a place to go and post your resume if you're looking for work. So head on over there, look and see what's new, what's going on, a little quiet over there lately. So post a position if you're looking to hire someone. It's entirely free to use, it's entirely free to post a position and it's all vetted through Lady Eda and Phil, PT, Mr. Lady Eda, so you know it's good. Also, let's see, we've got the product show that I do on Tuesdays, that's JP's product pick of the week and I had a really cool one this week which is this here macro pad starter kit. So that comes with the macro pad, the enclosure, the key plate, key switches, key caps, some hardware, knob for the encoder, some little rubber feet and that was half off during the show. So if you're not familiar with it, the way the JP's product pick of the week show works is we actually broadcast from inside of the product page. So at the top of the show, I let you know where to go, what that URL is. Let me go over the sort of history of the product by stepping back into a video by LeMore when the product was first released and then I usually go and grab one and do some demos and it's generally speaking, a huge discount during the show. It's only good during the show, you can't dally if you wanna get that one, it's not like a coupon code that goes until midnight. It's just during the show, you can usually get things for half off, so that was the case this week for the macro pad and here's a little one minute recap I did. The macro pad starter kit comes with the board, enclosure, keys, key caps and knob as well as some extras like bumpers and screws to put it all together. I'll go ahead and plug this in with USB-C. When I'm clicking it right now, I'm just doing a brightening of all of the NeoPixels. You can see it's really fast and responsive. I've got some of these keys hooked up to my software's camera controls so or layer controls inside of the broadcast software. So this will switch things around as I press it which is a really nice use for this which is as a camera switcher. I have the code that's running on the board and I also have a little separate file which is my key map file. Here I say what color the key is. If you see here the example of key number nine here it sends shift eight which is the star. So you can layer up your macros with this. The macro pad RP2040 starter kit. Yeah and I've got those, I've got a couple of them. I think I had more and I can't find them. Did I put them into projects? Who knows? But I had a few of them because I was doing all of the demos for Adabox. But I do have this lovely one that I made a little case for sitting right here that was my Ableton Live controller and they also make for really good button boxes for camera switching like I was showing. Let's see, next up why don't we do, let me get a little setup going here. I'm gonna focus my down shooter so that we can do a circuit python parsec. If you're wondering why I'm always looking at the right, I have a tiny little monitor that shows me what's on my little down shooter and that's nice to look at for getting focus better than the device itself. All right, so let me grab a coding window and off we go. So check it out. Let's circuit python. Okay, for the circuit python parsec today, I wanted to show how you can use some loops and the range command in order to create LED patterns. Here you can see I've got a little neopixel ring and there's a cutie pie that's driving it and I have it under some diffusing acrylic here to make it a little more pleasing to look at. And what you can see is I'm gonna go ahead and just make one quick adjustment here and then run my code. So right now we have essentially a green LED on slot one and then everything else is set to red. Now, what happens if I change my little interval values here I can do things like have every other pixel set to my first color, let's save on that and then every third pixel will be set to my odd color. And the way this works is that I'm importing neopixel, I'm creating some color definitions and then I have a ring of 24 neopixels. Then I set a couple of variables called even interval and odd interval. And then here is where I am lighting them up. For example, if I just turn these off and hit save, we're gonna see is just the odd pixels and I'm doing every other, or sorry, the even pixels, just the even pixels, every other one is being lit up. So if I say let's light up every one of them, my interval is a step size of one and now we can go down to let's say three, we'll get every third one lit and you can add on top of this. So let's say I want sort of a Christmas wreath, holiday wreath kind of look. I will set every pixel to green but then every third pixel will get set to red and as I make that step size larger, we'll end up with a more sparse looking wreath. So here you can see it with every pixel as green and then second later I'm drawing in that second set of them and that's every third pixel. So now if I change that, how about every sixth pixel is gonna be that odd color of red. Give it a second, I'm giving a little pause and there we go. So the way this is working is that for each of my little ranges of neopixels, I have this for loop for I in range and then I have the essentially the start and stop number of LEDs and then the interval, which is the step size. It runs through and it sets those to green and then only at the end does it do my little show which lights them all up. If we remove this sleep here and let's set that number back down to how about every other one. Now we're gonna get every other one lit up red and it happens instantaneously. And so this is how you can use a loop along with the range command in order to light up patterns of neopixels and that is your circuit Python Parsec. All right, so I'll probably extend this and do it with some animation at another time you can see that there's always plenty of ways that you can light things up using code, using circuit Python and rather than getting really laborious like saying here's a big list of pixels that are gonna be red and here's a list of pixels that are gonna be green you can instead use these little loop tricks in order to make your patterns. All right, let's see. Let's now jump into some projects. So I've actually got two projects that I've been working on that are both kind of coming to completion at around the same time. So one of them is an update on my Pip Boy. So let me jump over here to the work bench. Let's see, I want these views here, that'll work. And let's take a look at my little Pip Boy 2040, some stuff out of the way here. I got multiple projects, so lots going on. So this here is my Pip Boy kind of in its final form. So I'm gonna go ahead and turn it on. I haven't charged it in a while but I haven't left it on either so it should all come on. So what you'll see is this has this little boot up sequence and I'll just zoom the camera in and focus here, something like that. So the Pip Boy is traditionally a Raspberry Pi based project that is based on the Fallout video games, little sort of personal assistant on your wrist. This one I decided to make as a much, much smaller, simpler version. It does a heck of a lot less. It's mostly really just a display prop because I'm just using a sort of slideshow to adjust my images. Let me turn off this fan because it is blowing the camera around. So I'm gonna give that a second. It should stop shaking. Tighten that. So this you can see here. Let me roll up my sleeve. I don't have a very big strap but you could put a really big strap on this to fit it over clothes, which is a cool kind of fallout type of look. So I'll tighten this up under here and what we get is cool, kind of clunky Adam Punk sort of watch. And I've got the little joystick on there. I've got buttons that I can use to adjust the graphics. I've got an on off switch here. Batteries built in, we can power it and readjust the code or change the images using USB-C right there. And it's up to you what you wanna do with it. It's sort of a platform that could be used for a lot of things. Now I've shown this over the last few weeks. The last thing I wanted to show is just the completion of this case here. So if you, in fact, look here, this was a previous iteration of the case. And rather than take this one fully apart, I think I'll just show how that case goes together. You can imagine the guts going into it. So the circuit and screen and joy feather wing, feather battery, all of that, I screw to this top plate here using M2.5 nylon screws and nuts. Got eight of them there. Once that's on, we can then sort of assemble and sandwich. By the way, you'll notice there's a mismatch in some of these. These were some test prints or parts of my evolution of the design there. So you'll see some things are a little different from part to part. And the base here then goes on the bottom like that. And then I needed a way to keep all of this stuff together. So sometimes a nice way to do this is just with a screw and washer and nut. I decided in this case to actually use some heat set threaded inserts. I just have one of them on this one here and then run some screws up from the bottom. So if I assemble this in parts, you'll see base, these kind of walls here. So slightly tight fit on that one. And then at the top, I've got this threaded insert that we can screw into. I can't remember. I think this one might have some solder on it. Unfortunately, this was something I learned is you have to be careful. If you're using one of your regular soldering iron tips with the heat set screws, you can end up with solder inside the threading, which makes for a rough going. So let's see, let me grab a proper sized bit for that and I'll drive that in. So this one's a little difficult to screw in because there's a little bit of solder stuck on the inside of the threads of that one. Now you could get screws that are the right size. You could also get cap head screws. So you don't have these big sockets sticking off the bottom, which is probably a good thing. It's not terrible for wearing, but it would be nice with some lower profile screws than that. The excess on the top though, I decided it looked kind of cool added to this sort of chunky aesthetic. But again, rather than use a nut up here on the top, I decided to use what I had on hand that happened to look cool. And that is just an extra one of these threaded inserts happens to be perfect sized. Just rest on top and I get this contrast sort of the brass and the zinc coated steel of this screw. So that's how that's assembled. And then I just have four of those running through there. I tried to make this one as low profile as I could so it doesn't bump into your wrist. So depending on how high up, I also moved the wrist band slot over to the right a little bit to kind of get this away from impinging on wrist motion. So that's that I'm gonna, at this point, just clean things up a little, upload the model files for this. And I've got the guide just about finished other than the assembly page. So I'll create a page of how you put that stuff together so that people can follow that. And you'll be off to the racism. And by the way, one thing I'll point out is there's no custom circuit board in this one. I considered it, but was able to get everything mounted without too much difficulty onto a feather wing tripler that's under there. So the screen plugs in, the feather wing plugs into the feather which is already on the board there. So that's that. Also by the way, I left this open right here so that I could have access to the on-off switch. I also liked the aesthetic of leaving it open. Almost looks like a repair happened at some point in the game universe. You could adjust this model to have a complete enclosure there and then have maybe a single hole for the on-off switch or extend that button up or put a side slot in for that. There's a lot of ways you could make that, but I decided to go for this open look which means you can also mount other things like if you want to mount a speaker or some other things, a big glowing LED in there. We've got space and circuit board to do it. So that's the Pip Boy, that's what's going on with that. And let me know in the chat if you've got any thoughts or questions. Oh, that's a good one. I, looking in the chat here, Todd Bot, hi Todd says, I like using the threaded inserts as an aesthetic knob feature, could make them cap sense, touch buttons maybe. Very cool. I was also thinking maybe not on a practical level, although potentially, but if you take some nice short alligator clips, you could use them almost as like little patch cables. Let me look, I have a little drawer alligator clips here. Do I have any short ones? Let's see, can I switch my camera? Oh, that's not connected. Hold on, let me switch cameras here for a second. Show you what I'm on about. The, where'd all the short alligator clips go? This is the drawer of alligator clips and some banana clips got in there somehow too. Yeah, that's not a real one though. All right, well, imagine if you will, this sort of thing where we clip on and clip on, it might be cool to just leave on there. Could also have that do different functions if you were actually reading these, maybe as cap sense or just as a switch to ground. So, possible for sure. Yeah, you can do some cool stuff with that. Where'd all the short alligator clips go? Determined to find one. I think they're all on my work bench inside. Oh well, yeah, but that's a cool idea, Todd. I like that cap sense idea. Might be easier to pull off too. All right, let's see. Other thoughts and questions and comments over in the chats. The Backwoods engineer asked, is something on sale right now? Asked over in YouTube. Nothing, no, there's not a sale associated with this show. There is gonna be an Ask an Engineer tonight. Usually that's on Wednesdays, but it'll be tonight at, I believe, eight o'clock Pacific time. And they, generally speaking, have a coupon code for saving some percentage of your cart. James Mintier asks, can you play Skyrim on it? Doubtful. That would be pretty tricky. All right, so now what I want it to do is dive into a little bit the other project that I've been working on, which is the Neo Controller. So let me just use this camera for now. Then we'll come over here and assemble it, but this is a good way to look at the guts of this thing. So this right here, this is my assembled Neo Controller. So this is four Neo Sliders. Those are all on separate circuit boards and one Neo Key, one by four, which is also its own little separate board. I had one of those. No, I didn't bring it in. But these are I squared C devices. So each of them has a small chip on it, AT Tiny 8X7 in this case, and it's a SAMD, I forget which one on this one, but we're moving to these AT Tiny's because we can get them. And essentially this thing has analog pin read for this slider, and it also has a digital out Neo Pixel pin all built onto here. And then its communication happens over I squared C. So all of these are sort of daisy chained to each other using these little Stemma QT cables. One to the next, to the next, to the next, to the next. They have unique I squared C addresses and then those plug into the feather here. Oh, by Mr. Certainly, Bruce has to run. Take care. Thanks for stopping by the chat. So I get four Slide Potentiometers, or faders as they're sometimes called that have each got four Neo Pixels in them. You can kind of see them under there. You'll see them better when we light this up. And then four mechanical key switches. I'm using Kale Box Blacks here in this case, similar to a Cherry MX Black. It's a linear, stiff sort of linear. And then this Feather RP2040 connects to all that stuff just over that little bitty cable. So there's nothing, there's no circuit board under here. There's nothing to solder. It's actually a plug and play as it gets, which is really cool. And then by creating a little base for this, and I have a top for it that we'll see in a second, you get a nice stable thing rather than wires hanging out. Oh, here's one of them. So you can see that's a Neo key on its own. Has the four underlit Neo Pixels that point up through the board. And then these are socketed. So you don't have to solder your keys in. You can plug and play with those. And that allows you to change your mind later about which keys you're using, as long as you don't bend them like I just did. There we go. So that's how those work. There's one of them right here. And then I also made a little three printed plate for it that holds the key switches in place so they don't wiggle out, which otherwise is pretty easy for them to wiggle out. The face plate for it, I'll show you, actually, let's jump over here and we'll assemble it the rest of the way. Actually, before I do that, let's turn it on right here right now while it's open so you can see the guts in action. And so you'll see when it starts up, I get lights on the four faders and I get a light per key. You won't see this do anything right now other than maybe change its light. So I have these at this kind of amber color. And then when I press them, they turn blue. The faders just get brighter or dimmer, but not all the way off as I use those. And you can use multiples at a time. It reads all of that, essentially simultaneously. And let's put it together the rest of the way. Then I'll show you what I've actually got it doing, which for change is not talking to a synthesizer, but it is still using MIDI. So there's your clue as to what's gonna be going on with this. Let's jump over to you again right there. And I made the case for this out of our laser cut acrylic, LED diffusion acrylic that we sell in the Adafruit store. I love this stuff. It's got one side that's kind of shiny and one side that's kind of matte finish. It looks fairly opaque until you shine lights up through and then you can see the lights really well. So there you can see I've got my little cutouts that I made and this is a file I designed inside of Rhino taking some measurements of things. And I also used a 3D model that the Ruiz brothers made of the NeoKey and it happens to be identical size to the size and hardware placement for the standoffs to the Neo slider. So I was able to essentially reuse that model. Thanks guys. And then I've created some holes here for some M3 standoffs. That's how these are connected to the board. Everything else is M2.5 to hold things down. So I'll just place that on there. Fits over those little slider stems. Let's screw the top on and then we'll add our key caps and fader caps. They're just a little bit, but can I focus? There we go. That's kind of focused on the wood grain. That's close. All right, more of these. And these are little nylon kits. Someone mentioned last night on the chat during show until they didn't realize Adafruit sells these hardware. I think it was Bruce actually, Mr. Certainly. So there are nylon standoffs, nuts and screws in two sizes and a couple of colors on the Adafruit store. And now you can use different key caps. I've got these windowed key caps. They have a little light pipe that you can mount them any direction you want. I'm putting them sort of sideways here because that's where the LED is on that NEO key. And then these are the little fader caps. Let's just pop on there. There we go. It's not on perfectly straight, is it? And there we go. So we're in business. And now the question is, what can we use it for? So first of all, I'll mention that this is a fairly easy design to work with either in a sort of vertical orientation or horizontal. It kind of depends on what you're doing. And excuse me, tea break. If you're using it for mixing types of things, audio mixing, then vertical faders make a lot of sense. That's pretty typical. I'm gonna use it actually for color grading inside of Lightroom. So color grading photos or color correction, post-processing of your photos. Lightroom is a great app for essentially developing your digital photos before you publish them, put them somewhere, print them. So I usually take photos of my projects or other things and then go through Lightroom to do some cropping, adjustments, color correction, color grading. And so for this, I like the horizontal layout because that mimics the types of sliders that we have inside of Lightroom. And it's Lightroom Classic that I use. I don't think this project will work with the regular Lightroom. I think it might be a free one because we have to use a plugin to be able to tell a MIDI controller. So this is in fact still gonna be sending MIDI. Tell a MIDI controller how to control Lightroom Classic. And I don't think that function exists in the Lightweight version of Lightroom. The keys we can also use to send states to it to run an action of some kind to tag things, to adjust your ratings on a photo so that you can organize things better. So I'll show you how I'm using those things. We've got our nice little USB-C right here that we'll plug into. And then I will show you how this works in Lightroom. And we can also talk about the code that we have running on there, which is identical to the synthesizer type of code I was using. Let's go to our down view here and plug this in. Now actually I've got a camera view here. Let's go to this. And I'm gonna go to Lightroom right there. All right, so it seems as long as this thing is on top, it'll kind of work. So it's a little tenuous because I think this uses, maybe this uses OpenGL for some of its stuff, but not all of it. So the UI can get a little funny trying to capture it. It's like trying to capture a game. So let me move this window over here. Okay, so what you'll see here, I have a photo. And what I'll do is I can pick a different photo. Actually let me instantiate the plug in. There we go. Okay, so here are the things. There's a million different, not a million, many, many hundreds of things you can do inside of in Lightroom. And what I've picked for four buttons and four sliders is to have them just always assigned to one thing. This makes it a fast, easy interface to use rather than sort of have four different functions sets or layers depending on which button is pressed. You could certainly do that. But for this demo at least, and for my use, I think I'm gonna have it just one function per piece of hardware on here and not worry about states of things. So I've got the left most button here selecting different photos. So this was a photo shoot I did a few years ago with my friend Joel of a light painting Gizmo. And you can see we're a little zoomed in, but that's okay because that's what I've got my other two buttons here for, which are zoom out and zoom in. So I can zoom out there and that's gonna remember that state as I go to different photos. So let's go, let's actually go back to one of these. This is a pretty good one to use. So I'm gonna zoom in here. And now the four controls that I have on here I'm using for some really common corrections that you do when you're first editing a photo. And that is adjust the exposure within the limits of what digital info you've got there. You can adjust the exposure of it as if you had a higher or lower exposure while you're taking the photo. I'm gonna adjust the saturation. I'm gonna adjust the color temperature, which is either cooler or warmer. And the saturation, I think that's what I picked. So here you can see if I just grab this slider and start adjusting, I can really knock down the exposure, which is kind of cool for this one. You can just barely see that guy back there, but it's mostly focused on the light streaks in the front. And now if I start to boost this or drop this color temperature or boost it, I'm gonna go between favoring blues or favoring reds. Let me bring the exposure back up so you can see that a little better. So here's the photo as it was taken with boosted exposure. Here I can make this a little bit warmer, a little bit cooler. And this is often subtle stuff. Unless something has gone wrong, your white balance should be pretty decent, but there we go. That's a little more natural white balance for me there. And this is gonna allow me to adjust saturation. So if we're going for kind of a black and white look, you might boost down that exposure and take the color out of it or really goose it there. And then the contrast, if I bring my exposure back up, you can see pushing the contrast way up, gives us really black, black, or we can flatten that exposure or rather that contrast to sort of gray it out. So this is really nice because you can imagine otherwise you are scrolling through an interface. Most of this stuff I'm doing is right here in one tab, but you're clicking with a mouse and you're dragging. It's nowhere near as quick as some physical controllers here. You can say, you know what? If I start adjusting this like crazy, I want to maybe increase my exposure and increase my contrast. And you know what? That's too warm. Let's go a little cooler on that. Oh, did I lose connection with it? What happened? I don't see it changing. Oh, there we go. It caught up with me. So the plugin I'm using here, you can see here, this is called MIDI to Lightroom and it is a free and I believe open source project. We'll take a look at the page for it in a second. And as I touch controls on here, let's go to a previous photo. You can see when I hit this, it sends a MIDI note 40, which normally would be playing a note in a synthesizer, but instead that's being used by MIDI to Lightroom, which is a plugin which then tells Lightroom to run one of its functions. So here I'm going between photos. Here I can zoom in, way, way in or out and then start adjusting things like the exposure. And you can see it's pretty quick. It's pretty responsive and the plugin highlights whichever control you're using right now. Let's say we want to adjust something else. So this is a pretty simple interface for changing what your MIDI controls do. Let's say instead of going to the previous photo and the next photo, I want to jump into my crop tool, which I use a lot when I start out. So if I hit this one, I know, okay, that's MIDI note 40 right here. I click next to it on a dropdown menu and that brings up pretty much everything you can do inside of Lightroom, all of the menu items, all the tools. So if I change over to, unfortunately I don't think it has a search function and I can't remember where the crop tool lives, but let's find it. It's not gonna be there. Is it a transform? No. Is it right in quick develop or develop? Probably. Anyone who knows, tell me. I had this earlier. Let's see. Oh, you know what I'll do? In fact, if I don't find this right away or even if I do, I'll show you, you can save these as presets and I have one saved that I had the crop tool in. Develop. Show, group, map. Tool, basic. All right, so I give up on trying to find it in there, but if I go here and click on load, I have a previous little set, so you can say it's an XML file and now I have crop, show, crop for note 42. So if I'm here, let's go back to this photo. If I hit this second button, I go between the crop tool and not the crop tool, which is great, it's perfect. So now I can head into crop. This is gonna do a constrained crop by default to a headless guy there or whatever we want. And now it jumps back out. These I still have on Zoom. So you can see it's sort of a non-destructive crop. It leaves the info there so you can change your mind about what part of the photo you're looking at and then jump back out. So that's other than searching to find them and now it can go in here and load back up that previous one that I was using. So depending on what your needs are, you can store these and share them with people. Also, just if you're not familiar with Lightroom, a nice thing about it is that it is sort of a history-based program, so it maintains a history of changes you've made to a photo. So if I double-click, I've gone back to, that's the original, that was the one I started with in this session, at least now I can go and start making my changes again and it builds up and saves that history. So it's essentially non-destructive editing. All right, so let's look at where this comes from. I'm gonna jump over to a couple of new windows here like that and move this one over. I just wanted to check the Discord chat too while we're at it, see if there's any thoughts or questions. Yes, so how do you link the data from the hardware to interact with the software? It's this plug-in MIDI to Lightroom and there's a couple of programs that can do this. This is the one that was recommended to me. So let's have a look at it in, right here, it's RS Jaffe, it's MIDI to Lightroom. It's assets are right here for downloading and install are either for Windows or Mac OS. There's no Linux one because there's no Lightroom for Linux, so sorry. And there's also a little manual here that tells you how to use it. You essentially run it, give permission to Lightroom, it's installed as a plug-in for Lightroom and then it brings up that little interface that we had that allows you to assign your MIDI control. You can change what MIDI numbers are coming out of your device. If you have one that doesn't allow you to change them, you can, oh, my camera froze. What's going on there? Hey, uh-oh, I've angered it. Let me check the chat. Yeah, all of my cameras are frozen. All right, I attempted fate by showing that stuff. Let's see if I can make a new camera here. Let's see, are any cameras working? Yeah, that camera's working. All right, it's just my FaceTime camera. That's weird. Let's see. Well, you know what? You won't see me, but we'll look at the code. I'll put a still photo of myself there on the side. Let's see if I can change this real quick. Hold on. Come back. Nope, still frozen. I think that's gonna stay that way. So I'll go to the other camera to say goodbye, but before I do, let's look at the code here. So, jump back over to Adam. Let me open up code.py. You have to close that and reopen off of the device. There we go. So this will look an awful lot like the code from last week because it's basically the same. So I have, I'm importing essentially seesaw stuff to be able to read the sliders and NeoKey stuff and NeoPixel stuff in order to talk to those LEDs. And then these are the MIDI things. I'm using control change CC and node on and node off. I set up all of my addresses for the four I squared C devices. And then I set the pin on each slider is pin 18, which is the one we're reading for the analog fader. And then we also have pin 14, which is the NeoPixel strip. There's four NeoPixels there on that one strip. And then the setup of the NeoKey is similar. We just tell it which I squared C bus it's on and then I'm setting up a color for fill. I'm then setting up MIDI and I set up my MIDI CCs. Those are the sort of MIDI channel numbers that things are going out on zero to 127. And then in my main loop, I'm just checking all of the keys. And if one of them is clicked, then we send the MIDI number that's associated with it up here in my list. Where'd it go? Sorry. Somewhere here I have a set of MIDI numbers. Where'd you go? That's mysterious. Oh, there they are. So yeah, the keys are sending MIDI 40, 42, 43, 46. And then when I move the sliders, they're taking the slider range, which is zero to 1023, converting that with the map range from simple math to zero to 127, and then sending those out as the appropriate control change number. So this is identical to if you have a synthesizer running, if I actually run a synthesizer, it'll probably play as I use this in Lightroom. And that's one of the cool things about using MIDI for this kind of stuff, is that unlike USB HID stuff, it doesn't matter which application has focus, you will get the MIDI numbers sent out sort of system-wide. So that means I don't have to have Lightroom on top in order to change those values. I don't have to have a synthesizer app on top or with focus in order for these values to change things. Let's tempt fate and we'll go back to Lightroom and I will also open up a synthesizer, because I just like to see if things will break. Let's see, what was that one I was using the other day? The Realistic MG1, the best RadioShack synthesizer emulator I've got. And you won't see this, but you should hear it. Let's set it up, turn on my little amp here. And so you can see now as I, oh, you did see some of the synth there. Okay, good. Let's make that small. All right, you'll see we're now running Lightroom with music at the same time, so. And that's the magic of MIDI is that it's gonna send out all over the place at the same time. All right, well, here's a blurry me. Let me close this window here. Signing off, sorry for the weird camera stuff. Thanks for stopping by today. I'm John Parks, this is your Ben John Parks workshop and I will see you next time. Don't forget to tune in tonight for a very special episode of Ask an Engineer, which is happening at a weird time and a weird day, actually a normal time, eight o'clock Eastern time tonight. And then tune in tomorrow for a deep dive with Scott. I'll be back next week on Tuesday with another JP's product pick of the week. And then I think the following week, it'll be vacation time for the holidays. So I'll be out of here sort of the week before Christmas, I think, or yeah, somewhere around there. I'll let you know. Thank you everyone for stopping by. I'm John Park, bye-bye.