SHARE
TWEET

Collate by number, WIP

duquesne9 Jul 4th, 2019 101 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- COLLATE ADD GROUPS, LX, SFX, PROJ
  2. global dialogTitle, sharedPath, numCues
  3. set dialogTitle to "Collate Cue lists - CAUTION"
  4. --set numCues to "2"
  5. set numCues to my enterSomeText("WARNING: If top level cue is not group, any attempt to add new cue to that number will delete the new cue
  6.  
  7. How many groups?", "2", false)
  8.  
  9. tell application id "com.figure53.qlab.3" to tell front workspace
  10.     repeat with g from 10 to numCues by 5
  11.         make type "group"
  12.         set newGroup to last item of (selected as list)
  13.         set properties of newGroup to {q name:"Cue " & g, q number:g, mode:fire_all}
  14.     end repeat
  15.    
  16.     -------------------------
  17.     --MOVE INTO GROUPS--
  18.     -------------------------
  19.    
  20.     delay 0.1
  21.     tell application "System Events"
  22.         keystroke "a" using {command down}
  23.     end tell
  24.    
  25.    
  26.     set numCues to my enterSomeText("WARNING: If top level cue is not group, any attempt to add new cue to that number will delete the new cue
  27.  
  28. Highest number of an SFX Cue?", "2", false)
  29.    
  30.     repeat with eachQ in (selected as list)
  31.         set eachQID to uniqueID of eachQ
  32.         repeat with p from 10 to numCues by 5
  33.             if q number of eachQ ends with p & ".SFX" then
  34.                 move cue id eachQID of parent of eachQ to end of cue (p as text)
  35.             end if
  36.             --exit repeat
  37.         end repeat
  38.     end repeat
  39.    
  40.     set numCues to my enterSomeText("WARNING: If top level cue is not group, any attempt to add new cue to that number will delete the new cue
  41.  
  42. Highest number of an LX cue?", "2", false)
  43.    
  44.     tell application id "com.figure53.qlab.3" to tell front workspace
  45.        
  46.         -------------------------
  47.         --MOVE INTO GROUPS--
  48.         -------------------------
  49.        
  50.         repeat with eachQ in (selected as list)
  51.             set eachQID to uniqueID of eachQ
  52.             repeat with p from 10 to numCues by 5
  53.                 if q number of eachQ ends with p & ".LX" then
  54.                     move cue id eachQID of parent of eachQ to end of cue (p as text)
  55.                 end if
  56.                 --exit repeat
  57.             end repeat
  58.         end repeat
  59.     end tell
  60.    
  61.     set numCues to my enterSomeText("WARNING: If top level cue is not group, any attempt to add new cue to that number will delete the new cue
  62.  
  63. Highest number of a Proj Cue?", "2", false)
  64.    
  65.     tell application id "com.figure53.qlab.3" to tell front workspace
  66.        
  67.         -------------------------
  68.         --MOVE INTO GROUPS--
  69.         -------------------------
  70.        
  71.         repeat with eachQ in (selected as list)
  72.             set eachQID to uniqueID of eachQ
  73.             repeat with p from 10 to numCues by 5
  74.                 if q number of eachQ ends with p & ".PROJ" then
  75.                     move cue id eachQID of parent of eachQ to end of cue (p as text)
  76.                 end if
  77.                 --exit repeat
  78.             end repeat
  79.         end repeat
  80.        
  81.     end tell
  82. end tell
  83.  
  84.  
  85. on enterSomeText(thePrompt, defaultAnswer, emptyAllowed) -- [Shared subroutine]
  86.     tell application id "com.figure53.QLab.3"
  87.         set theAnswer to ""
  88.         repeat until theAnswer is not ""
  89.             set theAnswer to text returned of (display dialog thePrompt with title dialogTitle default answer defaultAnswer buttons {"Cancel", "OK"} ¬
  90.                 default button "OK" cancel button "Cancel")
  91.             if emptyAllowed is true then exit repeat
  92.         end repeat
  93.         return theAnswer
  94.     end tell
  95. end enterSomeText
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top