Well, I managed to come up with something (read: dirty hack) that accomplishes what I want. I used an AppleScript and UI scripting through Sikuli. It can and should be heavily improved upon, like, with better error checking and fault-tolerance. I basically had to babysit it as it went through its whole process because every few dozen files it would choke on something. That said, it served my purposes and accomplished my goal.
set theCount to 0 as number
tell application "Finder"
set theFolder to choose folder with prompt "Select a directory:"
display dialog "This script will open each QuickTime movie file contained within this folder and its subfolders in QuickTime Player 7, and change the Author attribute to an Artist attribute using the Sikuli IDE. Proceed?"
display dialog (theCount as string) & " files processed."
tell application "System Events"
set theItems to get the name of every disk item of theFolder
set theFolder to theFolder as string --do this to concatenate with item name in loop
repeat with i from 1 to length of theItems --this is the loop that works on each file in the current folder
set theItem to item i of theItems
set theItem to (theFolder & theItem) as alias --get a file object
set itemInfo to info for theItem --get the file's info
if visible of itemInfo is true then --only work on invisibles
if folder of itemInfo is false then --and check for folders first or next line will fail
if type identifier of itemInfo is "com.apple.quicktime-movie" then
try --makes this more fault-tolerant
tell application "QuickTime Player 7"
set theCount to theCount + 1
do shell script "java -jar /Applications/Sikuli-IDE.app/Contents/Resources/Java/sikuli-script.jar /Users/username/Desktop/flip\\ to\\ artist\\ source.sikuli" --Sikuli has a better command line interface, but it wasn't working on the current build. This is connecting directly to its java executable, and is REALLY slow as a result.
else if folder of itemInfo is true then
do shell script "touch \"" & POSIX path of theItem & "\"" --do this to track the progress of the script based on folder modification date
my processFiles(theItem) --operate recursively until all files are processed
The Sikuli script is essentially:
switchApp("QuickTime Player 7")
click([Author annotation tag])
waitVanish([a QuickTime window])
I'm not an experienced Sikuli developer, but almost certainly the key presses should be put into the AppleScript as UI actions. That part's not hard. It's the clicking of choices that's hard. The AppleScript could also check for the Author attribute; that stuff is documented in the AppleScript dictionary, but the property is read-only.