(* 2006-09-01, QuickTime Fullscreen, by swokm This is a handy applescript for those of us with CRTs, video out, or slow CPUs to play QT movies at a precise scaling ratio, resolution, and refresh rate. LCDs always look better (if smaller) at 1:1 but using the LCD scaler instead of QT scaler saves you CPU cycles. With most CRTs, however, changing resolution is faster AND usually looks better than QT software scaling. Unless you have a killer CPU to do scaling AND postprocessing at the monitor's highest native resolution. NOTE: my computer is way too slow to play HD streams, these are guestimates as to best performance/quality for that resolution and scaling factor, and will depend on resolutions available to your monitor/TV/projector. I am not a programmer. No warranty, etc. Incorrect refresh rate WILL fry your CRT. *) -- this makes it a droplet also; drop many files on it to play them sequentially, optimizing screen resolution for each. on open target_files repeat with n_file in target_files presentFS(n_file) tell application "QuickTime Player" to close movie n_file end repeat end open -- this is where it is called when simply run, say from the applescript folder in menubar my presentFS("") -- yes, you must find, download, and install CSCREEN. At least as of 10.3.9 and QT 7 on my B&W 400Mhz G3, it is the only way I know of to do this. -- YOU MUST choose your own refresh rates (-r) and resolutions for given movie size ranges! these can easily be found in System Preferences > Displays and clicking on resolution, then Refresh Rate. Valid scale values are "half / normal / double / screen / current" on presentFS(n_file) tell application "QuickTime Player" activate if n_file is not "" then open n_file set monitor to 1 -- set 'monitor' to the display number you wish to use for full screen viewing set dims to natural dimensions of front movie set width to item 1 of dims if width is less than or equal to "320" then -- old xvids are doubled, no border do shell script "/usr/local/bin/cscreen -s " & monitor & " -x 640 -y 480 -r 59.9" present front movie scale double display monitor else if width is less than or equal to "640" then -- SD video 1:1, no border do shell script "/usr/local/bin/cscreen -s " & monitor & " -x 640 -y 480 -r 59.9" present front movie scale normal display monitor else if width is less than or equal to "800" then -- DVD is NOT soft scaled, 30px border do shell script "/usr/local/bin/cscreen -s " & monitor & " -x 800 -y 600 -r 60.3" present front movie scale normal display monitor else if width is less than or equal to "1024" then -- 480p HD stream IS soft scaled (otherwise 88px border) do shell script "/usr/local/bin/cscreen -s " & monitor & " -x 1024 -y 768 -r 60" present front movie scale screen display monitor else if width is less than or equal to "1280" then --720p HD stream is 1:1, no border do shell script "/usr/local/bin/cscreen -s " & monitor & " -x 1280 -y 1024 -r 60" present front movie scale normal display monitor else -- 1080p HD stream should be, of course, 1:1 if your monitor can do 1920; mine can't so I'm brutally chopping it in half. As if my proc could even play it then, har har har. (*do shell script "/usr/local/bin/cscreen -s " & monitor & " -x 1920 -y 1080 -r 60" present front movie scale normal display monitor*) do shell script "/usr/local/bin/cscreen -s " & monitor & " -x 1024 -y 768 -r 60" present front movie scale half display monitor end if play front movie repeat while display state of front movie is presentation delay 0.25 end repeat do shell script "/usr/local/bin/cscreen -x 1280 -y 1024 -r 75 -s 1" -- change this to your default desktop settings end tell end presentFS