skins for discoDSP's OB-Xd synth

VST, AU, AAX, etc. plug-in Virtual Instruments discussion
User avatar
fmr
KVRAF
9525 posts since 16 Mar, 2003 from Porto - Portugal

Post Thu May 21, 2020 1:02 am

discoDSP wrote:
Thu May 21, 2020 12:52 am
fmr wrote:
Thu May 21, 2020 12:46 am
So, although it had to be through some kind of "hacking" it was possible to modify the graphic elements of the synth.
Latest 2.0 development builds can get their own knob.png bitmap. It has to be provided 3x size for future proof (retina, scalable and HiDPI GUI). Any components can be redistributed as well as window size.
Yes, and that's much better, of course :)
Fernando (FMR)

User avatar
discoDSP
KVRAF
4780 posts since 18 Jul, 2002

Re: skins for discoDSP's OB-Xd synth

Post Fri May 22, 2020 5:40 am

New nightly builds https://www.discodsp.net/obxd-nightly/

So after working on implement window scaling and image downscaling using AVIR library, it looks like it's very slow doing so. I was suggested to use LancIR (thanks Voxengo) but finally took the bitmap assets route instead.

Code needs to be polished to detect a HiDPI environment and/or macOS system which handles the scaling downsizing much better than Windows. Right now OB-Xd will use @2x bitmaps in macOS and .png (downscaled from @2x using a offline top quality Lanczos 3 non-separable algorithm) instead having to process in realtime, which was not viable at all). Something good about this system: you can downscale with your app of choice instead leaving it to the OS itself (in case of Windows a extremely crappy one).

As you may see at Themes folder there are @2x.png and .png assets now, very similar to how Apple implements the multi-sized bitmap.

I'm attaching a current Windows vs Mac GUI to see both get high quality GFX.

Image

Image
Synthesizers • Bliss sampler • FX bundle • Soundware
https://www.discodsp.com/

Faceless_79
KVRer
25 posts since 5 Apr, 2020

Re: skins for discoDSP's OB-Xd synth

Post Sat May 23, 2020 3:41 am

discoDSP wrote:
Fri May 22, 2020 5:40 am
New nightly builds https://www.discodsp.net/obxd-nightly/

So after working on implement window scaling and image downscaling using AVIR library, it looks like it's very slow doing so. I was suggested to use LancIR (thanks Voxengo) but finally took the bitmap assets route instead.

Code needs to be polished to detect a HiDPI environment and/or macOS system which handles the scaling downsizing much better than Windows. Right now OB-Xd will use @2x bitmaps in macOS and .png (downscaled from @2x using a offline top quality Lanczos 3 non-separable algorithm) instead having to process in realtime, which was not viable at all). Something good about this system: you can downscale with your app of choice instead leaving it to the OS itself (in case of Windows a extremely crappy one).

As you may see at Themes folder there are @2x.png and .png assets now, very similar to how Apple implements the multi-sized bitmap.
Does this mean, that skins can't be upscaled, only downscaled? Lanczos 3 sounds good as it is a very good algorithm, at least for downscaling. Keeps the text/fonts etc very legible.

User avatar
discoDSP
KVRAF
4780 posts since 18 Jul, 2002

Re: skins for discoDSP's OB-Xd synth

Post Sat May 23, 2020 3:54 am

Faceless_79 wrote:
Sat May 23, 2020 3:41 am
Does this mean, that skins can't be upscaled, only downscaled? Lanczos 3 sounds good as it is a very good algorithm, at least for downscaling. Keeps the text/fonts etc very legible.
They are going to work for now on two fixed sizes: 1x and 2x (using @2x on the file name, check latest nightly) which will be used for Hi-DPI systems and also for upscaling at a later time, but it will be safe to say a @3x will be required for that . Getting the bitmap interface fully scalable requires a rewrite which has already been done but there is little point ti plement in 2.0 when one can already have custom GUI size windows and bitmaps.

1x images have been downscaled from 2x using Lanczos 3 non-separate. This is the best and fastest way I could find. AVIR library worked well but it was slow and not suitable for real time. There was another library but quality wasn't exactly the same, so the simplest solution was going for assets and offline processing instead. This way Windows/Linux with poor native image downscaling won't complain as before.

If you are in need of @3x assets for a scalable HiDPI window size in the future just let me know, it won't be hard to do.

So the last thing to do for 2.0 is fixing the XML assertion issues and we will be good to go :)

Cheers,
George.
Synthesizers • Bliss sampler • FX bundle • Soundware
https://www.discodsp.com/

rasmusklump
KVRian
1027 posts since 13 May, 2004 from Germany

Re: skins for discoDSP's OB-Xd synth

Post Sat May 23, 2020 4:51 am

Now those red lines around the knobs are again present on the SEM skin....

User avatar
discoDSP
KVRAF
4780 posts since 18 Jul, 2002

Re: skins for discoDSP's OB-Xd synth

Post Sat May 23, 2020 6:18 am

rasmusklump wrote:
Sat May 23, 2020 4:51 am
Now those red lines around the knobs are again present on the SEM skin....
Copy and paste knob.png and knob@2x.png from Classic folder to Rin Elyran Classic SEM folder to fix it. I'll update it on the next build.
Synthesizers • Bliss sampler • FX bundle • Soundware
https://www.discodsp.com/

Funkybot's Evil Twin
KVRAF
7115 posts since 16 Aug, 2006

Re: skins for discoDSP's OB-Xd synth

Post Sun May 24, 2020 8:29 am

Here's a new 2.0 skin I whipped up mostly yesterday. Nothing fancy. This takes the basic layout of the Blue skin, makes everything about 1.25x larger, new knobs, recolored buttons, and just tries to clean up some things here and there. This is actually a completely new skin from the ground up, not just a bigger version of the existing skin.

Should work with hi-res screens (I guess, I don't have one to test but I followed the same basic layout principles as the DiscoDSP Blue skin).
OB-Xd Vintage Blue.png
OB-Xd Vintage Blue 2.png
Can be downloaded here:

https://www.dropbox.com/s/jzxcmdblw0yg0 ... e.zip?dl=0

George, feel free to include in future builds if you'd like.

Note: I wanted to make the LED's (legato, voices) larger, but couldn't get the menus working properly after resizing the images in the script. Even if I also resized the images to match. Things just wouldn't line up correctly. Hence why that's so small. If someone can figure that out and fix it, feel free! If not, no biggie.

EDIT
If you saw this earlier today, I took down the old version and replaced it with this more OB-X inspired update to the skin.

EDIT 2
Now with a more low contrast version that looks a bit more realistic, with softer colors and some subtle lighting, but also keeping the slightly higher contrast version as an alternate.
You do not have the required permissions to view the files attached to this post.
Last edited by Funkybot's Evil Twin on Mon May 25, 2020 10:14 am, edited 2 times in total.

User avatar
planetearth
KVRAF
1726 posts since 10 Jul, 2006 from Tampa

Re: skins for discoDSP's OB-Xd synth

Post Sun May 24, 2020 8:29 pm

discoDSP wrote:
Sat May 23, 2020 3:54 am
Faceless_79 wrote:
Sat May 23, 2020 3:41 am
Does this mean, that skins can't be upscaled, only downscaled? Lanczos 3 sounds good as it is a very good algorithm, at least for downscaling. Keeps the text/fonts etc very legible.
They are going to work for now on two fixed sizes: 1x and 2x (using @2x on the file name, check latest nightly) which will be used for Hi-DPI systems and also for upscaling at a later time, but it will be safe to say a @3x will be required for that . Getting the bitmap interface fully scalable requires a rewrite which has already been done but there is little point ti plement in 2.0 when one can already have custom GUI size windows and bitmaps.

[SNIP]

So the last thing to do for 2.0 is fixing the XML assertion issues and we will be good to go :)

Cheers,
George.
George, does that mean the issue with the VST3 version not showing the currently selected preset is already fixed or will be fixed by the next release?

Thanks.

Steve
Listen to some of my stuff here: https://soundcloud.com/shadowsoflife.

Return to “Instruments”