Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#ifndef T32MOVMSG_H
Toshihiro Shimizu 890ddd
#define T32MOVMSG_H
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#include "tipcmsg.h"
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//  Forward declarations
Toshihiro Shimizu 890ddd
namespace tipc
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
class Server;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
using namespace tipc;
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
namespace mov_io
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void addParsers(tipc::Server *srv);
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//************************************************************************************
Toshihiro Shimizu 890ddd
//    Generic messages
Toshihiro Shimizu 890ddd
//************************************************************************************
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class IsQTInstalledParser : public tipc::MessageParser
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	//Syntax : $isQTInstalled
Toshihiro Shimizu 890ddd
	//Reply: yes | no
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Toshihiro Shimizu 890ddd
	QString header() const { return "$isQTInstalled"; }
Toshihiro Shimizu 890ddd
	void operator()(Message &stream);
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class DefaultMovPropsParser : public tipc::MessageParser
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	//Syntax : $defaultMovProps <props fp="">\n</props>
Toshihiro Shimizu 890ddd
	//Reply: ok | err
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Toshihiro Shimizu 890ddd
	QString header() const { return "$defaultMovProps"; }
Toshihiro Shimizu 890ddd
	void operator()(Message &stream);
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class OpenMovSettingsPopupParser : public tipc::MessageParser
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	//Syntax : $openMovPopup <props fp="">\n</props>
Toshihiro Shimizu 890ddd
	//Reply: ok
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Toshihiro Shimizu 890ddd
	QString header() const { return "$openMovSettingsPopup"; }
Toshihiro Shimizu 890ddd
	void operator()(Message &stream);
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//************************************************************************************
Toshihiro Shimizu 890ddd
//    Write messages
Toshihiro Shimizu 890ddd
//************************************************************************************
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class InitLWMovParser : public tipc::MessageParser
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	//Syntax: $initLWMov <id> <fp> <props fp=""></props></fp></id>
Toshihiro Shimizu 890ddd
	//Reply: ok | err
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Toshihiro Shimizu 890ddd
	QString header() const { return "$initLWMov"; }
Toshihiro Shimizu 890ddd
	void operator()(Message &stream);
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class LWSetFrameRateParser : public tipc::MessageParser
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	//Syntax: $LWMovSetFrameRate <id> <fps></fps></id>
Toshihiro Shimizu 890ddd
	//Reply: ok | err
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Toshihiro Shimizu 890ddd
	QString header() const { return "$LWMovSetFrameRate"; }
Toshihiro Shimizu 890ddd
	void operator()(Message &stream);
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class LWImageWriteParser : public tipc::MessageParser
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	//Syntax: [$LWMovImageWrite <id> <frameidx> <lx> <ly>] [data writer]</ly></lx></frameidx></id>
Toshihiro Shimizu 890ddd
	//Reply: ok | err
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Toshihiro Shimizu 890ddd
	QString header() const { return "$LWMovImageWrite"; }
Toshihiro Shimizu 890ddd
	void operator()(Message &stream);
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class LWSaveSoundTrackParser : public tipc::MessageParser
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	//Syntax: [$LWMovSaveSoundTrack <id> <samplerate> <bps> <chancount> <scount> <signedsample>] [data writer]</signedsample></scount></chancount></bps></samplerate></id>
Toshihiro Shimizu 890ddd
	//Reply: ok | err
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Toshihiro Shimizu 890ddd
	QString header() const { return "$LWMovSaveSoundTrack"; }
Toshihiro Shimizu 890ddd
	void operator()(Message &stream);
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class CloseLWMovParser : public tipc::MessageParser
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	//Syntax: $closeLWMov <id></id>
Toshihiro Shimizu 890ddd
	//Reply: ok | err
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Toshihiro Shimizu 890ddd
	QString header() const { return "$closeLWMov"; }
Toshihiro Shimizu 890ddd
	void operator()(Message &stream);
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//************************************************************************************
Toshihiro Shimizu 890ddd
//    Read messages
Toshihiro Shimizu 890ddd
//************************************************************************************
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class InitLRMovParser : public tipc::MessageParser
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	//Syntax: $initLRMov <id> <fp></fp></id>
Toshihiro Shimizu 890ddd
	//Reply: ok <lx> <ly> <framerate> | err</framerate></ly></lx>
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Toshihiro Shimizu 890ddd
	QString header() const { return "$initLRMov"; }
Toshihiro Shimizu 890ddd
	void operator()(Message &stream);
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class LRLoadInfoParser : public tipc::MessageParser
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	//Syntax: $LRMovLoadInfo <id> <shmem id=""></shmem></id>
Toshihiro Shimizu 890ddd
	//Reply: ok <framecount> | err</framecount>
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
	//NOTE: Expects an external call to $shmem_release <shmem_id> after data is dealt with.</shmem_id>
Toshihiro Shimizu 890ddd
	//      If the shmem_id is empty, the level infos are not returned.
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Toshihiro Shimizu 890ddd
	QString header() const { return "$LRMovLoadInfo"; }
Toshihiro Shimizu 890ddd
	void operator()(Message &stream);
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class LREnableRandomAccessReadParser : public tipc::MessageParser
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	//Syntax: $LRMovEnableRandomAccessRead <id> <"true" | "false"></id>
Toshihiro Shimizu 890ddd
	//Reply: ok | err
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Toshihiro Shimizu 890ddd
	QString header() const { return "$LRMovEnableRandomAccessRead"; }
Toshihiro Shimizu 890ddd
	void operator()(Message &stream);
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#ifdef WIN32 //The following commands are used only from Digital Dailies Lab - Windows only
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class LRSetYMirrorParser : public tipc::MessageParser
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	//Syntax: $LRMovSetYMirror <id> <"true" | "false"></id>
Toshihiro Shimizu 890ddd
	//Reply: ok | err
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Toshihiro Shimizu 890ddd
	QString header() const { return "$LRMovSetYMirror"; }
Toshihiro Shimizu 890ddd
	void operator()(Message &stream);
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class LRSetLoadTimecodeParser : public tipc::MessageParser
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	//Syntax: $LRMovSetLoadTimecode <id> <"true" | "false"></id>
Toshihiro Shimizu 890ddd
	//Reply: ok | err
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Toshihiro Shimizu 890ddd
	QString header() const { return "$LRMovSetLoadTimecode"; }
Toshihiro Shimizu 890ddd
	void operator()(Message &stream);
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class LRTimecodeParser : public tipc::MessageParser
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	//Syntax: $LRMovTimecode <id> </id>
Toshihiro Shimizu 890ddd
	//Reply: ok <hh> <mm> <ss> <ff> | err</ff></ss></mm></hh>
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Toshihiro Shimizu 890ddd
	QString header() const { return "$LRMovTimecode"; }
Toshihiro Shimizu 890ddd
	void operator()(Message &stream);
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#endif
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class LRImageReadParser : public tipc::MessageParser
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	//Syntax: $LRMovImageRead <id> <lx> <ly> <bypp> <frameidx> <x> <y> <shrinkx> <shrinky></shrinky></shrinkx></y></x></frameidx></bypp></ly></lx></id>
Toshihiro Shimizu 890ddd
	//Reply: [data reader]
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Toshihiro Shimizu 890ddd
	QString header() const { return "$LRMovImageRead"; }
Toshihiro Shimizu 890ddd
	void operator()(Message &stream);
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class LRImageReadSHMParser : public tipc::MessageParser
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	//Syntax: $LRMovImageReadSHM <id> <lx> <ly> <frameidx> <shmem id=""></shmem></frameidx></ly></lx></id>
Toshihiro Shimizu 890ddd
	//Reply: ok <hh> <mm> <ss> <ff> | err</ff></ss></mm></hh>
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Toshihiro Shimizu 890ddd
	QString header() const { return "$LRMovImageReadSHM"; }
Toshihiro Shimizu 890ddd
	void operator()(Message &stream);
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class CloseLRMovParser : public tipc::MessageParser
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	//Syntax: $closeLRMov <id></id>
Toshihiro Shimizu 890ddd
	//Reply: ok | err
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Toshihiro Shimizu 890ddd
	QString header() const { return "$closeLRMov"; }
Toshihiro Shimizu 890ddd
	void operator()(Message &stream);
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
} //namespace tlevelwriter_mov
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#endif //T32MOVMSG_H