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