-- Subtitles Importer -- Dani Rosen - Jul 18, 2006 -- -- Loads subtitle code onto a special Subtitles noteTrack of the camera for vignettes -- -- NOTE! - Vignettes will not export properly if NoteTrack keys overlap other NoteTrack keys. -- check your NoteTracks in the DopeSheet before exporting. -- -- v1.1 - Jul 28, 2006 - fixed empty line bug. Converted to MacroScript -- v1.11 - Aug 31, 2006 - added "Done" message at end macroScript Subtitles_Importer category:"DaniTools" internalcategory:"DaniTools" tooltip:"Subtitles Importer" buttontext:"Subtitles Importer" Icon:#("TrackViewTools",5) ( global about_rol global import_rol global subFilename global CamPick global SubText global SubTime global SubNoteTrack global subtitles_importer about_rol_height = 135 import_rol_height = 155 rol_closed_height = 25 fn rol_size = ( if about_rol.open == true then ( if import_rol.open == true then ( subtitles_importer.size = [190,about_rol_height+import_rol_height] ) else ( subtitles_importer.size = [190,about_rol_height+rol_closed_height] ) ) else ( if import_rol.open == true then ( subtitles_importer.size = [190,rol_closed_height+import_rol_height] ) else ( subtitles_importer.size = [190,rol_closed_height+rol_closed_height] ) ) ) -- close fn rol_size fn CameraFilter CF = (superClassOf CF == camera) rollout import_rol "Subtitles Importer" ( label lbCamera "Camera:" pos:[10,13] button bCamera "Select Camera" pos:[60,10] width:100 label lbSpacer1 "" height:10 label lbSubs "Subtitles:" pos:[10,43] button bSubs "Pick Subtitles" pos:[60,40] width:100 label lbSpacer2 "" height:10 button bImport "Import Subtitles" label lbProg "" on bCamera pressed do ( lbProg.text = "" CamPick = selectByName title:"Select vignette's Camera" showHidden:true single:true filter:CameraFilter if CamPick == undefined then ( bCamera.text = "Select Camera" return 0 ) bCamera.text = CamPick.name ) on bSubs pressed do ( lbProg.text = "" subFilename = getOpenFileName caption:"Subtitles file to open:" \ types:"Text File (*.txt)|*.txt|All|*.*|" if subFilename == undefined then return 0 global subPath = filterstring subFilename "\\" global subName = subPath[subPath.count] bSubs.text = subName ) on bImport pressed do ( lbProg.text = "" if (CamPick == undefined) or (subFilename == undefined) then ( messagebox "Missing Camera or Subtitles file" title:"Error" return 0 ) else ( SubNoteTrack = NoteTrack "Subtitles" if hasNoteTracks CamPick then ( for i in 1 to (numNoteTracks CamPick) do ( if ((getNoteTrack CamPick i) as string) == "Notetrack:Subtitles" then deleteNoteTrack CamPick (getNoteTrack CamPick i) ) ) addNoteTrack CamPick SubNoteTrack SubTime = #() SubText = #() try ( f = openFile subFilename while (eof f) == false do ( SubtitleLine = filterstring (readline f) " " if SubtitleLine[1] == undefined then exit append SubTime (SubtitleLine[1] as integer) append SubText SubtitleLine[2] ) close f for n in 1 to SubTime.count do ( addNewNoteKey SubNoteTrack.keys SubTime[n] SubNoteTrack.keys[n].value = ("text on " + SubText[n]) ) addNewNoteKey SubNoteTrack.keys (animationrange.end - 1) SubNoteTrack.keys[SubTime.count+1].value = "text off" ) catch ( messagebox "Problems with Subtitles file" title:"File Error" ) lbProg.text = "Done!" ) ) on import_rol rolledup state do ( rol_size() ) ) rollout about_rol "About" ( label ab1 "Subtitles Importer v1.11" label ab2 "Dani Rosen \xa9 2006" progressBar horizLine "ProgressBar" height:3 enabled:true value:100 color:(color 10 10 0) label ab3 "Used to import subtitle tags to" align:#center label ab4 "the vignette's camera." align:#center label ab5 "Adds a new Note-Track" align:#center on about_rol rolledup state do ( rol_size() ) ) subtitles_importer = newRolloutFloater "Subtitles Importer" 190 180 addRollout import_rol subtitles_importer addRollout about_rol subtitles_importer rolledUp:true )