Thread: Re: [Vnc2swf-users] Cursor pseudo-encoding
Status: Alpha
Brought to you by:
euske
From: <lfk...@ya...> - 2005-11-10 11:51:55
|
Hi, I managed to make the cursor pseudo-encodings to work. It understands the messages and draws the cursor image at the right place. But it still needs to use the cursor mask to change the alpha channel to make the background transparent. Unfortunetly I don't know Python very much. Maybe someone with Python knowlegde could make this part to work properly in an easily manner. How can I send the files? I've been trying to send it but my message gets blocked everytime. Here's the problem I need to solve: I have one variable with the maskData (one bit for each pixel) and I have another variable with the image (4 bytes per pixel - RGBA). How can I change the alpha channel? I really couldn't understand the types used and how to access each element. Luis Fernando _______________________________________________________ Yahoo! Acesso Grátis: Internet rápida e grátis. Instale o discador agora! http://br.acesso.yahoo.com/ |
From: Yusuke S. <yu...@cs...> - 2005-11-10 16:36:07
|
Thank you, Luis! I've received your files. It seems working pretty good, and I will try to add alpha channel things, and incorporate your changes into the next version. Yusuke lfk...@ya... wrote: > Hi, > > I managed to make the cursor pseudo-encodings to work. > It understands the messages and draws the cursor image at the right place. > But it still needs to use the cursor mask to change the alpha channel to make > the background transparent. Unfortunetly I don't know Python very much. > Maybe someone with Python knowlegde could make this part to work properly in > an > easily manner. > How can I send the files? I've been trying to send it but my message gets > blocked everytime. > Here's the problem I need to solve: I have one variable with the maskData > (one > bit for each pixel) and I have another variable with the image (4 bytes per > pixel - RGBA). How can I change the alpha channel? I really couldn't > understand the types used and how to access each element. > > Luis Fernando > |
From: <lfk...@ya...> - 2005-11-18 11:47:25
|
Hi, I was thinking a little more about the mouse movement feature. I'm currently using TightVnc. It has a pseudo-encoding for sending the server cursor position so it works great. Unfortunately UltraVnc and many others don't have it. They just send the cursor image to the client so it can be changed to match the server cursor but they never send the server cursor position. I guess they presume that the client will move the mouse and not the other way around. I sent a feature request to UltraVnc to include the same pseudo-encoding that the TightVnc has. Thinking about it I realized that pyvnc2swf doesn't show the server screen. I believe that most people just connect to the localhost. If this is the case why not just capture the mouse position from the screen directly using python? Could even catch mouse clicks and animate them in the swf file. These could be just a feature enabled through a command line arg. Luis Fernando --- Yusuke Shinyama <yu...@cs...> escreveu: > Thank you, Luis! I've received your files. It seems working > pretty good, and I will try to add alpha channel things, and > incorporate your changes into the next version. > > Yusuke > > lfk...@ya... wrote: > > Hi, > > > > I managed to make the cursor pseudo-encodings to work. > > It understands the messages and draws the cursor image at the right place. > > But it still needs to use the cursor mask to change the alpha channel to > make > > the background transparent. Unfortunetly I don't know Python very much. > > Maybe someone with Python knowlegde could make this part to work properly > in > > an > > easily manner. > > How can I send the files? I've been trying to send it but my message gets > > blocked everytime. > > Here's the problem I need to solve: I have one variable with the maskData > > (one > > bit for each pixel) and I have another variable with the image (4 bytes > per > > pixel - RGBA). How can I change the alpha channel? I really couldn't > > understand the types used and how to access each element. > > > > Luis Fernando > > > _______________________________________________________ Yahoo! Acesso Grátis: Internet rápida e grátis. Instale o discador agora! http://br.acesso.yahoo.com/ |
From: <lfk...@ya...> - 2005-11-18 13:23:43
|
Still needs to fix the protocol version handshake: I posted a message previously about it but here it goes again. First the client should read the maximum protocol version the server is able to understand. And then the client should send the protocol version it wants to use. The problem occurs with UltraVnc because the server sends version 3.6. The client should send version 3.3 and assume that the handshaked version is 3.3. But pvnc2swf is assuming 3.6 and it's not working! A few suggestions: - add a "Stop" action tag at the last frame my suggestion is to change the "close" method in "class SWFOutputStream" as follows: ################################# def close(self): #stop self.writer.start_action() self.writer.do_action(7) self.writer.end_action() #show frame self.writer.start_tag() self.writer.end_tag(1) MovieOutputStream.next_frame(self) MovieOutputStream.close(self) if self.writer: self.writer.start_tag() self.writer.end_tag(0) self.writer.write_file(self.output_frames) self.writer = None self.info.generate_html() return ###################################### - add a navigation bar with play, pause, rewind buttons and a slider to move quickly forward and backwards and show the elapsed time since the begining. - track the cursor separately - animate the cursor clicks Luis Fernando _______________________________________________________ Yahoo! Acesso Grátis: Internet rápida e grátis. Instale o discador agora! http://br.acesso.yahoo.com/ |
From: Yusuke S. <yu...@cs...> - 2005-11-20 09:34:45
|
Luis, Thank you for your help. I realized I was wrong about the protocol handshaking. Now I tried to identify the server's version first and use the maximum available version. And I'll also add a stop action in the end. As for capturing mouse position or clicks directly, I don't know how to do it, I wish I could though. I have received another feature request for capturing key strokes, but I'm afraid there's no way to do these things in a platform independent way. Because I like the cross-platform portability so much (which is one of the reasons why I switch to Python), I'd like to defer implementing these features some time later. Yusuke |