1 #pragma once 2 3 #ifndef T32MOVMSG_H 4 #define T32MOVMSG_H 5 6 #include "tipcmsg.h" 7 8 //------------------------------------------------------------------ 9 10 // Forward declarations 11 namespace tipc { 12 class Server; 13 } 14 15 //------------------------------------------------------------------ 16 17 using namespace tipc; 18 19 namespace mov_io { 20 21 void addParsers(tipc::Server *srv); 22 23 //************************************************************************************ 24 // Generic messages 25 //************************************************************************************ 26 27 class IsQTInstalledParser : public tipc::MessageParser { 28 // Syntax : $isQTInstalled 29 // Reply: yes | no 30 31 public: header()32 QString header() const override { return "$isQTInstalled"; } 33 void operator()(Message &stream) override; 34 }; 35 36 //------------------------------------------------------------------------------ 37 38 class DefaultMovPropsParser : public tipc::MessageParser { 39 // Syntax : $defaultMovProps <props fp>\n 40 // Reply: ok | err 41 42 public: header()43 QString header() const override { return "$defaultMovProps"; } 44 void operator()(Message &stream) override; 45 }; 46 47 //------------------------------------------------------------------------------ 48 49 class OpenMovSettingsPopupParser : public tipc::MessageParser { 50 // Syntax : $openMovPopup <props fp>\n 51 // Reply: ok 52 53 public: header()54 QString header() const override { return "$openMovSettingsPopup"; } 55 void operator()(Message &stream) override; 56 }; 57 58 //************************************************************************************ 59 // Write messages 60 //************************************************************************************ 61 62 class InitLWMovParser : public tipc::MessageParser { 63 // Syntax: $initLWMov <id> <fp> <props fp> 64 // Reply: ok | err 65 66 public: header()67 QString header() const override { return "$initLWMov"; } 68 void operator()(Message &stream) override; 69 }; 70 71 //------------------------------------------------------------------------------ 72 73 class LWSetFrameRateParser : public tipc::MessageParser { 74 // Syntax: $LWMovSetFrameRate <id> <fps> 75 // Reply: ok | err 76 77 public: header()78 QString header() const override { return "$LWMovSetFrameRate"; } 79 void operator()(Message &stream) override; 80 }; 81 82 //------------------------------------------------------------------------------ 83 84 class LWImageWriteParser : public tipc::MessageParser { 85 // Syntax: [$LWMovImageWrite <id> <frameIdx> <lx> <ly>] [data writer] 86 // Reply: ok | err 87 88 public: header()89 QString header() const override { return "$LWMovImageWrite"; } 90 void operator()(Message &stream) override; 91 }; 92 93 //------------------------------------------------------------------------------ 94 95 class LWSaveSoundTrackParser : public tipc::MessageParser { 96 // Syntax: [$LWMovSaveSoundTrack <id> <sampleRate> <bps> <chanCount> <sCount> 97 // <signedSample>] [data writer] 98 // Reply: ok | err 99 100 public: header()101 QString header() const override { return "$LWMovSaveSoundTrack"; } 102 void operator()(Message &stream) override; 103 }; 104 105 //------------------------------------------------------------------------------ 106 107 class CloseLWMovParser : public tipc::MessageParser { 108 // Syntax: $closeLWMov <id> 109 // Reply: ok | err 110 111 public: header()112 QString header() const override { return "$closeLWMov"; } 113 void operator()(Message &stream) override; 114 }; 115 116 //************************************************************************************ 117 // Read messages 118 //************************************************************************************ 119 120 class InitLRMovParser : public tipc::MessageParser { 121 // Syntax: $initLRMov <id> <fp> 122 // Reply: ok <lx> <ly> <framerate> | err 123 124 public: header()125 QString header() const override { return "$initLRMov"; } 126 void operator()(Message &stream) override; 127 }; 128 129 //------------------------------------------------------------------------------ 130 131 class LRLoadInfoParser : public tipc::MessageParser { 132 // Syntax: $LRMovLoadInfo <id> <shmem id> 133 // Reply: ok <frameCount> | err 134 135 // NOTE: Expects an external call to $shmem_release <shmem_id> after data is 136 // dealt with. 137 // If the shmem_id is empty, the level infos are not returned. 138 139 public: header()140 QString header() const override { return "$LRMovLoadInfo"; } 141 void operator()(Message &stream) override; 142 }; 143 144 //------------------------------------------------------------------------------ 145 146 class LREnableRandomAccessReadParser : public tipc::MessageParser { 147 // Syntax: $LRMovEnableRandomAccessRead <id> <"true" | "false"> 148 // Reply: ok | err 149 150 public: header()151 QString header() const override { return "$LRMovEnableRandomAccessRead"; } 152 void operator()(Message &stream) override; 153 }; 154 155 //------------------------------------------------------------------------------ 156 157 #ifdef WIN32 // The following commands are used only from Digital Dailies Lab - 158 // Windows only 159 160 class LRSetYMirrorParser : public tipc::MessageParser { 161 // Syntax: $LRMovSetYMirror <id> <"true" | "false"> 162 // Reply: ok | err 163 164 public: header()165 QString header() const override { return "$LRMovSetYMirror"; } 166 void operator()(Message &stream) override; 167 }; 168 169 //------------------------------------------------------------------------------ 170 171 class LRSetLoadTimecodeParser : public tipc::MessageParser { 172 // Syntax: $LRMovSetLoadTimecode <id> <"true" | "false"> 173 // Reply: ok | err 174 175 public: header()176 QString header() const override { return "$LRMovSetLoadTimecode"; } 177 void operator()(Message &stream) override; 178 }; 179 180 //------------------------------------------------------------------------------ 181 182 class LRTimecodeParser : public tipc::MessageParser { 183 // Syntax: $LRMovTimecode <id> <frame> 184 // Reply: ok <hh> <mm> <ss> <ff> | err 185 186 public: header()187 QString header() const override { return "$LRMovTimecode"; } 188 void operator()(Message &stream) override; 189 }; 190 191 #endif 192 193 //------------------------------------------------------------------------------ 194 195 class LRImageReadParser : public tipc::MessageParser { 196 // Syntax: $LRMovImageRead <id> <lx> <ly> <bypp> <frameIdx> <x> <y> <shrinkX> 197 // <shrinkY> 198 // Reply: [data reader] 199 200 public: header()201 QString header() const override { return "$LRMovImageRead"; } 202 void operator()(Message &stream) override; 203 }; 204 205 //------------------------------------------------------------------------------ 206 207 class LRImageReadSHMParser : public tipc::MessageParser { 208 // Syntax: $LRMovImageReadSHM <id> <lx> <ly> <frameIdx> <shmem id> 209 // Reply: ok <hh> <mm> <ss> <ff> | err 210 211 public: header()212 QString header() const override { return "$LRMovImageReadSHM"; } 213 void operator()(Message &stream) override; 214 }; 215 216 //------------------------------------------------------------------------------ 217 218 class CloseLRMovParser : public tipc::MessageParser { 219 // Syntax: $closeLRMov <id> 220 // Reply: ok | err 221 222 public: header()223 QString header() const override { return "$closeLRMov"; } 224 void operator()(Message &stream) override; 225 }; 226 227 } // namespace tlevelwriter_mov 228 229 #endif // T32MOVMSG_H 230