first commit

This commit is contained in:
Jeena Paradies 2010-09-24 22:42:52 +02:00
commit 925bd4a7a2
14 changed files with 7146 additions and 0 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
build/**/*

View file

@ -0,0 +1,2 @@
/* Localized versions of Info.plist keys */

4778
English.lproj/MainMenu.xib Normal file

File diff suppressed because it is too large Load diff

BIN
Icon.icns Normal file

Binary file not shown.

8
README Normal file
View file

@ -0,0 +1,8 @@
OS X application to let the synthesizer read texts.
Copy & paste text into the app, press "Speak" and Alex
reads the text to you. You can pause the text and let
him speak only selected parts.
Copyright (c) 2010 Jeena Paradies
Released under the MIT license

32
Speaker-Info.plist Normal file
View file

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string>Icon.icns</string>
<key>CFBundleIdentifier</key>
<string>net.jeena.apps.speaker</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSMinimumSystemVersion</key>
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,523 @@
// !$*UTF8*$!
{
089C165DFE840E0CC02AAC07 /* English */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {518, 525}}";
sepNavSelRange = "{0, 0}";
sepNavVisRange = "{0, 45}";
};
};
1FA38C25124D2411004B8852 /* Speaker */ = {
isa = PBXExecutable;
activeArgIndices = (
);
argumentStrings = (
);
autoAttachOnCrash = 1;
breakpointsEnabled = 0;
configStateDict = {
};
customDataFormattersEnabled = 1;
dataTipCustomDataFormattersEnabled = 1;
dataTipShowTypeColumn = 1;
dataTipSortType = 0;
debuggerPlugin = GDBDebugging;
disassemblyDisplayState = 0;
dylibVariantSuffix = "";
enableDebugStr = 1;
environmentEntries = (
);
executableSystemSymbolLevel = 0;
executableUserSymbolLevel = 0;
libgmallocEnabled = 0;
name = Speaker;
savedGlobals = {
};
showTypeColumn = 0;
sourceDirectories = (
);
};
1FA38C37124D2426004B8852 /* Source Control */ = {
isa = PBXSourceControlManager;
fallbackIsa = XCSourceControlManager;
isSCMEnabled = 0;
scmConfiguration = {
repositoryNamesForRoots = {
"" = "";
};
};
};
1FA38C38124D2426004B8852 /* Code sense */ = {
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
1FA38C56124D2CA0004B8852 /* XCBuildMessageTextBookmark */ = {
isa = PBXTextBookmark;
comments = "Invalid initializer";
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
fallbackIsa = XCBuildMessageTextBookmark;
rLen = 1;
rLoc = 21;
rType = 1;
};
1FA38C57124D2CA0004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 20";
rLen = 0;
rLoc = 481;
rType = 0;
vrLen = 382;
vrLoc = 139;
};
1FA38C5E124D2CD6004B8852 /* PBXBookmark */ = {
isa = PBXBookmark;
fRef = 1FA38C48124D27C8004B8852 /* play-icon.png */;
};
1FA38C5F124D2CD6004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D80F4B6AC300CF3369 /* SpeakerAppDelegate.h */;
name = "SpeakerAppDelegate.h: 13";
rLen = 10;
rLoc = 255;
rType = 0;
vrLen = 380;
vrLoc = 43;
};
1FA38C60124D2CD6004B8852 /* XCBuildMessageTextBookmark */ = {
isa = PBXTextBookmark;
comments = "Invalid initializer";
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
fallbackIsa = XCBuildMessageTextBookmark;
rLen = 1;
rLoc = 21;
rType = 1;
};
1FA38C61124D2CD6004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 32";
rLen = 0;
rLoc = 1342;
rType = 0;
vrLen = 779;
vrLoc = 77;
};
1FA38C6D124D2D0C004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 20";
rLen = 0;
rLoc = 481;
rType = 0;
vrLen = 779;
vrLoc = 77;
};
1FA38C71124D2D1E004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 20";
rLen = 0;
rLoc = 481;
rType = 0;
vrLen = 779;
vrLoc = 77;
};
1FA38C75124D2D34004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 20";
rLen = 0;
rLoc = 481;
rType = 0;
vrLen = 797;
vrLoc = 77;
};
1FA38C77124D2D5A004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 20";
rLen = 0;
rLoc = 481;
rType = 0;
vrLen = 779;
vrLoc = 77;
};
1FA38C7A124D2DA5004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 20";
rLen = 0;
rLoc = 481;
rType = 0;
vrLen = 760;
vrLoc = 77;
};
1FA38C7F124D2DBB004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 20";
rLen = 0;
rLoc = 481;
rType = 0;
vrLen = 708;
vrLoc = 0;
};
1FA38C84124D2DCA004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 20";
rLen = 0;
rLoc = 481;
rType = 0;
vrLen = 708;
vrLoc = 0;
};
1FA38C88124D2DE9004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 20";
rLen = 0;
rLoc = 481;
rType = 0;
vrLen = 700;
vrLoc = 77;
};
1FA38C8F124D3162004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D80F4B6AC300CF3369 /* SpeakerAppDelegate.h */;
name = "SpeakerAppDelegate.h: 14";
rLen = 0;
rLoc = 324;
rType = 0;
vrLen = 458;
vrLoc = 0;
};
1FA38C90124D3162004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 20";
rLen = 0;
rLoc = 481;
rType = 0;
vrLen = 695;
vrLoc = 77;
};
1FA38C91124D3162004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 32";
rLen = 0;
rLoc = 1342;
rType = 0;
vrLen = 711;
vrLoc = 140;
};
1FA38C95124D31AD004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 34";
rLen = 0;
rLoc = 1339;
rType = 0;
vrLen = 706;
vrLoc = 208;
};
1FA38C98124D341C004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D80F4B6AC300CF3369 /* SpeakerAppDelegate.h */;
name = "SpeakerAppDelegate.h: 15";
rLen = 0;
rLoc = 324;
rType = 0;
vrLen = 477;
vrLoc = 0;
};
1FA38C99124D341C004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 24";
rLen = 0;
rLoc = 571;
rType = 0;
vrLen = 701;
vrLoc = 208;
};
1FA38C9A124D341C004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 39";
rLen = 0;
rLoc = 1339;
rType = 0;
vrLen = 620;
vrLoc = 409;
};
1FA38C9B124D34F4004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 41";
rLen = 0;
rLoc = 1312;
rType = 0;
vrLen = 655;
vrLoc = 409;
};
1FA38C9E124D3516004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 46";
rLen = 0;
rLoc = 1334;
rType = 0;
vrLen = 662;
vrLoc = 449;
};
1FA38CA8124D3666004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 30";
rLen = 0;
rLoc = 818;
rType = 0;
vrLen = 961;
vrLoc = 208;
};
1FA38CAB124D3695004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 28";
rLen = 0;
rLoc = 625;
rType = 0;
vrLen = 1023;
vrLoc = 207;
};
1FA38CAF124D36B6004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 33";
rLen = 0;
rLoc = 823;
rType = 0;
vrLen = 1079;
vrLoc = 207;
};
1FA38CB3124D3718004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 18";
rLen = 0;
rLoc = 441;
rType = 0;
vrLen = 1108;
vrLoc = 207;
};
1FA38CB5124D3736004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 33";
rLen = 0;
rLoc = 823;
rType = 0;
vrLen = 959;
vrLoc = 207;
};
1FA38CB8124D3793004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 32";
rLen = 0;
rLoc = 818;
rType = 0;
vrLen = 1018;
vrLoc = 207;
};
1FA38CBB124D37B2004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 32";
rLen = 0;
rLoc = 762;
rType = 0;
vrLen = 1029;
vrLoc = 207;
};
1FA38CBE124D3887004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 32";
rLen = 0;
rLoc = 762;
rType = 0;
vrLen = 1029;
vrLoc = 207;
};
1FA38CBF124D3897004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 32";
rLen = 0;
rLoc = 762;
rType = 0;
vrLen = 1004;
vrLoc = 207;
};
1FA38CC1124D38C2004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 33";
rLen = 0;
rLoc = 818;
rType = 0;
vrLen = 1020;
vrLoc = 207;
};
1FA38CD8124D437C004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 23";
rLen = 0;
rLoc = 482;
rType = 0;
vrLen = 360;
vrLoc = 208;
};
1FA38CD9124D437D004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */;
name = "SpeakerAppDelegate.m: 30";
rLen = 0;
rLoc = 662;
rType = 0;
vrLen = 1061;
vrLoc = 207;
};
1FA38CDA124D437D004B8852 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 089C165DFE840E0CC02AAC07 /* English */;
name = "InfoPlist.strings: 1";
rLen = 0;
rLoc = 0;
rType = 0;
vrLen = 45;
vrLoc = 0;
};
1FA38CDB124D437D004B8852 /* PBXBookmark */ = {
isa = PBXBookmark;
fRef = 8D1107310486CEB800E47090 /* Speaker-Info.plist */;
};
1FA38CDC124D437D004B8852 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D1107310486CEB800E47090 /* Speaker-Info.plist */;
fallbackIsa = PBXBookmark;
isK = 0;
kPath = (
CFBundleIdentifier,
);
name = "/Users/jeena/Projects/Speaker/Speaker-Info.plist";
rLen = 0;
rLoc = 9223372036854775807;
};
256AC3D80F4B6AC300CF3369 /* SpeakerAppDelegate.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {519, 403}}";
sepNavSelRange = "{324, 0}";
sepNavVisRange = "{0, 477}";
};
};
256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {509, 930}}";
sepNavSelRange = "{482, 0}";
sepNavVisRange = "{208, 360}";
};
};
29B97313FDCFA39411CA2CEA /* Project object */ = {
activeBuildConfigurationName = Debug;
activeExecutable = 1FA38C25124D2411004B8852 /* Speaker */;
activeTarget = 8D1107260486CEB800E47090 /* Speaker */;
addToTargets = (
8D1107260486CEB800E47090 /* Speaker */,
);
codeSenseManager = 1FA38C38124D2426004B8852 /* Code sense */;
executables = (
1FA38C25124D2411004B8852 /* Speaker */,
);
perUserDictionary = {
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
340,
20,
48.16259765625,
43,
43,
20,
);
PBXFileTableDataSourceColumnsKey = (
PBXFileDataSource_FiletypeID,
PBXFileDataSource_Filename_ColumnID,
PBXFileDataSource_Built_ColumnID,
PBXFileDataSource_ObjectSize_ColumnID,
PBXFileDataSource_Errors_ColumnID,
PBXFileDataSource_Warnings_ColumnID,
PBXFileDataSource_Target_ColumnID,
);
};
PBXPerProjectTemplateStateSaveDate = 307045393;
PBXWorkspaceStateSaveDate = 307045393;
};
perUserProjectItems = {
1FA38C56124D2CA0004B8852 /* XCBuildMessageTextBookmark */ = 1FA38C56124D2CA0004B8852 /* XCBuildMessageTextBookmark */;
1FA38C57124D2CA0004B8852 /* PBXTextBookmark */ = 1FA38C57124D2CA0004B8852 /* PBXTextBookmark */;
1FA38C5E124D2CD6004B8852 /* PBXBookmark */ = 1FA38C5E124D2CD6004B8852 /* PBXBookmark */;
1FA38C5F124D2CD6004B8852 /* PBXTextBookmark */ = 1FA38C5F124D2CD6004B8852 /* PBXTextBookmark */;
1FA38C60124D2CD6004B8852 /* XCBuildMessageTextBookmark */ = 1FA38C60124D2CD6004B8852 /* XCBuildMessageTextBookmark */;
1FA38C61124D2CD6004B8852 /* PBXTextBookmark */ = 1FA38C61124D2CD6004B8852 /* PBXTextBookmark */;
1FA38C6D124D2D0C004B8852 /* PBXTextBookmark */ = 1FA38C6D124D2D0C004B8852 /* PBXTextBookmark */;
1FA38C71124D2D1E004B8852 /* PBXTextBookmark */ = 1FA38C71124D2D1E004B8852 /* PBXTextBookmark */;
1FA38C75124D2D34004B8852 /* PBXTextBookmark */ = 1FA38C75124D2D34004B8852 /* PBXTextBookmark */;
1FA38C77124D2D5A004B8852 /* PBXTextBookmark */ = 1FA38C77124D2D5A004B8852 /* PBXTextBookmark */;
1FA38C7A124D2DA5004B8852 /* PBXTextBookmark */ = 1FA38C7A124D2DA5004B8852 /* PBXTextBookmark */;
1FA38C7F124D2DBB004B8852 /* PBXTextBookmark */ = 1FA38C7F124D2DBB004B8852 /* PBXTextBookmark */;
1FA38C84124D2DCA004B8852 /* PBXTextBookmark */ = 1FA38C84124D2DCA004B8852 /* PBXTextBookmark */;
1FA38C88124D2DE9004B8852 /* PBXTextBookmark */ = 1FA38C88124D2DE9004B8852 /* PBXTextBookmark */;
1FA38C8F124D3162004B8852 /* PBXTextBookmark */ = 1FA38C8F124D3162004B8852 /* PBXTextBookmark */;
1FA38C90124D3162004B8852 /* PBXTextBookmark */ = 1FA38C90124D3162004B8852 /* PBXTextBookmark */;
1FA38C91124D3162004B8852 /* PBXTextBookmark */ = 1FA38C91124D3162004B8852 /* PBXTextBookmark */;
1FA38C95124D31AD004B8852 /* PBXTextBookmark */ = 1FA38C95124D31AD004B8852 /* PBXTextBookmark */;
1FA38C98124D341C004B8852 /* PBXTextBookmark */ = 1FA38C98124D341C004B8852 /* PBXTextBookmark */;
1FA38C99124D341C004B8852 /* PBXTextBookmark */ = 1FA38C99124D341C004B8852 /* PBXTextBookmark */;
1FA38C9A124D341C004B8852 /* PBXTextBookmark */ = 1FA38C9A124D341C004B8852 /* PBXTextBookmark */;
1FA38C9B124D34F4004B8852 /* PBXTextBookmark */ = 1FA38C9B124D34F4004B8852 /* PBXTextBookmark */;
1FA38C9E124D3516004B8852 /* PBXTextBookmark */ = 1FA38C9E124D3516004B8852 /* PBXTextBookmark */;
1FA38CA8124D3666004B8852 /* PBXTextBookmark */ = 1FA38CA8124D3666004B8852 /* PBXTextBookmark */;
1FA38CAB124D3695004B8852 /* PBXTextBookmark */ = 1FA38CAB124D3695004B8852 /* PBXTextBookmark */;
1FA38CAF124D36B6004B8852 /* PBXTextBookmark */ = 1FA38CAF124D36B6004B8852 /* PBXTextBookmark */;
1FA38CB3124D3718004B8852 /* PBXTextBookmark */ = 1FA38CB3124D3718004B8852 /* PBXTextBookmark */;
1FA38CB5124D3736004B8852 /* PBXTextBookmark */ = 1FA38CB5124D3736004B8852 /* PBXTextBookmark */;
1FA38CB8124D3793004B8852 /* PBXTextBookmark */ = 1FA38CB8124D3793004B8852 /* PBXTextBookmark */;
1FA38CBB124D37B2004B8852 /* PBXTextBookmark */ = 1FA38CBB124D37B2004B8852 /* PBXTextBookmark */;
1FA38CBE124D3887004B8852 /* PBXTextBookmark */ = 1FA38CBE124D3887004B8852 /* PBXTextBookmark */;
1FA38CBF124D3897004B8852 /* PBXTextBookmark */ = 1FA38CBF124D3897004B8852 /* PBXTextBookmark */;
1FA38CC1124D38C2004B8852 /* PBXTextBookmark */ = 1FA38CC1124D38C2004B8852 /* PBXTextBookmark */;
1FA38CD8124D437C004B8852 /* PBXTextBookmark */ = 1FA38CD8124D437C004B8852 /* PBXTextBookmark */;
1FA38CD9124D437D004B8852 /* PBXTextBookmark */ = 1FA38CD9124D437D004B8852 /* PBXTextBookmark */;
1FA38CDA124D437D004B8852 /* PBXTextBookmark */ = 1FA38CDA124D437D004B8852 /* PBXTextBookmark */;
1FA38CDB124D437D004B8852 /* PBXBookmark */ = 1FA38CDB124D437D004B8852 /* PBXBookmark */;
1FA38CDC124D437D004B8852 /* PlistBookmark */ = 1FA38CDC124D437D004B8852 /* PlistBookmark */;
};
sourceControlManager = 1FA38C37124D2426004B8852 /* Source Control */;
userBuildSettings = {
};
};
8D1107260486CEB800E47090 /* Speaker */ = {
activeExec = 0;
executables = (
1FA38C25124D2411004B8852 /* Speaker */,
);
};
}

View file

@ -0,0 +1,297 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 45;
objects = {
/* Begin PBXBuildFile section */
1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; };
1FA38C49124D27C8004B8852 /* play-icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 1FA38C48124D27C8004B8852 /* play-icon.png */; };
1FA38CD3124D4349004B8852 /* Icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 1FA38CD2124D4349004B8852 /* Icon.icns */; };
256AC3DA0F4B6AC300CF3369 /* SpeakerAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */; };
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; };
1DDD58150DA1D0A300B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = "<group>"; };
1FA38C48124D27C8004B8852 /* play-icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "play-icon.png"; sourceTree = "<group>"; };
1FA38CD2124D4349004B8852 /* Icon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = Icon.icns; sourceTree = "<group>"; };
256AC3D80F4B6AC300CF3369 /* SpeakerAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpeakerAppDelegate.h; sourceTree = "<group>"; };
256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SpeakerAppDelegate.m; sourceTree = "<group>"; };
256AC3F00F4B6AF500CF3369 /* Speaker_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Speaker_Prefix.pch; sourceTree = "<group>"; };
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
8D1107310486CEB800E47090 /* Speaker-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Speaker-Info.plist"; sourceTree = "<group>"; };
8D1107320486CEB800E47090 /* Speaker.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Speaker.app; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
8D11072E0486CEB800E47090 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
080E96DDFE201D6D7F000001 /* Classes */ = {
isa = PBXGroup;
children = (
256AC3D80F4B6AC300CF3369 /* SpeakerAppDelegate.h */,
256AC3D90F4B6AC300CF3369 /* SpeakerAppDelegate.m */,
);
name = Classes;
sourceTree = "<group>";
};
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
isa = PBXGroup;
children = (
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
);
name = "Linked Frameworks";
sourceTree = "<group>";
};
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
isa = PBXGroup;
children = (
29B97324FDCFA39411CA2CEA /* AppKit.framework */,
13E42FB307B3F0F600E4EEF1 /* CoreData.framework */,
29B97325FDCFA39411CA2CEA /* Foundation.framework */,
);
name = "Other Frameworks";
sourceTree = "<group>";
};
19C28FACFE9D520D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
8D1107320486CEB800E47090 /* Speaker.app */,
);
name = Products;
sourceTree = "<group>";
};
29B97314FDCFA39411CA2CEA /* Speaker */ = {
isa = PBXGroup;
children = (
080E96DDFE201D6D7F000001 /* Classes */,
29B97315FDCFA39411CA2CEA /* Other Sources */,
29B97317FDCFA39411CA2CEA /* Resources */,
29B97323FDCFA39411CA2CEA /* Frameworks */,
19C28FACFE9D520D11CA2CBB /* Products */,
);
name = Speaker;
sourceTree = "<group>";
};
29B97315FDCFA39411CA2CEA /* Other Sources */ = {
isa = PBXGroup;
children = (
256AC3F00F4B6AF500CF3369 /* Speaker_Prefix.pch */,
29B97316FDCFA39411CA2CEA /* main.m */,
);
name = "Other Sources";
sourceTree = "<group>";
};
29B97317FDCFA39411CA2CEA /* Resources */ = {
isa = PBXGroup;
children = (
1FA38CD2124D4349004B8852 /* Icon.icns */,
1FA38C48124D27C8004B8852 /* play-icon.png */,
8D1107310486CEB800E47090 /* Speaker-Info.plist */,
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
1DDD58140DA1D0A300B32029 /* MainMenu.xib */,
);
name = Resources;
sourceTree = "<group>";
};
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
isa = PBXGroup;
children = (
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
8D1107260486CEB800E47090 /* Speaker */ = {
isa = PBXNativeTarget;
buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "Speaker" */;
buildPhases = (
8D1107290486CEB800E47090 /* Resources */,
8D11072C0486CEB800E47090 /* Sources */,
8D11072E0486CEB800E47090 /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = Speaker;
productInstallPath = "$(HOME)/Applications";
productName = Speaker;
productReference = 8D1107320486CEB800E47090 /* Speaker.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
29B97313FDCFA39411CA2CEA /* Project object */ = {
isa = PBXProject;
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Speaker" */;
compatibilityVersion = "Xcode 3.1";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
English,
Japanese,
French,
German,
);
mainGroup = 29B97314FDCFA39411CA2CEA /* Speaker */;
projectDirPath = "";
projectRoot = "";
targets = (
8D1107260486CEB800E47090 /* Speaker */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
8D1107290486CEB800E47090 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */,
1FA38C49124D27C8004B8852 /* play-icon.png in Resources */,
1FA38CD3124D4349004B8852 /* Icon.icns in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
8D11072C0486CEB800E47090 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8D11072D0486CEB800E47090 /* main.m in Sources */,
256AC3DA0F4B6AC300CF3369 /* SpeakerAppDelegate.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
089C165DFE840E0CC02AAC07 /* English */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
1DDD58140DA1D0A300B32029 /* MainMenu.xib */ = {
isa = PBXVariantGroup;
children = (
1DDD58150DA1D0A300B32029 /* English */,
);
name = MainMenu.xib;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
C01FCF4B08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_MODEL_TUNING = G5;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = Speaker_Prefix.pch;
INFOPLIST_FILE = "Speaker-Info.plist";
INSTALL_PATH = "$(HOME)/Applications";
PRODUCT_NAME = Speaker;
};
name = Debug;
};
C01FCF4C08A954540054247B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_MODEL_TUNING = G5;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = Speaker_Prefix.pch;
INFOPLIST_FILE = "Speaker-Info.plist";
INSTALL_PATH = "$(HOME)/Applications";
PRODUCT_NAME = Speaker;
};
name = Release;
};
C01FCF4F08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
ONLY_ACTIVE_ARCH = YES;
PREBINDING = NO;
SDKROOT = macosx10.6;
};
name = Debug;
};
C01FCF5008A954540054247B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
PREBINDING = NO;
SDKROOT = macosx10.6;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "Speaker" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C01FCF4B08A954540054247B /* Debug */,
C01FCF4C08A954540054247B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Speaker" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C01FCF4F08A954540054247B /* Debug */,
C01FCF5008A954540054247B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
}

23
SpeakerAppDelegate.h Normal file
View file

@ -0,0 +1,23 @@
//
// SpeakerAppDelegate.h
// Speaker
//
// Created by Jeena on 24.09.10.
// Copyright 2010 __MyCompanyName__. All rights reserved.
//
#import <Cocoa/Cocoa.h>
@interface SpeakerAppDelegate : NSObject <NSApplicationDelegate> {
NSWindow *window;
NSTextView *textView;
NSSpeechSynthesizer *synth;
NSRange oldRange;
}
@property (assign) IBOutlet NSWindow *window;
@property (retain, nonatomic) IBOutlet NSTextView *textView;
-(IBAction)speakAction:(id)sender;
@end

59
SpeakerAppDelegate.m Normal file
View file

@ -0,0 +1,59 @@
//
// SpeakerAppDelegate.m
// Speaker
//
// Created by Jeena on 24.09.10.
// Copyright 2010 __MyCompanyName__. All rights reserved.
//
#import "SpeakerAppDelegate.h"
@implementation SpeakerAppDelegate
@synthesize window, textView;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
// Insert code here to initialize your application
synth = [[NSSpeechSynthesizer alloc] init];
oldRange = NSMakeRange(-1, -1);
}
-(IBAction)speakAction:(id)sender {
if ([synth isSpeaking]) {
[synth pauseSpeakingAtBoundary:NSSpeechWordBoundary];
} else {
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) {
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];
}
}
}
@end

7
Speaker_Prefix.pch Normal file
View file

@ -0,0 +1,7 @@
//
// Prefix header for all source files of the 'Speaker' target in the 'Speaker' project
//
#ifdef __OBJC__
#import <Cocoa/Cocoa.h>
#endif

14
main.m Normal file
View file

@ -0,0 +1,14 @@
//
// main.m
// Speaker
//
// Created by Jeena on 24.09.10.
// Copyright 2010 __MyCompanyName__. All rights reserved.
//
#import <Cocoa/Cocoa.h>
int main(int argc, char *argv[])
{
return NSApplicationMain(argc, (const char **) argv);
}

BIN
play-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB