FasdUAS 1.101.10 k l ! TroupeIT QLab Cue Importer  6 TroupeIT QLab Cue Importer l  82 Creates QLab cues from TroupeIT metadata download d Creates QLab cues from TroupeIT metadata download  l  (c) 2015-2026 TroupeIT. (c) 2015-2026 TroupeIT l l  Revision History" Revision History l  ================" ================ ! l"# "D> 01/19/2026 Major rewrite - Added TroupeIT bridge network cues#$$| 01/19/2026 Major rewrite - Added TroupeIT bridge network cues!%& %l'( '2, 01/07/2024 Add SMPTE groupings and timecode())X 01/07/2024 Add SMPTE groupings and timecode&*+ *l,- ,& 02/05/2021 Add Video extensions-..@ 02/05/2021 Add Video extensions+/0 /l12 1 12/01/2015 Initial Code2330 12/01/2015 Initial Code045 4l567 6l89 8 Metadata Format (TSV):9::. Metadata Format (TSV):7;< ;l=> =71 seq show_item_id type color title notes filename>??b seq show_item_id type color title notes filename<@A @lABC BlDE D  Types: Audio, Video, MemoEFF4 Types: Audio, Video, MemoCGH GlIJ I;5 show_item_id: TroupeIT ID for OSC bridge integrationJKKj show_item_id: TroupeIT ID for OSC bridge integrationHLM LlMNO NlPQ P TroupeIT Bridge Setup:QRR. TroupeIT Bridge Setup:OST SlUV UGA Configure a Network Patch in QLab Workspace Settings pointing toVWW Configure a Network Patch in QLab Workspace Settings pointing toTXY XlZ[ Z=7 the machine running qlab_bridge.py (default port 9000)[\\n the machine running qlab_bridge.py (default port 9000)Y]^ ]l^_` _x a a2  osax`bc blcde dlfg fSM ============================================================================ghh ============================================================================eij ilkl k Configurationlmm Configurationjno nlpq pSM ============================================================================qrr ============================================================================ost sltuv uj w 0 kdialogtitle kDialogTitle wm xxyy,TroupeIT QLab Importervz{ zj | $0kacceptabletypeskAcceptableTypes |J }}~ ~m  Audio m Video mMemo{ j $0kvideoextensionskVideoExtensions J m.mkv m.mp4 m.mov m.m4v m.avi m .webm l l TN Network patch number for TroupeIT bridge (user should configure this in QLab) Network patch number for TroupeIT bridge (user should configure this in QLab) j (0kbridgepatchnumberkBridgePatchNumber m l l 0* Column indices for metadata.tsv (1-based)T Column indices for metadata.tsv (1-based) j!# 0kcolseqkColSeq m!" j$& 0kcolshowitemidkColShowItemId m$% j') 0kcoltypekColType m'( j*. 0 kcolcolor kColColor m*- j/3 0 kcoltitle kColTitle m/2 j46 0 kcolnotes kColNotes m45 j7; 0 kcolfilename kColFilename m7: l l SM ============================================================================ ============================================================================ l  Color Mapping Color Mapping l SM ============================================================================ ============================================================================ l i<? I 0mapcolortoqlabmapColorToQLab o 0ticolortiColor kl Z = o 0ticolortiColor m red_bg L mred Z  =  o  0ticolortiColor mblue_bg L mblue Z& = o 0ticolortiColor mcyan_bg L " m !blue Z'3 ='*   o'( 0ticolortiColor  m()    green_bg L-/  m-. green Z4@ =47 o45 0ticolortiColor m56brown_bg L:< m:; yellow ZAM =AD oAB 0ticolortiColor  mBC!!""yellow_bg LGI# #mGH$$%% yellow&' &ZNZ() (=NQ*+ *oNO 0ticolortiColor +mOP,,--orange_bg )LTV. .mTU//00 orange'12 1Z[g34 3=[^56 5o[\ 0ticolortiColor 6m\]7788purple_bg 4Lac9 9mab::;; purple2< <Lhl= =mhk>>??none@A @lABC BlDE DSM ============================================================================EFF ============================================================================CGH GlIJ I File UtilitiesJKK File UtilitiesHLM LlNO NSM ============================================================================OPP ============================================================================MQR QlRST Si@CUV UIW "0getparentfoldergetParentFolderWX Xo 0filepathfilePath Vk:YYZ[ ZZ+\]^ \F _` _=ab ancd cm  pcls do 0filepathfilePath bm  ctxt `E ef eo  0filepathfilePath fm gghh: ]rij ickl ko~ ~0filepathfilePath lm} } alis jo| |0filepathfilePath^mn m>op onqr qm{ { pcls roz z0filepathfilePath pmy y alisnsx sr 'tu tc %vw vl #xwv xc #yz yo !u u0filepathfilePath zm!"t t psxfwv wm#$s s alis uor r0filepathfilePathx[{| {l,,qpoqpo|}n }O,:~ ~L09 n08 157m m psxp l05lk c05 l03ji n03 m13h h ctnr o01g g0filepathfilePathji m34f f alislk m,-MACSalis@ Macintosh HDBD Finder.app cu CoreServices)/:System:Library:CoreServices:Finder.app/ Finder.app Macintosh HD&System/Library/CoreServices/Finder.app/nT ledcedc iDG Iba b0 isvideofile isVideoFile` o_ _ 0filename`a k6 r  I ^] ^.sysoexecTEXTTEXT b b m echo n 1\ \ strq o[ [ 0filename m: | tr '[:upper:]' '[:lower:]'] oZ Z0 lowercasename lowercaseName X3Y Z".XW D"% o"#V V0 lowercasename lowercaseName o#$U U0ext L(* m()T T boovtrueXW Y0ext oS S$0kvideoextensionskVideoExtensionsR L46 m45Q Q boovfalsR lPONPON lMM SM ============================================================================ ============================================================================ lLL  QLab Helpers QLab Helpers lKK SM ============================================================================ ============================================================================ lJIHJIH iHK IGF G"0setqlabcuecolorsetQLabCueColor oE E0thecuetheCueD oC C0 qlabcolor qlabColorDF k  lBB /) QLab 5 supports setting q color directlyR QLab 5 supports setting q color directlyA O  r  o@ @0 qlabcolor qlabColor n 1? ? qCol o> >0thecuetheCue mx@alis Macintosh HDBDQLab.appmP cu Applications/:Applications:QLab.app/QLab.app Macintosh HDApplications/QLab.app/A l=<;=<; l:: SM ============================================================================ ============================================================================ l99  Cue Creation Cue Creation l88 SM ============================================================================ ============================================================================ l765765 iLO I43 400createbridgenetworkcuecreateBridgeNetworkCue2 o1 10 theshowitemid theShowItemId23 k: l00 >8 Creates a Network Cue that sends OSC to TroupeIT bridgep Creates a Network Cue that sends OSC to TroupeIT bridge r b m/troupeit/cue o/ /0 theshowitemid theShowItemId o. .0oscmsgoscMsg O7 O 6 k5 I-, -.QLabmakenullqDoc,+* + newT m  Network*   r#   n! 4!) ) cobj m (( l'& c 1% % qSEL m$ $ list'&  o# #0 networkcue networkCue  r$) m$%TroupeIT Bridge n 1&(" " qNam o%&! !0 networkcue networkCue r*/ m*+  ContDoCo n !  1,.  qCon !o+, 0 networkcue networkCue"# "l00$% $ Set custom OSC message%&&. Set custom OSC message#' 'r05() (o01 0oscmsgoscMsg )n*+ *124  qCuo +o12 0 networkcue networkCue 4 ,  qDoc ,m  m--x@alis Macintosh HDBDQLab.appmP cu Applications/:Applications:QLab.app/QLab.app Macintosh HDApplications/QLab.app/. .L8:/ /o89 0 networkcue networkCue01 0l123 2iPS45 4I 00createtimecodestartcuecreateTimecodeStartCue 5kJ6678 7OG9: 9OF;< ;k E==>? >I  @ .QLabmakenullqDoc @ A  newT Am BBCCTimecode ?DE DrFG FnHI H4 J  cobj Jm  IlK KcLM L1  qSEL Mm  list Go 0 startsmpte startSMPTEENO Nr#PQ PmRRSSStart Timecode QnTU T1 "  qNam Uo  0 startsmpte startSMPTEOVW Vr$)XY Xm$% YnZ[ Z1&(  qAPn [o%& 0 startsmpte startSMPTEW\] \r*/^_ ^m*+  SMPTthND _n`a `1,.  qSMP ao+, 0 startsmpte startSMPTE]bc br05de dm01  MTLTsynL enfg fm24  type go12 0 startsmpte startSMPTEchi hr6;jk jm67 knlm l18:  qTCc mo78 0 startsmpte startSMPTEin nr<Eop om<?  ContDoCo pnqr q1@D  qCon ro?@ 0 startsmpte startSMPTE <4s  qDoc sm :mttx@alis Macintosh HDBDQLab.appmP cu Applications/:Applications:QLab.app/QLab.app Macintosh HDApplications/QLab.app/8u uLHJv voHI 0 startsmpte startSMPTE3wx wlxyz yiTW{| {I} .0createtimecodestopcuecreateTimecodeStopCue}~ ~o 0 startsmpte startSMPTE |k. O+ O* k ) I  .QLabmakenullqDoc  newT m Stop r n 4  cobj m l c 1  qSEL m  list o 0 stopsmpte stopSMPTE r# mStop Timecode n 1 "  qNam o 0 stopsmpte stopSMPTE r$) o$% 0 startsmpte startSMPTE n 1&(  qQTr o%& 0 stopsmpte stopSMPTE 4  qDoc m mx@alis Macintosh HDBDQLab.appmP cu Applications/:Applications:QLab.app/QLab.app Macintosh HDApplications/QLab.app/ L,. o,- 0 stopsmpte stopSMPTEz l iX[ I 0 creatememocue createMemoCue o 0cuedatacueData o (0generatebridgecuesgenerateBridgeCues o $0generatetimecodegenerateTimecode k r n o 0thetitletheTitle o 0cuedatacueData o 0thetitletheTitle r  n  o 0thenotestheNotes o 0cuedatacueData o 0thenotestheNotes r  n  o  0thecolortheColor o 0cuedatacueData o 0thecolortheColor r n o 0 theshowitemid theShowItemId o 0cuedatacueData o 0 theshowitemid theShowItemId l OQ OP k#O l##  Create group container. Create group container I#* .QLabmakenullqDoc  newT m%& Group r+5 n+3 403  cobj m12 l+0 c+0 1+.  qSEL m./  list o 0newgroupnewGroup r6; n69 179  ID o67 0newgroupnewGroup o 0groupidgroupId r<A o<= 0thetitletheTitle n 1>@  qNam o=> 0newgroupnewGroup rBG mBC  GRUPqGHS n 1DF  qGMo oCD 0newgroupnewGroup lHH lHH % Track cue list for moving cues> Track cue list for moving cues rHO nHM 1IM  qPar oHI 0newgroupnewGroup o 0cuelistcueList 4   qDoc  m m  x@alis Macintosh HDBDQLab.appmP cu Applications/:Applications:QLab.app/QLab.app Macintosh HDApplications/QLab.app/   lRR    lRR  Set group color Set group color nR^ IS^ "0setqlabcuecolorsetQLabCueColor oST 0newgroupnewGroup nTZ IUZ 0mapcolortoqlabmapColorToQLab oUV 0thecolortheColor fTU fRS l__ !  l__"# "60 Add bridge network cue if enabled (fires first)#$$` Add bridge network cue if enabled (fires first)!%& %Z_'( 'o_` (0generatebridgecuesgenerateBridgeCues (kc))*+ *rck,- ,nci./ .Idi0 00createbridgenetworkcuecreateBridgeNetworkCue01 1ode 0 theshowitemid theShowItemId /fcd -o 0 networkcue networkCue+2 2Ol34 3Op56 5Iw78 .coremovenull**** 7nw9: 95x;  aCue ;l{<~} <n{=> =1|~| | ID >o{|{ {0 networkcue networkCue~}  kfrmID :owxz z0cuelistcueList8y?x y insh ?n@A @; A5wBv w aCue Bou u0groupidgroupId v kfrmID x 64pttC t qDoc Cmrsss 4mlmDDx@alis Macintosh HDBDQLab.appmP cu Applications/:Applications:QLab.app/QLab.app Macintosh HDApplications/QLab.app/&EF ElrqprqpFGH GloIJo I Create the memo cueJKK( Create the memo cueHLM LONO NOPQ PkRRST SInmU n.QLabmakenullqDocmUlVk l newT VmWWXXMemokTYZ Yr[\ [n]^ ]4j_ j cobj _mii ^l`hg `cab a1f f qSEL bme e listhg \od d0memocuememoCueZcd cref eoc c0thetitletheTitle fngh g1b b qNam hoa a0memocuememoCuedij irkl ko` `0thenotestheNotes lnmn m1_ _ qNot no^ ^0memocuememoCuejop oI]qr ].coremovenull**** qnst s5\u[ \ aCue ulvZY vnwx w1X X ID xoW W0memocuememoCueZY [ kfrmID toV V0cuelistcueListrUyT U insh ynz{ z; {5S|R S aCue |oQ Q0groupidgroupId R kfrmID Tp}~ }lPONPON~ lMM  Collapse the group& Collapse the groupL IKJ K.QLabcollnullGRPq 5IH I aCue oG G0groupidgroupId H kfrmID JL Q4F F qDoc mEE Omx@alis Macintosh HDBDQLab.appmP cu Applications/:Applications:QLab.app/QLab.app Macintosh HDApplications/QLab.app/M lDCBDCBA L o@ @0newgroupnewGroupA l?>=?>= i\_ I<; < 0createmediacuecreateMediaCue o: :0cuedatacueData o9 90 pathprefix pathPrefix o8 8(0generatebridgecuesgenerateBridgeCues7 o6 6$0generatetimecodegenerateTimecode7; k r n o5 50thetypetheType o4 40cuedatacueData o3 30thetypetheType r  n  o 2 20thetitletheTitle o1 10cuedatacueData o0 00thetitletheTitle r  n  o / /0thenotestheNotes o . .0cuedatacueData o- -0thenotestheNotes r n o, ,0thecolortheColor o+ +0cuedatacueData o* *0thecolortheColor r n o) )0 thefilename theFilename o( (0cuedatacueData o' '0 thefilename theFilename r# n! o!& &0 theshowitemid theShowItemId o% %0cuedatacueData o$ $0 theshowitemid theShowItemId l$$#"!#"! O$i O(h k/g l//   Create group container. Create group container I/6 .QLabmakenullqDoc  newT m12 Group r7A n7? 4<?  cobj m=> l7< c7< 17:  qSEL m:;  list o 0newgroupnewGroup rBG nBE 1CE  ID oBC 0newgroupnewGroup o 0groupidgroupId rHM oHI 0thetitletheTitle n 1JL  qNam oIJ 0newgroupnewGroup rNU oNO 0thenotestheNotes n 1PT  qNot oOP 0newgroupnewGroup rV_ mVY  GRUPqGHS n 1Z^  qGMo oYZ 0newgroupnewGroup l`` l`` % Track cue list for moving cues> Track cue list for moving cues r`g n`e 1ae  qPar o`a 0newgroupnewGroup o 0cuelistcueList 4(,  qDoc m*+ m$%x@alis Macintosh HDBDQLab.appmP cu Applications/:Applications:QLab.app/QLab.app Macintosh HDApplications/QLab.app/ ljj ljj   Set group color   Set group color   njv   Ikv "0setqlabcuecolorsetQLabCueColor okl 0newgroupnewGroup nlr Imr 0mapcolortoqlabmapColorToQLab omn 0thecolortheColor flm fjk  lww lww $ Add timecode start if enabled< Add timecode start if enabled rw| !  mwz  msng !o 0 startsmpte startSMPTE"# "Z}$% $o}~ $0generatetimecodegenerateTimecode %k&&'( 'r)* )n+, +I 00createtimecodestartcuecreateTimecodeStartCue ,f *o 0 startsmpte startSMPTE(- -O./ .O01 0I23 .coremovenull**** 2n45 456  aCue 6l7 7n89 81  ID 9o 0 startsmpte startSMPTE  kfrmID 5o 0cuelistcueList3:  insh :n;< ;; <5=  aCue =o 0groupidgroupId  kfrmID  14>  qDoc >m /m??x@alis Macintosh HDBDQLab.appmP cu Applications/:Applications:QLab.app/QLab.app Macintosh HDApplications/QLab.app/#@A @lABC BlDE D(" Add bridge network cue if enabledEFFD Add bridge network cue if enabledCGH GZIJ Io (0generatebridgecuesgenerateBridgeCues JkKKLM LrNO NnPQ PIR 00createbridgenetworkcuecreateBridgeNetworkCueRS So 0 theshowitemid theShowItemId Qf Oo 0 networkcue networkCueMT TOUV UOWX WIYZ .coremovenull**** Yn[\ [5]  aCue ]l^ ^n_` _1  ID `o 0 networkcue networkCue  kfrmID \o 0cuelistcueListZa  insh anbc b; c5d  aCue do 0groupidgroupId  kfrmID  X4e  qDoc em Vmffx@alis Macintosh HDBDQLab.appmP cu Applications/:Applications:QLab.app/QLab.app Macintosh HDApplications/QLab.app/Hgh glhij ilkl k Create the media cuelmm* Create the media cuejno nOpq pOrs rkttuv uIw .QLabmakenullqDocwx  newT xo 0thetypetheTypevyz yr{| {n}~ }4   cobj m  ~l  c  1  qSEL m   list |o 0mediacuemediaCuez r o 0thetitletheTitle n 1  qNam o 0mediacuemediaCue r o 0thenotestheNotes n 1  qNot o 0mediacuemediaCue l   Z 1 o ! $0generatetimecodegenerateTimecode r$- m$'  ContDoFo n 1(,  qCon o'( 0mediacuemediaCue l22 l22  Set file target Set file target Q2i k5F r5< b58 o56 0 pathprefix pathPrefix o67 0 thefilename theFilename o 0fullpathfullPath r=F o=@ 0fullpathfullPath n 1AE  qFTr o@A 0mediacuemediaCue R .ascrerr ******** o 0errmsgerrMsg INi .sysodlogaskrTEXT bNU mNQ File not found: oQT 0fullpathfullPath  btns JX] mX[Continue  dflt m`cContinue ljj Ij .coremovenull**** njv 5kv  aCue lnr~ nnr 1oq} } ID ono| |0mediacuemediaCue~  kfrmID ojk{ {0cuelistcueListzy z insh ny ; 5yxw x aCue o}~v v0groupidgroupId w kfrmID y s4u u qDoc mtt qmx@alis Macintosh HDBDQLab.appmP cu Applications/:Applications:QLab.app/QLab.app Macintosh HDApplications/QLab.app/o lsrqsrq lpp # Add timecode stop if enabled: Add timecode stop if enabled Zon om m$0generatetimecodegenerateTimecode k r n Ilk l.0createtimecodestopcuecreateTimecodeStopCuej oi i0 startsmpte startSMPTEjk f oh h0 stopsmpte stopSMPTEg O O If f.coremovenull**** n 5ed e aCue lcb n 1a a ID o` `0 stopsmpte stopSMPTEcb d kfrmID o_ _0cuelistcueList^] ^ insh n ; 5\[ \ aCue oZ Z0groupidgroupId [ kfrmID ] 4Y Y qDoc mXX mx@alis Macintosh HDBDQLab.appmP cu Applications/:Applications:QLab.app/QLab.app Macintosh HDApplications/QLab.app/gon lWVUWVU lTT  Collapse the group& Collapse the group O O ISR S.QLabcollnullGRPq 5QP Q aCue oO O0groupidgroupId P kfrmID R 4N N qDoc mMM m  x@alis Macintosh HDBDQLab.appmP cu Applications/:Applications:QLab.app/QLab.app Macintosh HDApplications/QLab.app/   lLKJLKJ  I  L  oH H0newgroupnewGroupI lGFEGFE i`c IDC D,0createunprocessedcuecreateUnprocessedCue oB B0 linenumber lineNumber oA A0 linecontent lineContent@ o? ?0thetypetheType@C kA O5 O4 k 3!!"# "I >=$ >.QLabmakenullqDoc=$<%; < newT %m &&''Memo;#() (r*+ *n,- ,4:. : cobj .m99 -l/87 /c01 016 6 qSEL 1m5 5 list87 +o4 40newcuenewCue)23 2r%45 4b!67 6m88994WARNING: Unprocessed line 7o 3 30 linenumber lineNumber 5n:; :1"$2 2 qNam ;o!"1 10newcuenewCue3<0 <r&3=> =b&/?@ ?b&-AB Ab&+CD Cb&)EF Em&'GGHH Type: Fo'(/ /0thetypetheType Do)*. . ret Bm+,IIJJContent: @o-.- -0 linecontent lineContent >nKL K102, , qNot Lo/0+ +0newcuenewCue0  4*M * qDoc Mm)) mNNx@alis Macintosh HDBDQLab.appmP cu Applications/:Applications:QLab.app/QLab.app Macintosh HDApplications/QLab.app/O( OI6A'P& '.ascrcmnt******** Pb6=QR Qb6;ST Sb69UV Um67WWXX"Unprocessed line Vo78% %0 linenumber lineNumber Tm9:YYZZ: Ro;<$ $0 linecontent lineContent&([\ [l#"!#"!\]^ ]l _` _SM ============================================================================`aa ============================================================================^bc blde d Record Parsingeff Record Parsingcgh glij iSM ============================================================================jkk ============================================================================hlm llmno nidgpq pIr &0parsemetadatalineparseMetadataLiners so 0linetextlineText qkttuv urwx w1  tab xnyz y1  txdl z1  ascrv{| {r }~ }n  2   citm o 0linetextlineText ~o  0columns| r  m  n 1  txdl 1   ascr l    Z& A l  I .corecnte******** o  0columns  o 0 kcolfilename kColFilename L " m !  msng   l'' r'1 n'/ 4(/  cobj o). 0kcoltypekColType o'( 0columns o 0 parsedtype parsedType l22 l22 /) Handle Unknown type with video extensionR Handle Unknown type with video extension Z2W =25 o23 0 parsedtype parsedType m34Unknown k8S r8B n8@ 49@  cobj o:? 0 kcolfilename kColFilename o89 0columns o 0parsedfilenameparsedFilename ZCS nCI IDI 0 isvideofile isVideoFile oDE 0parsedfilenameparsedFilename fCD rLO mLM Video o 0 parsedtype parsedType lXX LX KX 0theseqtheSeq nYb 4Za  cobj o[` 0kcolseqkColSeq oYZ 0columns 0 theshowitemid theShowItemId ncl 4dk  cobj oej 0kcolshowitemidkColShowItemId ocd 0columns 0thetypetheType omn 0 parsedtype parsedType 0thecolortheColor nox 4pw  cobj oqv 0 kcolcolor kColColor oop 0columns 0thetitletheTitle ny 4z  cobj o{ 0 kcoltitle kColTitle oyz 0columns 0thenotestheNotes n 4  cobj o 0 kcolnotes kColNotes o 0columns 0 thefilename theFilename n 4  cobj o 0 kcolfilename kColFilename o 0columnso l l SM ============================================================================ ============================================================================ l  Validation Validation l SM ============================================================================ ============================================================================ l ihk I 0 validateqlab validateQLab k[ O, Z+ = l I .corecnte******** l 6 2  prcs = 1  pnam  m     QLab m k'     I$ .sysodlogaskrTEXT mZPlease start QLab before running this script.  btns J mOK  dflt m OK L%' m%&  boovfals msevsalis\ Macintosh HDBDSystem Events.app cu CoreServices0/:System:Library:CoreServices:System Events.app/$System Events.app Macintosh HD-System/Library/CoreServices/System Events.app/ l-- !" !O-X#$ #Q1W%&' %e4;( (n4;)* )18:  qSEL *448+  qDoc +m67 &R .ascrerr ******** 'kCW,,-. -ICT/0 .sysodlogaskrTEXT /mCF1122pPlease open a QLab workspace before running this script.034  btns 3JGL556 6mGJ7788OK49  dflt 9mMP::;;OK.< <LUW= =mUV  boovfals $m-.>>x@alis Macintosh HDBDQLab.appmP cu Applications/:Applications:QLab.app/QLab.app Macintosh HDApplications/QLab.app/"?@ ?lYY@A ALY[B BmYZ  boovtrueCD ClDEF EiloGH GII ,0validatemetadatafilevalidateMetadataFileIJ Jo 0thefiletheFile Hk&KKLM LO NO Nr PQ PnRS R1  pnam So 0thefiletheFile Qo 0filename OmTTsevsalis\ Macintosh HDBDSystem Events.app cu CoreServices0/:System:Library:CoreServices:System Events.app/$System Events.app Macintosh HD-System/Library/CoreServices/System Events.app/MUV Ul VWX WZ #YZ Y> [\ [o 0filename \m ]]^^metadata.tsv Zk__`a `Ibc .sysodlogaskrTEXT bmddeePlease select the file named metadata.tsv from your TroupeIT download.cfg  btns fJhhi imjjkkOKgl  dflt lmmmnnOKao oLp pm  boovfalsXqr ql$$~}~}rs| sL$&t tm$%{ { boovtrue|Fuv ulzyxzyxvwx wlwyzw ySM ============================================================================z{{ ============================================================================x|} |lv~v ~ Main Script Main Script} luu SM ============================================================================ ============================================================================ ltsrtsr ips Iqpo q.aevtoappnull****po kr lnn  Validate QLab is ready. Validate QLab is ready Zml H n Ikji k0 validateqlab validateQLabji f L hhml lgfegfe ldd  Select metadata file* Select metadata file r! Icb c.sysostdfalisnullba a prmp m`Select metadata.tsv from your TroupeIT download:` ` dflc l_^ I]\ ].earsffdralis afdr m[ [ afdrdown\_^ZY Z lfiv mX X boovfalsY oW W0 metadatafile metadataFile l""VUTVUT Z"2SR H") n"( I#(QP Q,0validatemetadatafilevalidateMetadataFileO o#$N N0 metadatafile metadataFileOP f"# L,.MMSR l33LKJLKJ l33II % Ask about TroupeIT bridge cues> Ask about TroupeIT bridge cues r36 m34H H boovfals oG G(0generatebridgecuesgenerateBridgeCues r7J b7F b7D b7> b7< b7: m78TGenerate Network Cues for TroupeIT bridge? o89F F ret o:;E E ret m<=f(Requires qlab_bridge.py running and Network Patch o>CD D(0kbridgepatchnumberkBridgePatchNumber mDE configured) oC C"0bridgedialogmsgbridgeDialogMsg QK{ kNp INlB B.sysodlogaskrTEXT oNQA A"0bridgedialogmsgbridgeDialogMsg@ @ btns JT\ mTWNo? mWZYes?> > dflt m_bYes=< = cbtn mehNo<; rmp mmn: : boovtrue o9 9(0generatebridgecuesgenerateBridgeCues; R876 8.ascrerr ********76 rx{ mxy5 5 boovfals o4 4(0generatebridgecuesgenerateBridgeCues l||321321 l||00 $ Ask about timecode generation< Ask about timecode generation r| m|}/ / boovfals o. .$0generatetimecodegenerateTimecode Q k   I-  -.sysodlogaskrTEXT  m  TGenerate SMPTE timecode cues for each act? , , btns J mNo+ mYes+* * dflt mNo)( ) cbtn mNo(  '  r!" !m& & boovtrue "o% %$0generatetimecodegenerateTimecode' R$#" $.ascrerr ********#" r#$ #m! ! boovfals $o $0generatetimecodegenerateTimecode%& %l&'( 'l)* ) Read the file*++ Read the file(,- ,Q./0 .r12 1I34 .rdwrread******** 3o 0 metadatafile metadataFile45  as 5m  ctxt 2o 0 filecontents fileContents /R6 .ascrerr ******** 6o 0errmsgerrMsg 0k7789 8I:; .sysodlogaskrTEXT :b<= <m>>??<Could not read metadata file: =o 0errmsgerrMsg;@A  btns @JBBC CmDDEEOKAF  dflt FmGGHHOK 9I IL   -JK Jl   KLM LrNO NnPQ PIR "0getparentfoldergetParentFolderRS So 0 metadatafile metadataFile Qf Oo 0 pathprefix pathPrefixMTU TrVW VnXY X2  cpar Yo 0 filecontents fileContents Wo 0linelistlineListUZ[ Zr\] \I ^ .corecnte******** ^o 0linelistlineList ]o 0 totallines totalLines[_` _l`ab alcd c Setup progress bardee& Setup progress barbfg frhi ho 0 totallines totalLines i1  ppgtgjk jr"lm lm m1!  ppgckno nr#,pq pm#&rrss2Importing cues to QLab... q1&+  ppgdotu tl--uvw vl--xy x Process each lineyzz$ Process each linew{| {O-9}~ }I38 .miscactvnullnull ~m-0x@alis Macintosh HDBDQLab.appmP cu Applications/:Applications:QLab.app/QLab.app Macintosh HDApplications/QLab.app/| l:: Y: kF rFY bFS bFO bFK mFIProcessing cue oIJ 0linenumlineNum mKN of oOR 0 totallines totalLines 1SX  ppga rZf nZb 4]b  cobj o`a 0linenumlineNum oZ] 0linelistlineList o 0 currentline currentLine lgg lgg  Skip empty lines" Skip empty lines Zg >gn ogj 0 currentline currentLine mjm kq rq} nqy Iry &0parsemetadatalineparseMetadataLine oru 0 currentline currentLine fqr o 0cuedatacueData l~~ Z~ =~ o~ 0cuedatacueData m  msng n I ,0createunprocessedcuecreateUnprocessedCue o 0linenumlineNum o 0 currentline currentLine mParse Error f H E o $0kacceptabletypeskAcceptableTypes n o 0thetypetheType o 0cuedatacueData n I ,0createunprocessedcuecreateUnprocessedCue o 0linenumlineNum o 0 currentline currentLine n o 0thetypetheType o 0cuedatacueData f = n o 0thetypetheType o 0cuedatacueData mMemo n I 0 creatememocue createMemoCue o 0cuedatacueData o (0generatebridgecuesgenerateBridgeCues o $0generatetimecodegenerateTimecode f n I 0createmediacuecreateMediaCue o 0cuedatacueData o 0 pathprefix pathPrefix o (0generatebridgecuesgenerateBridgeCues o $0generatetimecodegenerateTimecode f l r o 0linenumlineNum 1  ppgc 0linenumlineNum m=> o>A 0 totallines totalLines l l  Reset progress Reset progress r m 1  ppgt r  m  1  ppgc   r    m   1  ppgd  r m 1  ppga l l  Build summary message, Build summary message r. b*!" !b&#$ #m"%%&&,Successfully imported $o"% 0 totallines totalLines "m&)''(( cues.  o 0 summarymsg summaryMsg)* )Z/V+, +o/0 (0generatebridgecuesgenerateBridgeCues ,r3R-. -b3N/0 /b3J12 1b3D34 3b3@56 5b3>78 7b3:9: 9b38;< ;o36 0 summarymsg summaryMsg <o67  ret :o89  ret 8m:===>>TTroupeIT bridge Network Cues were created. 6o>?  ret 4m@C??@@0Make sure Network Patch 2oDI (0kbridgepatchnumberkBridgePatchNumber 0mJMAABBT is configured in QLab Workspace Settings. .o 0 summarymsg summaryMsg*CD ClWWDE EIWrFG .sysodlogaskrTEXT FoWZ 0 summarymsg summaryMsgGHI  btns HJ]bJJK Km]`LLMMOKINO  dflt NmehPPQQOKOR  givu Rmkn S Sl~~}TUxVW|{zyxwvuXYZ[\]^_`abcde}Ttsrqponmlkjihgfedcba`_^]\[ t pimr s0 kdialogtitle kDialogTitle r$0kacceptabletypeskAcceptableTypes q$0kvideoextensionskVideoExtensions p(0kbridgepatchnumberkBridgePatchNumber o0kcolseqkColSeq n 0kcolshowitemidkColShowItemId m0kcoltypekColType l0 kcolcolor kColColor k0 kcoltitle kColTitle j0 kcolnotes kColNotes i0 kcolfilename kColFilename h 0mapcolortoqlabmapColorToQLab g"0getparentfoldergetParentFolder f0 isvideofile isVideoFile e"0setqlabcuecolorsetQLabCueColor d00createbridgenetworkcuecreateBridgeNetworkCue c00createtimecodestartcuecreateTimecodeStartCue b.0createtimecodestopcuecreateTimecodeStopCue a0 creatememocue createMemoCue ` 0createmediacuecreateMediaCue _,0createunprocessedcuecreateUnprocessedCue ^&0parsemetadatalineparseMetadataLine ]0 validateqlab validateQLab \,0validatemetadatafilevalidateMetadataFile [.aevtoappnull****UZfZfggYhX Y cobjhiiW W osaxXVVjVjWUkUk|{zyxwvuXTSRlmQ T 0mapcolortoqlabmapColorToQLabSPnPnO O0ticolortiColorRlN N0ticolortiColorm !$,/7:>QmYhOYhOYhOYhOYhOYhOYhOYhOaYMVLKopJ M"0getparentfoldergetParentFolderLIqIqH H0filepathfilePathKoG G0filepathfilePathp FEgDCBA@ F pcls E ctxt D bool C alis B psxf A ctnr @ psxpJ;, & &EY, &&EYhO ,&,EUZ?>=rs< ?0 isvideofile isVideoFile>;t;t: : 0filename=r987 9 0filename 80 lowercasename lowercaseName 70exts65432 6 strq 5.sysoexecTEXTTEXT 4 kocl 3 cobj 2.corecnte********<7,%%j EO$b[l kheYh[OYOf[10/uv. 1"0setqlabcuecolorsetQLabCueColor0-w-w,+ ,0thecuetheCue +0 qlabcolor qlabColor/u*) *0thecuetheCue )0 qlabcolor qlabColorv( ( qCol. ,FU\'&%xy$ '00createbridgenetworkcuecreateBridgeNetworkCue&#z#z" "0 theshowitemid theShowItemId%x!  !0 theshowitemid theShowItemId 0oscmsgoscMsg 0 networkcue networkCuey-  qDoc  newT .QLabmakenullqDoc  qSEL  list  cobj  qNam  ContDoCo  qCon  qCuo$;%EO.*k/&*l O*,&i/EO,FO,FO,FUUO]5{| 00createtimecodestartcuecreateTimecodeStartCue{ 0 startsmpte startSMPTE|tB R   qDoc  newT .QLabmakenullqDoc  qSEL  list  cobj  qNam  qAPn  SMPTthND  qSMP  MTLTsynL  type  qTCc  ContDoCo  qConKD*k/<*l O*,&i/EO,FOl,FO,FO,FOk,FOaa,FUUO^|}~ .0createtimecodestopcuecreateTimecodeStopCue 0 startsmpte startSMPTE} 0 startsmpte startSMPTE 0 stopsmpte stopSMPTE~   qDoc  newT .QLabmakenullqDoc  qSEL  list  cobj  qNam  qQTr/(*k/ *l O*,&i/EO,FO,FUUO_ 0 creatememocue createMemoCue 0cuedatacueData (0generatebridgecuesgenerateBridgeCues $0generatetimecodegenerateTimecode 0cuedatacueData (0generatebridgecuesgenerateBridgeCues $0generatetimecodegenerateTimecode 0thetitletheTitle 0thenotestheNotes 0thecolortheColor 0 theshowitemid theShowItemId 0newgroupnewGroup 0groupidgroupId 0cuelistcueList 0 networkcue networkCue 0memocuememoCue W 0thetitletheTitle 0thenotestheNotes 0thecolortheColor 0 theshowitemid theShowItemId  qDoc  newT .QLabmakenullqDoc  qSEL  list  cobj  ID  qNam  GRUPqGHS  qGMo  qPar 0mapcolortoqlabmapColorToQLab "0setqlabcuecolorsetQLabCueColor 00createbridgenetworkcuecreateBridgeNetworkCue  aCue  kfrmID  insh .coremovenull****  qNot .QLabcollnullGRPq,EO,EO,EO,EO6*k/.*l O*,&i/EO,EO,FO,FOa,EUUO))k+l+O8)k+EO'*k/a,Ea0a*aa06l UUYhOX*k/P*al O*,&i/EO,FOa,FOa,Ea0a*aa06l O*aa0j UUO` 0createmediacuecreateMediaCue 0cuedatacueData 0 pathprefix pathPrefix (0generatebridgecuesgenerateBridgeCues $0generatetimecodegenerateTimecode 0cuedatacueData 0 pathprefix pathPrefix (0generatebridgecuesgenerateBridgeCues $0generatetimecodegenerateTimecode 0thetypetheType 0thetitletheTitle 0thenotestheNotes 0thecolortheColor 0 thefilename theFilename 0 theshowitemid theShowItemId 0newgroupnewGroup 0groupidgroupId 0cuelistcueList 0 startsmpte startSMPTE 0 networkcue networkCue 0mediacuemediaCue 0fullpathfullPath 0errmsgerrMsg 0 stopsmpte stopSMPTE+ 0thetypetheType 0thetitletheTitle 0thenotestheNotes 0thecolortheColor 0 thefilename theFilename 0 theshowitemid theShowItemId  qDoc  newT .QLabmakenullqDoc  qSEL  list  cobj  ID  qNam  qNot  GRUPqGHS  qGMo  qPar 0mapcolortoqlabmapColorToQLab "0setqlabcuecolorsetQLabCueColor  msng 00createtimecodestartcuecreateTimecodeStartCue  aCue  kfrmID  insh .coremovenull**** 00createbridgenetworkcuecreateBridgeNetworkCue  ContDoFo  qCon  qFTr 0errmsgerrMsg  btns  dflt .sysodlogaskrTEXT .0createtimecodestopcuecreateTimecodeStopCue .QLabcollnullGRPq,EO,EO,EO,EO,EO,EOB*k/:*l O*,&i/EO,EO,FOa,FOaa,FOa,EUUO))k+l+OaEO7)j+EO'*k/a,Ea0a*aa06l UUYhO8)k+EO'*k/a,Ea0a*aa06l UUYhO*k/*l O*,&i/EO,FOa,FOaa,FYhO%E^O]a,FW"X !a"]%a#a$kva%a&a' (Oa,Ea0a*aa06l UUO<)k+)E^O)*k/!a],Ea0a*aa06l UUYhO*k/*aa0j *UUOa ,0createunprocessedcuecreateUnprocessedCue~~}|{ }0 linenumber lineNumber |0 linecontent lineContent {0thetypetheTypezyxw z0 linenumber lineNumber y0 linecontent lineContent x0thetypetheType w0newcuenewCueNvu&tsrq8pGoInWYm v qDoc u newT t.QLabmakenullqDoc s qSEL r list q cobj p qNam o ret n qNot m.ascrcmnt********B2*k/**l O*,&i/EO%,FO%%%%,FUUO%%%j blqkji l&0parsemetadatalineparseMetadataLinekhhg g0linetextlineTextjfedc f0linetextlineText e 0columns d0 parsedtype parsedType c 0parsedfilenameparsedFilenameba`_^]\[ZYXWVUTS b tab a ascr ` txdl _ citm ^.corecnte******** ] msng \ cobj [0 isvideofile isVideoFile Z0theseqtheSeq Y0 theshowitemid theShowItemId X0thetypetheType W0thecolortheColor V0thetitletheTitle U0thenotestheNotes T0 thefilename theFilenameSi,FO-EO,FOj b YhOb/EO b /EO)k+ EYhYhOb/Eb/Eb/Eb /Eab /Eab /EacRQPO R0 validateqlab validateQLabQPNM LKJIH>GFED17: N prcs M pnam L.corecnte******** K btns J dfltI H.sysodlogaskrTEXT G qDoc F qSELEDO\)*-[,\Z81j jkv OfYhUO( *k/,EWXaakva OfUOedCHBA@ C,0validatemetadatafilevalidateMetadataFileB??> >0thefiletheFileA=< =0thefiletheFile < 0filename T;]d:j9m87 ; pnam : btns 9 dflt8 7.sysodlogaskrTEXT@',EUOkv OfYhOee6543 6.aevtoappnull****5421 20errmsgerrMsg 10linenumlineNumQ0/.-,+*)('&%$#"!  >DGr   %'=?ALP 00 validateqlab validateQLab / prmp . dflc - afdrdown ,.earsffdralis afdr + lfiv* ).sysostdfalisnull (0 metadatafile metadataFile ',0validatemetadatafilevalidateMetadataFile &(0generatebridgecuesgenerateBridgeCues % ret $"0bridgedialogmsgbridgeDialogMsg # btns " dflt ! cbtn .sysodlogaskrTEXT $0generatetimecodegenerateTimecode  as  ctxt .rdwrread******** 0 filecontents fileContents 0errmsgerrMsg "0getparentfoldergetParentFolder 0 pathprefix pathPrefix  cpar 0linelistlineList .corecnte******** 0 totallines totalLines  ppgt  ppgc  ppgd .miscactvnullnull  ppga  cobj 0 currentline currentLine &0parsemetadatalineparseMetadataLine 0cuedatacueData  msng ,0createunprocessedcuecreateUnprocessedCue 0thetypetheType 0 creatememocue createMemoCue  0createmediacuecreateMediaCue 0 summarymsg summaryMsg  givu 3s)j+ hYhO*j f EO)k+ hYhOfEO%%%b%%E`O'_aaalvaaaa OeEW XfEOfE`O)aaaalvaaaa OeE`W XfE`Oa!a"l #E`$W#X%a&%aa'kvaa(a) OhO)k+*E`+O_$a,-E`-O_-j .E`/O_/*a0,FOj*a1,FOa2*a3,FOa4*j 5UOk_/kha6%a7%_/%*a8,FO_-a9/E`:O_:a;})_:k+)_:a?m+@YTb_=aA, )_:_=aA,m+@Y0_=aA,aB)_=_m+CY)_=_+_a)+DYhO*a1,F[OYKOj*a0,FOj*a1,FOaE*a3,FOaF*a8,FOaG_/%aH%E`IO$_I%%aJ%%aK%b%aL%E`IYhO_IaaMkvaaNaOaP ascr ޭ