Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] UI Reskin #415

Open
yakolokol opened this issue Dec 27, 2023 · 40 comments
Open

[FEATURE] UI Reskin #415

yakolokol opened this issue Dec 27, 2023 · 40 comments
Labels
enhancement New feature or request priority:low Low priority issues UI User interface-related

Comments

@yakolokol
Copy link

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 yakolokol added enhancement New feature or request priority:low Low priority issues unread This issue is new and hasn't been seen by the maintainers yet labels Dec 27, 2023
@sdatkinson
Copy link
Owner

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 sdatkinson removed the unread This issue is new and hasn't been seen by the maintainers yet label Dec 28, 2023
@yakolokol
Copy link
Author

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

@azzzy
Copy link

azzzy commented Dec 29, 2023

@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?

@yakolokol
Copy link
Author

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

@DomMcsweeney
Copy link

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

@a-karah
Copy link

a-karah commented Dec 31, 2023

@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.

@yakolokol
Copy link
Author

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

@a-karah
Copy link

a-karah commented Jan 3, 2024

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.

@sdatkinson
Copy link
Owner

@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?

@a-karah
Copy link

a-karah commented Jan 4, 2024

@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)

@yakolokol
Copy link
Author

@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

@HuoDx
Copy link
Contributor

HuoDx commented Jan 31, 2024

@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

@a-karah
Copy link

a-karah commented Jan 31, 2024

@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.

@yakolokol
Copy link
Author

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.

@RustoMCSpit
Copy link

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
Copy link

related #385

@RustoMCSpit
Copy link

@sdatkinson can you make a ui tag for issues?

@sdatkinson sdatkinson added the UI User interface-related label Feb 5, 2024
@sdatkinson
Copy link
Owner

@sdatkinson can you make a ui tag for issues?

Done & tagged

@RustoMCSpit
Copy link

RustoMCSpit commented Feb 5, 2024

@sdatkinson can you make a ui tag for issues?

Done & tagged

tag #385 too

edit: theres plenty of ui ones actually

@RustoMCSpit
Copy link

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
Copy link

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.

@solpt
Copy link

solpt commented Apr 7, 2024

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

@RustoMCSpit
Copy link

@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

@solpt
Copy link

solpt commented Apr 7, 2024

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'

@RustoMCSpit
Copy link

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

@RustoMCSpit
Copy link

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
Copy link

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
Copy link

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.

@sdatkinson
Copy link
Owner

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
Copy link
Owner

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
Copy link
Owner

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'

The only one of those I anticipate is a stereo switch.

The other thing I'd strongly encourage is that as you get into it please aim to not just change the existing code but think about how it can be better abstracted so that future changes and customization is possible. See for example the tone stack abstraction I shipped a while back (#444). There's a parallel here in that even though I am not necessarily looking to change things up, I want others to be able to do so more easily.

@RustoMCSpit
Copy link

yeah having a modular design allows for future changes with more ease i agree

@RustoMCSpit
Copy link

The only other one off the top of my head that I'm entertaining is stereo (#108).

will you be able to pan it or? could you make left pan have different eq than right pan?

@RustoMCSpit
Copy link

can name work with midi foot pedals in standalone? maybe ensuring that in gui would be neat

@solpt
Copy link

solpt commented Apr 8, 2024

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.

Great thanks, I'll see if I can get the assets from @yakolokol. But, if not, I'll come up with my own designs as I do have a background in graphic design. I can submit them here once I have something ready but right now just working on understanding and abstracting the graphics.

@yakolokol
Copy link
Author

Hi, guys! Probably, I will come back with assets this or next week.
And I didn't understand what is "OP"

@RustoMCSpit
Copy link

Hi, guys! Probably, I will come back with assets this or next week. And I didn't understand what is "OP"

OP means 'Original Poster", I believe

@fichl
Copy link
Contributor

fichl commented May 10, 2024

hey, just seeing this now...
happy to help with what i've learned implementing Evan's skin.

@RustoMCSpit
Copy link

RustoMCSpit commented Jun 5, 2024

@yakolokol hey, if this project is expanded id like to know if these amp sim images are creative commons and can be used in other plugins

@yakolokol
Copy link
Author

@yakolokol hey, if this project is expanded id like to know if these amp sim images are creative commons and can be used in other plugins
Hi!
Nope, they're mine, sorry :)
But we could discuss smth privately: @yakolokol — telegram or insta.

And I suppose after releasing NAM Universal — my work not so interesting anymore.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request priority:low Low priority issues UI User interface-related
Projects
None yet
Development

No branches or pull requests

9 participants