Shinya Kitaoka 810553
#pragma once
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
Shinya Kitaoka 120a6e
namespace tipc {
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
Shinya Kitaoka 120a6e
namespace mov_io {
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
Shinya Kitaoka 120a6e
class IsQTInstalledParser : public tipc::MessageParser {
Shinya Kitaoka 120a6e
  // Syntax : $isQTInstalled
Shinya Kitaoka 120a6e
  // Reply: yes | no
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 473e70
  QString header() const override { return "$isQTInstalled"; }
Shinya Kitaoka 473e70
  void operator()(Message &stream) override;
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
class DefaultMovPropsParser : public tipc::MessageParser {
Shinya Kitaoka 120a6e
  // Syntax : $defaultMovProps <props fp>\n
Shinya Kitaoka 120a6e
  // Reply: ok | err
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 473e70
  QString header() const override { return "$defaultMovProps"; }
Shinya Kitaoka 473e70
  void operator()(Message &stream) override;
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
class OpenMovSettingsPopupParser : public tipc::MessageParser {
Shinya Kitaoka 120a6e
  // Syntax : $openMovPopup <props fp>\n
Shinya Kitaoka 120a6e
  // Reply: ok
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 473e70
  QString header() const override { return "$openMovSettingsPopup"; }
Shinya Kitaoka 473e70
  void operator()(Message &stream) override;
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//************************************************************************************
Toshihiro Shimizu 890ddd
//    Write messages
Toshihiro Shimizu 890ddd
//************************************************************************************
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
class InitLWMovParser : public tipc::MessageParser {
Shinya Kitaoka 120a6e
  // Syntax: $initLWMov <id> <fp> <props fp>
Shinya Kitaoka 120a6e
  // Reply: ok | err
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 473e70
  QString header() const override { return "$initLWMov"; }
Shinya Kitaoka 473e70
  void operator()(Message &stream) override;
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
class LWSetFrameRateParser : public tipc::MessageParser {
Shinya Kitaoka 120a6e
  // Syntax: $LWMovSetFrameRate <id> <fps>
Shinya Kitaoka 120a6e
  // Reply: ok | err
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 473e70
  QString header() const override { return "$LWMovSetFrameRate"; }
Shinya Kitaoka 473e70
  void operator()(Message &stream) override;
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
class LWImageWriteParser : public tipc::MessageParser {
Shinya Kitaoka 120a6e
  // Syntax: [$LWMovImageWrite <id> <frameIdx> <lx> <ly>] [data writer]
Shinya Kitaoka 120a6e
  // Reply: ok | err
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 473e70
  QString header() const override { return "$LWMovImageWrite"; }
Shinya Kitaoka 473e70
  void operator()(Message &stream) override;
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
class LWSaveSoundTrackParser : public tipc::MessageParser {
Shinya Kitaoka 120a6e
  // Syntax: [$LWMovSaveSoundTrack <id> <sampleRate> <bps> <chanCount> <sCount>
Shinya Kitaoka 120a6e
  // <signedSample>] [data writer]
Shinya Kitaoka 120a6e
  // Reply: ok | err
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 473e70
  QString header() const override { return "$LWMovSaveSoundTrack"; }
Shinya Kitaoka 473e70
  void operator()(Message &stream) override;
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
class CloseLWMovParser : public tipc::MessageParser {
Shinya Kitaoka 120a6e
  // Syntax: $closeLWMov <id>
Shinya Kitaoka 120a6e
  // Reply: ok | err
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 473e70
  QString header() const override { return "$closeLWMov"; }
Shinya Kitaoka 473e70
  void operator()(Message &stream) override;
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//************************************************************************************
Toshihiro Shimizu 890ddd
//    Read messages
Toshihiro Shimizu 890ddd
//************************************************************************************
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
class InitLRMovParser : public tipc::MessageParser {
Shinya Kitaoka 120a6e
  // Syntax: $initLRMov <id> <fp>
Shinya Kitaoka 120a6e
  // Reply: ok <lx> <ly> <framerate> | err
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 473e70
  QString header() const override { return "$initLRMov"; }
Shinya Kitaoka 473e70
  void operator()(Message &stream) override;
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
class LRLoadInfoParser : public tipc::MessageParser {
Shinya Kitaoka 120a6e
  // Syntax: $LRMovLoadInfo <id> <shmem id>
Shinya Kitaoka 120a6e
  // Reply: ok <frameCount> | err
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  // NOTE: Expects an external call to $shmem_release <shmem_id> after data is
Shinya Kitaoka 120a6e
  // dealt with.
Shinya Kitaoka 120a6e
  //      If the shmem_id is empty, the level infos are not returned.
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 473e70
  QString header() const override { return "$LRMovLoadInfo"; }
Shinya Kitaoka 473e70
  void operator()(Message &stream) override;
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
class LREnableRandomAccessReadParser : public tipc::MessageParser {
Shinya Kitaoka 120a6e
  // Syntax: $LRMovEnableRandomAccessRead <id> <"true" | "false">
Shinya Kitaoka 120a6e
  // Reply: ok | err
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 473e70
  QString header() const override { return "$LRMovEnableRandomAccessRead"; }
Shinya Kitaoka 473e70
  void operator()(Message &stream) override;
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
#ifdef WIN32  // The following commands are used only from Digital Dailies Lab -
Shinya Kitaoka 120a6e
              // Windows only
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
class LRSetYMirrorParser : public tipc::MessageParser {
Shinya Kitaoka 120a6e
  // Syntax: $LRMovSetYMirror <id> <"true" | "false">
Shinya Kitaoka 120a6e
  // Reply: ok | err
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 473e70
  QString header() const override { return "$LRMovSetYMirror"; }
Shinya Kitaoka 473e70
  void operator()(Message &stream) override;
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
class LRSetLoadTimecodeParser : public tipc::MessageParser {
Shinya Kitaoka 120a6e
  // Syntax: $LRMovSetLoadTimecode <id> <"true" | "false">
Shinya Kitaoka 120a6e
  // Reply: ok | err
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 473e70
  QString header() const override { return "$LRMovSetLoadTimecode"; }
Shinya Kitaoka 473e70
  void operator()(Message &stream) override;
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
class LRTimecodeParser : public tipc::MessageParser {
Shinya Kitaoka 120a6e
  // Syntax: $LRMovTimecode <id> <frame>
Shinya Kitaoka 120a6e
  // Reply: ok <hh> <mm> <ss> <ff> | err
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 473e70
  QString header() const override { return "$LRMovTimecode"; }
Shinya Kitaoka 473e70
  void operator()(Message &stream) override;
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#endif
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
class LRImageReadParser : public tipc::MessageParser {
Shinya Kitaoka 120a6e
  // Syntax: $LRMovImageRead <id> <lx> <ly> <bypp> <frameIdx> <x> <y> <shrinkX>
Shinya Kitaoka 120a6e
  // <shrinkY>
Shinya Kitaoka 120a6e
  // Reply: [data reader]
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 473e70
  QString header() const override { return "$LRMovImageRead"; }
Shinya Kitaoka 473e70
  void operator()(Message &stream) override;
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
class LRImageReadSHMParser : public tipc::MessageParser {
Shinya Kitaoka 120a6e
  // Syntax: $LRMovImageReadSHM <id> <lx> <ly> <frameIdx> <shmem id>
Shinya Kitaoka 120a6e
  // Reply: ok <hh> <mm> <ss> <ff> | err
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 473e70
  QString header() const override { return "$LRMovImageReadSHM"; }
Shinya Kitaoka 473e70
  void operator()(Message &stream) override;
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
class CloseLRMovParser : public tipc::MessageParser {
Shinya Kitaoka 120a6e
  // Syntax: $closeLRMov <id>
Shinya Kitaoka 120a6e
  // Reply: ok | err
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 473e70
  QString header() const override { return "$closeLRMov"; }
Shinya Kitaoka 473e70
  void operator()(Message &stream) override;
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
}  // namespace tlevelwriter_mov
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
#endif  // T32MOVMSG_H