Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Official RIVA thread
#1
This thread is for official discussion of the RIVA protocol. Since it is fairly new, there are likely to be questions or issues or requests. So use this thread for such general discussion. If you are creating a product, feel free to create your own thread for discussion particular to that product.

The latest RIVA protocol header is attached. The protocol is discussed in technical detail in the Remote Viewer Protocol technical document, available via the web site. This version of the header is valid for 3.0.13 and up.

Here is the latest (V2) RIVA development guide document:

http://charmedquark.com/Web2/Downloads/D...ol_3_4.pdf

Here are the changes for Version 2 of the protocol. Everything else is the same:

Code:
// ---------------------------------------------------------------------------
//  All of the Version 2 protocol stuff is below here. This does make things
//  a little less readable than having it all together, but it makes it far
//  easier to track changes, which is really the most important for sanity.
// ---------------------------------------------------------------------------
namespace kCQCRemVComm
{
    // -----------------------------------------------------------------------
    //  New V2 opcodes
    // -----------------------------------------------------------------------
    const tCIDLib::TCard1 c1OpCode_DrawPBar     = 21;
    const tCIDLib::TCard1 c1OpCode_NewTemplate  = 75;

    // -----------------------------------------------------------------------
    //  Values for c1Dir of DrawPBar, and possible other direction
    //  oriented stuff in the future.
    // -----------------------------------------------------------------------
    const tCIDLib::TCard1 c1Dir_Left            = 0;
    const tCIDLib::TCard1 c1Dir_Right           = 1;
    const tCIDLib::TCard1 c1Dir_Up              = 2;
    const tCIDLib::TCard1 c1Dir_Down            = 3;
};


namespace tCQCRemVComm
{
    // -----------------------------------------------------------------------
    //  c1OpCode_DrawPBar
    //
    //  Draw a progress bar
    // -----------------------------------------------------------------------
    struct TDrawPBar
    {
        THeader             hdrInfo;
        tCIDLib::TCard1     c1Opacity;
        tCIDLib::TFloat4    f4Percent;
        TRVArea             areaSrc;
        TRVArea             areaTar;
        tCIDLib::TCard1     c1Dir;
        TRVColor            clrFirst;
        TRVColor            clrSecond;
        TRVColor            clrFill;
        tCIDLib::TCard4     c4ImgSerial;
    };


    // -----------------------------------------------------------------------
    //  c1OpCode_NewTemplate
    //
    //  A new base template has been loaded. The template path is provided as
    //  text in the usual way.
    // -----------------------------------------------------------------------
    struct TNewTemplate
    {
        THeader         hdrInfo;
        tCIDLib::TCard4 c4Width;
        tCIDLib::TCard4 c4Height;
    };
}


Attached Files
.hpp   CQCRemVComm_Proto.hpp (Size: 31.47 KB / Downloads: 20)
Dean Roddey
Software Geek Extraordinaire
Reply
#2
As of 2.4.48, a couple slight additions were made, and the header above updated.

- There is a new Ping command which simple clients can use if they want a persistent image download connection. There's a chance in certain simple templates that there will be no changes for over a minute, and the image server could time out. So if you've made no snapshot requests in around 45 seconds or so, send a ping to keep the connection alive. It's just an opcode so it uses the TGenOpCode structure.

- There's a new TGenOpText structure for those simple commands that include just an opcode and a piece of text.

- The server will send a new PlayWAV command (using the new TGenOpText structure) when the client has configured a WAV file to be played. It will include the wave file as text after the structure in the usual way. You should play it asynchronously, since you don't want to block to play some long file. The user will have to have placed the WAVs such that the path you receive is accessible from where you are running, else obviously your attempt to play it will fail.
Dean Roddey
Software Geek Extraordinaire
Reply
#3
i have not spent much time trying to understand the riva, other than i think it is designed to run on machines with low computing capacity. assuming i am right, would using riva on my samsung q1 improve its responsivness?
Reply
#4
Actually RIVA is designed to allow some sort of CQC IV to run on something other than a full Windows OS systems. So unless you changed your Q1 to run on some other OS (like linux, Windows CE, etc), RIVA will not play a part in your Q1 life.
Brian

"Really dear, it was too good of a deal to pass up. Besides, look at what it does now...."
I think my wife is getting a little tired of hearing this :-)
Reply
#5
ok, thanks. i'll continue to ignore riva.
Reply
#6
Actually it could still. It's a lower resource consumption viewer as well. Sergio reported that it runs faster on their Vidabox tablets than the regular one. The regular one is still best otherwise. But on a small device, it's possible that the remote one may work better.
Dean Roddey
Software Geek Extraordinaire
Reply
#7
Dean Roddey Wrote:Actually it could still. It's a lower resource consumption viewer as well. Sergio reported that it runs faster on their Vidabox tablets than the regular one. The regular one is still best otherwise. But on a small device, it's possible that the remote one may work better.

Will there be a XP or Vista version created by CQC? Or is that something that would have to be writen by someone else? I guess it sounds like Vidabox is already experimenting with one.
Brian

"Really dear, it was too good of a deal to pass up. Besides, look at what it does now...."
I think my wife is getting a little tired of hearing this :-)
Reply
#8
There is an XP, eXP, Vista version in the current beta releases. Mark has a .Net version going in the lab as well.
Dean Roddey
Software Geek Extraordinaire
Reply
#9
riva doesn't support web widgets though does it. If we were to use it on xpe we would lose our weather and traffic maps?
Reply
#10
No, because of how it works it can't support web widgets, and for now it won't support the progress bar.
Dean Roddey
Software Geek Extraordinaire
Reply


Possibly Related Threads...
Thread Author Replies Views Last Post
  Html 5 Riva potts.mike 9 5,282 09-15-2013, 04:22 AM
Last Post: bjkiller
  Thinking about the next step in RIVA Dean Roddey 6 4,701 01-22-2013, 06:15 AM
Last Post: brianmount
  .Net RIVA Client Dean Roddey 146 41,114 02-06-2012, 06:53 PM
Last Post: Dean Roddey
  Transparent images in RIVA? SamVimes2 36 20,548 02-05-2011, 04:34 PM
Last Post: Dean Roddey
  riva burkepaol4 1 6,193 12-17-2010, 11:39 AM
Last Post: Dean Roddey
  Riva screen blanker on CF.NET froop 3 5,357 08-06-2010, 10:34 PM
Last Post: froop
  RIVA Connection batwater 6 4,894 07-16-2010, 04:46 PM
Last Post: batwater
  Java based RIVA Client? batwater 10 6,769 04-03-2010, 05:35 AM
Last Post: wuench
  RIVA Client for Linux bryanb 22 9,356 07-16-2009, 09:11 PM
Last Post: bjkiller

Forum Jump:


Users browsing this thread: 1 Guest(s)