Whitespace normalization, via reindent.py.
diff --git a/Mac/Modules/qt/qtscan.py b/Mac/Modules/qt/qtscan.py
index b756bfe..a2dba15 100644
--- a/Mac/Modules/qt/qtscan.py
+++ b/Mac/Modules/qt/qtscan.py
@@ -9,311 +9,311 @@
 LONG = "QuickTime"
 SHORT = "qt"
 HEADERFILES= (
-#	"Components.h"  -- In Carbon.Cm
-	"Movies.h", 
-	"ImageCompression.h", 
-	"QuickTimeComponents.h",
-#	"ImageCodec.h"  -- seems not too useful, and difficult.
-#	"IsochronousDataHandlers.h" -- Is this useful?
-	"MediaHandlers.h",
-#	"QTML.h", -- Windows only, needs separate module
-#	"QuickTimeStreaming.h", -- Difficult
-#	"QTStreamingComponents.h", -- Needs QTStreaming
-	"QuickTimeMusic.h",
-#	"QuickTimeVR.h", -- Not done yet
-#	"Sound.h", -- In Carbon.Snd
-	)
-OBJECTS = ("Movie", "Track", "Media", "UserData", "TimeBase", "MovieController", 
-	"IdleManager", "SGOutput")
+#       "Components.h"  -- In Carbon.Cm
+        "Movies.h",
+        "ImageCompression.h",
+        "QuickTimeComponents.h",
+#       "ImageCodec.h"  -- seems not too useful, and difficult.
+#       "IsochronousDataHandlers.h" -- Is this useful?
+        "MediaHandlers.h",
+#       "QTML.h", -- Windows only, needs separate module
+#       "QuickTimeStreaming.h", -- Difficult
+#       "QTStreamingComponents.h", -- Needs QTStreaming
+        "QuickTimeMusic.h",
+#       "QuickTimeVR.h", -- Not done yet
+#       "Sound.h", -- In Carbon.Snd
+        )
+OBJECTS = ("Movie", "Track", "Media", "UserData", "TimeBase", "MovieController",
+        "IdleManager", "SGOutput")
 
 def main():
-	input = HEADERFILES
-	output = SHORT + "gen.py"
-	defsoutput = TOOLBOXDIR + LONG + ".py"
-	scanner = MyScanner(input, output, defsoutput)
-	scanner.scan()
-	scanner.close()
-	scanner.gentypetest(SHORT+"typetest.py")
-	print "=== Testing definitions output code ==="
-	execfile(defsoutput, {}, {})
-	print "=== Done scanning and generating, now importing the generated code... ==="
-	exec "import " + SHORT + "support"
-	print "=== Done.  It's up to you to compile it now! ==="
+    input = HEADERFILES
+    output = SHORT + "gen.py"
+    defsoutput = TOOLBOXDIR + LONG + ".py"
+    scanner = MyScanner(input, output, defsoutput)
+    scanner.scan()
+    scanner.close()
+    scanner.gentypetest(SHORT+"typetest.py")
+    print "=== Testing definitions output code ==="
+    execfile(defsoutput, {}, {})
+    print "=== Done scanning and generating, now importing the generated code... ==="
+    exec "import " + SHORT + "support"
+    print "=== Done.  It's up to you to compile it now! ==="
 
 class MyScanner(Scanner):
 
-	def destination(self, type, name, arglist):
-		classname = "Function"
-		listname = "functions"
-		if arglist:
-			t, n, m = arglist[0]
-			if t in OBJECTS and m == "InMode":
-				classname = "Method"
-				listname = t + "_methods"
-		return classname, listname
+    def destination(self, type, name, arglist):
+        classname = "Function"
+        listname = "functions"
+        if arglist:
+            t, n, m = arglist[0]
+            if t in OBJECTS and m == "InMode":
+                classname = "Method"
+                listname = t + "_methods"
+        return classname, listname
 
-	def writeinitialdefs(self):
-		self.defsfile.write("def FOUR_CHAR_CODE(x): return x\n")
-		self.defsfile.write("xmlIdentifierUnrecognized = -1\n")
-		self.defsfile.write("kControllerMinimum = -0xf777\n")
-		self.defsfile.write("notImplementedMusicOSErr      = -2071\n")
-		self.defsfile.write("cantSendToSynthesizerOSErr    = -2072\n")
-		self.defsfile.write("cantReceiveFromSynthesizerOSErr = -2073\n")
-		self.defsfile.write("illegalVoiceAllocationOSErr   = -2074\n")
-		self.defsfile.write("illegalPartOSErr              = -2075\n")
-		self.defsfile.write("illegalChannelOSErr           = -2076\n")
-		self.defsfile.write("illegalKnobOSErr              = -2077\n")
-		self.defsfile.write("illegalKnobValueOSErr         = -2078\n")
-		self.defsfile.write("illegalInstrumentOSErr        = -2079\n")
-		self.defsfile.write("illegalControllerOSErr        = -2080\n")
-		self.defsfile.write("midiManagerAbsentOSErr        = -2081\n")
-		self.defsfile.write("synthesizerNotRespondingOSErr = -2082\n")
-		self.defsfile.write("synthesizerOSErr              = -2083\n")
-		self.defsfile.write("illegalNoteChannelOSErr       = -2084\n")
-		self.defsfile.write("noteChannelNotAllocatedOSErr  = -2085\n")
-		self.defsfile.write("tunePlayerFullOSErr           = -2086\n")
-		self.defsfile.write("tuneParseOSErr                = -2087\n")
+    def writeinitialdefs(self):
+        self.defsfile.write("def FOUR_CHAR_CODE(x): return x\n")
+        self.defsfile.write("xmlIdentifierUnrecognized = -1\n")
+        self.defsfile.write("kControllerMinimum = -0xf777\n")
+        self.defsfile.write("notImplementedMusicOSErr      = -2071\n")
+        self.defsfile.write("cantSendToSynthesizerOSErr    = -2072\n")
+        self.defsfile.write("cantReceiveFromSynthesizerOSErr = -2073\n")
+        self.defsfile.write("illegalVoiceAllocationOSErr   = -2074\n")
+        self.defsfile.write("illegalPartOSErr              = -2075\n")
+        self.defsfile.write("illegalChannelOSErr           = -2076\n")
+        self.defsfile.write("illegalKnobOSErr              = -2077\n")
+        self.defsfile.write("illegalKnobValueOSErr         = -2078\n")
+        self.defsfile.write("illegalInstrumentOSErr        = -2079\n")
+        self.defsfile.write("illegalControllerOSErr        = -2080\n")
+        self.defsfile.write("midiManagerAbsentOSErr        = -2081\n")
+        self.defsfile.write("synthesizerNotRespondingOSErr = -2082\n")
+        self.defsfile.write("synthesizerOSErr              = -2083\n")
+        self.defsfile.write("illegalNoteChannelOSErr       = -2084\n")
+        self.defsfile.write("noteChannelNotAllocatedOSErr  = -2085\n")
+        self.defsfile.write("tunePlayerFullOSErr           = -2086\n")
+        self.defsfile.write("tuneParseOSErr                = -2087\n")
 
-	def makeblacklistnames(self):
-		return [
-			"xmlIdentifierUnrecognized", # const with incompatible definition
-			"DisposeMovie",		# Done on python-object disposal
-			"DisposeMovieTrack",	# ditto
-			"DisposeTrackMedia",	# ditto
-			"DisposeUserData",		# ditto
-#			"DisposeTimeBase",		# ditto
-			"DisposeMovieController", # ditto
+    def makeblacklistnames(self):
+        return [
+                "xmlIdentifierUnrecognized", # const with incompatible definition
+                "DisposeMovie",         # Done on python-object disposal
+                "DisposeMovieTrack",    # ditto
+                "DisposeTrackMedia",    # ditto
+                "DisposeUserData",              # ditto
+#                       "DisposeTimeBase",              # ditto
+                "DisposeMovieController", # ditto
 
-			# The following 4 use 'void *' in an uncontrolled way
-			# TBD when I've read the manual...
-			"GetUserDataItem",
-			"SetUserDataItem",
-			"SetTextSampleData",
-			"BeginFullScreen",
-			# bgen gets the argument in/out wrong..
-			"AddTextSample",
-			"AddTESample",
-			"AddHiliteSample",
-			"HiliteTextSample",
-			
-			"MakeTrackTimeTable", # Uses long * return?
-			"MakeMediaTimeTable", # ditto
-##			"VideoMediaGetStallCount", # Undefined in CW Pro 3 library
-			# OS8 only:
-			'SpriteMediaGetIndImageProperty',	# XXXX Why isn't this in carbon?
-			'CheckQuickTimeRegistration',
-			'SetMovieAnchorDataRef',
-			'GetMovieAnchorDataRef',
-			'GetMovieLoadState',
-			'OpenADataHandler',
-			'MovieMediaGetCurrentMovieProperty',
-			'MovieMediaGetCurrentTrackProperty',
-			'MovieMediaGetChildMovieDataReference',
-			'MovieMediaSetChildMovieDataReference',
-			'MovieMediaLoadChildMovieFromDataReference',
-			'Media3DGetViewObject',
+                # The following 4 use 'void *' in an uncontrolled way
+                # TBD when I've read the manual...
+                "GetUserDataItem",
+                "SetUserDataItem",
+                "SetTextSampleData",
+                "BeginFullScreen",
+                # bgen gets the argument in/out wrong..
+                "AddTextSample",
+                "AddTESample",
+                "AddHiliteSample",
+                "HiliteTextSample",
 
-            # these are ImageCompression blacklists
-			"GraphicsExportGetInputPtr",
-			
-			# QuickTimeComponents
-			# These two need some help: the first returns a point to a databuffer that
-			# the second disposes. Generate manually?
-			"VDCompressDone",
-			"VDReleaseCompressBuffer",
-			"QTVideoOutputGetGWorldParameters", # How useful is this?
-			
-			# MediaHandlers
-			"MediaMakeMediaTimeTable", # just lazy
-			"MediaGetSampleDataPointer", # funny output pointer
-			
-			# QuickTimeMusic
-			"kControllerMinimum",
-			# These are artefacts of a macro definition
-			"ulen",
-			"_ext",
-			"x",
-			"w1",
-			"w2",
-			]
+                "MakeTrackTimeTable", # Uses long * return?
+                "MakeMediaTimeTable", # ditto
+##                      "VideoMediaGetStallCount", # Undefined in CW Pro 3 library
+                # OS8 only:
+                'SpriteMediaGetIndImageProperty',       # XXXX Why isn't this in carbon?
+                'CheckQuickTimeRegistration',
+                'SetMovieAnchorDataRef',
+                'GetMovieAnchorDataRef',
+                'GetMovieLoadState',
+                'OpenADataHandler',
+                'MovieMediaGetCurrentMovieProperty',
+                'MovieMediaGetCurrentTrackProperty',
+                'MovieMediaGetChildMovieDataReference',
+                'MovieMediaSetChildMovieDataReference',
+                'MovieMediaLoadChildMovieFromDataReference',
+                'Media3DGetViewObject',
 
-	def makeblacklisttypes(self):
-		return [
-			# I don't think we want to do these
-			"QTSyncTaskPtr",
-			# We dont do callbacks yet, so no need for these
-			"QTCallBack",
-			# Skipped for now, due to laziness
-			"TrackEditState",
-			"MovieEditState",
-			"MatrixRecord",
-			"MatrixRecord_ptr",
-			"SampleReferencePtr",
-			"QTTweener",
-			"QTErrorReplacementPtr",
-			"QTRestrictionSet",
-			"QTUUID",
-			"QTUUID_ptr",
+    # these are ImageCompression blacklists
+                "GraphicsExportGetInputPtr",
 
-			# Routine pointers, not yet.
-			"MoviesErrorUPP",
-			"MoviePreviewCallOutUPP",
-			"MovieDrawingCompleteUPP",
-			"QTCallBackUPP",
-			"TextMediaUPP",
-			"MovieProgressUPP",
-			"MovieRgnCoverUPP",
-			"MCActionFilterUPP",
-			"MCActionFilterWithRefConUPP",
-			"GetMovieUPP",
-			"ModalFilterUPP",
-			"TrackTransferUPP",
-			"MoviePrePrerollCompleteUPP",
-			"MovieExecuteWiredActionsUPP",
-			"QTBandwidthNotificationUPP",
-			"DoMCActionUPP",
-			"QTNextTaskNeededSoonerCallbackUPP",
-			
-			"SampleReference64Ptr",	# Don't know what this does, yet
-			"QTRuntimeSpriteDescPtr",
-			"QTBandwidthReference",
-			"QTScheduledBandwidthReference",
-			"QTAtomContainer",
-			"SpriteWorld",
-			"Sprite",
+                # QuickTimeComponents
+                # These two need some help: the first returns a point to a databuffer that
+                # the second disposes. Generate manually?
+                "VDCompressDone",
+                "VDReleaseCompressBuffer",
+                "QTVideoOutputGetGWorldParameters", # How useful is this?
 
-            # these are ImageCompression blacklists
-            "ICMDataUPP",
-            "ICMFlushUPP",
-            "ICMCompletionUPP",
-            "ICMProgressUPP",
-            "StdPixUPP",
-            "QDPixUPP",
-            "ICMAlignmentUPP",
-            "ICMCursorShieldedUPP",
-            "ICMMemoryDisposedUPP",
-            "ICMConvertDataFormatUPP",
-            "ModalFilterYDUPP",
-			"FileFilterUPP",
+                # MediaHandlers
+                "MediaMakeMediaTimeTable", # just lazy
+                "MediaGetSampleDataPointer", # funny output pointer
 
-            "CodecNameSpecListPtr",
-            "CodecInfo",
-             "ImageSequence",
-            "MatrixRecordPtr",
-            "ICMDataProcRecordPtr",
-            "OpenCPicParams",
-            "ICMProgressProcRecordPtr",
-            "ICMAlignmentProcRecordPtr",
-            "ICMPixelFormatInfoPtr",
-            "ImageSequenceDataSource",
-            "ConstStrFileNameParam",
-            "ImageTranscodeSequence",
-            "ImageFieldSequence",
-            "Fract",
-            "PixMapPtr",
-            "GWorldFlags",
-            "void_ptr",   # XXX Being lazy, this one is doable.
-            
-            # These are from QuickTimeComponents
-            "CDataHandlerUPP",
-            "CharDataHandlerUPP",
-            "CommentHandlerUPP",
-            "DataHCompletionUPP",
-            "'MovieExportGetDataUPP",
-            "MovieExportGetPropertyUPP",
-            "PreprocessInstructionHandlerUPP",
-            "SGModalFilterUPP",
-            "StartDocumentHandlerUPP",
-            "StartElementHandlerUPP",
-            "VdigIntUPP",
-            "SGDataUPP",
-            "EndDocumentHandlerUPP",
-            "EndElementHandlerUPP",
-            "VideoBottles", # Record full of UPPs
-            
-            "SCParams",
-            "ICMCompletionProcRecordPtr",
-            "DataHVolumeList",
-            "DigitizerInfo",
-            "SGCompressInfo",
-            "SeqGrabExtendedFrameInfoPtr",
-            "SeqGrabFrameInfoPtr",
-            "TCTextOptionsPtr",
-            "SGCompressInfo_ptr",
-            "SGDeviceList",
-            "TextDisplayData",
-            "TimeCodeDef",
-            "TimeCodeRecord",
-            "TweenRecord",
-            "VDGamRecPtr",
-            "ToneDescription", 	# XXXX Just lazy: this one is easy.
-            "XMLDoc",
-            "UInt64", 	# XXXX lazy
-            "UInt64_ptr", # XXXX lazy
-            
-            # From MediaHandlers
-            "ActionsUPP",
-            "PrePrerollCompleteUPP",
-            "CodecComponentHandle", # Difficult: handle containing list of components.
-            "GetMovieCompleteParams", # Immense struct
-            "LevelMeterInfoPtr", # Lazy. Also: can be an output parameter!!
-            "MediaEQSpectrumBandsRecordPtr", # ditto
-            
-            # From QuickTimeMusic
-            "MusicMIDISendUPP",
-            "MusicOfflineDataUPP",
-            "TuneCallBackUPP",
-            "TunePlayCallBackUPP",
-            "GCPart", # Struct with lots of fields
-            "GCPart_ptr",
-            "GenericKnobDescription", # Struct with lots of fields
-            "KnobDescription",  # Struct with lots of fields
-            "InstrumentAboutInfo", # Struct, not too difficult
-            "NoteChannel", # XXXX Lazy. Could be opaque, I think
-            "NoteRequest", # XXXX Lazy. Not-too-difficult struct
-            "SynthesizerConnections", # Struct with lots of fields
-            "SynthesizerDescription", # Struct with lots of fields
-            "TuneStatus", # Struct with lots of fields
-            
-			]
+                # QuickTimeMusic
+                "kControllerMinimum",
+                # These are artefacts of a macro definition
+                "ulen",
+                "_ext",
+                "x",
+                "w1",
+                "w2",
+                ]
 
-	def makerepairinstructions(self):
-		return [
-			([('FSSpec', '*', 'OutMode')], [('FSSpec_ptr', '*', 'InMode')]),
-			
-			# Movie controller creation
-			([('ComponentInstance', 'NewMovieController', 'ReturnMode')],
-			 [('MovieController', '*', 'ReturnMode')]),
-			 
-			# NewMovieFromFile
-			([('short', 'resId', 'OutMode'), ('StringPtr', 'resName', 'InMode')],
-			 [('short', 'resId', 'InOutMode'), ('dummyStringPtr', 'resName', 'InMode')]),
-			 
-			# MCDoAction and more
-			([('void', '*', 'OutMode')], [('mcactionparams', '*', 'InMode')]),
-			
-			# SetTimeBaseZero. Does not handle NULLs, unfortunately
-			([('TimeRecord', 'zero', 'OutMode')], [('TimeRecord', 'zero', 'InMode')]),
-			
-			# ConvertTime and ConvertTimeScale
-			([('TimeRecord', 'inout', 'OutMode')], [('TimeRecord', 'inout', 'InOutMode')]),
-			([('TimeRecord', 'theTime', 'OutMode')], [('TimeRecord', 'theTime', 'InOutMode')]),
-			
-			# AddTime and SubtractTime
-			([('TimeRecord', 'dst', 'OutMode')], [('TimeRecord', 'dst', 'InOutMode')]),
-			
-			# Funny definitions
-			([('char_ptr', '*', 'InMode')], [('stringptr', '*', 'InMode')]),
-			([('FSSpecPtr', '*', 'InMode')], [('FSSpec_ptr', '*', 'InMode')]),
-			([('unsigned_char', 'swfVersion', 'OutMode')], [('UInt8', 'swfVersion', 'OutMode')]),
-			
-			# It seems MusicMIDIPacket if never flagged with const but always used
-			# for sending only. If that ever changes this needs to be fixed.
-			([('MusicMIDIPacket', '*', 'OutMode')], [('MusicMIDIPacket_ptr', '*', 'InMode')]),
-			
-			# QTMusic const-less input parameters
-			([('unsigned_long', 'header', 'OutMode')], [('UnsignedLongPtr', 'header', 'InMode')]),
-			]
-			
+    def makeblacklisttypes(self):
+        return [
+                # I don't think we want to do these
+                "QTSyncTaskPtr",
+                # We dont do callbacks yet, so no need for these
+                "QTCallBack",
+                # Skipped for now, due to laziness
+                "TrackEditState",
+                "MovieEditState",
+                "MatrixRecord",
+                "MatrixRecord_ptr",
+                "SampleReferencePtr",
+                "QTTweener",
+                "QTErrorReplacementPtr",
+                "QTRestrictionSet",
+                "QTUUID",
+                "QTUUID_ptr",
+
+                # Routine pointers, not yet.
+                "MoviesErrorUPP",
+                "MoviePreviewCallOutUPP",
+                "MovieDrawingCompleteUPP",
+                "QTCallBackUPP",
+                "TextMediaUPP",
+                "MovieProgressUPP",
+                "MovieRgnCoverUPP",
+                "MCActionFilterUPP",
+                "MCActionFilterWithRefConUPP",
+                "GetMovieUPP",
+                "ModalFilterUPP",
+                "TrackTransferUPP",
+                "MoviePrePrerollCompleteUPP",
+                "MovieExecuteWiredActionsUPP",
+                "QTBandwidthNotificationUPP",
+                "DoMCActionUPP",
+                "QTNextTaskNeededSoonerCallbackUPP",
+
+                "SampleReference64Ptr", # Don't know what this does, yet
+                "QTRuntimeSpriteDescPtr",
+                "QTBandwidthReference",
+                "QTScheduledBandwidthReference",
+                "QTAtomContainer",
+                "SpriteWorld",
+                "Sprite",
+
+    # these are ImageCompression blacklists
+    "ICMDataUPP",
+    "ICMFlushUPP",
+    "ICMCompletionUPP",
+    "ICMProgressUPP",
+    "StdPixUPP",
+    "QDPixUPP",
+    "ICMAlignmentUPP",
+    "ICMCursorShieldedUPP",
+    "ICMMemoryDisposedUPP",
+    "ICMConvertDataFormatUPP",
+    "ModalFilterYDUPP",
+                "FileFilterUPP",
+
+    "CodecNameSpecListPtr",
+    "CodecInfo",
+     "ImageSequence",
+    "MatrixRecordPtr",
+    "ICMDataProcRecordPtr",
+    "OpenCPicParams",
+    "ICMProgressProcRecordPtr",
+    "ICMAlignmentProcRecordPtr",
+    "ICMPixelFormatInfoPtr",
+    "ImageSequenceDataSource",
+    "ConstStrFileNameParam",
+    "ImageTranscodeSequence",
+    "ImageFieldSequence",
+    "Fract",
+    "PixMapPtr",
+    "GWorldFlags",
+    "void_ptr",   # XXX Being lazy, this one is doable.
+
+    # These are from QuickTimeComponents
+    "CDataHandlerUPP",
+    "CharDataHandlerUPP",
+    "CommentHandlerUPP",
+    "DataHCompletionUPP",
+    "'MovieExportGetDataUPP",
+    "MovieExportGetPropertyUPP",
+    "PreprocessInstructionHandlerUPP",
+    "SGModalFilterUPP",
+    "StartDocumentHandlerUPP",
+    "StartElementHandlerUPP",
+    "VdigIntUPP",
+    "SGDataUPP",
+    "EndDocumentHandlerUPP",
+    "EndElementHandlerUPP",
+    "VideoBottles", # Record full of UPPs
+
+    "SCParams",
+    "ICMCompletionProcRecordPtr",
+    "DataHVolumeList",
+    "DigitizerInfo",
+    "SGCompressInfo",
+    "SeqGrabExtendedFrameInfoPtr",
+    "SeqGrabFrameInfoPtr",
+    "TCTextOptionsPtr",
+    "SGCompressInfo_ptr",
+    "SGDeviceList",
+    "TextDisplayData",
+    "TimeCodeDef",
+    "TimeCodeRecord",
+    "TweenRecord",
+    "VDGamRecPtr",
+    "ToneDescription",  # XXXX Just lazy: this one is easy.
+    "XMLDoc",
+    "UInt64",   # XXXX lazy
+    "UInt64_ptr", # XXXX lazy
+
+    # From MediaHandlers
+    "ActionsUPP",
+    "PrePrerollCompleteUPP",
+    "CodecComponentHandle", # Difficult: handle containing list of components.
+    "GetMovieCompleteParams", # Immense struct
+    "LevelMeterInfoPtr", # Lazy. Also: can be an output parameter!!
+    "MediaEQSpectrumBandsRecordPtr", # ditto
+
+    # From QuickTimeMusic
+    "MusicMIDISendUPP",
+    "MusicOfflineDataUPP",
+    "TuneCallBackUPP",
+    "TunePlayCallBackUPP",
+    "GCPart", # Struct with lots of fields
+    "GCPart_ptr",
+    "GenericKnobDescription", # Struct with lots of fields
+    "KnobDescription",  # Struct with lots of fields
+    "InstrumentAboutInfo", # Struct, not too difficult
+    "NoteChannel", # XXXX Lazy. Could be opaque, I think
+    "NoteRequest", # XXXX Lazy. Not-too-difficult struct
+    "SynthesizerConnections", # Struct with lots of fields
+    "SynthesizerDescription", # Struct with lots of fields
+    "TuneStatus", # Struct with lots of fields
+
+                ]
+
+    def makerepairinstructions(self):
+        return [
+                ([('FSSpec', '*', 'OutMode')], [('FSSpec_ptr', '*', 'InMode')]),
+
+                # Movie controller creation
+                ([('ComponentInstance', 'NewMovieController', 'ReturnMode')],
+                 [('MovieController', '*', 'ReturnMode')]),
+
+                # NewMovieFromFile
+                ([('short', 'resId', 'OutMode'), ('StringPtr', 'resName', 'InMode')],
+                 [('short', 'resId', 'InOutMode'), ('dummyStringPtr', 'resName', 'InMode')]),
+
+                # MCDoAction and more
+                ([('void', '*', 'OutMode')], [('mcactionparams', '*', 'InMode')]),
+
+                # SetTimeBaseZero. Does not handle NULLs, unfortunately
+                ([('TimeRecord', 'zero', 'OutMode')], [('TimeRecord', 'zero', 'InMode')]),
+
+                # ConvertTime and ConvertTimeScale
+                ([('TimeRecord', 'inout', 'OutMode')], [('TimeRecord', 'inout', 'InOutMode')]),
+                ([('TimeRecord', 'theTime', 'OutMode')], [('TimeRecord', 'theTime', 'InOutMode')]),
+
+                # AddTime and SubtractTime
+                ([('TimeRecord', 'dst', 'OutMode')], [('TimeRecord', 'dst', 'InOutMode')]),
+
+                # Funny definitions
+                ([('char_ptr', '*', 'InMode')], [('stringptr', '*', 'InMode')]),
+                ([('FSSpecPtr', '*', 'InMode')], [('FSSpec_ptr', '*', 'InMode')]),
+                ([('unsigned_char', 'swfVersion', 'OutMode')], [('UInt8', 'swfVersion', 'OutMode')]),
+
+                # It seems MusicMIDIPacket if never flagged with const but always used
+                # for sending only. If that ever changes this needs to be fixed.
+                ([('MusicMIDIPacket', '*', 'OutMode')], [('MusicMIDIPacket_ptr', '*', 'InMode')]),
+
+                # QTMusic const-less input parameters
+                ([('unsigned_long', 'header', 'OutMode')], [('UnsignedLongPtr', 'header', 'InMode')]),
+                ]
+
 if __name__ == "__main__":
-	main()
+    main()
diff --git a/Mac/Modules/qt/qtsupport.py b/Mac/Modules/qt/qtsupport.py
index 20304c9..132c2b4 100644
--- a/Mac/Modules/qt/qtsupport.py
+++ b/Mac/Modules/qt/qtsupport.py
@@ -8,16 +8,16 @@
 import string
 
 # Declarations that change for each manager
-MACHEADERFILE = 'Movies.h'		# The Apple header file
-MODNAME = '_Qt'				# The name of the module
-OBJECTNAME = 'Movie'			# The basic name of the objects used here
+MACHEADERFILE = 'Movies.h'              # The Apple header file
+MODNAME = '_Qt'                         # The name of the module
+OBJECTNAME = 'Movie'                    # The basic name of the objects used here
 
 # The following is *usually* unchanged but may still require tuning
-MODPREFIX = 'Qt'			# The prefix for module-wide routines
-OBJECTTYPE = "Movie"		# The C type used to represent them
-OBJECTPREFIX = MODPREFIX + 'Obj'	# The prefix for object methods
+MODPREFIX = 'Qt'                        # The prefix for module-wide routines
+OBJECTTYPE = "Movie"            # The C type used to represent them
+OBJECTPREFIX = MODPREFIX + 'Obj'        # The prefix for object methods
 INPUTFILE = string.lower(MODPREFIX) + 'gen.py' # The file generated by the scanner
-OUTPUTFILE = MODNAME + "module.c"	# The file generated by this program
+OUTPUTFILE = MODNAME + "module.c"       # The file generated by this program
 
 from macsupport import *
 
@@ -57,45 +57,45 @@
 
 /* Macro to allow us to GetNextInterestingTime without duration */
 #define GetMediaNextInterestingTimeOnly(media, flags, time, rate, rv) \
-			GetMediaNextInterestingTime(media, flags, time, rate, rv, NULL)
-			
+                        GetMediaNextInterestingTime(media, flags, time, rate, rv, NULL)
+
 /*
 ** Parse/generate time records
 */
 static PyObject *
 QtTimeRecord_New(TimeRecord *itself)
 {
-	if (itself->base)
-		return Py_BuildValue("O&lO&", PyMac_Buildwide, &itself->value, itself->scale, 
-			TimeBaseObj_New, itself->base);
-	else
-		return  Py_BuildValue("O&lO", PyMac_Buildwide, &itself->value, itself->scale, 
-			Py_None);
+        if (itself->base)
+                return Py_BuildValue("O&lO&", PyMac_Buildwide, &itself->value, itself->scale,
+                        TimeBaseObj_New, itself->base);
+        else
+                return  Py_BuildValue("O&lO", PyMac_Buildwide, &itself->value, itself->scale,
+                        Py_None);
 }
 
 static int
 QtTimeRecord_Convert(PyObject *v, TimeRecord *p_itself)
 {
-	PyObject *base = NULL;
-	if( !PyArg_ParseTuple(v, "O&l|O", PyMac_Getwide, &p_itself->value, &p_itself->scale,
-			&base) )
-		return 0;
-	if ( base == NULL || base == Py_None )
-		p_itself->base = NULL;
-	else
-		if ( !TimeBaseObj_Convert(base, &p_itself->base) )
-			return 0;
-	return 1;
+        PyObject *base = NULL;
+        if( !PyArg_ParseTuple(v, "O&l|O", PyMac_Getwide, &p_itself->value, &p_itself->scale,
+                        &base) )
+                return 0;
+        if ( base == NULL || base == Py_None )
+                p_itself->base = NULL;
+        else
+                if ( !TimeBaseObj_Convert(base, &p_itself->base) )
+                        return 0;
+        return 1;
 }
 
 static int
 QtMusicMIDIPacket_Convert(PyObject *v, MusicMIDIPacket *p_itself)
 {
-	int dummy;
-	
-	if( !PyArg_ParseTuple(v, "hls#", &p_itself->length, &p_itself->reserved, p_itself->data, dummy) )
-		return 0;
-	return 1;
+        int dummy;
+
+        if( !PyArg_ParseTuple(v, "hls#", &p_itself->length, &p_itself->reserved, p_itself->data, dummy) )
+                return 0;
+        return 1;
 }
 
 
@@ -103,18 +103,18 @@
 """
 
 initstuff = initstuff + """
-	PyMac_INIT_TOOLBOX_OBJECT_NEW(Track, TrackObj_New);
-	PyMac_INIT_TOOLBOX_OBJECT_CONVERT(Track, TrackObj_Convert);
-	PyMac_INIT_TOOLBOX_OBJECT_NEW(Movie, MovieObj_New);
-	PyMac_INIT_TOOLBOX_OBJECT_CONVERT(Movie, MovieObj_Convert);
-	PyMac_INIT_TOOLBOX_OBJECT_NEW(MovieController, MovieCtlObj_New);
-	PyMac_INIT_TOOLBOX_OBJECT_CONVERT(MovieController, MovieCtlObj_Convert);
-	PyMac_INIT_TOOLBOX_OBJECT_NEW(TimeBase, TimeBaseObj_New);
-	PyMac_INIT_TOOLBOX_OBJECT_CONVERT(TimeBase, TimeBaseObj_Convert);
-	PyMac_INIT_TOOLBOX_OBJECT_NEW(UserData, UserDataObj_New);
-	PyMac_INIT_TOOLBOX_OBJECT_CONVERT(UserData, UserDataObj_Convert);
-	PyMac_INIT_TOOLBOX_OBJECT_NEW(Media, MediaObj_New);
-	PyMac_INIT_TOOLBOX_OBJECT_CONVERT(Media, MediaObj_Convert);
+        PyMac_INIT_TOOLBOX_OBJECT_NEW(Track, TrackObj_New);
+        PyMac_INIT_TOOLBOX_OBJECT_CONVERT(Track, TrackObj_Convert);
+        PyMac_INIT_TOOLBOX_OBJECT_NEW(Movie, MovieObj_New);
+        PyMac_INIT_TOOLBOX_OBJECT_CONVERT(Movie, MovieObj_Convert);
+        PyMac_INIT_TOOLBOX_OBJECT_NEW(MovieController, MovieCtlObj_New);
+        PyMac_INIT_TOOLBOX_OBJECT_CONVERT(MovieController, MovieCtlObj_Convert);
+        PyMac_INIT_TOOLBOX_OBJECT_NEW(TimeBase, TimeBaseObj_New);
+        PyMac_INIT_TOOLBOX_OBJECT_CONVERT(TimeBase, TimeBaseObj_Convert);
+        PyMac_INIT_TOOLBOX_OBJECT_NEW(UserData, UserDataObj_New);
+        PyMac_INIT_TOOLBOX_OBJECT_CONVERT(UserData, UserDataObj_Convert);
+        PyMac_INIT_TOOLBOX_OBJECT_NEW(Media, MediaObj_New);
+        PyMac_INIT_TOOLBOX_OBJECT_CONVERT(Media, MediaObj_Convert);
 """
 
 # Our (opaque) objects
@@ -232,56 +232,56 @@
 
 # XXXX Need to override output_tp_newBody() to allow for None initializer.
 class QtGlobalObjectDefinition(PEP253Mixin, GlobalObjectDefinition):
-	def outputCheckNewArg(self):
-		# We don't allow NULL pointers to be returned by QuickTime API calls,
-		# in stead we raise an exception
-		Output("""if (itself == NULL) {
-					PyErr_SetString(Qt_Error,"Cannot create %s from NULL pointer");
-					return NULL;
-				}""", self.name)
-	
-	def outputCheckConvertArg(self):
-		# But what we do allow is passing None whereever a quicktime object is
-		# expected, and pass this as NULL to the API routines. Note you can
-		# call methods too by creating an object with None as the initializer.
-		Output("if (v == Py_None)")
-		OutLbrace()
-		Output("*p_itself = NULL;")
-		Output("return 1;")
-		OutRbrace()
-	
+    def outputCheckNewArg(self):
+        # We don't allow NULL pointers to be returned by QuickTime API calls,
+        # in stead we raise an exception
+        Output("""if (itself == NULL) {
+                                PyErr_SetString(Qt_Error,"Cannot create %s from NULL pointer");
+                                return NULL;
+                        }""", self.name)
+
+    def outputCheckConvertArg(self):
+        # But what we do allow is passing None whereever a quicktime object is
+        # expected, and pass this as NULL to the API routines. Note you can
+        # call methods too by creating an object with None as the initializer.
+        Output("if (v == Py_None)")
+        OutLbrace()
+        Output("*p_itself = NULL;")
+        Output("return 1;")
+        OutRbrace()
+
 class MovieObjectDefinition(QtGlobalObjectDefinition):
-	def outputFreeIt(self, itselfname):
-		Output("if (%s) DisposeMovie(%s);", itselfname, itselfname)
+    def outputFreeIt(self, itselfname):
+        Output("if (%s) DisposeMovie(%s);", itselfname, itselfname)
 
 class TrackObjectDefinition(QtGlobalObjectDefinition):
-	def outputFreeIt(self, itselfname):
-		Output("if (%s) DisposeMovieTrack(%s);", itselfname, itselfname)
+    def outputFreeIt(self, itselfname):
+        Output("if (%s) DisposeMovieTrack(%s);", itselfname, itselfname)
 
 class MediaObjectDefinition(QtGlobalObjectDefinition):
-	def outputFreeIt(self, itselfname):
-		Output("if (%s) DisposeTrackMedia(%s);", itselfname, itselfname)
+    def outputFreeIt(self, itselfname):
+        Output("if (%s) DisposeTrackMedia(%s);", itselfname, itselfname)
 
 class UserDataObjectDefinition(QtGlobalObjectDefinition):
-	def outputFreeIt(self, itselfname):
-		Output("if (%s) DisposeUserData(%s);", itselfname, itselfname)
+    def outputFreeIt(self, itselfname):
+        Output("if (%s) DisposeUserData(%s);", itselfname, itselfname)
 
 class TimeBaseObjectDefinition(QtGlobalObjectDefinition):
-	pass
-	
+    pass
+
 class MovieCtlObjectDefinition(QtGlobalObjectDefinition):
-	def outputFreeIt(self, itselfname):
-		Output("if (%s) DisposeMovieController(%s);", itselfname, itselfname)
+    def outputFreeIt(self, itselfname):
+        Output("if (%s) DisposeMovieController(%s);", itselfname, itselfname)
 
 class IdleManagerObjectDefinition(QtGlobalObjectDefinition):
-	pass
-	
+    pass
+
 class SGOutputObjectDefinition(QtGlobalObjectDefinition):
-	# XXXX I'm not sure I fully understand how SGOutput works. It seems it's always tied
-	# to a specific SeqGrabComponent, but I'm not 100% sure. Also, I'm not sure all the
-	# routines that return an SGOutput actually return a *new* SGOutput. Need to read up on
-	# this.
-	pass
+    # XXXX I'm not sure I fully understand how SGOutput works. It seems it's always tied
+    # to a specific SeqGrabComponent, but I'm not 100% sure. Also, I'm not sure all the
+    # routines that return an SGOutput actually return a *new* SGOutput. Need to read up on
+    # this.
+    pass
 
 
 # From here on it's basically all boiler plate...
@@ -331,19 +331,19 @@
 dummyRect = FakeType('(Rect *)0')
 
 f = Function(void, 'AlignWindow',
-	(WindowPtr, 'wp', InMode),
-	(Boolean, 'front', InMode),
-	(dummyRect, 'alignmentRect', InMode),
-	(ICMAlignmentProcRecordPtr, 'alignmentProc', InMode),
+        (WindowPtr, 'wp', InMode),
+        (Boolean, 'front', InMode),
+        (dummyRect, 'alignmentRect', InMode),
+        (ICMAlignmentProcRecordPtr, 'alignmentProc', InMode),
 )
 functions.append(f)
 
 f = Function(void, 'DragAlignedWindow',
-	(WindowPtr, 'wp', InMode),
-	(Point, 'startPt', InMode),
-	(Rect_ptr, 'boundsRect', InMode),
-	(dummyRect, 'alignmentRect', InMode),
-	(ICMAlignmentProcRecordPtr, 'alignmentProc', InMode),
+        (WindowPtr, 'wp', InMode),
+        (Point, 'startPt', InMode),
+        (Rect_ptr, 'boundsRect', InMode),
+        (dummyRect, 'alignmentRect', InMode),
+        (ICMAlignmentProcRecordPtr, 'alignmentProc', InMode),
 )
 functions.append(f)
 
@@ -377,4 +377,3 @@
 # generate output (open the output file as late as possible)
 SetOutputFileName(OUTPUTFILE)
 module.generate()
-
diff --git a/Mac/Modules/qt/setup.py b/Mac/Modules/qt/setup.py
index 98d836d..8442011 100755
--- a/Mac/Modules/qt/setup.py
+++ b/Mac/Modules/qt/setup.py
@@ -4,10 +4,10 @@
 from distutils.core import Extension, setup
 
 setup(name="QuickTime", version="0.2",
-	ext_modules=[
-		Extension('QuickTime._Qt', ['_Qtmodule.c'],
-		extra_link_args=['-framework', 'Carbon', '-framework', 'QuickTime'])
-	],
-	py_modules=['QuickTime.Qt', 'QuickTime.QuickTime'],
-	package_dir={'QuickTime':'../../../Lib/plat-mac/Carbon'}
-	)
+        ext_modules=[
+                Extension('QuickTime._Qt', ['_Qtmodule.c'],
+                extra_link_args=['-framework', 'Carbon', '-framework', 'QuickTime'])
+        ],
+        py_modules=['QuickTime.Qt', 'QuickTime.QuickTime'],
+        package_dir={'QuickTime':'../../../Lib/plat-mac/Carbon'}
+        )