diff --git a/English.lproj/MainMenu.xib b/English.lproj/MainMenu.xib index d820b3d..93485c3 100644 --- a/English.lproj/MainMenu.xib +++ b/English.lproj/MainMenu.xib @@ -12,8 +12,8 @@ YES - - + + YES @@ -3914,7 +3914,7 @@ com.apple.InterfaceBuilder.CocoaPlugin {{525, 802}, {197, 73}} - {{353, 1048}, {422, 20}} + {{452, 1099}, {422, 20}} com.apple.InterfaceBuilder.CocoaPlugin {74, 862} @@ -3939,18 +3939,18 @@ com.apple.InterfaceBuilder.CocoaPlugin - {{579, 131}, {500, 371}} + {{422, 131}, {500, 371}} com.apple.InterfaceBuilder.CocoaPlugin - {{579, 131}, {500, 371}} + {{422, 131}, {500, 371}} {{33, 99}, {480, 360}} {3.40282e+38, 3.40282e+38} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {{591, 420}, {83, 43}} + {{626, 1056}, {83, 43}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {{523, 2}, {178, 283}} + {{709, 816}, {175, 283}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -4092,7 +4092,7 @@ - 551 + 553 @@ -4101,14 +4101,42 @@ SpeakerAppDelegate NSObject - speakAction: - id + YES + + YES + seekBack: + seekForward: + speakAction: + + + YES + id + id + id + - speakAction: - - speakAction: - id + YES + + YES + seekBack: + seekForward: + speakAction: + + + YES + + seekBack: + id + + + seekForward: + id + + + speakAction: + id + diff --git a/Speaker.xcodeproj/jeena.mode1v3 b/Speaker.xcodeproj/jeena.mode1v3 index b02d425..57c2a15 100644 --- a/Speaker.xcodeproj/jeena.mode1v3 +++ b/Speaker.xcodeproj/jeena.mode1v3 @@ -271,8 +271,8 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 3 - 1 + 14 + 9 0 @@ -326,7 +326,7 @@ _historyCapacity 0 bookmark - 1FF67C6B1294AEA400CA07A3 + 1FE6FE4C12958D0F0077EC42 history 1FA38C5E124D2CD6004B8852 @@ -337,7 +337,7 @@ 1FF67B4B1294919400CA07A3 1FF67BEC1294A39500CA07A3 1FF67C0B1294A9BE00CA07A3 - 1FF67C0C1294A9BE00CA07A3 + 1FF67C6B1294AEA400CA07A3 SplitCount @@ -395,9 +395,9 @@ TableOfContents - 1FF67B3012948CE400CA07A3 + 1FE6FE4D12958D0F0077EC42 1CE0B1FE06471DED0097A5F4 - 1FF67B3112948CE400CA07A3 + 1FE6FE4E12958D0F0077EC42 1CE0B20306471E060097A5F4 1CE0B20506471E060097A5F4 @@ -535,8 +535,8 @@ 5 WindowOrderList - 1FF67B551294919400CA07A3 - 1FF67B561294919400CA07A3 + 1FE6FE5712958D0F0077EC42 + 1FE6FE5812958D0F0077EC42 1CD10A99069EF8BA00B06720 1FA38C35124D2426004B8852 1C78EAAD065D492600B07095 @@ -620,7 +620,7 @@ TableOfContents 1FA38C35124D2426004B8852 - 1FF67B3212948CE400CA07A3 + 1FE6FE4F12958D0F0077EC42 1CD0528F0623707200166675 XCMainBuildResultsModuleGUID @@ -664,8 +664,8 @@ yes sizes - {{0, 0}, {316, 198}} - {{316, 0}, {378, 198}} + {{0, 0}, {316, 201}} + {{316, 0}, {378, 201}} VerticalSplitView @@ -680,8 +680,8 @@ yes sizes - {{0, 0}, {694, 198}} - {{0, 198}, {694, 183}} + {{0, 0}, {694, 201}} + {{0, 201}, {694, 180}} @@ -714,7 +714,7 @@ 148 Frame - {{316, 0}, {378, 198}} + {{316, 0}, {378, 201}} RubberWindowFrame 298 733 694 422 0 0 1920 1178 @@ -742,13 +742,13 @@ TableOfContents 1CD10A99069EF8BA00B06720 - 1FF67B4E1294919400CA07A3 + 1FE6FE5012958D0F0077EC42 1C162984064C10D400B95A72 - 1FF67B4F1294919400CA07A3 - 1FF67B501294919400CA07A3 - 1FF67B511294919400CA07A3 - 1FF67B521294919400CA07A3 - 1FF67B531294919400CA07A3 + 1FE6FE5112958D0F0077EC42 + 1FE6FE5212958D0F0077EC42 + 1FE6FE5312958D0F0077EC42 + 1FE6FE5412958D0F0077EC42 + 1FE6FE5512958D0F0077EC42 ToolbarConfiguration xcode.toolbar.config.debugV3 @@ -889,7 +889,7 @@ Frame {{0, 0}, {650, 209}} RubberWindowFrame - 1276 76 650 250 0 0 1920 1178 + 1270 76 650 250 0 0 1920 1178 Module PBXDebugCLIModule @@ -912,13 +912,13 @@ TableOfContents 1C78EAAD065D492600B07095 - 1FF67B541294919400CA07A3 + 1FE6FE5612958D0F0077EC42 1C78EAAC065D492600B07095 ToolbarConfiguration xcode.toolbar.config.consoleV3 WindowString - 1276 76 650 250 0 0 1920 1178 + 1270 76 650 250 0 0 1920 1178 WindowToolGUID 1C78EAAD065D492600B07095 WindowToolIsVisible diff --git a/Speaker.xcodeproj/jeena.pbxuser b/Speaker.xcodeproj/jeena.pbxuser index 301070e..b165135 100644 --- a/Speaker.xcodeproj/jeena.pbxuser +++ b/Speaker.xcodeproj/jeena.pbxuser @@ -65,6 +65,16 @@ vrLen = 45; vrLoc = 0; }; + 1FE6FE4C12958D0F0077EC42 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */; + name = "SpeakerAppDelegate.m: 104"; + rLen = 0; + rLoc = 3089; + rType = 0; + vrLen = 1531; + vrLoc = 1624; + }; 1FF67B3C12948FDE00CA07A3 /* SpeakerApplication.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {832, 812}}"; @@ -109,7 +119,7 @@ ); name = "/Users/jeena/Projects/Speaker/Speaker-Info.plist"; rLen = 0; - rLoc = 9223372036854775807; + rLoc = 9223372036854775808; }; 1FF67B4B1294919400CA07A3 /* PBXTextBookmark */ = { isa = PBXTextBookmark; @@ -141,22 +151,12 @@ vrLen = 594; vrLoc = 0; }; - 1FF67C0C1294A9BE00CA07A3 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */; - name = "SpeakerAppDelegate.m: 58"; - rLen = 13; - rLoc = 1816; - rType = 0; - vrLen = 1672; - vrLoc = 1375; - }; 1FF67C6B1294AEA400CA07A3 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */; name = "SpeakerAppDelegate.m: 98"; rLen = 0; - rLoc = 2838; + rLoc = 2658; rType = 0; vrLen = 1528; vrLoc = 1736; @@ -170,9 +170,9 @@ }; 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1160, 1710}}"; - sepNavSelRange = "{2838, 0}"; - sepNavVisRange = "{1736, 1528}"; + sepNavIntBoundsRect = "{{0, 0}, {1160, 1695}}"; + sepNavSelRange = "{3089, 0}"; + sepNavVisRange = "{1624, 1531}"; }; }; 256AC3F00F4B6AF500CF3369 /* Speaker_Prefix.pch */ = { @@ -216,19 +216,19 @@ PBXFileDataSource_Target_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 311725270; - PBXWorkspaceStateSaveDate = 311725270; + PBXPerProjectTemplateStateSaveDate = 311758342; + PBXWorkspaceStateSaveDate = 311758342; }; perUserProjectItems = { 1FA38C5E124D2CD6004B8852 /* PBXBookmark */ = 1FA38C5E124D2CD6004B8852 /* PBXBookmark */; 1FA38CDA124D437D004B8852 /* PBXTextBookmark */ = 1FA38CDA124D437D004B8852 /* PBXTextBookmark */; + 1FE6FE4C12958D0F0077EC42 /* PBXTextBookmark */ = 1FE6FE4C12958D0F0077EC42 /* PBXTextBookmark */; 1FF67B481294919400CA07A3 /* PBXTextBookmark */ = 1FF67B481294919400CA07A3 /* PBXTextBookmark */; 1FF67B491294919400CA07A3 /* PBXTextBookmark */ = 1FF67B491294919400CA07A3 /* PBXTextBookmark */; 1FF67B4A1294919400CA07A3 /* PlistBookmark */ = 1FF67B4A1294919400CA07A3 /* PlistBookmark */; 1FF67B4B1294919400CA07A3 /* PBXTextBookmark */ = 1FF67B4B1294919400CA07A3 /* PBXTextBookmark */; 1FF67BEC1294A39500CA07A3 /* PBXTextBookmark */ = 1FF67BEC1294A39500CA07A3 /* PBXTextBookmark */; 1FF67C0B1294A9BE00CA07A3 /* PBXTextBookmark */ = 1FF67C0B1294A9BE00CA07A3 /* PBXTextBookmark */; - 1FF67C0C1294A9BE00CA07A3 /* PBXTextBookmark */ = 1FF67C0C1294A9BE00CA07A3 /* PBXTextBookmark */; 1FF67C6B1294AEA400CA07A3 /* PBXTextBookmark */ = 1FF67C6B1294AEA400CA07A3 /* PBXTextBookmark */; }; sourceControlManager = 1FA38C37124D2426004B8852 /* Source Control */; diff --git a/Speaker.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Speaker.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..37628cc --- /dev/null +++ b/Speaker.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Speaker.xcodeproj/project.xcworkspace/xcuserdata/jeena.xcuserdatad/UserInterfaceState.xcuserstate b/Speaker.xcodeproj/project.xcworkspace/xcuserdata/jeena.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..6324bcf --- /dev/null +++ b/Speaker.xcodeproj/project.xcworkspace/xcuserdata/jeena.xcuserdatad/UserInterfaceState.xcuserstate @@ -0,0 +1,2578 @@ + + + + + $archiver + NSKeyedArchiver + $objects + + $null + + $class + + CF$UID + 77 + + NS.keys + + + CF$UID + 2 + + + CF$UID + 3 + + + NS.objects + + + CF$UID + 4 + + + CF$UID + 174 + + + + 348FA3A7-F451-4548-91CF-D74A508D1159 + IDEWorkspaceDocument + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 5 + + + CF$UID + 6 + + + CF$UID + 7 + + + CF$UID + 8 + + + CF$UID + 9 + + + CF$UID + 10 + + + NS.objects + + + CF$UID + 11 + + + CF$UID + 12 + + + CF$UID + 14 + + + CF$UID + 10 + + + CF$UID + 2 + + + CF$UID + 15 + + + + IDEWindowFrame + IDEOrderedWorkspaceTabControllers + IDEWindowToolbarIsVisible + IDEActiveWorkspaceTabController + IDEWorkspaceWindowControllerUniqueIdentifier + IDEWorkspaceTabController_7BCFEBA4-3A28-4811-BF88-9C31DE6411BF + {{2732, 123}, {1400, 974}} + + $class + + CF$UID + 13 + + NS.objects + + + CF$UID + 10 + + + + + $classes + + NSArray + NSObject + + $classname + NSArray + + + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 16 + + + CF$UID + 17 + + + CF$UID + 18 + + + CF$UID + 19 + + + CF$UID + 20 + + + CF$UID + 21 + + + CF$UID + 22 + + + CF$UID + 23 + + + NS.objects + + + CF$UID + 24 + + + CF$UID + 14 + + + CF$UID + 25 + + + CF$UID + 138 + + + CF$UID + 145 + + + CF$UID + 165 + + + CF$UID + 34 + + + CF$UID + 63 + + + + IDETabLabel + IDEShowNavigator + IDEEditorArea + IDEWorkspaceTabControllerUtilityAreaSplitView + IDENavigatorArea + IDEWorkspaceTabControllerDesignAreaSplitView + IDEShowUtilities + AssistantEditorsLayout + SpeakerAppDelegate.m + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 26 + + + CF$UID + 27 + + + CF$UID + 28 + + + CF$UID + 29 + + + CF$UID + 30 + + + CF$UID + 31 + + + CF$UID + 32 + + + CF$UID + 33 + + + NS.objects + + + CF$UID + 34 + + + CF$UID + 35 + + + CF$UID + 86 + + + CF$UID + 14 + + + CF$UID + 63 + + + CF$UID + 117 + + + CF$UID + 125 + + + CF$UID + 126 + + + + ShowDebuggerArea + IDEEditorMode_Standard + IDEEDitorArea_DebugArea + IDEShowEditor + EditorMode + DebuggerSplitView + DefaultPersistentRepresentations + layoutTree + + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 36 + + + NS.objects + + + CF$UID + 37 + + + + EditorLayout_PersistentRepresentation + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 38 + + + NS.objects + + + CF$UID + 39 + + + + Main + + $class + + CF$UID + 77 + + NS.keys + + + CF$UID + 40 + + + CF$UID + 41 + + + CF$UID + 42 + + + NS.objects + + + CF$UID + 43 + + + CF$UID + 63 + + + CF$UID + 84 + + + + EditorLayout_StateSavingStateDictionaries + EditorLayout_Selected + EditorLayout_Geometry + + $class + + CF$UID + 13 + + NS.objects + + + CF$UID + 44 + + + + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 45 + + + CF$UID + 46 + + + CF$UID + 47 + + + CF$UID + 48 + + + CF$UID + 49 + + + CF$UID + 50 + + + CF$UID + 51 + + + NS.objects + + + CF$UID + 52 + + + CF$UID + 53 + + + CF$UID + 69 + + + CF$UID + 78 + + + CF$UID + 57 + + + CF$UID + 79 + + + CF$UID + 80 + + + + FileDataType + ArchivableRepresentation + EditorState + NavigableItemName + DocumentNavigableItemName + DocumentExtensionIdentifier + DocumentURL + public.objective-c-source + + $class + + CF$UID + 68 + + DocumentLocation + + CF$UID + 64 + + DomainIdentifier + + CF$UID + 54 + + IdentifierPath + + CF$UID + 55 + + IndexOfDocumentIdentifier + + CF$UID + 63 + + + Xcode.IDENavigableItemDomain.WorkspaceStructure + + $class + + CF$UID + 13 + + NS.objects + + + CF$UID + 56 + + + CF$UID + 59 + + + CF$UID + 61 + + + + + $class + + CF$UID + 58 + + Identifier + + CF$UID + 57 + + + SpeakerAppDelegate.m + + $classes + + IDEArchivableStringIndexPair + NSObject + + $classname + IDEArchivableStringIndexPair + + + $class + + CF$UID + 58 + + Identifier + + CF$UID + 60 + + + Classes + + $class + + CF$UID + 58 + + Identifier + + CF$UID + 62 + + + Speaker + 0 + + $class + + CF$UID + 67 + + documentURL + + CF$UID + 65 + + timestamp + + CF$UID + 0 + + + + $class + + CF$UID + 66 + + NS.string + file://localhost/Users/jeena/Projects/Speaker/SpeakerAppDelegate.m + + + $classes + + NSMutableString + NSString + NSObject + + $classname + NSMutableString + + + $classes + + DVTDocumentLocation + NSObject + + $classname + DVTDocumentLocation + + + $classes + + IDENavigableItemArchivableRepresentation + NSObject + + $classname + IDENavigableItemArchivableRepresentation + + + $class + + CF$UID + 77 + + NS.keys + + + CF$UID + 70 + + + CF$UID + 71 + + + CF$UID + 72 + + + CF$UID + 73 + + + NS.objects + + + CF$UID + 74 + + + CF$UID + 75 + + + CF$UID + 34 + + + CF$UID + 76 + + + + PrimaryDocumentTimestamp + PrimaryDocumentVisibleCharacterRange + HideAllIssues + PrimaryDocumentSelectedCharacterRange + 332077175.92799598 + {1416, 1806} + {3164, 0} + + $classes + + NSDictionary + NSObject + + $classname + NSDictionary + + -speechSynthesizer:didFinishSpeaking: + Xcode.IDEKit.EditorDocument.SourceCode + + $class + + CF$UID + 82 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 81 + + + file://localhost/Users/jeena/Projects/Speaker/SpeakerAppDelegate.m + + $classes + + NSURL + NSObject + + $classname + NSURL + + + $classes + + NSMutableDictionary + NSDictionary + NSObject + + $classname + NSMutableDictionary + + + $class + + CF$UID + 13 + + NS.objects + + + CF$UID + 85 + + + + {{0, 0}, {1140, 876}} + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 87 + + + CF$UID + 88 + + + CF$UID + 89 + + + CF$UID + 90 + + + CF$UID + 91 + + + CF$UID + 92 + + + NS.objects + + + CF$UID + 93 + + + CF$UID + 94 + + + CF$UID + 96 + + + CF$UID + 93 + + + CF$UID + 108 + + + CF$UID + 114 + + + + LayoutFocusMode + console + IDEDebuggerAreaSplitView + LayoutMode + IDEDebugArea_SplitView + variables + 1 + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 95 + + + NS.objects + + + CF$UID + 63 + + + + ConsoleFilterMode + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 97 + + + NS.objects + + + CF$UID + 98 + + + + DVTSplitViewItems + + $class + + CF$UID + 107 + + NS.objects + + + CF$UID + 99 + + + CF$UID + 104 + + + + + $class + + CF$UID + 77 + + NS.keys + + + CF$UID + 100 + + + CF$UID + 101 + + + NS.objects + + + CF$UID + 102 + + + CF$UID + 103 + + + + DVTIdentifier + DVTViewMagnitude + VariablesView + 298 + + $class + + CF$UID + 77 + + NS.keys + + + CF$UID + 100 + + + CF$UID + 101 + + + NS.objects + + + CF$UID + 105 + + + CF$UID + 106 + + + + ConsoleArea + 841 + + $classes + + NSMutableArray + NSArray + NSObject + + $classname + NSMutableArray + + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 97 + + + NS.objects + + + CF$UID + 109 + + + + + $class + + CF$UID + 107 + + NS.objects + + + CF$UID + 110 + + + CF$UID + 112 + + + + + $class + + CF$UID + 77 + + NS.keys + + + CF$UID + 100 + + + CF$UID + 101 + + + NS.objects + + + CF$UID + 102 + + + CF$UID + 111 + + + + 298 + + $class + + CF$UID + 77 + + NS.keys + + + CF$UID + 100 + + + CF$UID + 101 + + + NS.objects + + + CF$UID + 105 + + + CF$UID + 113 + + + + 841 + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 115 + + + NS.objects + + + CF$UID + 116 + + + + DBGVariablesViewFilterMode + 2 + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 97 + + + NS.objects + + + CF$UID + 118 + + + + + $class + + CF$UID + 107 + + NS.objects + + + CF$UID + 119 + + + CF$UID + 122 + + + + + $class + + CF$UID + 77 + + NS.keys + + + CF$UID + 100 + + + CF$UID + 101 + + + NS.objects + + + CF$UID + 120 + + + CF$UID + 121 + + + + IDEEditor + 203 + + $class + + CF$UID + 77 + + NS.keys + + + CF$UID + 100 + + + CF$UID + 101 + + + NS.objects + + + CF$UID + 123 + + + CF$UID + 124 + + + + IDEDebuggerArea + 115 + + $class + + CF$UID + 83 + + NS.keys + + NS.objects + + + + $class + + CF$UID + 137 + + geniusEditorContextNode + + CF$UID + 0 + + primaryEditorContextNode + + CF$UID + 127 + + rootLayoutTreeNode + + CF$UID + 134 + + + + $class + + CF$UID + 136 + + children + + CF$UID + 0 + + contentType + 1 + documentArchivableRepresentation + + CF$UID + 128 + + orientation + 0 + parent + + CF$UID + 134 + + + + $class + + CF$UID + 68 + + DocumentLocation + + CF$UID + 64 + + DomainIdentifier + + CF$UID + 54 + + IdentifierPath + + CF$UID + 129 + + IndexOfDocumentIdentifier + + CF$UID + 63 + + + + $class + + CF$UID + 13 + + NS.objects + + + CF$UID + 130 + + + CF$UID + 131 + + + CF$UID + 132 + + + + + $class + + CF$UID + 58 + + Identifier + + CF$UID + 57 + + + + $class + + CF$UID + 58 + + Identifier + + CF$UID + 60 + + + + $class + + CF$UID + 58 + + Identifier + + CF$UID + 133 + + + Speaker + + $class + + CF$UID + 136 + + children + + CF$UID + 135 + + contentType + 0 + documentArchivableRepresentation + + CF$UID + 0 + + orientation + 0 + parent + + CF$UID + 0 + + + + $class + + CF$UID + 13 + + NS.objects + + + CF$UID + 127 + + + + + $classes + + IDEWorkspaceTabControllerLayoutTreeNode + NSObject + + $classname + IDEWorkspaceTabControllerLayoutTreeNode + + + $classes + + IDEWorkspaceTabControllerLayoutTree + NSObject + + $classname + IDEWorkspaceTabControllerLayoutTree + + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 97 + + + NS.objects + + + CF$UID + 139 + + + + + $class + + CF$UID + 107 + + NS.objects + + + CF$UID + 140 + + + CF$UID + 143 + + + + + $class + + CF$UID + 77 + + NS.keys + + + CF$UID + 100 + + + CF$UID + 101 + + + NS.objects + + + CF$UID + 141 + + + CF$UID + 142 + + + + + 652 + + $class + + CF$UID + 77 + + NS.keys + + + CF$UID + 100 + + + CF$UID + 101 + + + NS.objects + + + CF$UID + 141 + + + CF$UID + 144 + + + + 224 + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 146 + + + CF$UID + 147 + + + NS.objects + + + CF$UID + 147 + + + CF$UID + 148 + + + + SelectedNavigator + Xcode.IDEKit.Navigator.Structure + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 149 + + + CF$UID + 150 + + + CF$UID + 151 + + + CF$UID + 152 + + + CF$UID + 153 + + + CF$UID + 154 + + + CF$UID + 155 + + + NS.objects + + + CF$UID + 156 + + + CF$UID + 34 + + + CF$UID + 157 + + + CF$UID + 34 + + + CF$UID + 34 + + + CF$UID + 159 + + + CF$UID + 162 + + + + IDEVisibleRect + IDEUnsavedDocumentFilteringEnabled + IDENavigatorExpandedItemsBeforeFilteringSet + IDERecentDocumentFilteringEnabled + IDESCMStatusFilteringEnabled + IDESelectedObjects + IDEExpandedItemsSet + {{0, 0}, {259, 832}} + + $class + + CF$UID + 158 + + NS.objects + + + + $classes + + NSSet + NSObject + + $classname + NSSet + + + $class + + CF$UID + 13 + + NS.objects + + + CF$UID + 160 + + + + + $class + + CF$UID + 107 + + NS.objects + + + CF$UID + 161 + + + CF$UID + 60 + + + CF$UID + 57 + + + + Speaker + + $class + + CF$UID + 158 + + NS.objects + + + CF$UID + 163 + + + CF$UID + 164 + + + + + $class + + CF$UID + 107 + + NS.objects + + + CF$UID + 161 + + + + + $class + + CF$UID + 107 + + NS.objects + + + CF$UID + 161 + + + CF$UID + 60 + + + + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 97 + + + NS.objects + + + CF$UID + 166 + + + + + $class + + CF$UID + 107 + + NS.objects + + + CF$UID + 167 + + + CF$UID + 169 + + + CF$UID + 171 + + + + + $class + + CF$UID + 77 + + NS.keys + + + CF$UID + 100 + + + CF$UID + 101 + + + NS.objects + + + CF$UID + 20 + + + CF$UID + 168 + + + + 260 + + $class + + CF$UID + 77 + + NS.keys + + + CF$UID + 100 + + + CF$UID + 101 + + + NS.objects + + + CF$UID + 18 + + + CF$UID + 170 + + + + 1140 + + $class + + CF$UID + 77 + + NS.keys + + + CF$UID + 100 + + + CF$UID + 101 + + + NS.objects + + + CF$UID + 172 + + + CF$UID + 173 + + + + IDEUtilitiesArea + 260 + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 175 + + + CF$UID + 176 + + + CF$UID + 177 + + + CF$UID + 178 + + + CF$UID + 179 + + + CF$UID + 180 + + + CF$UID + 181 + + + CF$UID + 182 + + + CF$UID + 183 + + + CF$UID + 184 + + + NS.objects + + + CF$UID + 34 + + + CF$UID + 185 + + + CF$UID + 63 + + + CF$UID + 204 + + + CF$UID + 209 + + + CF$UID + 212 + + + CF$UID + 244 + + + CF$UID + 245 + + + CF$UID + 34 + + + CF$UID + 34 + + + + BreakpointsActivated + DefaultEditorStatesForURLs + DebuggingWindowBehavior + ActiveRunDestination + ActiveScheme + LastCompletedPersistentSchemeBasedActivityReport + DocumentWindows + RecentEditorDocumentURLs + AppFocusInMiniDebugging + MiniDebuggingConsole + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 186 + + + NS.objects + + + CF$UID + 187 + + + + Xcode.IDEKit.EditorDocument.SourceCode + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 188 + + + CF$UID + 190 + + + NS.objects + + + CF$UID + 192 + + + CF$UID + 196 + + + + + $class + + CF$UID + 82 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 189 + + + + $class + + CF$UID + 66 + + NS.string + file://localhost/Users/jeena/Projects/Speaker/SpeakerAppDelegate.m + + + $class + + CF$UID + 82 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 191 + + + + $class + + CF$UID + 66 + + NS.string + file://localhost/Users/jeena/Projects/Speaker/SpeakerAppDelegate.h + + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 70 + + + CF$UID + 71 + + + CF$UID + 72 + + + CF$UID + 73 + + + NS.objects + + + CF$UID + 193 + + + CF$UID + 194 + + + CF$UID + 34 + + + CF$UID + 195 + + + + 332077175.927513 + {1416, 1806} + {3164, 0} + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 197 + + + CF$UID + 198 + + + CF$UID + 199 + + + CF$UID + 200 + + + NS.objects + + + CF$UID + 201 + + + CF$UID + 202 + + + CF$UID + 34 + + + CF$UID + 203 + + + + PrimaryDocumentTimestamp + PrimaryDocumentVisibleCharacterRange + HideAllIssues + PrimaryDocumentSelectedCharacterRange + 330514652.40774298 + {0, 638} + {609, 0} + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 205 + + + CF$UID + 206 + + + NS.objects + + + CF$UID + 207 + + + CF$UID + 208 + + + + IDEDeviceLocation + IDEDeviceArchitecture + dvtdevice-local-computer:localhost + x86_64 + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 210 + + + NS.objects + + + CF$UID + 211 + + + + IDENameString + Speaker + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 213 + + + CF$UID + 214 + + + CF$UID + 215 + + + NS.objects + + + CF$UID + 216 + + + CF$UID + 242 + + + CF$UID + 243 + + + + IDEActivityReportCompletionSummaryStringSegments + IDEActivityReportOptions + IDEActivityReportTitle + + $class + + CF$UID + 107 + + NS.objects + + + CF$UID + 217 + + + CF$UID + 224 + + + CF$UID + 228 + + + CF$UID + 233 + + + + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 218 + + + CF$UID + 219 + + + CF$UID + 220 + + + NS.objects + + + CF$UID + 221 + + + CF$UID + 222 + + + CF$UID + 223 + + + + IDEActivityReportStringSegmentPriority + IDEActivityReportStringSegmentBackSeparator + IDEActivityReportStringSegmentStringValue + 2 + + Build + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 218 + + + CF$UID + 219 + + + CF$UID + 220 + + + NS.objects + + + CF$UID + 225 + + + CF$UID + 226 + + + CF$UID + 227 + + + + 4 + : + Speaker + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 218 + + + CF$UID + 219 + + + CF$UID + 220 + + + NS.objects + + + CF$UID + 229 + + + CF$UID + 230 + + + CF$UID + 231 + + + + 1 + + + $class + + CF$UID + 232 + + NS.data + + YnBsaXN0MDDUAQIDBAUGOzxYJHZlcnNpb25YJG9iamVjdHNZJGFy + Y2hpdmVyVCR0b3ASAAGGoK0HCA8QGhscJCUrMTQ3VSRudWxs0wkK + CwwNDlxOU0F0dHJpYnV0ZXNWJGNsYXNzWE5TU3RyaW5ngAOADIAC + WVN1Y2NlZWRlZNMKERITFBdXTlMua2V5c1pOUy5vYmplY3RzgAui + FRaABIAFohgZgAaACVZOU0ZvbnRXTlNDb2xvctQKHR4fICEiI1ZO + U05hbWVWTlNTaXplWE5TZkZsYWdzgAiAByNAJgAAAAAAABENEF8Q + EUx1Y2lkYUdyYW5kZS1Cb2xk0iYnKClaJGNsYXNzbmFtZVgkY2xh + c3Nlc1ZOU0ZvbnSiKCpYTlNPYmplY3TTCiwtLi8wXE5TQ29sb3JT + cGFjZVdOU1doaXRlgAoQA0IwANImJzIzV05TQ29sb3KiMirSJic1 + NlxOU0RpY3Rpb25hcnmiNSrSJic4OV8QEk5TQXR0cmlidXRlZFN0 + cmluZ6I6Kl8QEk5TQXR0cmlidXRlZFN0cmluZ18QD05TS2V5ZWRB + cmNoaXZlctE9PlRyb290gAEACAARABoAIwAtADIANwBFAEsAUgBf + AGYAbwBxAHMAdQB/AIYAjgCZAJsAngCgAKIApQCnAKkAsAC4AMEA + yADPANgA2gDcAOUA6AD8AQEBDAEVARwBHwEoAS8BPAFEAUYBSAFL + AVABWAFbAWABbQFwAXUBigGNAaIBtAG3AbwAAAAAAAACAQAAAAAA + AAA/AAAAAAAAAAAAAAAAAAABvg== + + + + $classes + + NSMutableData + NSData + NSObject + + $classname + NSMutableData + + + $class + + CF$UID + 83 + + NS.keys + + + CF$UID + 218 + + + CF$UID + 234 + + + CF$UID + 235 + + + CF$UID + 220 + + + CF$UID + 236 + + + CF$UID + 237 + + + NS.objects + + + CF$UID + 238 + + + CF$UID + 93 + + + CF$UID + 239 + + + CF$UID + 241 + + + CF$UID + 93 + + + CF$UID + 93 + + + + IDEActivityReportStringSegmentType + IDEActivityReportStringSegmentDate + IDEActivityReportStringSegmentDateStyle + IDEActivityReportStringSegmentTimeStyle + 3 + + $class + + CF$UID + 240 + + NS.time + 332077161.21957201 + + + $classes + + NSDate + NSObject + + $classname + NSDate + + Today at 13:39 + 106 + Speaker + + $class + + CF$UID + 107 + + NS.objects + + + CF$UID + 2 + + + + + $class + + CF$UID + 107 + + NS.objects + + + CF$UID + 246 + + + CF$UID + 248 + + + + + $class + + CF$UID + 82 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 247 + + + file://localhost/Users/jeena/Projects/Speaker/SpeakerAppDelegate.m + + $class + + CF$UID + 82 + + NS.base + + CF$UID + 0 + + NS.relative + + CF$UID + 249 + + + file://localhost/Users/jeena/Projects/Speaker/SpeakerAppDelegate.h + + $top + + State + + CF$UID + 1 + + + $version + 100000 + + diff --git a/Speaker.xcodeproj/xcuserdata/jeena.xcuserdatad/xcschemes/Speaker.xcscheme b/Speaker.xcodeproj/xcuserdata/jeena.xcuserdatad/xcschemes/Speaker.xcscheme new file mode 100644 index 0000000..289ca7b --- /dev/null +++ b/Speaker.xcodeproj/xcuserdata/jeena.xcuserdatad/xcschemes/Speaker.xcscheme @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Speaker.xcodeproj/xcuserdata/jeena.xcuserdatad/xcschemes/xcschememanagement.plist b/Speaker.xcodeproj/xcuserdata/jeena.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..ada41ff --- /dev/null +++ b/Speaker.xcodeproj/xcuserdata/jeena.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + Speaker.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D1107260486CEB800E47090 + + primary + + + + + diff --git a/SpeakerAppDelegate.h b/SpeakerAppDelegate.h index 02993f1..bc19474 100644 --- a/SpeakerAppDelegate.h +++ b/SpeakerAppDelegate.h @@ -23,4 +23,7 @@ -(IBAction)seekForward:(id)sender; -(IBAction)seekBack:(id)sender; +-(void)stopSpeaking; +-(void)startSpeaking; + @end diff --git a/SpeakerAppDelegate.m b/SpeakerAppDelegate.m index f057897..7f88cb7 100644 --- a/SpeakerAppDelegate.m +++ b/SpeakerAppDelegate.m @@ -40,58 +40,55 @@ -(IBAction)speakAction:(id)sender { if ([synth isSpeaking]) { - - [synth pauseSpeakingAtBoundary:NSSpeechWordBoundary]; - [textView setEditable:YES]; - + [self stopSpeaking]; } else { - - [textView setEditable:NO]; - - NSRange range = [textView selectedRange]; - - if (range.location == [[[textView textStorage] string] length]) { - range.location = 0; - [textView setSelectedRange:NSMakeRange(0,0)]; - [textView scrollRangeToVisible:NSMakeRange(0,0)]; - } - - if (range.length != oldRange.length || range.location != oldRange.location || isNewLocation) { - isNewLocation = NO; - NSString *wholeText = [[textView textStorage] string]; - NSString *text = nil; - - if (range.length > 0) { // selection - text = [wholeText substringWithRange:range]; - } else { // only pointer - text = [wholeText substringWithRange:NSMakeRange(range.location, [wholeText length] - range.location)]; - } - - [synth startSpeakingString:text]; - - oldRange = range; - - } else { - - [synth continueSpeaking]; - - } + [self startSpeaking]; } +} +-(void)stopSpeaking { + [synth pauseSpeakingAtBoundary:NSSpeechWordBoundary]; + [textView setEditable:YES]; +} + +-(void)startSpeaking { + + [textView setEditable:NO]; + + NSRange range = [textView selectedRange]; + + if (range.location == [[[textView textStorage] string] length]) { + range.location = 0; + [textView setSelectedRange:NSMakeRange(0,0)]; + [textView scrollRangeToVisible:NSMakeRange(0,0)]; + } + + NSString *wholeText = [[textView textStorage] string]; + NSString *text = nil; + + if (range.length > 0) { // selection + text = [wholeText substringWithRange:range]; + } else { // only pointer + text = [wholeText substringWithRange:NSMakeRange(range.location, [wholeText length] - range.location)]; + } + + [synth startSpeakingString:text]; + + oldRange = range; + } -(IBAction)seekForward:(id)sender { // not working yet - /* - [self speakAction:self]; + + [self stopSpeaking]; + NSRange selected = [textView selectedRange]; NSString *wholeText = [[textView textStorage] string]; NSRange position = [wholeText rangeOfString:@". " options:NSLiteralSearch range:NSMakeRange(selected.location + 1, [wholeText length] - selected.location - 1)]; [textView setSelectedRange:NSMakeRange(position.location + 2, 0)]; - isNewLocation = YES; - NSLog(@"sp %i", [synth isSpeaking]); - [self speakAction:self]; - */ + + [self startSpeaking]; } -(IBAction)seekBack:(id)sender { @@ -103,6 +100,11 @@ [textView scrollRangeToVisible:range]; [textView setSelectedRange:NSMakeRange(range.location, 0)]; [textView showFindIndicatorForRange:range]; + [textView display]; +} + +- (void)speechSynthesizer:(NSSpeechSynthesizer *)sender didFinishSpeaking:(BOOL)success { + [textView setEditable:YES]; } - (void)dealloc {