Posts: 40,483
Threads: 491
Joined: Aug 2002
Maybe there's something not totally correct there on my side to look for the Logoff as it's supposed to. I'll have to look into that.
BTW, you use the 'linger' option on the socket, which will keep it open long enough to make sure the other side sees the sent data after you close it.
Dean Roddey
Explorans limites defectum
Posts: 362
Threads: 10
Joined: Sep 2009
The documentation states that only some of the bitmap modes are currently used. Can you tell me which ones? I am trying to work out which of Apple's transfer modes correspond to which of CQC's, and it's not immediately clear. So I want to make sure that at least I come up with satisfactory mappings for the modes that are actually used.
What is the difference between srcCopy and patCopy? Some of the references I see indicate that patCopy uses the current brush, ignoring the source image. Is that true? Likewise, does dstInvert invert the destination, ignoring the source image?
Posts: 1,907
Threads: 76
Joined: Feb 2004
Brian,
I'll let Dean deal with the transfer modes. As a note, I started and built up a 90% working client using the full protocol. I never got some subtleties like text reflection, etc. to work well. I also ran into the fact that the .Net Compact Framework did not support the alpha channel in images. We worked out the simple protocol and I was able to do away with all of the issues relating to things like you are dealing with and the resulting viewer is blazing fast even with the transfer at times of complete screen size bitmaps. If you want a quick time to first version I'd recommend you start with the simple protocol and then work on implementing the full. The full protocol might be better at 3G speeds but certainly on WiFi the simple protocol is more than adequate.
Mark Stega
Posts: 40,483
Threads: 491
Joined: Aug 2002
10-06-2009, 10:22 AM
(This post was last modified: 10-06-2009, 10:25 AM by Dean Roddey.)
Mark's idea might be worth looking into. But, anyway, in the meantime the answer to your question is, just do src copy for now. I don't think that any other mode is used other than in the context of masking images for transparency color (which you'd do on your side internally), or in some cases like the progress bar or the CAB's fancy cover art displays, neither of which the RIVA protocol supports currently.
As always, leave it open to add support for other modes, but just do source copy for now.
Ultimately, on my side, those calls that use those patterns boil down to calls to the Windows BitBlt() call, which is documented here. It describes the various modes. The names are slightly different but I think that the translation should be obvious. Let me know if not.
http://msdn.microsoft.com/en-us/library/aa930997.aspx
Dean Roddey
Explorans limites defectum
Posts: 40,483
Threads: 491
Joined: Aug 2002
Well, I'm not seeing anything that could possibly cause the RIVA server not to be able to contact the data server. So, for the moment, I'm going to go ahead and get a new drop out, and we'll just have to dig deeper into this in order to see what's going on. There's some important stuff in this drop to get out so I don't want to hold it up. I've got 5 instances up right now, and I've been interacting with them randomly and logging off and stopping and starting them and it's working fine.
Dean Roddey
Explorans limites defectum
Posts: 362
Threads: 10
Joined: Sep 2009
On a totally unrelated note, I noticed last week that my Logitech Squeezebox Duet system now appears to allow people to write applications for it. I don't know anything about how the development process would work (other than that apps are written in Lua, and there do appear to be networking and graphics libraries), but it did strike me that people with CQC systems and Squeezeboxes would probably love to control one with the other. However, the controller is not a touchscreen device. It has a nice little display on top and a bunch of buttons and clickwheel on the bottom. So I don't immediately see how the RIVA protocol could be used as is, since it expects user interaction to come in the form of press, move and release messages. I guess the Squeezebox client could take the button presses and clickwheel moves and map them into pretend mouse moves to fixed locations on the screen. Then the template would need to be designed to align with those fixed locations. That's a little hokey, though.
Posts: 40,483
Threads: 491
Joined: Aug 2002
Yeh, that would be a tough fit. It might be better to do something with the XML gateway for something like that.
Dean Roddey
Explorans limites defectum
Posts: 2,407
Threads: 244
Joined: Oct 2007
There is a touch screen squeezebox now as well.
Posts: 1,277
Threads: 142
Joined: Oct 2005
Dean Roddey Wrote:Well, I'm not seeing anything that could possibly cause the RIVA server not to be able to contact the data server. So, for the moment, I'm going to go ahead and get a new drop out, and we'll just have to dig deeper into this in order to see what's going on. There's some important stuff in this drop to get out so I don't want to hold it up. I've got 5 instances up right now, and I've been interacting with them randomly and logging off and stopping and starting them and it's working fine.
I am still having this problem all the time - something in RIVA that bugs out that requires me to kill the process.
I realize it may be something on the client end, but this is still not the usual 'bulletproof' CQC experience I like to brag about...
Posts: 40,483
Threads: 491
Joined: Aug 2002
Yeh, I'll be looking into this. There are just some immediate term things that I'm dealing with first.
Dean Roddey
Explorans limites defectum