Lua for GrandMA3 Programming Tools - One of These is a Game Changer!
Hey lighting folks! The following is the transcript from my YouTube video, Lua for GrandMA3 Programming Tools - One of These is a Game Changer!
This video is a side project to go along with my Lua for GrandMA3 Tutorial series. Please check out my channel, From Dark To Light, on YouTube, and you can find the code to go along with my tutorials here on GitHub.
Hello lighting people, welcome back to my YouTube channel! Today I'm going to do a little bit of a different video… This is not technically part of the Lua for GrandMA3 series, but we are just going to be talking about some applications and extensions that you can use with Visual Studio Code and GrandMA3, that I just recently found out about, started using, and I'm going to give you my opinions of them! So let's get into it.
So the first one, that you can actually purchase from the website AddOnDesk – they have a whole bunch of stuff there and one of them is called RunLua, and it's sold by “A_art,” something, something like that. I don't remember what their name is, but it's something like that, so you can look it up and I actually had someone donate the purchase of this plugin to me, and so I did not pay for it. Having used it, to be perfectly honest with you, I don't feel like it was worth the money; I would not pay for it again, but that's just me personally. I honestly think that other people may indeed find some value in it, so I will share the link to that. I'm not specifically endorsing it, I have no affiliation with the person who made this plugin, and again I'm just throwing it out there that it is a thing that you can use if you find it useful, and I'm going to show you how it works.
So over here in MA3 I have these plugins right over here that have these weird icons on them, and I'm going to show you exactly how those got there and why they look like that.
So I'm going to minimize that pool, go over here and open my macros pool, and you can see I have these now. Whenever you first install RunLua PRO it is going to create this macro right here, then when you run this macro it's going to give you this popup… This is just the pro version; I believe the other, slightly different versions of the RunLua plugin have slightly different looking popups because they have less options actually, such as the backup folder, I believe, doesn't exist.
Now this, apparently, I like this, this auto-saves the information you put in last time in these fields. I'm very thrilled to find this because putting this whole file path in again is not, not my favorite thing, so now for right here I can literally put in the name of my plugin and it'll keep the same drive and file path as before. I'm going to put in the ID for Episode 6 so that I can show you what it looks like when I load a new one in here. Alright, and then this is literally my second time ever using this macro and I'm not going to like explain the details of how these things work because I don't understand them that well, and also if you get the plugin all that information is in the manual, and if you don't get the plugin you don't need to know that, but I'm going to hit this button and then this is what comes up, so it says “Macro created” – it created a macro. This does not look good. They didn't design that perfectly; but anyway, it created a macro for it, and then what happens is, alright so I've got this macro right here. When I click on this macro it is going to, uh, complain that it did not find it. That does not please me. And I, I actually think the reason for that is because it was looking in F for some reason, which is not correct. Yeah it should be it should be C; F is my USB drive. I'll do that and it now created it. I guess it just overwrote the existing one, which makes sense to me. And it still didn't find it, but it's still trying to put it in F. I don't understand why. I'm going to try deleting this and doing this again. And it's still not working! and it's still saying F.
Okay guys, I actually found the error. It is that I put the wrong name in here; there's no “s” in this name, and I'm going to try that again. Now it created it, now I'm going to – what? Whoopsie, and this needs to be an F again. And, let's try that.
Now it works so… And it also immediately runs the plugin, so whenever you click on this then it pulls in the plugin in its currently saved version and runs it, and it also puts it here, so then you can run it on your own from the plugins pool as well, but honestly at that point, if you're doing this there's no need for that; you can just ignore your plugins pool entirely, you can use your macro pool, and if you go into Visual Studio Code and you make changes here then you can go back to this and click this again, and your changes will already have taken place. That is fun and fast because you don't have to copy and paste the code and honestly all of this – hang on, I'm going to reopen my plugins pool. All of this, like, whenever you're editing a plugin you have to edit, copy, paste, save, then click out of here, and then run it; that's not needed anymore. You can just click on this one thing. So your in Visual Studio Code, you hit “Control + S” to quickly save your plugin, you go over here and you click this, and it runs!
So that's super quick, easy, and fast, I just didn't feel like that alone was worth all of the cost. It was about $30 if I remember correctly. It's priced in euros and so, there was some conversion going on there, but I will share that link in case that's something that interests you.
There are other features that this plugin has such as, in Visual Studio Code there is a file that is provided in the same plugin when you purchase it that you can copy into your main folder that you keep your plugins in, and that file just contains the name of every MA3 function, or I think it's supposed to be every MA3 function, but I had a few problems with this file, and I'll show you what I'm talking about.
I just opened the file in Visual Studio Code by clicking on it from an external page, and what it says is, it is based on MA3 version 1.8.8.2, and this is the case with the newest version of RunLua, that it is still based on version 1.8, whereas currently version 2.2 has already been released. I'm on 2.1, but there are a lot changes with the MA3 API since version 1.8, and for that reason I don't feel like this is as up to date as I would prefer.
The other problem with it is, you think this sounds great it's doing like an autocomplete, and it does have references to things that you can find, but actually as far as I can tell the only effect that this is really having on things is that when you go to type, let's see, “MessageBox,” it knows to fill it in, and it has a whole bunch of other things here too. The way Visual Studio Code works is, it finds out that it can autocomplete something whenever you've used it once; so like, MessageBox is not new; I already have it in some of my files, but if you have used a term, whatever it may be, in one of your files already, that it has access to and can see, then it can figure out out how to autocomplete it. So it's only going to be helpful to have this already built out the very first time you type it; after that, once you've already got it saved in one of your files, it's going to be able to figure it out on its own anyway; and there may be more to this plugin that I haven't really figured out yet, cuz I haven't really used it much yet, but to me it's not entirely worth it. You're welcome to look into it on your own.
I'm going to go ahead and discard the changes to this file that were made by RunLua because I don't want to keep them, and I'm going to talk about the other resource that I have recently come across, which is very valuable in my opinion. I know that you're going to love this one, and it's free! So you're going to find it in Visual Studio Code; go over to “Extensions” here and search for MA3 and there is an MA3 Lua API for VS Code extension; this was created by someone who is in my Discord server and he shared this resource with us the day it was first published and I immediately downloaded it the same day, and I am so excited! I absolutely love it.
When I say I downloaded it I downloaded it on another device, which is why it still hasn't been installed here, so I'm going to go “Install” and I'm going to show you how this works. This thing has already been a game changer for me; I absolutely love it. Please download it! I'm going to show you just some of the things it does; I still don't know everything it does because I still, every time I use it, I'm like “Ooh, and it does this! Ooh, and it does this! I didn't know that before!” and it's really exciting, and he's also continuing to make improvements to it.
So if I go in here… Alright, it took it a minute, but now it has updated with some of the changes that this extension is like, pointing out things, so, okay, I haven't even seen this before, like this is actually including an example! This is awesome. And then you can hover over variables and it'll tell you, this is a global variable, and it doesn't think that it should be a global variable.
I haven't I actually haven't seen this message before either. And then this one right here is also, I guess… So I guess they're expecting your global variables to start with a capital letter. I didn't know that that was an issue, actually, but uh, okay.
And then, um I… Let me see if I can find an example of one of the other cool things. It does, like, tell you, this is a table field, whatever, this is a table, another thing that this did is it turned these table values when I create a table the right color. They should be this color because whenever you type out a table it makes table values, or table indexes, green, and it was kind of inconsistent and confusing that these… These are strings! That these strings were blue, which is the color of variables. Now they're green. I love that, it makes it better for readability and understanding what's going on.
But it'll give you little tips about things that you should change. There it'll give you an option to go to references; show you all the references to a specific variable or whatever, and then you can also click on them and you can change them in here without scrolling away from this. I love it! It's going to make things so much faster.
There are all kinds of little helpful hints and, and pieces of data, and it, like, recognizes MA3 functions, and I think, it may not be like 100% accurate on everything, but it's also open source; you can contribute to the file in GitHub. I don't know when I'll have time to do that, but I'm planning to try to help with filling out some of the information that's missing whenever I have time. But this is really fantastic and I would definitely recommend downloading it. I mean, it's totally free, and like I said, for all the time that I've been doing Lua, this is a game changer more than anything else I've worked with, so you definitely want to try it.
Well, that's all I have for today, folks, but please join my Lua for GrandMA3 Discord server because, like I said, I mean, the person who shared – the person who built this resource, actually, shared it in that server, and it, I mean like I said, it was a total game changer. I also heard about the RunLua plugin from someone who shared it in that server, and it's just really great to have that community and be able to share different things and ask questions and help each other, and so, please join that and I, I would really love to see you in there. The link is in both the video description and at the top of my channel page, and I will be releasing another video for the Lua for GrandMA3 tutorial series this coming Friday, so I will see you in that video; until then, happy programming!
Comments
Post a Comment