Winstep

Software Technologies


 Winstep Forums


Print view
Board index : Winstep Forums : General Discussion  [ 114 posts ] Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8  Next
Author Message
 Post subject: Re: So, what's next after v16.9?
PostPosted: Thu Nov 03, 2016 12:03 am 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
By the way, creating new modules has now become so easy (relatively speaking, of course) that I'm thinking of adding yet another (but likely not on this release) before I tackle the multi-session module problem that I must solve before I can begin working on the modules that absolutely require this.

The new module would be a 'moon phase' module - pretty straightforward to implement, and some people (usually amateur astronomers) find it really useful.

If you know me, you also know that it will need to have something to make it special too! I'm thinking of something along these lines for the module animation:


_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v16.9?
PostPosted: Thu Nov 03, 2016 5:20 am 
Offline
User avatar

Joined: Thu Mar 18, 2004 12:11 am
Posts: 416
Location: Pollock Pines, CA
right here, too.

_________________
vectornut
http://www.vectornut.com


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v16.9?
PostPosted: Thu Nov 03, 2016 3:31 pm 
Offline

Joined: Thu Apr 07, 2005 2:25 pm
Posts: 382
Very nice. If you keep this up I'm gonna have to ditch Rainmeter!


Back to top
 Profile  
 
 Post subject: Re: So, what's next after v16.9?
PostPosted: Sat Nov 05, 2016 10:51 pm 
Offline

Joined: Wed Jul 09, 2014 1:35 pm
Posts: 50
How's it coming, Jorge? This next release is going to be awesome!


Back to top
 Profile  
 
 Post subject: Re: So, what's next after v16.9?
PostPosted: Sun Nov 06, 2016 12:03 am 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
Dino7405 wrote:
How's it coming, Jorge? This next release is going to be awesome!


Working non-stop here, but it's hard to describe because a lot of that work is under-the-hood and a lot of it is also 'all over the place', tying loose ends and taking care of small details (the devil is in the details).

For instance: remember the 'smooth meters' feature? You probably don't, since it's buried in the Performance vs. Memory Usage dialog and is enabled by default these days.

Anyway, the main purpose of this setting was to make the needles of gauge-style meters (both in-dock and desktop versions) move smoothly instead of jumping into a new position every second. Activity (CPU, Net, RAM usage) is normally measured once every second, so suppose CPU usage is at 0% one second and jumps to 100% the next. With smooth meters disabled, the module is only updated once per second, so the needle 'jumps' from the 0 position straight to the 100 position. With it enabled, in that one second interval the needle is instead smoothly accelerated and then decelerated into the new position.

To achieve this smooth movement, the module might *potentially* have to be refreshed up to 100 times per second (in practice such a high rate of refresh never happens: I make sure the module is only refreshed when an actual change is visible in order not to waste CPU cycles).

Because desktop modules now share so much of the code, I was able to make the 'smooth meters' setting work with multi-state bitmaps and bar graphs of desktop modules as well (while before this setting only affected the needles of gauges). So, a meter bar no longer jumps to a new position, it smoothly grows and shrinks as necessary - and because it accelerates and decelerates as it does so, the movement is very organic.

Now, doing this also led to something else:

If you've seen the CPU, Net and RAM desktop modules in the default DarkTech theme, you will have noticed the modules use what looks like bar graphs to measure the activity. However, those are actually multi-state images with only 10 different frames (each frame representing a slice of 10% of activity). Even with the smooth meters feature now affecting multi-state images, movement would never be as smooth as a *real* bar graph, since the minimum change possible is 10% of the whole pie.

So why did the skinner use multi-state bitmaps instead of a single bar graph bitmap when doing the Darktech meters? Because the bars in that theme have rounded edges!

Let me try to explain how it works with single bar graph bitmaps: imagine you have a 100 pixel bar bitmap, growing from left to right. So, in the CPU meter, where activity goes from 0% to 100%, each pixel slice in the bar bitmap represents 1% of activity. If CPU activity is at 20%, you only draw/print the left 20 pixels of the bar bitmap (i.e.; you crop the bitmap to the leftmost 20 pixels). This works great as long as the edges of the bar are straight. Try to add rounded edges at the end and it no longer works because the rightmost edge is cropped out.

So, what I did was add a couple of new skinning settings for desktop modules that allow the skinner to specify left and right margins to the bar graph bitmap, where only the center section is stretched. This way the rounded edges are always visible at the beginning and end, no matter how long the bar is (I also changed the DarkTech theme to take advantage of this).

This change, together with smooth meters now affecting bar graphs too, made a world of difference to the way the desktop meters display in that theme.

Who would have thought so much work could be behind a simple bar, eh?

And I've been working on dozens of little details like this. For instance, you can now define which units to use when setting a maximum scale for the Net Meter module. Previously it was Bytes only, now you can select between Bytes, KB, MB, Kbits and Mbits.

Added a new 'Smooth Text Scrolling' option too. On the desktop weather module, when the text information is too large to fit on the available space, it scrolls automatically, like a ticker...

Until now this option was only available for the desktop Weather module. With the unification of the module-related code, the skinner can now use this feature on ANY desktop module.

Since each scroll of the text requires a refresh of the module, for performance reasons the text was scrolling 4 pixels at a time. Smooth Text Scrolling makes the text scroll smoothly pixel-by-pixel - of course, this also requires the module to be refreshed four times more frequently.

While working on all this I noticed Yahoo had began requiring OAUTH authorization to access its weather feed since the middle of the year. Even though the Yahoo weather feed is only used as a backup if the Weather.com and MSN weather feeds fail, this was not good news. So I fixed it as well by finding a way around OAUTH.

Also changed the NOAA (METAR) feed to use the (more efficient) raw data server.

I had already mentioned that I had added a new 'Yearly' option to the clock alarms, right? You could tell the alarm to fire on a specific day every year. Turns out I had forgot about another required yearly option, e.g.: 'every last Monday of October' or 'every second Wednesday of November'. So I added that too.

Trust me, I've been busy. :)

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v16.9?
PostPosted: Sun Nov 06, 2016 2:20 am 
Offline

Joined: Wed Jul 09, 2014 1:35 pm
Posts: 50
Wow! I'd say "busy" is an UNDERSTATEMENT!!


Back to top
 Profile  
 
 Post subject: Re: So, what's next after v16.9?
PostPosted: Sun Nov 06, 2016 6:24 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
One of the things I find amazing is how little CPU Winstep Xtreme actually uses, even with all effects turned on, every smoothing option set to max, all modules visible, etc...

I'm always very careful to optimize the hell out of the code in terms of performance, of course (something that goes back to my Assembly Z80 days), but this is really a testament on how far we've gone in terms of raw processing power in the last 30 years.

I still remember watching a 4.77 Mhz IBM XT back in the 80's slowly (excruciatingly so, as in character by character) redraw the screen of a DOS application I had written in Clipper.

These days we have 4.77 Ghz (!) multi-core CPUs which are several orders of magnitude faster than that humble XT - and the only reason modern CPUs are not getting faster at the same rate they used to is because we pretty much reached the atomic and thermal limits of silicon miniaturization... for now. :)

Anyway, nearly there for a public beta.

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v16.9?
PostPosted: Mon Nov 07, 2016 1:56 am 
Offline
User avatar

Joined: Thu Mar 18, 2004 12:11 am
Posts: 416
Location: Pollock Pines, CA
My cell phone has a much faster processor, better display, more memory, and more storage than my first 3 computers. My first computer didn't even have a hard drive. I was excited when I got a 100MB SCSI hard drive for my second computer. SO MUCH SPACE! I was in high school at the time and filled it up with poor quality pr0n GIFs. And we won't even TALK about the VIC20 and its cassette tape drive.

_________________
vectornut
http://www.vectornut.com


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v16.9?
PostPosted: Tue Nov 08, 2016 2:40 am 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
Need some input from native English speakers, sorry. :)

As you know, when a theme does not have a skin for a particular desktop module, the desktop module assumes the look of its iconic little brother (i.e.; how the module looks in a dock or the Shelf).

The only module so far where this does not happen is the calendar: instead it uses a 'built-in' theme matching the current style of the iconic module (unless it is attached to the NextSTART taskbar, obviously). This allows the desktop version of the module to function and display as a real calendar even if no skins for it are present.

However, I'm all pro-choice in these matters, so I also want to add an option to force the 'iconic' look, should the user wish to do so (and vice-versa, of course).

My problem is that I don't really know what to call these options in the calendar's right click context menu (perhaps I'm just tired?! eheh):

'Switch to calendar mode/Switch to iconic mode' ?
'Calendar Format/Icon Format' ?
'Full blown calendar/Itsy bitsy calendar'?
'Arnold Schwarzenegger mode/Danni DeVito mode'?

Any ideas? It probably should also start with a verb (Switch to? Change to?)

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v16.9?
PostPosted: Tue Nov 08, 2016 3:16 am 
Offline

Joined: Wed Jul 09, 2014 1:35 pm
Posts: 50
How about 'Display as icon' / 'Display as full calendar' ?


Back to top
 Profile  
 
 Post subject: Re: So, what's next after v16.9?
PostPosted: Tue Nov 08, 2016 3:49 am 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
Dino7405 wrote:
How about 'Display as icon' / 'Display as full calendar' ?


Not bad, not bad. :)

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v16.9?
PostPosted: Tue Nov 08, 2016 7:49 am 
Offline
User avatar

Joined: Thu Mar 18, 2004 12:11 am
Posts: 416
Location: Pollock Pines, CA
winstep wrote:
'Arnold Schwarzenegger mode/Danni DeVito mode'?


Or its big brother, the Dwayne Johnson/Kevin Hart mode?

http://akns-images.eonline.com/eol_imag ... 040916.jpg


Seriously, though, I think Dino's idea is good.

_________________
vectornut
http://www.vectornut.com


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v16.9?
PostPosted: Tue Nov 08, 2016 7:58 am 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
vectornut wrote:
Or its big brother, the Dwayne Johnson/Kevin Hart mode?


AHAHAHAHAHA! Even better than Arnie! :D

vectornut wrote:
Seriously, though, I think Dino's idea is good.


Yes it is. Thanks, Dino! :)

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: So, what's next after v16.9?
PostPosted: Tue Nov 08, 2016 1:50 pm 
Offline

Joined: Wed Jul 09, 2014 1:35 pm
Posts: 50
You are welcome! :)


Back to top
 Profile  
 
 Post subject: Re: So, what's next after v16.9?
PostPosted: Thu Nov 10, 2016 5:06 am 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11930
Nearly there for the public beta.

Had to make some changes to NextSTART so it too can automatically support newer 'taskbar attached' WorkShelf modules as I churn them out, and, since I was at it, also made some extensive (and long overdue) changes to how settings are loaded in NextSTART. These should have a significant impact on performance whenever settings/themes are loaded (and, of course, on startup times too).

The changes to the NextSTART code were long and tedious, so I can only cross my fingers not to have accidentally introduced one or more bugs.

Anyway, reason I'm writing: I have an ethical dilemma. :)

You see, Nexus Ultimate does not support desktop modules, only Winstep Xtreme does. It does support all existing modules in iconic format though, unlike the free version of Nexus which does not support the newer battery and calendar modules (all modules developed after Wanda will only be available in the paid versions of the software).

Now, you can select what happens when you click on the calendar icon in the dock or in the Shelf: it either launches a user-specified calendar application, or it opens a pop-up calendar (which closes when you click elsewhere, like the Windows clock calendar).

This pop-up calendar is an independent 'clone' of the desktop calendar module, i.e.; even though it is independent, it relies on the code made specifically for the calendar desktop module to work.

And here lies the problem: since desktop modules are not supported under Nexus Ultimate, the code library on which they depend is not included.

So I can do one of two things: either display the Windows calendar under Nexus Ultimate (which obviously does not support tagging of clock alarm events) or I have to include the desktop module code library on Nexus Ultimate from now on in order to support the pop-up calendar.

What say ye?

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
Post new topic Reply to topic Board index : Winstep Forums : General Discussion  [ 114 posts ] Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8  Next
Display posts from previous:  Sort by  

Who is online

Users browsing this forum: Google [Bot] and 69 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron