EmpegFace 1.2 released

Posted by: tfabris

EmpegFace 1.2 released - 05/08/2003 20:06

An official web page for EmpegFace is now up at my home page and it is also available at the Riocar.org downloads page. Click here to get this new version.

From the readme file:

Version 1.2, 08-05-2003:
------------------------

- Bugfix: Dragging the windows around the screen should no
longer have a strange repaint problem on some systems,
unless the system is dog-slow.

- Better graphics for Doublesize skin, courtesy
CharcoalGray99 and Rob Voisey.

- Bugfix: Double-click-and-hold no longer behaves strangely.

- Bugfix: When -minimized is on the command line or when
Start Minimized is in the configuration, changing the
skin no longer causes the program to re-minimize.

- Side Effect: When the application is minimized, changing
the skin makes it un-minimize. This is good, it lets you
see the skin you changed to.

- Fix Deferred: Switching to an incorrect skin or "blank"
might (depending on what the hard disk looks like at the
time) leave the current skin as-is instead of reloading
the default skin. Not easy to fix... and rather a minor
issue anyway. I could theoretically put up an error box
if you get the skin wrong, but I hate modal error boxes.
I'd rather just have the lack-of-a-skin-change be your
clue that you got it wrong. A commercial product would
have an error box or a CommonDialog for selecting a skin,
but I'm not ready to invest that kind of time in this yet.

- Dual Monitor support seemed to work, so it's no longer
labeled as 'Experimental' in the configuration screen.
Note that this will allow the application to be placed
completely off-screen and its position 'saved' that way.
So if you can't see the application, right-click on the
systray icon and deactivate dual monitor support.

- Fix Deferred: Less-than-24-bit screens, RGB hit tests for
skinned buttons don't work. Can't easily support this
without rewriting the way I make skins. If you really
*need* this application to work for you on a 16-bit
screen, contact me and I'll see what I can do.

- Bugfix: ImageGrabber no longer consumes 99 percent CPU
time in Task Manager when idling (when the app is
minimized to the system tray).

- Bugfix: Screen image updates no longer freeze when you
hold down a command button. In theory, this lets you see
the results of a long-press as it's happening rather
than having to guess. However, I've got notes in my code
that it might screw up the responsiveness of the
right-click menu. The image updates are supposed to
freeze when the right-click menu is up. If you can
reproduce a situation where the right-click menu is up
and the image updates are continuing and you can't get
the menu to respond, let me know.

- Feature Addition: Always on Top.

- Feature Addition: Alpha transparency. Only works on
Windows 2000 or later.
Posted by: Ezekiel

Re: EmpegFace 1.2 released - 05/08/2003 21:06

Nice one brothah! Very, very nice. No window borders. Yeah.

-Zeke
Posted by: DeadFire

Re: EmpegFace 1.2 released - 05/08/2003 21:32

Didn't even know this one existed. How could I have been so ignorant? This is just what I need for when my dock comes in.
Posted by: BartDG

Re: EmpegFace 1.2 released - 06/08/2003 03:29

I can't seem to be able to reach the site. Is the site down ?
Posted by: Jerz

Re: EmpegFace 1.2 released - 06/08/2003 03:39

I can't reach it either.
Posted by: Jerz

Re: EmpegFace 1.2 released - 06/08/2003 03:49

Awesome! Damn don't have time to play with it now; will have to try it at work. Nice work! I couldn't get your link to load so just went to riocar.org and searched for "empegface" and it popped right up.
Posted by: tfabris

Re: EmpegFace 1.2 released - 06/08/2003 09:38

Glad you guys like it!

I was unaware of any site downage, but the software is available in two places: my home page and the riocar.org download site, so you should be able to get it from one of those two places.

I might have to do a maintenance release, though... I think transparency is broken on it.

I recompiled it on my win98 system just before uploading it, and I think that the API calls to the transparency features simply aren't there when I do that. Argh.
Posted by: Ezekiel

Re: EmpegFace 1.2 released - 06/08/2003 10:02

Well, transparency's working for me. W2k SP3.

-Zeke
Posted by: tfabris

Re: EmpegFace 1.2 released - 06/08/2003 10:05

OH!

Then I have to figure out why transparency worked for me on win2k last night and it's not working this morning.

Thanks for that report.
Posted by: tfabris

Re: EmpegFace 1.2 released - 06/08/2003 10:11

Let me be more specific, just in case our messages are getting crossed...

What should work on all operating systems, and is continuing to work for me, is the non-rectangular windows. For instance, the rounded corners on the skins, and the transparent place where you can see "air" through the gap between the top of the handles and the fascia.

What's not working on my system is the ability for the entire window to be partially translucent, the percentage of translucency being controlled by the new box in the configuration screen.

Is that working for you?
Posted by: tfabris

Re: EmpegFace 1.2 released - 06/08/2003 10:30

I'm stumped. The GetWindowLong API, which was working fine last night, is returning zero today. According to MSDN:

Return Values
If the function succeeds, the return value is the requested 32-bit value. If the function fails, the return value is zero. To get extended error information, callGetLastError.
So I've got an "if Ret = 0" line which bails out of the routine so that I don't write crap to the window attributes. See, I have to "OR" the return value with the layered attribute, then write it back to the window. So if it's all zeroes (ie, the get function fails), then I'm writing all zeroes back to the window attributes (well all but the one bit that indicates layered). So I have something in there to prevent that.

But if I remove the prevention line, then it all works. Even if it writes all zeroes.

I'm guessing this is a case of poor documentation... I guess it's possible for a window's extended attributes to be all zeroes in some cases. In direct contradiction to Microsoft's own documentation on the function.

I hate Microsoft.

/me works on a maintenance release...
Posted by: steel25

Re: EmpegFace 1.2 released - 06/08/2003 10:30

this is just awesome man, really good job. Wish i had found this sooner!
Posted by: tfabris

Re: EmpegFace 1.2 released - 06/08/2003 10:36

Thanks! I hadn't really "announced" it sooner because I didn't think it was ready for prime time until yesterday. I deliberately hid it inside a thread which didn't give it away.
Posted by: tfabris

Re: EmpegFace 1.2 released - 06/08/2003 10:48

Okay, maintenance release 1.2.1 is on both sites now. The file names and links have not changed, so to get the new version you would simply re-download it from the exact same links you used before.

This is only a one-line correction to fix the translucency feature. So if you don't use translucency, you don't need to re-download it.
Posted by: Chuck

Re: EmpegFace 1.2 released - 06/08/2003 10:53

Very nice improvements over the original one we tested!
It'll always be running on the system at work now.
Posted by: tfabris

Re: EmpegFace 1.2 released - 06/08/2003 10:57

Cool, thanks!
Posted by: Ezekiel

Re: EmpegFace 1.2 released - 06/08/2003 11:44

Tony,
I'm not sure I understand what you're saying, but I think I've not seen what you describe. I've attached a screenshot to be clear. It sounds like you've got whatever it was cleared up tho.

-Zeke
Posted by: tfabris

Re: EmpegFace 1.2 released - 06/08/2003 12:06

Yup, that's what I meant. It was working for you, because on your system, the API call was returning something other than zero. As it was for me, yesterday. Then this morning it started returning zero and I don't know why it was different. But like you said, I've got it fixed it seems.
Posted by: steel25

Re: EmpegFace 1.2 released - 06/08/2003 12:19

there is a problem i notice with my installation, it pegs the CPU on XP laptop, is this normal??
Posted by: tfabris

Re: EmpegFace 1.2 released - 06/08/2003 12:24

It shouldn't peg the CPU, I specifically made changes so that it wouldn't.

Let me be a bit more clear about that...

If you've got the "face" screen showing that actually has the images of the screen updating constantly, then face.exe will be near the top of the list of tasks when sorted by CPU. But that's only because it's the only app really doing anything. Start another process doing something that needs CPU time, and the other process will take over.

At least that's how it should work.

If you don't want it to use up CPU time at all, minimize it or hide the face and only show the remote.
Posted by: BartDG

Re: EmpegFace 1.2 released - 06/08/2003 12:54

Very neat util, thanks for this one Tony!

I've also noticed that it constantly uses 100% CPU time (win2K, SP3), but when I right click on the face to see the configuration menu, CPU usage drops below 5%. (that's with only a right-click, nothing else!)
Strange...
Posted by: steel25

Re: EmpegFace 1.2 released - 06/08/2003 13:04

is this after loading the release you just released to fix the transparency issue, or the release you started the thread with?
Posted by: tfabris

Re: EmpegFace 1.2 released - 06/08/2003 13:28

but when I right click on the face to see the configuration menu, CPU usage drops below 5%. (that's with only a right-click, nothing else!)
That's because it's not working so hard trying to constantly load up and draw the screens over and over again. As soon as the screen updates pause, so does the CPU usage.
Posted by: BartDG

Re: EmpegFace 1.2 released - 06/08/2003 14:09

is this after loading the release you just released to fix the transparency issue, or the release you started the thread with?

I'm using the latest release, the one with the fix.
Posted by: BartDG

Re: EmpegFace 1.2 released - 06/08/2003 14:11

That's because it's not working so hard trying to constantly load up and draw the screens over and over again. As soon as the screen updates pause, so does the CPU usage.

Ah. Thanks for the info. Is that solvable, or should I just minimize the face ?
Posted by: Ezekiel

Re: EmpegFace 1.2 released - 06/08/2003 14:39

Is there a way the process could be spawned at 'below normal' priority? That way she'd be pre-empted by most everything.

-Zeke
Posted by: tfabris

Re: EmpegFace 1.2 released - 06/08/2003 15:04

Is there a way the process could be spawned at 'below normal' priority? That way she'd be pre-empted by most everything.
It already is pre-empted by everything. As soon as something else does anything important, it gets all the necessary CPU cycles.

There's a difference between something being at the top of the task list for CPU usage and something actually hogging the processor. It's a percentage, so someone's gotta be on the top of the list. If the only thing you're playing with is face.exe, then the thing at the top of the list is gonna be either face.exe or System Idle Process. You don't write Microsoft and complain that the System Idle Process is hogging the CPU, do you?

Unless you're saying that all your other apps run slow whenever face is painting its screen updates. I don't get that on my system, all other apps remain as quick and responsive as they always have.
Posted by: jbauer

Re: EmpegFace 1.2 released - 06/08/2003 15:17

Awesome job Tony!!! Love the transparent feature and the always on top...

- Jon
Posted by: tfabris

Re: EmpegFace 1.2 released - 06/08/2003 15:21

Thanks! Glad you like it!
Posted by: Ezekiel

Re: EmpegFace 1.2 released - 07/08/2003 07:24

Tony,
Generally my experience has been that if a program is sucking large amounts of CPU, other things will bog down. However, as you state, my other tasks aren't bogging down and things seem to be running fine. Lowering thread priority didn't have any real effect (other than making me feel better) in the PC's responsiveness. I haven't installed the patched version yet, FWIW and I've no complaints at all. (Compliments yes, complaints, no ).

-Zeke
Posted by: tfabris

Re: EmpegFace 1.2 released - 07/08/2003 10:20

Cool! Glad to hear everything is working for you.
Posted by: lectric

Re: EmpegFace 1.2 released - 09/08/2003 19:34

Same here, works like a champ. The only thing I'm not real keen on is that it seems the pause function is getting a long-hold awfully fast. Like I click it and sometimes the player powers off. Not a real big deal, just something I need to get used to. Other than that, beautiful program.
Posted by: tfabris

Re: EmpegFace 1.2 released - 09/08/2003 20:33

The only thing I'm not real keen on is that it seems the pause function is getting a long-hold awfully fast. Like I click it and sometimes the player powers off.
From the readme file:

- Sometimes there will be pauses when the screen graphics
on EmpegFace will seem to freeze and the player won't
respond to your mouse clicks. This is when the player
is taking over its CPU for whatever reason (usually
loading music into the cache), and during this time the
Hijack web interface does not respond to communications.
If this happens between a "Button Down" and a "Button Up"
event, then the player will interpret this as a "long"
press on the button. For instance, if you're changing to
the next track, if the player pauses for a moment between
the time you press the button and the time you release
it, then it will briefly fast-forward instead of change
tracks. This should not happen very often.
I can't do anything to change that. All I can do is send the button down and the button up commands when you push the mouse button down and release it. I send those commands exactly the way you press them. Unfortunately, the player grabs the CPU and hijack pauses its input queue and therefore the player misinterprets the time lag between the down and the up. That's all in Hijack and the player, not in EmpegFace.
Posted by: music

Re: EmpegFace 1.2 released - 09/08/2003 23:37

Excellent! The Tone-meister has done it again. ("The Tonester, Tonarooni, The Fab-Man, hackin' some pixels")

Seriously. Nice work!

But, Damn, it sure is hard to play Breakout on that thing....

Posted by: tfabris

Re: EmpegFace 1.2 released - 10/08/2003 01:18

Heh, I never even though to try doing breakout that way. Too funny!

Thanks, man, I'm glad you like it!
Posted by: lectric

Re: EmpegFace 1.2 released - 10/08/2003 21:08

Well.... fine then At least I now understand what was going on!