COCKOS
CONFEDERATED FORUMS
Cockos : REAPER : NINJAM : Forums
Forum Home : Register : FAQ : Members List : Search :
Old 04-06-2016, 11:27 AM   #1
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default Better GUI resizing Update 1

Hey Guys, this is simple preview of my implementation of resizing. It will add few changes to IGraphics.cpp and you will be good to go. If your plugin uses just bitmaps it will work without modifying any existing code...

For now it is in the works...


Last edited by Youlean; 04-10-2016 at 02:15 PM.
Youlean is offline   Reply With Quote
Old 04-06-2016, 11:42 AM   #2
random_id
Human being with feelings
 
random_id's Avatar
 
Join Date: May 2012
Location: PA, USA
Posts: 356
Default

Wow, this looks great. I can't wait to take a look at the code.
__________________
Website: LVC-Audio
random_id is offline   Reply With Quote
Old 04-06-2016, 12:30 PM   #3
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Quote:
Originally Posted by random_id View Post
Wow, this looks great. I can't wait to take a look at the code.
Thanks! I will post the code here as soon as I implement some things.

It will be better to explain better how this will work..

So first of all, you are seeing bitmap background and bitmap knob. As you can see resizing works perfectly and it doesn't show graphical glitches when moving knob.

My goal with this new resizing method is to enable bitmap and vector resizing, and to make it as simple as possible.

The basic idea is to include high resolution images in your plugin binary, then to load that images, resize it, store in new created memory and release old high resolution bitmap so that you don't waste RAM. In that way we could have plugin that uses only bitmaps and that have really nice graphics on all sizes. Also, in this way we don't waste any CPU cycles as rescalling is happening only once at control construction.
Youlean is offline   Reply With Quote
Old 04-10-2016, 02:20 PM   #4
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Here the update... It mostly works, but it needs some update to handle auto resizing at plugin load. Now gui doesn't flicker. Controls now never gets deleted!

Youlean is offline   Reply With Quote
Old 04-17-2016, 05:17 PM   #5
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

New update! Now plugins are aware if gui size was changed at some plugin instance and shows message to reopen plugin interface (for now the look of it is just for demonstrating functionality). Also, now plugins are storing plugin size to settings file(more on that later), and they get correct size at load or gui open.

Youlean is offline   Reply With Quote
Old 04-20-2016, 06:58 PM   #6
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

New update! Added some new features, fixes many bugs (mainly vst2 cocoa resizing). I hope that I will release code until end of this week, so stay tuned..

Youlean is offline   Reply With Quote
Old 04-21-2016, 04:05 AM   #7
Tired_Joe
Human being with feelings
 
Join Date: Apr 2015
Posts: 55
Default

Thanks a lot. I am very interested in your improvement
Tired_Joe is offline   Reply With Quote
Old 04-23-2016, 02:23 PM   #8
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 654
Default

Code is now released. Look it here: http://forum.cockos.com/showthread.php?t=176037
Youlean is offline   Reply With Quote
Old 04-30-2024, 04:10 AM   #9
FelixMagi
Human being with feelings
 
FelixMagi's Avatar
 
Join Date: Mar 2016
Posts: 104
Default

Quote:
Originally Posted by Youlean View Post
Here the update... It mostly works, but it needs some update to handle auto resizing at plugin load. Now gui doesn't flicker. Controls now never gets deleted!
How do you solve flicker problem?

I want to make my code without using your classes because I only need it for one situation.
FelixMagi is offline   Reply With Quote
Old 05-28-2024, 03:33 AM   #10
SaschArt
Human being with feelings
 
SaschArt's Avatar
 
Join Date: Aug 2013
Posts: 237
Default

Quote:
Originally Posted by FelixMagi View Post
How do you solve flicker problem?

I want to make my code without using your classes because I only need it for one situation.
At IGraphicsWin.cpp you have to modify IGraphicsWin::Resize(), on the last line add UpdateWindow(mPlugWnd); will draw without waiting for the next tick of the clock.

Pay attention to the mac version, the window breaks, I still haven't managed to solve the problem.
__________________
Audio plugins | BrainWaveProducer | EmRysRa
SaschArt is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 06:13 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.