VST UI: Had a neat idea involving Lottie and FloatingPanel/Analyzer
-
Hi All,
I had an idea after watching @d-healey's video on Lottie animations and controls[1]..
Would it be possible, to adjust the lottie animation, and have that key off of Analyzer (for example, music goes through your VST or device, the lottie animation now moves/bounces with the audio)
In David's awesome tutorial, it shows how to map a knob, generate the proper callbacks and also hide the knob, giving the illusion that the "skateboard dude" is the control.
i've got the lottie built already, I just need to figure out how to tie in the audio variable of the spectrum/scope and make that drive the animation.
Thanks again in advance.
--FD1
[1] - https://www.youtube.com/watch?v=5aFbxEY2eRQ -
@bandit_FD1 I don't think you could do it using the analyser tile. You'd probably need to write your own analyser from scratch. You could tie it to the incoming volume level though using a peak meter floating tile and styling it with LAF.
-
@d-healey Ah! Yeah dude, i'm still a padawan level HISE user, so I don't think "from scratch" would be an ideal project for me at present :) But, as long as there was some movement generated, I wouldn't mind keying it off incoming volume. Is there something you can suggest I peek at in an effort to key off that and feed that into the LAF? BTW i'm I'm thinking of making the LAF the entire UI, so the entire device is going to be animated, when the volume level hits (Granted I don't need to display the volume, just key off the value, from there I could figure out via the frames or the other variable to show the animation so it doesn't look like it's skipping)
Anyway! Any help would be greatly appreciated just as a starting point. Thanks!
--FD1
-
@bandit_FD1 There was a post recently about peak meter laf, search the forum it shouldn't be too difficult to find.
-
You can isolate individual bands in scriptnode, add a peak node for each and point that peak node to an external display buffer. Now you have peak data for each band.
If you want to use analyser data, you can tie it to the path in the analyser LAF. The curve itself is a path object, and there are methods in the Path class that let you check if a point is in the path. This is a very simple way of doing this and is not super ultra precise (you're just measuring a path using a log function to pick at the correct frequencies) but for graphical stuff it will do. If you really need correct levels for specific frequencies (e.g. exactly 525.8 Hz) you're gonna need to use the FFT class object, and that's a bit of a wild west.
I haven't done any of these things myself, but they should work, in theory.
-
@aaronventure Thanks for chiming in on this one.
I'm all for doing the work, I just don't know in which direction to go. I'm not really a developer (I'm more a sysadmin/Linux/bash/ansible automation engineer) - That said, I also produce music and run a label.
When it comes down to breaking out the code editor, obviously you folks are hardcore ninjas. That said, I primary have used HISE just to chain multiple effects, match controls and UI to those under the hood settings and also learn a bit more about the actual knob control, or generating filmstrips for UI, etc etc. The WYSIWYG portion of HISE has been pretty cool, but i'm still for the most part a novice, so when it comes down to writing actual code to make this thing do anything useful, i'm still very green.
That said, I think maybe, it would be a benefit (and it's already been done a number of times here) that if someone comes up with an idea, (in this case me) if others on the forum would be willing to pitch in, I'd gladly do the bits that I know how to do but also work with individuals that are interested in this type of project. It's a very simple concept of a VST that literally the input volume/bands/whatever you want to key it off of would legit just animate the UI. I think others may find this type of thing useful, but again I have 0 starting point. David and I spoke briefly about AHDSR as I was trying to build an envelope but turns out the only way I may be able to do that is using script node. I've got lots of great ideas, but I think assistance in implementing them is really where the rubber meets the road. Keeping full in mind, i'm totally OK with generating lottie's and writing things that manipulate UI's and all that kind of thing. So, I guess in some cases, maybe a gentleman's agreement of "If you can help me with X I would gladly help you with Y" at least for project design and other such things. As mentioned i'm still pretty green, so anyone who's interested in lending a hand to at least get this simple plugin off the ground leveraging this type of function, I would completely assist them with whatever I could in the guise of elements for their projects. (maybe that's a better way to sell it hehe)
The Plugin "Idea" is legit a gain plugin, keying off the incoming volume, to then play the lottie (which is a lottie of a rumbling image) -- That's all it is. I had plans to release it for free; aside from a few of the others I'm working on.
Anyhow, thanks for reading my long note. If you are willing to help, cool, if not, understood :)
--FD1
-
@bandit_FD1 David has a masterclass (forgot where) which goes over, among other things, creating controls with code.
Before you drop any money, check out all that's available.
There's this https://github.com/christoph-hart/hise_laf_library/tree/main
For scriptnode, this https://github.com/christophhart/hise_tutorial/tree/master/ScriptnodeHiseModules should give you an idea of how things are done, but the only way to do it is to dig in and start making things.
If you mean to keep using HISE, these are somewhat essential skills which don't take too long to get the basics down for and will enable you to make things happen, make better decisions and get better ideas (as you have more tools at your disposal). You will constantly use them while working with HISE and if you in the future encounter other tools for graphics or DSP, you'll find the knowledge useful. And once you the knowledge, it's yours forever.
I realise you want it "now" or "yesterday", but you can't really brute force this; the probability of the code needing maintenance and adjustment to your parameters down the line are pretty big and making it into something that is designer friendly so that you can tweak it yourself will take time. People who have learned this are here because they're most likely building commercial products or using HISE in some other way in their work. This isn't exactly a Roblox server.
If you don't wish to learn the Graphics and Path classes and how painting is done in HISE/JUCE (it's very similar to PostScript in terms of paradigms), your best bet on getting this done in the next few days is to hire someone.
Someone might take you up on it, though. These were just my 2c.
-
@aaronventure Very cool! If there was some sort of Masterclass, that's ideal in the sense it give you the basic fundamentals vs trying to figure out piece by piece and then getting lost in the sauce.
I also don't want it "now" or "yesterday" -- keep in mind, I mentioned I'd do the work or what's required to get there. I just need direction,which if there is a masterclass available, I think that would be the best starting point for me, rather than just fumbling around with HISE and then piece-meal research on each thing i'm trying to build with no basis for a groundwork, and clearly yes it's not Roblox :)
There is no time frame for this, besides, hiring someone on Fiverr for $500/engagement is always an option if I had a really cool idea but I'd also just buy a plugin that did that already vs. buying someone elses code and calling it my own; that's not the goal.
I think you've answered my question to be honest and i'll dig check out the links you provided and also see about the masterclass. Thanks.
--FD1
-
@bandit_FD1 This is the one I think Aaron is referring to - https://musichackspace.org/product/creating-virtual-and-sample-based-vst-au-plug-in-instruments-with-hise/
I plan to make an updated one later this year or early next year.
-
@d-healey Hi David,
Thank you for providing this link. From what the topics cover, i'm about 1/2 way there, if you plan on doing one in the future could I suggest a few possible topics?
- VST and Effects implementation/Design
- Scripting/Callbacks in the guise of Design and Control
- Customizing controls with lottie (as per your videos) Or the entire UI (as per my request in this thread)
- OSX builds (this i've already going through and worked through this part with the help of you and of the forum users --there are some interesting gotchas)
- Packaging your VST (with either pkgbuild, productbuild or "Packages")
Honestly, if you covered these points in your new one (aside from whatever else you may include) I would buy into BOTH of these Masterclasses 100%. Just my $0.02 but I'd love to see detailed examples of all of the above, granted you do cover some of these in videos out there already (which is awesome.)
Thanks.
--FD1
-
@bandit_FD1 said in VST UI: Had a neat idea involving Lottie and FloatingPanel/Analyzer:
VST and Effects implementation/Design
I don't have much experience with effects - also VST and effect are not exclusive.
Scripting/Callbacks in the guise of Design and Control
Not sure what you mean by Design and Control.
Customizing controls with lottie (as per your videos)
Not sure there is much more to add there. Lottie is not really any different to any other method of styling components, once you know the principle.
OSX builds (this i've already going through and worked through this part with the help of you and of the forum users --there are some interesting gotchas)
I cover exporting plugins on OSX in the course.
Packaging your VST (with either pkgbuild, productbuild or "Packages")
I don't think I covered installers so that would be a good one to do. I have some videos on YouTube/Patreon about installers too. Packages is the way to go, it's essentially a front-end for pkgbuild and productbuild.