Index: trunk/Cocoa/Pester/Source/Pester.pbproj/nicholas.pbxuser
===================================================================
--- trunk/Cocoa/Pester/Source/Pester.pbproj/nicholas.pbxuser	(revision 53)
+++ trunk/Cocoa/Pester/Source/Pester.pbproj/nicholas.pbxuser	(revision 60)
@@ -22,5 +22,5 @@
 		);
 		perUserDictionary = {
-			PBXPerProjectTemplateStateSaveDate = 63172038;
+			PBXPerProjectTemplateStateSaveDate = 63490351;
 			"PBXTemplateGeometry-F5CA7ECB015C094F0DCA290F" = {
 				ContentSize = "{668, 621}";
@@ -147,5 +147,135 @@
 				Template = F5CA7ECB015C094F0DCA290F;
 				ToolbarVisible = NO;
-				WindowLocation = "{420, 75}";
+				WindowLocation = "{48, 189}";
+			};
+			"PBXTemplateGeometry-F5CA7ECC015C09990DCA290F" = {
+				ContentSize = "{773, 558}";
+				LeftSlideOut = {
+					Collapsed = NO;
+					Frame = "{{0, 23}, {773, 535}}";
+					Split0 = {
+						ActiveTab = 0;
+						ActiveTabName = PBXDebugSessionModule;
+						Collapsed = NO;
+						Frame = "{{24, 0}, {749, 535}}";
+						Split0 = {
+							Frame = "{{0, 334}, {749, 201}}";
+						};
+						SplitCount = 1;
+						Tab0 = {
+							Frame = "{{0, 0}, {749, 267}}";
+						};
+						Tab1 = {
+							Debugger = {
+								ActiveTab = 0;
+								ActiveTabName = PBXDebugCLIModule;
+								Collapsed = NO;
+								Frame = "{{0, 0}, {749, 328}}";
+								Split0 = {
+									Frame = "{{0, 73}, {749, 255}}";
+									Split0 = {
+										Frame = "{{0, 0}, {367, 255}}";
+									};
+									Split1 = {
+										DebugVariablesTableConfiguration = (
+											Name,
+											123,
+											Value,
+											85,
+											Summary,
+											139.123,
+										);
+										Frame = "{{376, 0}, {373, 255}}";
+									};
+									SplitCount = 2;
+								};
+								SplitCount = 1;
+								Tab0 = {
+									Frame = "{{0, 0}, {749, 50}}";
+								};
+								Tab1 = {
+									Frame = "{{0, 0}, {749, 49}}";
+								};
+								TabCount = 2;
+								TabsVisible = YES;
+							};
+							Frame = "{{0, 0}, {749, 328}}";
+							LauncherConfigVersion = 7;
+						};
+						Tab2 = {
+							Frame = "{{0, 0}, {664, 50}}";
+							LauncherConfigVersion = 3;
+							Runner = {
+								Frame = "{{0, 0}, {664, 50}}";
+							};
+						};
+						Tab3 = {
+							BuildMessageFrame = "{{0, 0}, {614, 262}}";
+							BuildTranscriptFrame = "{{0, 271}, {614, 2}}";
+							BuildTranscriptFrameExpanded = YES;
+							Frame = "{{0, 0}, {612, 295}}";
+						};
+						Tab4 = {
+							Frame = "{{0, 0}, {612, 295}}";
+						};
+						TabCount = 5;
+						TabsVisible = NO;
+					};
+					SplitCount = 1;
+					Tab0 = {
+						Frame = "{{0, 0}, {313, 531}}";
+						GroupTreeTableConfiguration = (
+							TargetStatusColumn,
+							18,
+							MainColumn,
+							280,
+						);
+					};
+					Tab1 = {
+						ClassesFrame = "{{0, 0}, {280, 398}}";
+						ClassesTreeTableConfiguration = (
+							PBXBookColumnIdentifier,
+							20,
+							PBXClassColumnIdentifier,
+							237,
+						);
+						Frame = "{{0, 0}, {278, 659}}";
+						MembersFrame = "{{0, 407}, {280, 252}}";
+						MembersTreeTableConfiguration = (
+							PBXBookColumnIdentifier,
+							20,
+							PBXMethodColumnIdentifier,
+							236,
+						);
+					};
+					Tab2 = {
+						Frame = "{{0, 0}, {200, 100}}";
+					};
+					Tab3 = {
+						Frame = "{{0, 0}, {200, 557}}";
+						TargetTableConfiguration = (
+							ActiveObject,
+							16,
+							ObjectNames,
+							202.296,
+						);
+					};
+					Tab4 = {
+						BreakpointsTreeTableConfiguration = (
+							breakpointColumn,
+							197,
+							enabledColumn,
+							31,
+						);
+						Frame = "{{0, 0}, {250, 100}}";
+					};
+					TabCount = 5;
+					TabsVisible = YES;
+				};
+				NavBarShownByDefault = YES;
+				StatusViewVisible = YES;
+				Template = F5CA7ECC015C09990DCA290F;
+				ToolbarVisible = YES;
+				WindowLocation = "{436, 82}";
 			};
 			PBXWorkspaceContents = (
@@ -1703,5 +1833,5 @@
 				},
 			);
-			PBXWorkspaceStateSaveDate = 63172038;
+			PBXWorkspaceStateSaveDate = 63490351;
 		};
 		perUserProjectItems = {
@@ -2296,5 +2426,5 @@
 		name = "PSAlarmSetController.m: 505";
 		rLen = 0;
-		rLoc = 22304;
+		rLoc = 22635;
 		rType = 0;
 		vrLen = 301;
@@ -2316,5 +2446,5 @@
 		name = "PSAlarmSetController.m: 489";
 		rLen = 0;
-		rLoc = 21925;
+		rLoc = 22256;
 		rType = 0;
 		vrLen = 1118;
@@ -2324,18 +2454,4 @@
 		isa = PBXTargetBookmark;
 		trg = 29B97326FDCFA39411CA2CEA;
-		uiCtxt = {
-			TOCViewDetailVisibleRect = "{{0, 0}, {467, 233}}";
-			TOCViewExpandedItems = (
-				"com.apple.target-editor-pane.settings",
-				"com.apple.target-editor-pane.settings.simple",
-				"com.apple.target-editor-pane.info-plist",
-				"com.apple.target-editor-pane.info-plist.simple",
-				"com.apple.target-editor-pane.buildphases",
-			);
-			TOCViewMasterVisibleRect = "{{0, 0}, {183, 581}}";
-			TOCViewSelectedItems = (
-				PBXTargetSummarySettingsModule,
-			);
-		};
 	};
 	E1096EC303C3F504009B92C1 = {
@@ -2344,5 +2460,5 @@
 		name = "PSAlarmSetController.m: 505";
 		rLen = 0;
-		rLoc = 22304;
+		rLoc = 22635;
 		rType = 0;
 		vrLen = 301;
@@ -2364,5 +2480,5 @@
 		name = "PSAlarmSetController.m: 489";
 		rLen = 0;
-		rLoc = 21925;
+		rLoc = 22256;
 		rType = 0;
 		vrLen = 1144;
@@ -2378,5 +2494,5 @@
 		fileReference = F59DC6D40353C9E601AEEDB1;
 		isa = PBXFileBreakpoint;
-		lineNumber = 477;
+		lineNumber = 480;
 		state = 1;
 	};
@@ -2394,5 +2510,5 @@
 		fileReference = F59DC6D40353C9E601AEEDB1;
 		isa = PBXFileBreakpoint;
-		lineNumber = 502;
+		lineNumber = 505;
 		state = 1;
 	};
@@ -2714,5 +2830,5 @@
 		name = "PSAlarms.m: 244";
 		rLen = 0;
-		rLoc = 7594;
+		rLoc = 7662;
 		rType = 0;
 		vrLen = 1412;
@@ -2914,5 +3030,5 @@
 		name = "PSMovieAlert.m: 61";
 		rLen = 0;
-		rLoc = 1644;
+		rLoc = 1829;
 		rType = 0;
 		vrLen = 1158;
@@ -2924,5 +3040,5 @@
 		name = "PSMovieAlertController.m: delay";
 		rLen = 0;
-		rLoc = 664;
+		rLoc = 578;
 		rType = 0;
 		vrLen = 1660;
@@ -3004,5 +3120,5 @@
 		name = "PSAlarmSetController.m: 513";
 		rLen = 0;
-		rLoc = 22685;
+		rLoc = 23016;
 		rType = 0;
 		vrLen = 1154;
@@ -3084,5 +3200,5 @@
 		name = "PSAlarmSetController.m: 510";
 		rLen = 0;
-		rLoc = 22661;
+		rLoc = 22992;
 		rType = 0;
 		vrLen = 1204;
@@ -3104,5 +3220,5 @@
 		name = "PSAlarmSetController.m: 513";
 		rLen = 0;
-		rLoc = 22685;
+		rLoc = 23016;
 		rType = 0;
 		vrLen = 1154;
@@ -3236,5 +3352,5 @@
 		rLoc = 532;
 		rType = 0;
-		vrLen = 697;
+		vrLen = 695;
 		vrLoc = 0;
 	};
@@ -3304,5 +3420,5 @@
 		name = "PSMovieAlert.m: 61";
 		rLen = 0;
-		rLoc = 1644;
+		rLoc = 1829;
 		rType = 0;
 		vrLen = 1158;
@@ -3394,5 +3510,5 @@
 		name = "PSMovieAlertController.m: delay";
 		rLen = 0;
-		rLoc = 664;
+		rLoc = 578;
 		rType = 0;
 		vrLen = 1660;
@@ -3524,5 +3640,5 @@
 		name = "PSAlarmSetController.m: 513";
 		rLen = 0;
-		rLoc = 22685;
+		rLoc = 23016;
 		rType = 0;
 		vrLen = 1154;
@@ -3664,5 +3780,5 @@
 		name = "PSAlarmSetController.m: 513";
 		rLen = 0;
-		rLoc = 22685;
+		rLoc = 23016;
 		rType = 0;
 		vrLen = 1154;
@@ -5041,5 +5157,5 @@
 		name = "PSMovieAlertController.m: windowWillClose:";
 		rLen = 0;
-		rLoc = 4368;
+		rLoc = 4730;
 		rType = 0;
 		vrLen = 1986;
@@ -5061,5 +5177,5 @@
 		name = "PSMovieAlertController.m: windowWillClose:";
 		rLen = 0;
-		rLoc = 4181;
+		rLoc = 4543;
 		rType = 0;
 		vrLen = 1994;
@@ -5081,5 +5197,5 @@
 		name = "PSMovieAlertController.m: dealloc";
 		rLen = 0;
-		rLoc = 3878;
+		rLoc = 4240;
 		rType = 0;
 		vrLen = 2014;
@@ -5592,5 +5708,5 @@
 		name = "PSMovieAlertController.m: controllerWithAlarm:movieAlert:";
 		rLen = 0;
-		rLoc = 621;
+		rLoc = 535;
 		rType = 0;
 		vrLen = 1544;
@@ -6020,5 +6136,5 @@
 		name = "NJRQTMediaPopUpButton.m: 181";
 		rLen = 0;
-		rLoc = 6701;
+		rLoc = 6730;
 		rType = 0;
 		vrLen = 952;
@@ -6060,5 +6176,5 @@
 		name = "PSMovieAlertController.m: 92";
 		rLen = 0;
-		rLoc = 3878;
+		rLoc = 4240;
 		rType = 0;
 		vrLen = 1703;
@@ -6080,5 +6196,5 @@
 		name = "PSMovieAlertController.m: 105";
 		rLen = 0;
-		rLoc = 4196;
+		rLoc = 4558;
 		rType = 0;
 		vrLen = 1707;
@@ -6090,5 +6206,5 @@
 		name = "NJRQTMediaPopUpButton.m: ";
 		rLen = 0;
-		rLoc = 4123;
+		rLoc = 4152;
 		rType = 0;
 		vrLen = 1323;
@@ -6179,5 +6295,5 @@
 		name = "NJRQTMediaPopUpButton.m: ";
 		rLen = 0;
-		rLoc = 6837;
+		rLoc = 6866;
 		rType = 0;
 		vrLen = 1590;
@@ -6229,5 +6345,5 @@
 		name = "NJRQTMediaPopUpButton.m: 259";
 		rLen = 0;
-		rLoc = 9493;
+		rLoc = 9522;
 		rType = 0;
 		vrLen = 1353;
@@ -6249,5 +6365,5 @@
 		name = "NJRQTMediaPopUpButton.m: ";
 		rLen = 0;
-		rLoc = 6312;
+		rLoc = 6341;
 		rType = 0;
 		vrLen = 960;
@@ -6279,5 +6395,5 @@
 		name = "NJRQTMediaPopUpButton.m: ";
 		rLen = 0;
-		rLoc = 6837;
+		rLoc = 6866;
 		rType = 0;
 		vrLen = 1590;
@@ -8189,3 +8305,17 @@
 		symbolName = "-[NSException raise]";
 	};
+	F5F19866036B80AF01EB0372 = {
+		fileEncoding = 30;
+		isa = PBXFileReference;
+		name = SUSpeaker.h;
+		path = /Users/nicholas/Documents/Development/Cocoa/Pester/Source/SUSpeaker.h;
+		refType = 0;
+	};
+	F5F19867036B80AF01EB0372 = {
+		fileEncoding = 30;
+		isa = PBXFileReference;
+		name = SUSpeaker.m;
+		path = /Users/nicholas/Documents/Development/Cocoa/Pester/Source/SUSpeaker.m;
+		refType = 0;
+	};
 }
Index: trunk/Cocoa/Pester/Source/Pester.pbproj/project.pbxproj
===================================================================
--- trunk/Cocoa/Pester/Source/Pester.pbproj/project.pbxproj	(revision 53)
+++ trunk/Cocoa/Pester/Source/Pester.pbproj/project.pbxproj	(revision 60)
@@ -328,9 +328,10 @@
 				F59E4BE9036B2E5E016B311C,
 				F5F1986F036B813101EB0372,
-				F5F19868036B80AF01EB0372,
 				F5F2418B036A910B01FE7503,
 				E130B9AE03B7C59700000028,
 				E13919E403B9E4E100000028,
 				E1ECA00803C002B300F54C66,
+				E1D358BB03C60CE900C8A18E,
+				E1E9A33C03C8EF6700050002,
 			);
 			isa = PBXHeadersBuildPhase;
@@ -392,8 +393,9 @@
 				F59E4BE8036B2E5E016B311C,
 				E1A18CB103B439AD00000028,
-				F5F19869036B80AF01EB0372,
 				29B9732CFDCFA39411CA2CEA,
 				E13919E503B9E4E100000028,
 				E1ECA00903C002B300F54C66,
+				E1D358BC03C60CE900C8A18E,
+				E1E9A33B03C8EF6700050002,
 			);
 			isa = PBXSourcesBuildPhase;
@@ -689,4 +691,61 @@
 			};
 		};
+		E1D358B903C60CE900C8A18E = {
+			fileEncoding = 4;
+			isa = PBXFileReference;
+			path = NJRCenteringMovieView.h;
+			refType = 4;
+		};
+		E1D358BA03C60CE900C8A18E = {
+			fileEncoding = 4;
+			isa = PBXFileReference;
+			path = NJRCenteringMovieView.m;
+			refType = 4;
+		};
+		E1D358BB03C60CE900C8A18E = {
+			fileRef = E1D358B903C60CE900C8A18E;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		E1D358BC03C60CE900C8A18E = {
+			fileRef = E1D358BA03C60CE900C8A18E;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		E1E9A33903C8EF6700050002 = {
+			fileEncoding = 30;
+			isa = PBXFileReference;
+			path = SUSpeaker.m;
+			refType = 4;
+		};
+		E1E9A33A03C8EF6700050002 = {
+			fileEncoding = 30;
+			isa = PBXFileReference;
+			path = SUSpeaker.h;
+			refType = 4;
+		};
+		E1E9A33B03C8EF6700050002 = {
+			fileRef = E1E9A33903C8EF6700050002;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		E1E9A33C03C8EF6700050002 = {
+			fileRef = E1E9A33A03C8EF6700050002;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		E1E9A33D03C8EF6800050002 = {
+			children = (
+				E1E9A33903C8EF6700050002,
+				E1E9A33A03C8EF6700050002,
+			);
+			isa = PBXGroup;
+			name = SpeechUtilities;
+			refType = 4;
+		};
 		E1ECA00603C002B300F54C66 = {
 			fileEncoding = 4;
@@ -973,5 +1032,5 @@
 		F560E313035787ED01A4E466 = {
 			children = (
-				F5F19865036B806201EB0372,
+				E1E9A33D03C8EF6800050002,
 				F59E47A6036AA5FC016B311C,
 				E1ECA00603C002B300F54C66,
@@ -991,4 +1050,6 @@
 		F560E314035787F901A4E466 = {
 			children = (
+				E1D358B903C60CE900C8A18E,
+				E1D358BA03C60CE900C8A18E,
 				E1F0B14A03AD8CEF00AEFBE0,
 				E1F0B14B03AD8CEF00AEFBE0,
@@ -1583,38 +1644,4 @@
 			};
 		};
-		F5F19865036B806201EB0372 = {
-			children = (
-				F5F19866036B80AF01EB0372,
-				F5F19867036B80AF01EB0372,
-			);
-			isa = PBXGroup;
-			name = SpeechUtilities;
-			path = NDAppleScript;
-			refType = 4;
-		};
-		F5F19866036B80AF01EB0372 = {
-			fileEncoding = 30;
-			isa = PBXFileReference;
-			path = SUSpeaker.h;
-			refType = 2;
-		};
-		F5F19867036B80AF01EB0372 = {
-			fileEncoding = 30;
-			isa = PBXFileReference;
-			path = SUSpeaker.m;
-			refType = 2;
-		};
-		F5F19868036B80AF01EB0372 = {
-			fileRef = F5F19866036B80AF01EB0372;
-			isa = PBXBuildFile;
-			settings = {
-			};
-		};
-		F5F19869036B80AF01EB0372 = {
-			fileRef = F5F19867036B80AF01EB0372;
-			isa = PBXBuildFile;
-			settings = {
-			};
-		};
 		F5F1986C036B813101EB0372 = {
 			fileEncoding = 30;
