NeuralAmpModelerPlugin icon indicating copy to clipboard operation
NeuralAmpModelerPlugin copied to clipboard

[FEATURE] UI Reskin

Open yakolokol opened this issue 1 year ago • 59 comments
trafficstars

all-3

Hi! I really appreciate your work, but have an idea how to improve the UI and create some skins or more vibe. I described it in more detail on reddit →. And here I will add pictures to attract your attention and arouse your interest.

MODERN

TWEED

VOX

I will be glad to work together, I still have a lot of ideas about skins and visual in general. Thanks!

yakolokol avatar Dec 27 '23 05:12 yakolokol

Thanks for getting in touch. These are really cool!

Are you able to help with the implementation? While this looks incredibly cool, it's probably not a priority for me at the moment--it's more important for me to squash some bugs and get a few more features in place.

If you're handy with the code and are familiar with what sorts of artifacts are needed, then I'd be happy to work with you to take a PR for this.

sdatkinson avatar Dec 28 '23 00:12 sdatkinson

Thanks for getting in touch. These are really cool!

Are you able to help with the implementation? While this looks incredibly cool, it's probably not a priority for me at the moment--it's more important for me to squash some bugs and get a few more features in place.

If you're handy with the code and are familiar with what sorts of artifacts are needed, then I'd be happy to work with you to take a PR for this.

Thank you! Glad to hear it :) Actually, i'm only a 3d designer/artist, so I can't code. But my friend is a coder, so he would like to have a try. But we need some kinda readmy or guide, because now he doesn't know where to look, where to start

yakolokol avatar Dec 29 '23 10:12 yakolokol

@yakolokol, very slick looking skins! Is your idea to embed them in the NAM plugin and allow toggling between a few skins/themes or to add a functionality for loading themes?

azzzy avatar Dec 29 '23 16:12 azzzy

@azzzy yeah, that's idea. Finding way to implement :)

yakolokol avatar Dec 29 '23 18:12 yakolokol

Perhaps it would be useful if you provide a link to a folder of the assets, and then others can help with everything else.

DomMcsweeney avatar Dec 30 '23 05:12 DomMcsweeney

@yakolokol I would like to help, so far I have found assets folder and place where they are loaded in code. Also there is a guide how to load additional resources.

If you can provide files as in assets folder you can change appearance of the plugin. I can write function which will change links to the assets when different theme is chosen.

a-karah avatar Dec 31 '23 08:12 a-karah

@a-karah probably we'll need to redo layout of UI, not only change links

yakolokol avatar Jan 01 '24 20:01 yakolokol

Yes you are right!

Right now I try to figure out the way to change themes because default theme is loaded on startup and I don't know if it is possible to change it later after initialization.

It all depends on IPlug2 library, so I started researching plugins developed with IPlug2 and so far don't be able to find any example of plugin which have ability to change themes.

a-karah avatar Jan 03 '24 16:01 a-karah

@a-karah

I started researching plugins developed with IPlug2 and so far don't be able to find any example of plugin which have ability to change themes.

I'm not sure how it's usually done (I have minimal UI experience) but there is a Hide() method that can be used by controls as well as some higher-order functions that can have sets of controls do things (like how the EQ knobs toggle their disabled state), and actually the "Hide" example I shared demonstrates something similar as well.

Might give you some ideas?

sdatkinson avatar Jan 04 '24 03:01 sdatkinson

@sdatkinson thank you for suggestion, I will have to try to implement it.

@yakolokol can you provide assets as in here, and knobs should be like this (it's an animation)

a-karah avatar Jan 04 '24 08:01 a-karah

@a-karah well, as I said I thin it's not possible to change some assets, but I gonna render materials and you will see

yakolokol avatar Jan 04 '24 16:01 yakolokol

@yakolokol I proposed an improvement earlier, and I might be able to implement the change. @a-karah If you're already working on it, I can also help you if you need :D

HuoDx avatar Jan 31 '24 06:01 HuoDx

@HuoDx that would be nice, lately I got caught up on work and didn't had time to finish implementation.

Here's my simple todo list:

  • Chop up assets into smaller ones to bind controls
  • Create an interface (abstract class) for theme definition (that would be handy later)
  • Derive from that interface and create theme class for each theme variation where we need to bind all the controls and assets
  • Add switch statement in NAM constructor for switching themes

Although it seems simple I got caught on details when tried to implement interface and class definition for current default theme and got problems when tried to decouple code (IPNG's don't have default ctor, lambda functions passing references which is bind to NAM instance etc.).

As a hint on how to implement theme selection I wrote IPlug2 developer and he responded with this simple implementation.

Currently I hadn't submitted commits in my forked version, because I hadn't had time to get it to work.

It is up to you how to implement it, maybe there is other way around, fill free to contact me if you have any questions.

a-karah avatar Jan 31 '24 08:01 a-karah

Hey, guys! Sorry, I'm a little busy right now to render all the necessary details. I will be able to comeback within the next few weeks. If you find any more details that can help, I will be grateful.

yakolokol avatar Jan 31 '24 11:01 yakolokol

Hey, guys! Sorry, I'm a little busy right now to render all the necessary details. I will be able to comeback within the next few weeks. If you find any more details that can help, I will be grateful.

https://ml-sound-lab.com/products/amped-stevie-t-free

if you need an easy debugging ui, i suggest using the above as inspiration. your skjns look great but complex and maybe it'd be easier to design someyhing like thr linked so it's easoer to change on the go.

also how modular are these ui reskins or sre they monolithic?

RustoMCSpit avatar Feb 05 '24 02:02 RustoMCSpit

related https://github.com/sdatkinson/NeuralAmpModelerPlugin/issues/385

RustoMCSpit avatar Feb 05 '24 02:02 RustoMCSpit

@sdatkinson can you make a ui tag for issues?

RustoMCSpit avatar Feb 05 '24 02:02 RustoMCSpit

@sdatkinson can you make a ui tag for issues?

Done & tagged

sdatkinson avatar Feb 05 '24 05:02 sdatkinson

@sdatkinson can you make a ui tag for issues?

Done & tagged

tag #385 too

edit: theres plenty of ui ones actually

RustoMCSpit avatar Feb 05 '24 11:02 RustoMCSpit

can there be some ui element that shows if it's a lite nam model or not? how much relevent matadata is stored in nam models anyways?

RustoMCSpit avatar Feb 05 '24 13:02 RustoMCSpit

i know this is far-fetched but whatever. is there any chance we can set up a sort of bounty hunt / payment system where people pay money to the ui designers to have an amp model of choosing designed and added to this repo. we could make it so that thr .nam files carry metadata for what an amp is and if that model has been designed it will load into it. again, far-fetched. food for thought.

RustoMCSpit avatar Feb 06 '24 16:02 RustoMCSpit

I hope its okay but I've started working on the redesign as I am not sure anyone else is right now. Working on getting a simple general layout and skin loading. Still very new to Iplug so Im trying to understand how its graphics backend works. image

solpt avatar Apr 07 '24 16:04 solpt

@sdatkinson do you see the amps ever needing more knobs before the reskin happens? once tonestacking occurs? or will we go with an amplitube 5 type thing

RustoMCSpit avatar Apr 07 '24 17:04 RustoMCSpit

I think, as the tone is primarily baked into the NAM file, there won't be anymore tone controls but I can imagine there being more QOL controls. E.g. transpose, stereo input/output toggle, metronome as well as some very specific controls down the road as NAM is a very unique product that is very much not just a 'guitar amp sim'

solpt avatar Apr 07 '24 17:04 solpt

image this is how i envision it'll look like, longrun.

RustoMCSpit avatar Apr 07 '24 19:04 RustoMCSpit

i know this is far-fetched but whatever. is there any chance we can set up a sort of bounty hunt / payment system where people pay money to the ui designers to have an amp model of choosing designed and added to this repo. we could make it so that thr .nam files carry metadata for what an amp is and if that model has been designed it will load into it. again, far-fetched. food for thought.

especially with this, hell i can imagine the companies themselves paying for them for free product placement

RustoMCSpit avatar Apr 07 '24 19:04 RustoMCSpit

I think, as the tone is primarily baked into the NAM file, there won't be anymore tone controls but I can imagine there being more QOL controls. E.g. transpose, stereo input/output toggle, metronome as well as some very specific controls down the road as NAM is a very unique product that is very much not just a 'guitar amp sim'

@sdatkinson thoughts?

RustoMCSpit avatar Apr 07 '24 19:04 RustoMCSpit

i think the longterm key here is to design modular gui, in case something happens. maybe even have nam files specify what knobs (parameters) they want e.g. eq knobs, overdrive, reverb. another way is to make many guis to fit as many knob combinations.

RustoMCSpit avatar Apr 07 '24 19:04 RustoMCSpit

image this is how i envision it'll look like, longrun.

I'm not aiming to have this plugin ever look like that, no. That's something quite different.

That's way more work than I can take on, for something that I don't think is valuable for me to do. This is much more where I imagine company-backed products like those mentioned on my webpage take the torch. I've already closed other feature requests for 2 models, parallel models, etc etc.

I expect the scope of this plugin will stick with the features that I've already got in it. The only other one off the top of my head that I'm entertaining is stereo (#108).

sdatkinson avatar Apr 07 '24 19:04 sdatkinson

I hope its okay but I've started working on the redesign as I am not sure anyone else is right now. Working on getting a simple general layout and skin loading. Still very new to Iplug so Im trying to understand how its graphics backend works. image

Happy to see you getting into it :)

I'd recommend that you aim for what's in the OP if possible. I don't have any particularly good graphics sense, but I do think that the OP looks quite good and I don't want to have you go down some path and be disappointed at the end of it if I don't accept your PR. I'd suggest reaching out to @yakolokol for artifacts etc and start by getting things laid out in the way that they did.

sdatkinson avatar Apr 07 '24 19:04 sdatkinson