From 474a5236a43e7f9c10f0bfce38ff4a96450d0dba Mon Sep 17 00:00:00 2001 From: vspader Date: Mon, 20 Jun 2005 18:50:59 +0000 Subject: [PATCH] 0.0.3 --- Changelog | 12 + Cog.xcodeproj/project.pbxproj | 14 +- Cog.xcodeproj/xugg.mode1 | 131 +- Cog.xcodeproj/xugg.pbxuser | 1286 +++++++++++++------ English.lproj/MainMenu.nib/classes.nib | 7 + English.lproj/MainMenu.nib/info.nib | 4 +- English.lproj/MainMenu.nib/keyedobjects.nib | Bin 42547 -> 42872 bytes SoundController.h | 4 + SoundController.m | 33 +- 9 files changed, 1073 insertions(+), 418 deletions(-) diff --git a/Changelog b/Changelog index 1b333473c..d3a8ab7e8 100644 --- a/Changelog +++ b/Changelog @@ -1,3 +1,11 @@ +0.0.3 +----- +Fixed bug where Default.playlist referred to non-existent files, resulting in a crash. +Clicking on the time display will now alternate between current time, and time to go. +Now makes ham. + +0.0.2 +----- Awesomized id3v2 and tagging support courtesy of TagLib. Dramatically improved performance of monkeys audio codec. SHN and Wavpack support. @@ -7,3 +15,7 @@ Added tooltips and control menu. Fixed play button so it now plays the currently selected song if no song is playing. Otherwise, it does pause/resume. Changed info panel to a drawer. Misc UI fixes. + +0.0.1 +----- +Initial release. \ No newline at end of file diff --git a/Cog.xcodeproj/project.pbxproj b/Cog.xcodeproj/project.pbxproj index 16759cb1e..359fdfc65 100644 --- a/Cog.xcodeproj/project.pbxproj +++ b/Cog.xcodeproj/project.pbxproj @@ -36,6 +36,8 @@ 8E5A90B1084CBC2F00AE6D62 /* Changelog in Resources */ = {isa = PBXBuildFile; fileRef = 8E5A90B0084CBC2F00AE6D62 /* Changelog */; }; 8E652A02083D93EB00A7AF1B /* TrackingSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E652A00083D93EB00A7AF1B /* TrackingSlider.m */; }; 8E6F2A1908480D010011F126 /* wheel.icns in Resources */ = {isa = PBXBuildFile; fileRef = 8E6F2A1808480D010011F126 /* wheel.icns */; }; + 8E7DAB4F0867423900615930 /* ClickField.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8E7DAB4D0867423900615930 /* ClickField.h */; }; + 8E7DAB500867423900615930 /* ClickField.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E7DAB4E0867423900615930 /* ClickField.m */; }; 8E81BC33083673ED0025A375 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E81BC31083673ED0025A375 /* AudioToolbox.framework */; }; 8E81BC34083673ED0025A375 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E81BC32083673ED0025A375 /* AudioUnit.framework */; }; 8E8BAE5408548BD500E9F14D /* WavPackFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E8BAE5208548BD500E9F14D /* WavPackFile.m */; }; @@ -143,6 +145,7 @@ 8EFFB6D5083302A500C53833 /* FLAC.framework in CopyFiles */, 8EFFB6D6083302A500C53833 /* DecMPA.framework in CopyFiles */, 8E287E4A0855F2EC00562C66 /* InfoView.h in CopyFiles */, + 8E7DAB4F0867423900615930 /* ClickField.h in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -198,6 +201,8 @@ 8E6529FF083D93EB00A7AF1B /* TrackingSlider.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = TrackingSlider.h; sourceTree = ""; }; 8E652A00083D93EB00A7AF1B /* TrackingSlider.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = TrackingSlider.m; sourceTree = ""; }; 8E6F2A1808480D010011F126 /* wheel.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = wheel.icns; path = Icons/wheel.icns; sourceTree = ""; }; + 8E7DAB4D0867423900615930 /* ClickField.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ClickField.h; sourceTree = ""; }; + 8E7DAB4E0867423900615930 /* ClickField.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = ClickField.m; sourceTree = ""; }; 8E81BC31083673ED0025A375 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; 8E81BC32083673ED0025A375 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = ""; }; 8E8BAE5108548BD500E9F14D /* WavPackFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WavPackFile.h; sourceTree = ""; }; @@ -285,7 +290,7 @@ 8E267D080837F7A6004ACBC5 /* Updates */, 8E47215C08318D12001F89FA /* Playlist */, 8EF6FA64082DA525006F7BE6 /* SoundFile */, - 8E6529F8083D93AF00A7AF1B /* Slider */, + 8E6529F8083D93AF00A7AF1B /* Custom */, 8E287E480855F2EC00562C66 /* InfoView.h */, 8E287E490855F2EC00562C66 /* InfoView.m */, 8E2871080836934A0013CE39 /* VirtualRingBuffer.h */, @@ -424,15 +429,17 @@ name = Playlist; sourceTree = ""; }; - 8E6529F8083D93AF00A7AF1B /* Slider */ = { + 8E6529F8083D93AF00A7AF1B /* Custom */ = { isa = PBXGroup; children = ( 8E297908083D891500F2C55A /* TrackingCell.m */, 8E297909083D891500F2C55A /* TrackingCell.h */, 8E6529FF083D93EB00A7AF1B /* TrackingSlider.h */, 8E652A00083D93EB00A7AF1B /* TrackingSlider.m */, + 8E7DAB4D0867423900615930 /* ClickField.h */, + 8E7DAB4E0867423900615930 /* ClickField.m */, ); - name = Slider; + name = Custom; sourceTree = ""; }; 8EAFD26D08465E4500107BA5 /* Icons */ = { @@ -637,6 +644,7 @@ 8E8BAE5408548BD500E9F14D /* WavPackFile.m in Sources */, 8E8BAE5808548BE800E9F14D /* ShnFile.m in Sources */, 8E287E4B0855F2EC00562C66 /* InfoView.m in Sources */, + 8E7DAB500867423900615930 /* ClickField.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Cog.xcodeproj/xugg.mode1 b/Cog.xcodeproj/xugg.mode1 index 26d5b3300..c2f37dda2 100644 --- a/Cog.xcodeproj/xugg.mode1 +++ b/Cog.xcodeproj/xugg.mode1 @@ -254,19 +254,21 @@ PBXSmartGroupTreeModuleOutlineStateExpansionKey 29B97314FDCFA39411CA2CEA + 080E96DDFE201D6D7F000001 + 8E6529F8083D93AF00A7AF1B 29B97317FDCFA39411CA2CEA 1C37FABC05509CD000000102 PBXSmartGroupTreeModuleOutlineStateSelectionKey - 7 - 3 + 32 + 24 0 PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {186, 565}} + {{0, 51}, {186, 565}} PBXTopSmartGroupGIDs @@ -285,7 +287,7 @@ 186 RubberWindowFrame - 2 122 1024 624 0 0 1024 746 + 1 122 1024 624 0 0 1024 746 Module PBXSmartGroupTreeModule @@ -303,7 +305,7 @@ PBXProjectModuleGUID 1CE0B20306471E060097A5F4 PBXProjectModuleLabel - Info.plist + Changelog PBXSplitModuleInNavigatorKey Split0 @@ -311,11 +313,11 @@ PBXProjectModuleGUID 1CE0B20406471E060097A5F4 PBXProjectModuleLabel - Info.plist + Changelog _historyCapacity 0 bookmark - 8EE558090866A24B009E7F50 + 8E7DABA50867470600615930 history 8EF6FACD082DAA2B006F7BE6 @@ -324,10 +326,6 @@ 8E267DDB0837FE5F004ACBC5 8E1A1826083806B700AEA302 8E6082C7083920310017AECF - 8E652A33083E1A7900A7AF1B - 8E652A34083E1A7900A7AF1B - 8E652A35083E1A7900A7AF1B - 8E652A36083E1A7900A7AF1B 8EDC88A90842F8DE007D1532 8EDC88B50842F936007D1532 8ED833CD08457E6B0033CDBD @@ -356,11 +354,7 @@ 8E4D67D40854E7B100816BEE 8E8F3F59085546B300BCF803 8E8F3F780855483300BCF803 - 8E8F3FA408554B8000BCF803 8EF45A7A08557C4D00D2D5D0 - 8E287CDC0855D60A00562C66 - 8E287CDD0855D60A00562C66 - 8E287E7F0855F60E00562C66 8EAB7544085621B10021C2BF 8EAB7545085621B10021C2BF 8EAB7549085621B10021C2BF @@ -369,15 +363,11 @@ 8EAB754C085621B10021C2BF 8EABE78408562281004DF882 8EABE7C308562FF3004DF882 - 8EABE7C408562FF3004DF882 8EABE7C508562FF3004DF882 8E5CC5020856316C00A299E0 8E98E5D308563D1B0078CAA1 8E65357F08563F6A00E468D9 - 8E65358008563F6A00E468D9 8E65359E0856401D00E468D9 - 8E5F6DB1085781B900A111D9 - 8E5F6DB2085781B900A111D9 8E63F6C808587FD400C79B72 8E63F6C908587FD400C79B72 8E63F6CA08587FD400C79B72 @@ -389,11 +379,25 @@ 8E8C7C85085EA5E30086DAC7 8E8C7D35085EAD460086DAC7 8E8C7D36085EAD460086DAC7 - 8E657299086085E400A0DAC4 - 8E65729A086085E400A0DAC4 - 8E94AFB2086639760038E585 8EE558070866A24B009E7F50 - 8E657298086085E400A0DAC4 + 8E7DAAA808673DF600615930 + 8E7DAAF70867402D00615930 + 8E7DAAF80867402D00615930 + 8E7DAAF90867402D00615930 + 8E7DAAFB0867402D00615930 + 8E7DAAFC0867402D00615930 + 8E7DAAFD0867402D00615930 + 8E7DAAFE0867402D00615930 + 8E7DAAFF0867402D00615930 + 8E7DAB430867421200615930 + 8E7DAB440867421200615930 + 8E7DAB78086742EB00615930 + 8E7DAB79086742EB00615930 + 8E7DAB7A086742EB00615930 + 8E7DAB9D0867470600615930 + 8E7DAB9E0867470600615930 + 8E7DAB9F0867470600615930 + 8E7DABA00867470600615930 prevStack @@ -473,7 +477,53 @@ 8E8C7C90085EA5E30086DAC7 8E8C7C92085EA5E30086DAC7 8E8C7C98085EA5E30086DAC7 - 8EE558080866A24B009E7F50 + 8E7DAAAA08673DF600615930 + 8E7DAAAB08673DF600615930 + 8E7DAB020867402D00615930 + 8E7DAB030867402D00615930 + 8E7DAB040867402D00615930 + 8E7DAB050867402D00615930 + 8E7DAB060867402D00615930 + 8E7DAB070867402D00615930 + 8E7DAB080867402D00615930 + 8E7DAB090867402D00615930 + 8E7DAB0A0867402D00615930 + 8E7DAB0B0867402D00615930 + 8E7DAB0C0867402D00615930 + 8E7DAB0D0867402D00615930 + 8E7DAB0E0867402D00615930 + 8E7DAB0F0867402D00615930 + 8E7DAB100867402D00615930 + 8E7DAB110867402D00615930 + 8E7DAB320867412700615930 + 8E7DAB330867412700615930 + 8E7DAB340867412700615930 + 8E7DAB350867412700615930 + 8E7DAB360867412700615930 + 8E7DAB470867421200615930 + 8E7DAB480867421200615930 + 8E7DAB490867421200615930 + 8E7DAB4A0867421200615930 + 8E7DAB4B0867421200615930 + 8E7DAB540867424400615930 + 8E7DAB550867424400615930 + 8E7DAB560867424400615930 + 8E7DAB570867424400615930 + 8E7DAB580867424400615930 + 8E7DAB7C086742EB00615930 + 8E7DAB7D086742EB00615930 + 8E7DAB7E086742EB00615930 + 8E7DAB7F086742EB00615930 + 8E7DAB80086742EB00615930 + 8E7DAB81086742EB00615930 + 8E7DAB82086742EB00615930 + 8E7DAB83086742EB00615930 + 8E7DAB84086742EB00615930 + 8E7DAB85086742EB00615930 + 8E7DABA10867470600615930 + 8E7DABA20867470600615930 + 8E7DABA30867470600615930 + 8E7DABA40867470600615930 SplitCount @@ -487,7 +537,7 @@ Frame {{0, 0}, {816, 405}} RubberWindowFrame - 2 122 1024 624 0 0 1024 746 + 1 122 1024 624 0 0 1024 746 Module PBXNavigatorGroup @@ -507,7 +557,7 @@ Frame {{0, 410}, {816, 173}} RubberWindowFrame - 2 122 1024 624 0 0 1024 746 + 1 122 1024 624 0 0 1024 746 Module XCDetailModule @@ -531,9 +581,9 @@ TableOfContents - 8EE5580A0866A24B009E7F50 + 8E7DAAAD08673DF600615930 1CE0B1FE06471DED0097A5F4 - 8EE5580B0866A24B009E7F50 + 8E7DAAAE08673DF600615930 1CE0B20306471E060097A5F4 1CE0B20506471E060097A5F4 @@ -667,10 +717,13 @@ 5 WindowOrderList + 1C0AD2B3069F1EA900FABCE6 + 1C530D57069F1CE1000CFCEE + 8EF6FAA6082DA951006F7BE6 /Users/xugg/Projects/Cog/Cog.xcodeproj WindowString - 2 122 1024 624 0 0 1024 746 + 1 122 1024 624 0 0 1024 746 WindowTools @@ -686,14 +739,12 @@ Dock - BecomeActive - ContentConfiguration PBXProjectModuleGUID 1CD0528F0623707200166675 PBXProjectModuleLabel - Sound.m + SoundController.m StatusBarVisibility @@ -710,6 +761,8 @@ 342pt + BecomeActive + ContentConfiguration PBXProjectModuleGUID @@ -749,7 +802,7 @@ TableOfContents 8EF6FAA6082DA951006F7BE6 - 8E98E5B808563ADC0078CAA1 + 8E7DAAB408673E1600615930 1CD0528F0623707200166675 XCMainBuildResultsModuleGUID @@ -889,14 +942,12 @@ Dock - BecomeActive - ContentConfiguration PBXProjectModuleGUID 1CDD528C0622207200134675 PBXProjectModuleLabel - SoundController.m + SoundFile.m StatusBarVisibility @@ -952,8 +1003,8 @@ TableOfContents 1C530D57069F1CE1000CFCEE - 8E8C7C27085E9DC50086DAC7 - 8E8C7C28085E9DC50086DAC7 + 8E7DAABB08673E5400615930 + 8E7DAABC08673E5400615930 1CDD528C0622207200134675 1CD0528E0623707200166675 @@ -1111,9 +1162,9 @@ TableOfContents 1C0AD2B3069F1EA900FABCE6 - 8E0914FC08661F200039FDAA + 8E7DAB1B086740D100615930 1CD0528B0623707200166675 - 8E0914FD08661F200039FDAA + 8E7DAB1C086740D100615930 ToolbarConfiguration xcode.toolbar.config.run diff --git a/Cog.xcodeproj/xugg.pbxuser b/Cog.xcodeproj/xugg.pbxuser index 65d229e09..c089e92ac 100644 --- a/Cog.xcodeproj/xugg.pbxuser +++ b/Cog.xcodeproj/xugg.pbxuser @@ -9,7 +9,7 @@ }; }; 29B97313FDCFA39411CA2CEA /* Project object */ = { - activeBuildConfigurationName = Development; + activeBuildConfigurationName = Deployment; activeBuildStyle = 4A9504CCFFE6A4B311CA0CBA /* Development */; activeExecutable = 8EB77455082DA3EB005891CA /* Cog */; activeTarget = 8D1107260486CEB800E47090 /* Cog */; @@ -18,7 +18,7 @@ ); breakpoints = ( 8EF1B97C083A49980095B236 /* PlaylistController.m:386 */, - 8EEFDF8808410C00008BB533 /* SoundController.m:275 */, + 8EEFDF8808410C00008BB533 /* SoundController.m:296 */, 8EDC87BA0842F2A4007D1532 /* SoundFile.m:124 */, 8E8BAEFB08548F8600E9F14D /* WavPackFile.m:27 */, ); @@ -115,160 +115,208 @@ PBXWorkspaceStateSaveDate = 140983470; }; perUserProjectItems = { - 8E0EBF58084BAA56003A6E64 = 8E0EBF58084BAA56003A6E64 /* PBXTextBookmark */; - 8E0EBF59084BAA56003A6E64 = 8E0EBF59084BAA56003A6E64 /* PBXTextBookmark */; - 8E10DC08084BBE490013815C = 8E10DC08084BBE490013815C /* PBXTextBookmark */; - 8E14E4B4084D089100246BCC = 8E14E4B4084D089100246BCC /* PBXTextBookmark */; - 8E14E4B5084D089100246BCC = 8E14E4B5084D089100246BCC /* PBXTextBookmark */; - 8E1A1826083806B700AEA302 = 8E1A1826083806B700AEA302 /* PBXTextBookmark */; - 8E1A182C083806B700AEA302 = 8E1A182C083806B700AEA302 /* PBXTextBookmark */; - 8E267D8C0837F963004ACBC5 = 8E267D8C0837F963004ACBC5 /* PBXTextBookmark */; - 8E267D8D0837F963004ACBC5 = 8E267D8D0837F963004ACBC5 /* PBXTextBookmark */; - 8E267D900837F963004ACBC5 = 8E267D900837F963004ACBC5 /* PBXTextBookmark */; - 8E267D910837F963004ACBC5 = 8E267D910837F963004ACBC5 /* PBXTextBookmark */; - 8E267D920837F963004ACBC5 = 8E267D920837F963004ACBC5 /* PBXTextBookmark */; - 8E267D940837F963004ACBC5 = 8E267D940837F963004ACBC5 /* PBXTextBookmark */; - 8E267DA00837FA6E004ACBC5 = 8E267DA00837FA6E004ACBC5 /* PBXTextBookmark */; - 8E267DDB0837FE5F004ACBC5 = 8E267DDB0837FE5F004ACBC5 /* PBXTextBookmark */; - 8E267E0308380176004ACBC5 = 8E267E0308380176004ACBC5 /* PBXTextBookmark */; - 8E267E1A083801D8004ACBC5 = 8E267E1A083801D8004ACBC5 /* PBXTextBookmark */; - 8E287164083695080013CE39 = 8E287164083695080013CE39 /* PBXTextBookmark */; - 8E287CDC0855D60A00562C66 = 8E287CDC0855D60A00562C66 /* PBXTextBookmark */; - 8E287CDD0855D60A00562C66 = 8E287CDD0855D60A00562C66 /* PBXTextBookmark */; - 8E287E5D0855F35400562C66 = 8E287E5D0855F35400562C66 /* PBXTextBookmark */; - 8E287E5E0855F35400562C66 = 8E287E5E0855F35400562C66 /* PBXTextBookmark */; - 8E287E7F0855F60E00562C66 = 8E287E7F0855F60E00562C66 /* PBXTextBookmark */; - 8E297910083D892800F2C55A = 8E297910083D892800F2C55A /* PBXTextBookmark */; - 8E3EDBC9085477D0007C6A53 = 8E3EDBC9085477D0007C6A53 /* PBXTextBookmark */; - 8E4521C408327F4C00F8BA7C = 8E4521C408327F4C00F8BA7C /* PBXTextBookmark */; - 8E4522A608329C9B00F8BA7C = 8E4522A608329C9B00F8BA7C /* PBXTextBookmark */; - 8E4522AF08329C9B00F8BA7C = 8E4522AF08329C9B00F8BA7C /* PBXTextBookmark */; - 8E4721AE08318F3E001F89FA = 8E4721AE08318F3E001F89FA /* PBXTextBookmark */; - 8E4721AF08318F3E001F89FA = 8E4721AF08318F3E001F89FA /* PBXTextBookmark */; - 8E4721B008318F3E001F89FA = 8E4721B008318F3E001F89FA /* PBXTextBookmark */; - 8E4721B108318F3E001F89FA = 8E4721B108318F3E001F89FA /* PBXTextBookmark */; - 8E4721B208318F3E001F89FA = 8E4721B208318F3E001F89FA /* PBXTextBookmark */; - 8E4721B308318F3E001F89FA = 8E4721B308318F3E001F89FA /* PBXTextBookmark */; - 8E4721B908318F3E001F89FA = 8E4721B908318F3E001F89FA /* PBXTextBookmark */; - 8E4721BA08318F3E001F89FA = 8E4721BA08318F3E001F89FA /* PBXTextBookmark */; - 8E4721E008319EFC001F89FA = 8E4721E008319EFC001F89FA /* PBXTextBookmark */; - 8E4721E108319EFC001F89FA = 8E4721E108319EFC001F89FA /* PBXTextBookmark */; - 8E4721E508319EFC001F89FA = 8E4721E508319EFC001F89FA /* PBXTextBookmark */; - 8E4D66E90854CD2C00816BEE = 8E4D66E90854CD2C00816BEE /* PBXTextBookmark */; - 8E4D66EA0854CD2C00816BEE = 8E4D66EA0854CD2C00816BEE /* PBXTextBookmark */; - 8E4D67D40854E7B100816BEE = 8E4D67D40854E7B100816BEE /* PBXTextBookmark */; - 8E5A90BB084CC25900AE6D62 = 8E5A90BB084CC25900AE6D62 /* PBXTextBookmark */; - 8E5CC5020856316C00A299E0 = 8E5CC5020856316C00A299E0 /* PBXTextBookmark */; - 8E5F6DB1085781B900A111D9 = 8E5F6DB1085781B900A111D9 /* PBXTextBookmark */; - 8E5F6DB2085781B900A111D9 = 8E5F6DB2085781B900A111D9 /* PBXTextBookmark */; - 8E6082C7083920310017AECF = 8E6082C7083920310017AECF /* PBXTextBookmark */; - 8E63F6C808587FD400C79B72 = 8E63F6C808587FD400C79B72 /* PBXTextBookmark */; - 8E63F6C908587FD400C79B72 = 8E63F6C908587FD400C79B72 /* PBXTextBookmark */; - 8E63F6CA08587FD400C79B72 = 8E63F6CA08587FD400C79B72 /* PBXTextBookmark */; - 8E63F6CB08587FD400C79B72 = 8E63F6CB08587FD400C79B72 /* PBXTextBookmark */; - 8E6529B5083D8D7F00A7AF1B = 8E6529B5083D8D7F00A7AF1B /* PBXTextBookmark */; - 8E652A33083E1A7900A7AF1B = 8E652A33083E1A7900A7AF1B /* PBXTextBookmark */; - 8E652A34083E1A7900A7AF1B = 8E652A34083E1A7900A7AF1B /* PBXTextBookmark */; - 8E652A35083E1A7900A7AF1B = 8E652A35083E1A7900A7AF1B /* PBXTextBookmark */; - 8E652A36083E1A7900A7AF1B = 8E652A36083E1A7900A7AF1B /* PBXTextBookmark */; - 8E652A39083E1A7900A7AF1B = 8E652A39083E1A7900A7AF1B /* PBXTextBookmark */; - 8E652A3A083E1A7900A7AF1B = 8E652A3A083E1A7900A7AF1B /* PBXTextBookmark */; - 8E65357F08563F6A00E468D9 = 8E65357F08563F6A00E468D9 /* PBXTextBookmark */; - 8E65358008563F6A00E468D9 = 8E65358008563F6A00E468D9 /* PBXTextBookmark */; - 8E65359E0856401D00E468D9 = 8E65359E0856401D00E468D9 /* PBXTextBookmark */; - 8E657298086085E400A0DAC4 = 8E657298086085E400A0DAC4 /* PBXTextBookmark */; - 8E657299086085E400A0DAC4 = 8E657299086085E400A0DAC4 /* PBXTextBookmark */; - 8E65729A086085E400A0DAC4 = 8E65729A086085E400A0DAC4 /* PBXTextBookmark */; - 8E72BC640851408F00E34F1D = 8E72BC640851408F00E34F1D /* PBXTextBookmark */; - 8E8BAEB208548C9600E9F14D = 8E8BAEB208548C9600E9F14D /* PBXTextBookmark */; - 8E8BAEB308548C9600E9F14D = 8E8BAEB308548C9600E9F14D /* PBXTextBookmark */; - 8E8BAEB708548C9600E9F14D = 8E8BAEB708548C9600E9F14D /* PBXTextBookmark */; - 8E8BAF10085494E000E9F14D = 8E8BAF10085494E000E9F14D /* PBXTextBookmark */; - 8E8BAF17085494E000E9F14D = 8E8BAF17085494E000E9F14D /* PBXTextBookmark */; - 8E8BAF790854976A00E9F14D = 8E8BAF790854976A00E9F14D /* PBXTextBookmark */; - 8E8C7BFB085E9CD50086DAC7 = 8E8C7BFB085E9CD50086DAC7 /* PBXTextBookmark */; - 8E8C7C14085E9DA50086DAC7 = 8E8C7C14085E9DA50086DAC7 /* PBXTextBookmark */; - 8E8C7C7F085EA5E30086DAC7 = 8E8C7C7F085EA5E30086DAC7 /* PBXTextBookmark */; - 8E8C7C81085EA5E30086DAC7 = 8E8C7C81085EA5E30086DAC7 /* PBXTextBookmark */; - 8E8C7C83085EA5E30086DAC7 = 8E8C7C83085EA5E30086DAC7 /* PBXTextBookmark */; - 8E8C7C85085EA5E30086DAC7 = 8E8C7C85085EA5E30086DAC7 /* PBXTextBookmark */; - 8E8C7C8C085EA5E30086DAC7 = 8E8C7C8C085EA5E30086DAC7 /* PBXTextBookmark */; - 8E8C7C8E085EA5E30086DAC7 = 8E8C7C8E085EA5E30086DAC7 /* PBXTextBookmark */; - 8E8C7C90085EA5E30086DAC7 = 8E8C7C90085EA5E30086DAC7 /* PBXTextBookmark */; - 8E8C7C92085EA5E30086DAC7 = 8E8C7C92085EA5E30086DAC7 /* PBXTextBookmark */; - 8E8C7C98085EA5E30086DAC7 = 8E8C7C98085EA5E30086DAC7 /* PBXTextBookmark */; - 8E8C7D35085EAD460086DAC7 = 8E8C7D35085EAD460086DAC7 /* PBXTextBookmark */; - 8E8C7D36085EAD460086DAC7 = 8E8C7D36085EAD460086DAC7 /* PBXTextBookmark */; - 8E8F3F59085546B300BCF803 = 8E8F3F59085546B300BCF803 /* PBXTextBookmark */; - 8E8F3F780855483300BCF803 = 8E8F3F780855483300BCF803 /* PBXTextBookmark */; - 8E8F3FA408554B8000BCF803 = 8E8F3FA408554B8000BCF803 /* PBXTextBookmark */; - 8E8F3FAE08554B8000BCF803 = 8E8F3FAE08554B8000BCF803 /* PBXTextBookmark */; - 8E91CCEE08549FEE0055EC68 = 8E91CCEE08549FEE0055EC68 /* PBXTextBookmark */; - 8E94AFB2086639760038E585 = 8E94AFB2086639760038E585 /* PBXTextBookmark */; - 8E94D9D2084BEA32007F0AEB = 8E94D9D2084BEA32007F0AEB /* PBXTextBookmark */; - 8E94D9D3084BEA32007F0AEB = 8E94D9D3084BEA32007F0AEB /* PBXTextBookmark */; - 8E98E5D308563D1B0078CAA1 = 8E98E5D308563D1B0078CAA1 /* PBXTextBookmark */; - 8E9BF08B082FB9DD00B26943 = 8E9BF08B082FB9DD00B26943 /* PBXTextBookmark */; - 8E9BF100082FEF6B00B26943 = 8E9BF100082FEF6B00B26943 /* PBXTextBookmark */; - 8EAB7544085621B10021C2BF = 8EAB7544085621B10021C2BF /* PBXTextBookmark */; - 8EAB7545085621B10021C2BF = 8EAB7545085621B10021C2BF /* PBXTextBookmark */; - 8EAB7549085621B10021C2BF = 8EAB7549085621B10021C2BF /* PBXBookmark */; - 8EAB754A085621B10021C2BF = 8EAB754A085621B10021C2BF /* PBXBookmark */; - 8EAB754B085621B10021C2BF = 8EAB754B085621B10021C2BF /* PBXBookmark */; - 8EAB754C085621B10021C2BF = 8EAB754C085621B10021C2BF /* PBXBookmark */; - 8EAB7553085621B10021C2BF = 8EAB7553085621B10021C2BF /* PBXBookmark */; - 8EAB7554085621B10021C2BF = 8EAB7554085621B10021C2BF /* PBXBookmark */; - 8EAB7555085621B10021C2BF = 8EAB7555085621B10021C2BF /* PBXBookmark */; - 8EAB755D085621B10021C2BF = 8EAB755D085621B10021C2BF /* PBXBookmark */; - 8EABE78408562281004DF882 = 8EABE78408562281004DF882 /* PBXBookmark */; - 8EABE78808562281004DF882 = 8EABE78808562281004DF882 /* PBXBookmark */; - 8EABE7C308562FF3004DF882 = 8EABE7C308562FF3004DF882 /* PBXBookmark */; - 8EABE7C408562FF3004DF882 = 8EABE7C408562FF3004DF882 /* PBXTextBookmark */; - 8EABE7C508562FF3004DF882 = 8EABE7C508562FF3004DF882 /* PBXTextBookmark */; - 8EABE7CA08562FF3004DF882 = 8EABE7CA08562FF3004DF882 /* PBXBookmark */; - 8EB30D8A0854BEF1009EA87F = 8EB30D8A0854BEF1009EA87F /* PBXTextBookmark */; - 8EB30D990854BEF1009EA87F = 8EB30D990854BEF1009EA87F /* PBXTextBookmark */; - 8EB30DAE0854BFEE009EA87F = 8EB30DAE0854BFEE009EA87F /* PBXTextBookmark */; - 8EB30DDB0854C261009EA87F = 8EB30DDB0854C261009EA87F /* PBXTextBookmark */; - 8EB30DDC0854C261009EA87F = 8EB30DDC0854C261009EA87F /* PBXTextBookmark */; - 8EB30DDD0854C261009EA87F = 8EB30DDD0854C261009EA87F /* PBXTextBookmark */; - 8EB30DDE0854C261009EA87F = 8EB30DDE0854C261009EA87F /* PBXTextBookmark */; - 8EB30DDF0854C261009EA87F = 8EB30DDF0854C261009EA87F /* PBXTextBookmark */; - 8EB30DE00854C261009EA87F = 8EB30DE00854C261009EA87F /* PBXTextBookmark */; - 8EB30E1F0854C36A009EA87F = 8EB30E1F0854C36A009EA87F /* PBXTextBookmark */; - 8EC156F9084FEB8900BB24E8 = 8EC156F9084FEB8900BB24E8 /* PBXTextBookmark */; - 8ED833CD08457E6B0033CDBD = 8ED833CD08457E6B0033CDBD /* PBXTextBookmark */; - 8EDC88A90842F8DE007D1532 = 8EDC88A90842F8DE007D1532 /* PBXTextBookmark */; - 8EDC88B50842F936007D1532 = 8EDC88B50842F936007D1532 /* PBXTextBookmark */; - 8EDCBDDB084061E500F5C7E3 = 8EDCBDDB084061E500F5C7E3 /* PBXTextBookmark */; - 8EDCBDDC084061E500F5C7E3 = 8EDCBDDC084061E500F5C7E3 /* PBXTextBookmark */; - 8EDE0CCC08369EB200EABFE4 = 8EDE0CCC08369EB200EABFE4 /* PBXTextBookmark */; - 8EE4A6C3082E6F6100415456 = 8EE4A6C3082E6F6100415456 /* PBXTextBookmark */; - 8EE4A6C8082E6F6100415456 = 8EE4A6C8082E6F6100415456 /* PBXTextBookmark */; - 8EE4A6FE082E704E00415456 = 8EE4A6FE082E704E00415456 /* PBXTextBookmark */; - 8EE4A799082E7D8700415456 = 8EE4A799082E7D8700415456 /* PBXTextBookmark */; - 8EE558070866A24B009E7F50 = 8EE558070866A24B009E7F50 /* PBXTextBookmark */; - 8EE558080866A24B009E7F50 = 8EE558080866A24B009E7F50 /* PBXTextBookmark */; - 8EE558090866A24B009E7F50 = 8EE558090866A24B009E7F50 /* PBXTextBookmark */; - 8EF45A7A08557C4D00D2D5D0 = 8EF45A7A08557C4D00D2D5D0 /* PBXTextBookmark */; - 8EF6FACD082DAA2B006F7BE6 = 8EF6FACD082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EF6FAD1082DAA2B006F7BE6 = 8EF6FAD1082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EF6FAD5082DAA2B006F7BE6 = 8EF6FAD5082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EF6FAD6082DAA2B006F7BE6 = 8EF6FAD6082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EF6FAD7082DAA2B006F7BE6 = 8EF6FAD7082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EF6FAD8082DAA2B006F7BE6 = 8EF6FAD8082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EF6FADA082DAA2B006F7BE6 = 8EF6FADA082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EF6FADC082DAA2B006F7BE6 = 8EF6FADC082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EF6FADD082DAA2B006F7BE6 = 8EF6FADD082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EF6FADE082DAA2B006F7BE6 = 8EF6FADE082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EF6FADF082DAA2B006F7BE6 = 8EF6FADF082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EF6FAE1082DAA2B006F7BE6 = 8EF6FAE1082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EF6FAEF082DAA2B006F7BE6 = 8EF6FAEF082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EF6FAF3082DAA2B006F7BE6 = 8EF6FAF3082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EFC6D18085376D100C67D06 = 8EFC6D18085376D100C67D06 /* PBXTextBookmark */; - 8EFC6DE8085380B800C67D06 = 8EFC6DE8085380B800C67D06 /* PBXTextBookmark */; - 8EFC6DF0085380B800C67D06 = 8EFC6DF0085380B800C67D06 /* PBXTextBookmark */; - 8EFC6E29085386CE00C67D06 = 8EFC6E29085386CE00C67D06 /* PBXTextBookmark */; + 8E0EBF58084BAA56003A6E64 /* PBXTextBookmark */ = 8E0EBF58084BAA56003A6E64 /* PBXTextBookmark */; + 8E0EBF59084BAA56003A6E64 /* PBXTextBookmark */ = 8E0EBF59084BAA56003A6E64 /* PBXTextBookmark */; + 8E10DC08084BBE490013815C /* PBXTextBookmark */ = 8E10DC08084BBE490013815C /* PBXTextBookmark */; + 8E14E4B4084D089100246BCC /* PBXTextBookmark */ = 8E14E4B4084D089100246BCC /* PBXTextBookmark */; + 8E14E4B5084D089100246BCC /* PBXTextBookmark */ = 8E14E4B5084D089100246BCC /* PBXTextBookmark */; + 8E1A1826083806B700AEA302 /* PBXTextBookmark */ = 8E1A1826083806B700AEA302 /* PBXTextBookmark */; + 8E1A182C083806B700AEA302 /* PBXTextBookmark */ = 8E1A182C083806B700AEA302 /* PBXTextBookmark */; + 8E267D8C0837F963004ACBC5 /* PBXTextBookmark */ = 8E267D8C0837F963004ACBC5 /* PBXTextBookmark */; + 8E267D8D0837F963004ACBC5 /* PBXTextBookmark */ = 8E267D8D0837F963004ACBC5 /* PBXTextBookmark */; + 8E267D900837F963004ACBC5 /* PBXTextBookmark */ = 8E267D900837F963004ACBC5 /* PBXTextBookmark */; + 8E267D910837F963004ACBC5 /* PBXTextBookmark */ = 8E267D910837F963004ACBC5 /* PBXTextBookmark */; + 8E267D920837F963004ACBC5 /* PBXTextBookmark */ = 8E267D920837F963004ACBC5 /* PBXTextBookmark */; + 8E267D940837F963004ACBC5 /* PBXTextBookmark */ = 8E267D940837F963004ACBC5 /* PBXTextBookmark */; + 8E267DA00837FA6E004ACBC5 /* PBXTextBookmark */ = 8E267DA00837FA6E004ACBC5 /* PBXTextBookmark */; + 8E267DDB0837FE5F004ACBC5 /* PBXTextBookmark */ = 8E267DDB0837FE5F004ACBC5 /* PBXTextBookmark */; + 8E267E0308380176004ACBC5 /* PBXTextBookmark */ = 8E267E0308380176004ACBC5 /* PBXTextBookmark */; + 8E267E1A083801D8004ACBC5 /* PBXTextBookmark */ = 8E267E1A083801D8004ACBC5 /* PBXTextBookmark */; + 8E287164083695080013CE39 /* PBXTextBookmark */ = 8E287164083695080013CE39 /* PBXTextBookmark */; + 8E287E5D0855F35400562C66 /* PBXTextBookmark */ = 8E287E5D0855F35400562C66 /* PBXTextBookmark */; + 8E287E5E0855F35400562C66 /* PBXTextBookmark */ = 8E287E5E0855F35400562C66 /* PBXTextBookmark */; + 8E297910083D892800F2C55A /* PBXTextBookmark */ = 8E297910083D892800F2C55A /* PBXTextBookmark */; + 8E3EDBC9085477D0007C6A53 /* PBXTextBookmark */ = 8E3EDBC9085477D0007C6A53 /* PBXTextBookmark */; + 8E4521C408327F4C00F8BA7C /* PBXTextBookmark */ = 8E4521C408327F4C00F8BA7C /* PBXTextBookmark */; + 8E4522A608329C9B00F8BA7C /* PBXTextBookmark */ = 8E4522A608329C9B00F8BA7C /* PBXTextBookmark */; + 8E4522AF08329C9B00F8BA7C /* PBXTextBookmark */ = 8E4522AF08329C9B00F8BA7C /* PBXTextBookmark */; + 8E4721AE08318F3E001F89FA /* PBXTextBookmark */ = 8E4721AE08318F3E001F89FA /* PBXTextBookmark */; + 8E4721AF08318F3E001F89FA /* PBXTextBookmark */ = 8E4721AF08318F3E001F89FA /* PBXTextBookmark */; + 8E4721B008318F3E001F89FA /* PBXTextBookmark */ = 8E4721B008318F3E001F89FA /* PBXTextBookmark */; + 8E4721B108318F3E001F89FA /* PBXTextBookmark */ = 8E4721B108318F3E001F89FA /* PBXTextBookmark */; + 8E4721B208318F3E001F89FA /* PBXTextBookmark */ = 8E4721B208318F3E001F89FA /* PBXTextBookmark */; + 8E4721B308318F3E001F89FA /* PBXTextBookmark */ = 8E4721B308318F3E001F89FA /* PBXTextBookmark */; + 8E4721B908318F3E001F89FA /* PBXTextBookmark */ = 8E4721B908318F3E001F89FA /* PBXTextBookmark */; + 8E4721BA08318F3E001F89FA /* PBXTextBookmark */ = 8E4721BA08318F3E001F89FA /* PBXTextBookmark */; + 8E4721E008319EFC001F89FA /* PBXTextBookmark */ = 8E4721E008319EFC001F89FA /* PBXTextBookmark */; + 8E4721E108319EFC001F89FA /* PBXTextBookmark */ = 8E4721E108319EFC001F89FA /* PBXTextBookmark */; + 8E4721E508319EFC001F89FA /* PBXTextBookmark */ = 8E4721E508319EFC001F89FA /* PBXTextBookmark */; + 8E4D66E90854CD2C00816BEE /* PBXTextBookmark */ = 8E4D66E90854CD2C00816BEE /* PBXTextBookmark */; + 8E4D66EA0854CD2C00816BEE /* PBXTextBookmark */ = 8E4D66EA0854CD2C00816BEE /* PBXTextBookmark */; + 8E4D67D40854E7B100816BEE /* PBXTextBookmark */ = 8E4D67D40854E7B100816BEE /* PBXTextBookmark */; + 8E5A90BB084CC25900AE6D62 /* PBXTextBookmark */ = 8E5A90BB084CC25900AE6D62 /* PBXTextBookmark */; + 8E5CC5020856316C00A299E0 /* PBXTextBookmark */ = 8E5CC5020856316C00A299E0 /* PBXTextBookmark */; + 8E6082C7083920310017AECF /* PBXTextBookmark */ = 8E6082C7083920310017AECF /* PBXTextBookmark */; + 8E63F6C808587FD400C79B72 /* PBXTextBookmark */ = 8E63F6C808587FD400C79B72 /* PBXTextBookmark */; + 8E63F6C908587FD400C79B72 /* PBXTextBookmark */ = 8E63F6C908587FD400C79B72 /* PBXTextBookmark */; + 8E63F6CA08587FD400C79B72 /* PBXTextBookmark */ = 8E63F6CA08587FD400C79B72 /* PBXTextBookmark */; + 8E63F6CB08587FD400C79B72 /* PBXTextBookmark */ = 8E63F6CB08587FD400C79B72 /* PBXTextBookmark */; + 8E6529B5083D8D7F00A7AF1B /* PBXTextBookmark */ = 8E6529B5083D8D7F00A7AF1B /* PBXTextBookmark */; + 8E652A39083E1A7900A7AF1B /* PBXTextBookmark */ = 8E652A39083E1A7900A7AF1B /* PBXTextBookmark */; + 8E652A3A083E1A7900A7AF1B /* PBXTextBookmark */ = 8E652A3A083E1A7900A7AF1B /* PBXTextBookmark */; + 8E65357F08563F6A00E468D9 /* PBXTextBookmark */ = 8E65357F08563F6A00E468D9 /* PBXTextBookmark */; + 8E65359E0856401D00E468D9 /* PBXTextBookmark */ = 8E65359E0856401D00E468D9 /* PBXTextBookmark */; + 8E72BC640851408F00E34F1D /* PBXTextBookmark */ = 8E72BC640851408F00E34F1D /* PBXTextBookmark */; + 8E7DAAA808673DF600615930 /* PBXTextBookmark */ = 8E7DAAA808673DF600615930 /* PBXTextBookmark */; + 8E7DAAAA08673DF600615930 /* PBXTextBookmark */ = 8E7DAAAA08673DF600615930 /* PBXTextBookmark */; + 8E7DAAAB08673DF600615930 /* PBXTextBookmark */ = 8E7DAAAB08673DF600615930 /* PBXTextBookmark */; + 8E7DAAF70867402D00615930 /* PBXTextBookmark */ = 8E7DAAF70867402D00615930 /* PBXTextBookmark */; + 8E7DAAF80867402D00615930 /* PBXTextBookmark */ = 8E7DAAF80867402D00615930 /* PBXTextBookmark */; + 8E7DAAF90867402D00615930 /* PBXTextBookmark */ = 8E7DAAF90867402D00615930 /* PBXTextBookmark */; + 8E7DAAFB0867402D00615930 /* PBXTextBookmark */ = 8E7DAAFB0867402D00615930 /* PBXTextBookmark */; + 8E7DAAFC0867402D00615930 /* PBXTextBookmark */ = 8E7DAAFC0867402D00615930 /* PBXTextBookmark */; + 8E7DAAFD0867402D00615930 /* PBXTextBookmark */ = 8E7DAAFD0867402D00615930 /* PBXTextBookmark */; + 8E7DAAFE0867402D00615930 /* PBXTextBookmark */ = 8E7DAAFE0867402D00615930 /* PBXTextBookmark */; + 8E7DAAFF0867402D00615930 /* PBXTextBookmark */ = 8E7DAAFF0867402D00615930 /* PBXTextBookmark */; + 8E7DAB020867402D00615930 /* PBXTextBookmark */ = 8E7DAB020867402D00615930 /* PBXTextBookmark */; + 8E7DAB030867402D00615930 /* PBXTextBookmark */ = 8E7DAB030867402D00615930 /* PBXTextBookmark */; + 8E7DAB040867402D00615930 /* PBXTextBookmark */ = 8E7DAB040867402D00615930 /* PBXTextBookmark */; + 8E7DAB050867402D00615930 /* PBXTextBookmark */ = 8E7DAB050867402D00615930 /* PBXTextBookmark */; + 8E7DAB060867402D00615930 /* PBXTextBookmark */ = 8E7DAB060867402D00615930 /* PBXTextBookmark */; + 8E7DAB070867402D00615930 /* PBXTextBookmark */ = 8E7DAB070867402D00615930 /* PBXTextBookmark */; + 8E7DAB080867402D00615930 /* PBXTextBookmark */ = 8E7DAB080867402D00615930 /* PBXTextBookmark */; + 8E7DAB090867402D00615930 /* PBXTextBookmark */ = 8E7DAB090867402D00615930 /* PBXTextBookmark */; + 8E7DAB0A0867402D00615930 /* PBXTextBookmark */ = 8E7DAB0A0867402D00615930 /* PBXTextBookmark */; + 8E7DAB0B0867402D00615930 /* PBXTextBookmark */ = 8E7DAB0B0867402D00615930 /* PBXTextBookmark */; + 8E7DAB0C0867402D00615930 /* PBXTextBookmark */ = 8E7DAB0C0867402D00615930 /* PBXTextBookmark */; + 8E7DAB0D0867402D00615930 /* PBXTextBookmark */ = 8E7DAB0D0867402D00615930 /* PBXTextBookmark */; + 8E7DAB0E0867402D00615930 /* PBXTextBookmark */ = 8E7DAB0E0867402D00615930 /* PBXTextBookmark */; + 8E7DAB0F0867402D00615930 /* PBXTextBookmark */ = 8E7DAB0F0867402D00615930 /* PBXTextBookmark */; + 8E7DAB100867402D00615930 /* PBXTextBookmark */ = 8E7DAB100867402D00615930 /* PBXTextBookmark */; + 8E7DAB110867402D00615930 /* PBXTextBookmark */ = 8E7DAB110867402D00615930 /* PBXTextBookmark */; + 8E7DAB320867412700615930 /* PBXTextBookmark */ = 8E7DAB320867412700615930 /* PBXTextBookmark */; + 8E7DAB330867412700615930 /* PBXTextBookmark */ = 8E7DAB330867412700615930 /* PBXTextBookmark */; + 8E7DAB340867412700615930 /* PBXTextBookmark */ = 8E7DAB340867412700615930 /* PBXTextBookmark */; + 8E7DAB350867412700615930 /* PBXTextBookmark */ = 8E7DAB350867412700615930 /* PBXTextBookmark */; + 8E7DAB360867412700615930 /* PBXTextBookmark */ = 8E7DAB360867412700615930 /* PBXTextBookmark */; + 8E7DAB430867421200615930 /* PBXTextBookmark */ = 8E7DAB430867421200615930 /* PBXTextBookmark */; + 8E7DAB440867421200615930 /* PBXTextBookmark */ = 8E7DAB440867421200615930 /* PBXTextBookmark */; + 8E7DAB470867421200615930 /* PBXTextBookmark */ = 8E7DAB470867421200615930 /* PBXTextBookmark */; + 8E7DAB480867421200615930 /* PBXTextBookmark */ = 8E7DAB480867421200615930 /* PBXTextBookmark */; + 8E7DAB490867421200615930 /* PBXTextBookmark */ = 8E7DAB490867421200615930 /* PBXTextBookmark */; + 8E7DAB4A0867421200615930 /* PBXTextBookmark */ = 8E7DAB4A0867421200615930 /* PBXTextBookmark */; + 8E7DAB4B0867421200615930 /* PBXTextBookmark */ = 8E7DAB4B0867421200615930 /* PBXTextBookmark */; + 8E7DAB540867424400615930 /* PBXTextBookmark */ = 8E7DAB540867424400615930 /* PBXTextBookmark */; + 8E7DAB550867424400615930 /* PBXTextBookmark */ = 8E7DAB550867424400615930 /* PBXTextBookmark */; + 8E7DAB560867424400615930 /* PBXTextBookmark */ = 8E7DAB560867424400615930 /* PBXTextBookmark */; + 8E7DAB570867424400615930 /* PBXTextBookmark */ = 8E7DAB570867424400615930 /* PBXTextBookmark */; + 8E7DAB580867424400615930 /* PBXTextBookmark */ = 8E7DAB580867424400615930 /* PBXTextBookmark */; + 8E7DAB78086742EB00615930 /* PBXTextBookmark */ = 8E7DAB78086742EB00615930 /* PBXTextBookmark */; + 8E7DAB79086742EB00615930 /* PBXTextBookmark */ = 8E7DAB79086742EB00615930 /* PBXTextBookmark */; + 8E7DAB7A086742EB00615930 /* PBXTextBookmark */ = 8E7DAB7A086742EB00615930 /* PBXTextBookmark */; + 8E7DAB7C086742EB00615930 /* PBXTextBookmark */ = 8E7DAB7C086742EB00615930 /* PBXTextBookmark */; + 8E7DAB7D086742EB00615930 /* PBXTextBookmark */ = 8E7DAB7D086742EB00615930 /* PBXTextBookmark */; + 8E7DAB7E086742EB00615930 /* PBXTextBookmark */ = 8E7DAB7E086742EB00615930 /* PBXTextBookmark */; + 8E7DAB7F086742EB00615930 /* PBXTextBookmark */ = 8E7DAB7F086742EB00615930 /* PBXTextBookmark */; + 8E7DAB80086742EB00615930 /* PBXTextBookmark */ = 8E7DAB80086742EB00615930 /* PBXTextBookmark */; + 8E7DAB81086742EB00615930 /* PBXTextBookmark */ = 8E7DAB81086742EB00615930 /* PBXTextBookmark */; + 8E7DAB82086742EB00615930 /* PBXTextBookmark */ = 8E7DAB82086742EB00615930 /* PBXTextBookmark */; + 8E7DAB83086742EB00615930 /* PBXTextBookmark */ = 8E7DAB83086742EB00615930 /* PBXTextBookmark */; + 8E7DAB84086742EB00615930 /* PBXTextBookmark */ = 8E7DAB84086742EB00615930 /* PBXTextBookmark */; + 8E7DAB85086742EB00615930 /* PBXTextBookmark */ = 8E7DAB85086742EB00615930 /* PBXTextBookmark */; + 8E7DAB9D0867470600615930 /* PBXTextBookmark */ = 8E7DAB9D0867470600615930 /* PBXTextBookmark */; + 8E7DAB9E0867470600615930 /* PBXTextBookmark */ = 8E7DAB9E0867470600615930 /* PBXTextBookmark */; + 8E7DAB9F0867470600615930 /* PBXTextBookmark */ = 8E7DAB9F0867470600615930 /* PBXTextBookmark */; + 8E7DABA00867470600615930 /* PBXTextBookmark */ = 8E7DABA00867470600615930 /* PBXTextBookmark */; + 8E7DABA10867470600615930 /* PBXTextBookmark */ = 8E7DABA10867470600615930 /* PBXTextBookmark */; + 8E7DABA20867470600615930 /* PBXTextBookmark */ = 8E7DABA20867470600615930 /* PBXTextBookmark */; + 8E7DABA30867470600615930 /* PBXTextBookmark */ = 8E7DABA30867470600615930 /* PBXTextBookmark */; + 8E7DABA40867470600615930 /* PBXTextBookmark */ = 8E7DABA40867470600615930 /* PBXTextBookmark */; + 8E7DABA50867470600615930 /* PBXTextBookmark */ = 8E7DABA50867470600615930 /* PBXTextBookmark */; + 8E8BAEB208548C9600E9F14D /* PBXTextBookmark */ = 8E8BAEB208548C9600E9F14D /* PBXTextBookmark */; + 8E8BAEB308548C9600E9F14D /* PBXTextBookmark */ = 8E8BAEB308548C9600E9F14D /* PBXTextBookmark */; + 8E8BAEB708548C9600E9F14D /* PBXTextBookmark */ = 8E8BAEB708548C9600E9F14D /* PBXTextBookmark */; + 8E8BAF10085494E000E9F14D /* PBXTextBookmark */ = 8E8BAF10085494E000E9F14D /* PBXTextBookmark */; + 8E8BAF17085494E000E9F14D /* PBXTextBookmark */ = 8E8BAF17085494E000E9F14D /* PBXTextBookmark */; + 8E8BAF790854976A00E9F14D /* PBXTextBookmark */ = 8E8BAF790854976A00E9F14D /* PBXTextBookmark */; + 8E8C7BFB085E9CD50086DAC7 /* PBXTextBookmark */ = 8E8C7BFB085E9CD50086DAC7 /* PBXTextBookmark */; + 8E8C7C14085E9DA50086DAC7 /* PBXTextBookmark */ = 8E8C7C14085E9DA50086DAC7 /* PBXTextBookmark */; + 8E8C7C7F085EA5E30086DAC7 /* PBXTextBookmark */ = 8E8C7C7F085EA5E30086DAC7 /* PBXTextBookmark */; + 8E8C7C81085EA5E30086DAC7 /* PBXTextBookmark */ = 8E8C7C81085EA5E30086DAC7 /* PBXTextBookmark */; + 8E8C7C83085EA5E30086DAC7 /* PBXTextBookmark */ = 8E8C7C83085EA5E30086DAC7 /* PBXTextBookmark */; + 8E8C7C85085EA5E30086DAC7 /* PBXTextBookmark */ = 8E8C7C85085EA5E30086DAC7 /* PBXTextBookmark */; + 8E8C7C8C085EA5E30086DAC7 /* PBXTextBookmark */ = 8E8C7C8C085EA5E30086DAC7 /* PBXTextBookmark */; + 8E8C7C8E085EA5E30086DAC7 /* PBXTextBookmark */ = 8E8C7C8E085EA5E30086DAC7 /* PBXTextBookmark */; + 8E8C7C90085EA5E30086DAC7 /* PBXTextBookmark */ = 8E8C7C90085EA5E30086DAC7 /* PBXTextBookmark */; + 8E8C7C92085EA5E30086DAC7 /* PBXTextBookmark */ = 8E8C7C92085EA5E30086DAC7 /* PBXTextBookmark */; + 8E8C7C98085EA5E30086DAC7 /* PBXTextBookmark */ = 8E8C7C98085EA5E30086DAC7 /* PBXTextBookmark */; + 8E8C7D35085EAD460086DAC7 /* PBXTextBookmark */ = 8E8C7D35085EAD460086DAC7 /* PBXTextBookmark */; + 8E8C7D36085EAD460086DAC7 /* PBXTextBookmark */ = 8E8C7D36085EAD460086DAC7 /* PBXTextBookmark */; + 8E8F3F59085546B300BCF803 /* PBXTextBookmark */ = 8E8F3F59085546B300BCF803 /* PBXTextBookmark */; + 8E8F3F780855483300BCF803 /* PBXTextBookmark */ = 8E8F3F780855483300BCF803 /* PBXTextBookmark */; + 8E8F3FAE08554B8000BCF803 /* PBXTextBookmark */ = 8E8F3FAE08554B8000BCF803 /* PBXTextBookmark */; + 8E91CCEE08549FEE0055EC68 /* PBXTextBookmark */ = 8E91CCEE08549FEE0055EC68 /* PBXTextBookmark */; + 8E94D9D2084BEA32007F0AEB /* PBXTextBookmark */ = 8E94D9D2084BEA32007F0AEB /* PBXTextBookmark */; + 8E94D9D3084BEA32007F0AEB /* PBXTextBookmark */ = 8E94D9D3084BEA32007F0AEB /* PBXTextBookmark */; + 8E98E5D308563D1B0078CAA1 /* PBXTextBookmark */ = 8E98E5D308563D1B0078CAA1 /* PBXTextBookmark */; + 8E9BF08B082FB9DD00B26943 /* PBXTextBookmark */ = 8E9BF08B082FB9DD00B26943 /* PBXTextBookmark */; + 8E9BF100082FEF6B00B26943 /* PBXTextBookmark */ = 8E9BF100082FEF6B00B26943 /* PBXTextBookmark */; + 8EAB7544085621B10021C2BF /* PBXTextBookmark */ = 8EAB7544085621B10021C2BF /* PBXTextBookmark */; + 8EAB7545085621B10021C2BF /* PBXTextBookmark */ = 8EAB7545085621B10021C2BF /* PBXTextBookmark */; + 8EAB7549085621B10021C2BF /* PBXBookmark */ = 8EAB7549085621B10021C2BF /* PBXBookmark */; + 8EAB754A085621B10021C2BF /* PBXBookmark */ = 8EAB754A085621B10021C2BF /* PBXBookmark */; + 8EAB754B085621B10021C2BF /* PBXBookmark */ = 8EAB754B085621B10021C2BF /* PBXBookmark */; + 8EAB754C085621B10021C2BF /* PBXBookmark */ = 8EAB754C085621B10021C2BF /* PBXBookmark */; + 8EAB7553085621B10021C2BF /* PBXBookmark */ = 8EAB7553085621B10021C2BF /* PBXBookmark */; + 8EAB7554085621B10021C2BF /* PBXBookmark */ = 8EAB7554085621B10021C2BF /* PBXBookmark */; + 8EAB7555085621B10021C2BF /* PBXBookmark */ = 8EAB7555085621B10021C2BF /* PBXBookmark */; + 8EAB755D085621B10021C2BF /* PBXBookmark */ = 8EAB755D085621B10021C2BF /* PBXBookmark */; + 8EABE78408562281004DF882 /* PBXBookmark */ = 8EABE78408562281004DF882 /* PBXBookmark */; + 8EABE78808562281004DF882 /* PBXBookmark */ = 8EABE78808562281004DF882 /* PBXBookmark */; + 8EABE7C308562FF3004DF882 /* PBXBookmark */ = 8EABE7C308562FF3004DF882 /* PBXBookmark */; + 8EABE7C508562FF3004DF882 /* PBXTextBookmark */ = 8EABE7C508562FF3004DF882 /* PBXTextBookmark */; + 8EABE7CA08562FF3004DF882 /* PBXBookmark */ = 8EABE7CA08562FF3004DF882 /* PBXBookmark */; + 8EB30D8A0854BEF1009EA87F /* PBXTextBookmark */ = 8EB30D8A0854BEF1009EA87F /* PBXTextBookmark */; + 8EB30D990854BEF1009EA87F /* PBXTextBookmark */ = 8EB30D990854BEF1009EA87F /* PBXTextBookmark */; + 8EB30DAE0854BFEE009EA87F /* PBXTextBookmark */ = 8EB30DAE0854BFEE009EA87F /* PBXTextBookmark */; + 8EB30DDB0854C261009EA87F /* PBXTextBookmark */ = 8EB30DDB0854C261009EA87F /* PBXTextBookmark */; + 8EB30DDC0854C261009EA87F /* PBXTextBookmark */ = 8EB30DDC0854C261009EA87F /* PBXTextBookmark */; + 8EB30DDD0854C261009EA87F /* PBXTextBookmark */ = 8EB30DDD0854C261009EA87F /* PBXTextBookmark */; + 8EB30DDE0854C261009EA87F /* PBXTextBookmark */ = 8EB30DDE0854C261009EA87F /* PBXTextBookmark */; + 8EB30DDF0854C261009EA87F /* PBXTextBookmark */ = 8EB30DDF0854C261009EA87F /* PBXTextBookmark */; + 8EB30DE00854C261009EA87F /* PBXTextBookmark */ = 8EB30DE00854C261009EA87F /* PBXTextBookmark */; + 8EB30E1F0854C36A009EA87F /* PBXTextBookmark */ = 8EB30E1F0854C36A009EA87F /* PBXTextBookmark */; + 8EC156F9084FEB8900BB24E8 /* PBXTextBookmark */ = 8EC156F9084FEB8900BB24E8 /* PBXTextBookmark */; + 8ED833CD08457E6B0033CDBD /* PBXTextBookmark */ = 8ED833CD08457E6B0033CDBD /* PBXTextBookmark */; + 8EDC88A90842F8DE007D1532 /* PBXTextBookmark */ = 8EDC88A90842F8DE007D1532 /* PBXTextBookmark */; + 8EDC88B50842F936007D1532 /* PBXTextBookmark */ = 8EDC88B50842F936007D1532 /* PBXTextBookmark */; + 8EDCBDDB084061E500F5C7E3 /* PBXTextBookmark */ = 8EDCBDDB084061E500F5C7E3 /* PBXTextBookmark */; + 8EDCBDDC084061E500F5C7E3 /* PBXTextBookmark */ = 8EDCBDDC084061E500F5C7E3 /* PBXTextBookmark */; + 8EDE0CCC08369EB200EABFE4 /* PBXTextBookmark */ = 8EDE0CCC08369EB200EABFE4 /* PBXTextBookmark */; + 8EE4A6C3082E6F6100415456 /* PBXTextBookmark */ = 8EE4A6C3082E6F6100415456 /* PBXTextBookmark */; + 8EE4A6C8082E6F6100415456 /* PBXTextBookmark */ = 8EE4A6C8082E6F6100415456 /* PBXTextBookmark */; + 8EE4A6FE082E704E00415456 /* PBXTextBookmark */ = 8EE4A6FE082E704E00415456 /* PBXTextBookmark */; + 8EE4A799082E7D8700415456 /* PBXTextBookmark */ = 8EE4A799082E7D8700415456 /* PBXTextBookmark */; + 8EE558070866A24B009E7F50 /* PBXTextBookmark */ = 8EE558070866A24B009E7F50 /* PBXTextBookmark */; + 8EF45A7A08557C4D00D2D5D0 /* PBXTextBookmark */ = 8EF45A7A08557C4D00D2D5D0 /* PBXTextBookmark */; + 8EF6FACD082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FACD082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EF6FAD1082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FAD1082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EF6FAD5082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FAD5082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EF6FAD6082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FAD6082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EF6FAD7082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FAD7082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EF6FAD8082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FAD8082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EF6FADA082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FADA082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EF6FADC082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FADC082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EF6FADD082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FADD082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EF6FADE082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FADE082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EF6FADF082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FADF082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EF6FAE1082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FAE1082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EF6FAEF082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FAEF082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EF6FAF3082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FAF3082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EFC6D18085376D100C67D06 /* PBXTextBookmark */ = 8EFC6D18085376D100C67D06 /* PBXTextBookmark */; + 8EFC6DE8085380B800C67D06 /* PBXTextBookmark */ = 8EFC6DE8085380B800C67D06 /* PBXTextBookmark */; + 8EFC6DF0085380B800C67D06 /* PBXTextBookmark */ = 8EFC6DF0085380B800C67D06 /* PBXTextBookmark */; + 8EFC6E29085386CE00C67D06 /* PBXTextBookmark */ = 8EFC6E29085386CE00C67D06 /* PBXTextBookmark */; }; sourceControlManager = 8EB77466082DA402005891CA /* Source Control */; userBuildSettings = { @@ -582,7 +630,7 @@ uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {4550, 4340}}"; sepNavSelRange = "{2267, 0}"; - sepNavVisRect = "{{0, 231}, {775, 546}}"; + sepNavVisRect = "{{0, 397}, {775, 373}}"; }; }; 8E287164083695080013CE39 /* PBXTextBookmark */ = { @@ -595,26 +643,6 @@ vrLen = 1783; vrLoc = 0; }; - 8E287CDC0855D60A00562C66 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E8F3F9B0855499500BCF803 /* README */; - name = "README: 2"; - rLen = 0; - rLoc = 105; - rType = 0; - vrLen = 1522; - vrLoc = 0; - }; - 8E287CDD0855D60A00562C66 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E5A90B0084CBC2F00AE6D62 /* Changelog */; - name = "Changelog: 11"; - rLen = 0; - rLoc = 458; - rType = 0; - vrLen = 459; - vrLoc = 0; - }; 8E287E480855F2EC00562C66 /* InfoView.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 373}}"; @@ -649,29 +677,19 @@ vrLen = 79; vrLoc = 0; }; - 8E287E7F0855F60E00562C66 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E2871090836934A0013CE39 /* VirtualRingBuffer.m */; - name = "VirtualRingBuffer.m: 51"; - rLen = 0; - rLoc = 2267; - rType = 0; - vrLen = 825; - vrLoc = 1533; - }; 8E297908083D891500F2C55A /* TrackingCell.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {983, 392}}"; - sepNavSelRange = "{355, 0}"; - sepNavVisRect = "{{0, 0}, {983, 310}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 392}}"; + sepNavSelRange = "{520, 0}"; + sepNavVisRect = "{{0, 19}, {775, 373}}"; sepNavWindowFrame = "{{15, 61}, {702, 680}}"; }; }; 8E297909083D891500F2C55A /* TrackingCell.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 547}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 373}}"; sepNavSelRange = "{311, 0}"; - sepNavVisRect = "{{0, 0}, {775, 547}}"; + sepNavVisRect = "{{0, 0}, {775, 373}}"; sepNavWindowFrame = "{{15, 61}, {702, 680}}"; }; }; @@ -700,7 +718,7 @@ fRef = 8E4721D5083192C2001F89FA /* SoundController.m */; name = "SoundController.m: 6"; rLen = 0; - rLoc = 1122; + rLoc = 1151; rType = 0; vrLen = 67; vrLoc = 0; @@ -709,15 +727,15 @@ uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {860, 1848}}"; sepNavSelRange = "{2925, 0}"; - sepNavVisRect = "{{0, 204}, {775, 546}}"; + sepNavVisRect = "{{0, 379}, {775, 373}}"; sepNavWindowFrame = "{{15, 61}, {702, 680}}"; }; }; 8E45227B0832898A00F8BA7C /* Sound.m */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1208, 10570}}"; - sepNavSelRange = "{7974, 183}"; - sepNavVisRect = "{{0, 2006}, {775, 546}}"; + sepNavSelRange = "{5223, 0}"; + sepNavVisRect = "{{0, 2189}, {775, 373}}"; sepNavWindowFrame = "{{15, 66}, {702, 680}}"; }; }; @@ -765,8 +783,8 @@ 8E47218808318D7A001F89FA /* PlaylistController.m */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {896, 7154}}"; - sepNavSelRange = "{9523, 0}"; - sepNavVisRect = "{{0, 728}, {775, 373}}"; + sepNavSelRange = "{1199, 0}"; + sepNavVisRect = "{{0, 441}, {775, 373}}"; }; }; 8E47218908318D7A001F89FA /* PlaylistEntry.h */ = { @@ -889,21 +907,21 @@ uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1340, 2086}}"; sepNavSelRange = "{624, 0}"; - sepNavVisRect = "{{0, 1471}, {775, 373}}"; + sepNavVisRect = "{{0, 782}, {775, 373}}"; }; }; 8E4721D4083192C2001F89FA /* SoundController.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 756}}"; - sepNavSelRange = "{462, 0}"; - sepNavVisRect = "{{0, 0}, {775, 546}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 812}}"; + sepNavSelRange = "{709, 0}"; + sepNavVisRect = "{{0, 75}, {775, 373}}"; }; }; 8E4721D5083192C2001F89FA /* SoundController.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {950, 4522}}"; - sepNavSelRange = "{6390, 0}"; - sepNavVisRect = "{{0, 3570}, {775, 546}}"; + sepNavIntBoundsRect = "{{0, 0}, {950, 4928}}"; + sepNavSelRange = "{5035, 0}"; + sepNavVisRect = "{{0, 2861}, {775, 373}}"; sepNavWindowFrame = "{{15, 61}, {1016, 680}}"; }; }; @@ -969,9 +987,9 @@ }; 8E5A90B0084CBC2F00AE6D62 /* Changelog */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 546}}"; - sepNavSelRange = "{541, 0}"; - sepNavVisRect = "{{0, 0}, {775, 546}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 373}}"; + sepNavSelRange = "{709, 0}"; + sepNavVisRect = "{{0, 0}, {775, 373}}"; }; }; 8E5A90BB084CC25900AE6D62 /* PBXTextBookmark */ = { @@ -979,7 +997,7 @@ fRef = 8E5A90B0084CBC2F00AE6D62 /* Changelog */; name = "Changelog: 3"; rLen = 0; - rLoc = 459; + rLoc = 672; rType = 0; vrLen = 131; vrLoc = 0; @@ -994,26 +1012,6 @@ vrLen = 655; vrLoc = 2911; }; - 8E5F6DB1085781B900A111D9 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E8BAE5608548BE800E9F14D /* ShnFile.m */; - name = "ShnFile.m: 112"; - rLen = 0; - rLoc = 2042; - rType = 0; - vrLen = 575; - vrLoc = 1470; - }; - 8E5F6DB2085781B900A111D9 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E45227A0832898A00F8BA7C /* Sound.h */; - name = "Sound.h: setSoundFile:"; - rLen = 0; - rLoc = 2925; - rType = 0; - vrLen = 780; - vrLoc = 266; - }; 8E6082C7083920310017AECF /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8E267D040837F7A6004ACBC5 /* FeedbackController.h */; @@ -1076,58 +1074,18 @@ }; 8E6529FF083D93EB00A7AF1B /* TrackingSlider.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 547}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 373}}"; sepNavSelRange = "{106, 0}"; - sepNavVisRect = "{{0, 0}, {775, 547}}"; + sepNavVisRect = "{{0, 0}, {775, 373}}"; }; }; 8E652A00083D93EB00A7AF1B /* TrackingSlider.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 547}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 546}}"; sepNavSelRange = "{664, 0}"; - sepNavVisRect = "{{0, 0}, {775, 547}}"; + sepNavVisRect = "{{0, 0}, {775, 373}}"; }; }; - 8E652A33083E1A7900A7AF1B /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E297908083D891500F2C55A /* TrackingCell.m */; - name = "TrackingCell.m: 26"; - rLen = 0; - rLoc = 520; - rType = 0; - vrLen = 522; - vrLoc = 0; - }; - 8E652A34083E1A7900A7AF1B /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E297909083D891500F2C55A /* TrackingCell.h */; - name = "TrackingCell.h: 13"; - rLen = 0; - rLoc = 311; - rType = 0; - vrLen = 317; - vrLoc = 0; - }; - 8E652A35083E1A7900A7AF1B /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E6529FF083D93EB00A7AF1B /* TrackingSlider.h */; - name = "TrackingSlider.h: 10"; - rLen = 0; - rLoc = 106; - rType = 0; - vrLen = 111; - vrLoc = 0; - }; - 8E652A36083E1A7900A7AF1B /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E652A00083D93EB00A7AF1B /* TrackingSlider.m */; - name = "TrackingSlider.m: 35"; - rLen = 0; - rLoc = 664; - rType = 0; - vrLen = 684; - vrLoc = 0; - }; 8E652A39083E1A7900A7AF1B /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8E6529FF083D93EB00A7AF1B /* TrackingSlider.h */; @@ -1158,16 +1116,6 @@ vrLen = 842; vrLoc = 380; }; - 8E65358008563F6A00E468D9 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8EF6FA6E082DA526006F7BE6 /* SoundFile.m */; - name = "SoundFile.m: 176"; - rLen = 0; - rLoc = 3747; - rType = 0; - vrLen = 734; - vrLoc = 0; - }; 8E65359E0856401D00E468D9 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8E2871080836934A0013CE39 /* VirtualRingBuffer.h */; @@ -1178,36 +1126,6 @@ vrLen = 1460; vrLoc = 3376; }; - 8E657298086085E400A0DAC4 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8D1107310486CEB800E47090 /* Info.plist */; - name = NSApplication; - rLen = 13; - rLoc = 2445; - rType = 0; - vrLen = 927; - vrLoc = 1558; - }; - 8E657299086085E400A0DAC4 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E45227B0832898A00F8BA7C /* Sound.m */; - name = "Sound.m: sendPortMessage:withData:ofSize:"; - rLen = 183; - rLoc = 7974; - rType = 0; - vrLen = 991; - vrLoc = 4522; - }; - 8E65729A086085E400A0DAC4 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E4721D208319294001F89FA /* AppController.m */; - name = "AppController.m: 102"; - rLen = 0; - rLoc = 2823; - rType = 0; - vrLen = 921; - vrLoc = 3033; - }; 8E72BC640851408F00E34F1D /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8E47218908318D7A001F89FA /* PlaylistEntry.h */; @@ -1218,6 +1136,681 @@ vrLen = 410; vrLoc = 266; }; + 8E7DAAA808673DF600615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8D1107310486CEB800E47090 /* Info.plist */; + name = "Info.plist: 92"; + rLen = 0; + rLoc = 2194; + rType = 0; + vrLen = 641; + vrLoc = 1499; + }; + 8E7DAAAA08673DF600615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8D1107310486CEB800E47090 /* Info.plist */; + name = "Info.plist: 92"; + rLen = 0; + rLoc = 2194; + rType = 0; + vrLen = 641; + vrLoc = 1499; + }; + 8E7DAAAB08673DF600615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E4721D208319294001F89FA /* AppController.m */; + name = "AppController.m: 16"; + rLen = 0; + rLoc = 624; + rType = 0; + vrLen = 598; + vrLoc = 2940; + }; + 8E7DAAF70867402D00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E47218808318D7A001F89FA /* PlaylistController.m */; + name = "PlaylistController.m: 46"; + rLen = 0; + rLoc = 1199; + rType = 0; + vrLen = 645; + vrLoc = 739; + }; + 8E7DAAF80867402D00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E8BAE5608548BE800E9F14D /* ShnFile.m */; + name = "ShnFile.m: fillBuffer:ofSize:"; + rLen = 0; + rLoc = 1832; + rType = 0; + vrLen = 356; + vrLoc = 1747; + }; + 8E7DAAF90867402D00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EF6FA6E082DA526006F7BE6 /* SoundFile.m */; + name = "SoundFile.m: 147"; + rLen = 0; + rLoc = 3015; + rType = 0; + vrLen = 324; + vrLoc = 3596; + }; + 8E7DAAFB0867402D00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E8F3F9B0855499500BCF803 /* README */; + name = "README: 10"; + rLen = 0; + rLoc = 633; + rType = 0; + vrLen = 1200; + vrLoc = 309; + }; + 8E7DAAFC0867402D00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E45227A0832898A00F8BA7C /* Sound.h */; + name = "Sound.h: setSoundFile:"; + rLen = 0; + rLoc = 2925; + rType = 0; + vrLen = 521; + vrLoc = 525; + }; + 8E7DAAFD0867402D00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E45227B0832898A00F8BA7C /* Sound.m */; + name = "Sound.m: 172"; + rLen = 0; + rLoc = 5223; + rType = 0; + vrLen = 670; + vrLoc = 4843; + }; + 8E7DAAFE0867402D00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E2871090836934A0013CE39 /* VirtualRingBuffer.m */; + name = "VirtualRingBuffer.m: 51"; + rLen = 0; + rLoc = 2267; + rType = 0; + vrLen = 573; + vrLoc = 1784; + }; + 8E7DAAFF0867402D00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E4721D208319294001F89FA /* AppController.m */; + name = "AppController.m: 16"; + rLen = 0; + rLoc = 624; + rType = 0; + vrLen = 985; + vrLoc = 1414; + }; + 8E7DAB020867402D00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E47218808318D7A001F89FA /* PlaylistController.m */; + name = "PlaylistController.m: 46"; + rLen = 0; + rLoc = 1199; + rType = 0; + vrLen = 645; + vrLoc = 739; + }; + 8E7DAB030867402D00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E8BAE5608548BE800E9F14D /* ShnFile.m */; + name = "ShnFile.m: fillBuffer:ofSize:"; + rLen = 0; + rLoc = 1832; + rType = 0; + vrLen = 356; + vrLoc = 1747; + }; + 8E7DAB040867402D00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EF6FA6E082DA526006F7BE6 /* SoundFile.m */; + name = "SoundFile.m: 147"; + rLen = 0; + rLoc = 3015; + rType = 0; + vrLen = 324; + vrLoc = 3596; + }; + 8E7DAB050867402D00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E5A90B0084CBC2F00AE6D62 /* Changelog */; + name = "Changelog: 8"; + rLen = 0; + rLoc = 245; + rType = 0; + vrLen = 594; + vrLoc = 0; + }; + 8E7DAB060867402D00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E8F3F9B0855499500BCF803 /* README */; + name = "README: 10"; + rLen = 0; + rLoc = 633; + rType = 0; + vrLen = 1200; + vrLoc = 309; + }; + 8E7DAB070867402D00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E45227A0832898A00F8BA7C /* Sound.h */; + name = "Sound.h: setSoundFile:"; + rLen = 0; + rLoc = 2925; + rType = 0; + vrLen = 521; + vrLoc = 525; + }; + 8E7DAB080867402D00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E45227B0832898A00F8BA7C /* Sound.m */; + name = "Sound.m: 172"; + rLen = 0; + rLoc = 5223; + rType = 0; + vrLen = 670; + vrLoc = 4843; + }; + 8E7DAB090867402D00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E2871090836934A0013CE39 /* VirtualRingBuffer.m */; + name = "VirtualRingBuffer.m: 51"; + rLen = 0; + rLoc = 2267; + rType = 0; + vrLen = 573; + vrLoc = 1784; + }; + 8E7DAB0A0867402D00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E4721D208319294001F89FA /* AppController.m */; + name = "AppController.m: 16"; + rLen = 0; + rLoc = 624; + rType = 0; + vrLen = 985; + vrLoc = 1414; + }; + 8E7DAB0B0867402D00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E4721D5083192C2001F89FA /* SoundController.m */; + name = "SoundController.m: 279"; + rLen = 0; + rLoc = 6887; + rType = 0; + vrLen = 539; + vrLoc = 1243; + }; + 8E7DAB0C0867402D00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E4721D4083192C2001F89FA /* SoundController.h */; + name = "- (IBAction)showTimeRemaining;"; + rLen = 47; + rLoc = 663; + rType = 0; + vrLen = 558; + vrLoc = 392; + }; + 8E7DAB0D0867402D00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E4721D5083192C2001F89FA /* SoundController.m */; + name = "SoundController.m: 296"; + rLen = 0; + rLoc = 7091; + rType = 0; + vrLen = 774; + vrLoc = 6082; + }; + 8E7DAB0E0867402D00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E4721D4083192C2001F89FA /* SoundController.h */; + name = "- (IBAction)showTimeRemaining;"; + rLen = 47; + rLoc = 663; + rType = 0; + vrLen = 570; + vrLoc = 125; + }; + 8E7DAB0F0867402D00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E4721D5083192C2001F89FA /* SoundController.m */; + name = "SoundController.m: 303"; + rLen = 0; + rLoc = 7259; + rType = 0; + vrLen = 685; + vrLoc = 6473; + }; + 8E7DAB100867402D00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E4721D4083192C2001F89FA /* SoundController.h */; + name = "- (IBAction)showTimeRemaining;"; + rLen = 47; + rLoc = 663; + rType = 0; + vrLen = 569; + vrLoc = 125; + }; + 8E7DAB110867402D00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E4721D5083192C2001F89FA /* SoundController.m */; + name = "SoundController.m: 212"; + rLen = 0; + rLoc = 4673; + rType = 0; + vrLen = 598; + vrLoc = 4388; + }; + 8E7DAB320867412700615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E4721D4083192C2001F89FA /* SoundController.h */; + name = "SoundController.h: toggleShowTimeRemaining"; + rLen = 0; + rLoc = 682; + rType = 0; + vrLen = 575; + vrLoc = 125; + }; + 8E7DAB330867412700615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E4721D5083192C2001F89FA /* SoundController.m */; + name = "SoundController.m: 212"; + rLen = 0; + rLoc = 4673; + rType = 0; + vrLen = 598; + vrLoc = 4388; + }; + 8E7DAB340867412700615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E4721D4083192C2001F89FA /* SoundController.h */; + name = "SoundController.h: toggleShowTimeRemaining"; + rLen = 0; + rLoc = 682; + rType = 0; + vrLen = 564; + vrLoc = 392; + }; + 8E7DAB350867412700615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E4721D5083192C2001F89FA /* SoundController.m */; + name = "SoundController.m: 212"; + rLen = 0; + rLoc = 4673; + rType = 0; + vrLen = 598; + vrLoc = 4388; + }; + 8E7DAB360867412700615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E4721D4083192C2001F89FA /* SoundController.h */; + name = "SoundController.h: toggleShowTimeRemaining:"; + rLen = 0; + rLoc = 709; + rType = 0; + vrLen = 538; + vrLoc = 429; + }; + 8E7DAB430867421200615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E297909083D891500F2C55A /* TrackingCell.h */; + name = "TrackingCell.h: 13"; + rLen = 0; + rLoc = 311; + rType = 0; + vrLen = 317; + vrLoc = 0; + }; + 8E7DAB440867421200615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E6529FF083D93EB00A7AF1B /* TrackingSlider.h */; + name = "TrackingSlider.h: 10"; + rLen = 0; + rLoc = 106; + rType = 0; + vrLen = 111; + vrLoc = 0; + }; + 8E7DAB470867421200615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E4721D5083192C2001F89FA /* SoundController.m */; + name = "SoundController.m: 303"; + rLen = 0; + rLoc = 7228; + rType = 0; + vrLen = 715; + vrLoc = 6296; + }; + 8E7DAB480867421200615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E297908083D891500F2C55A /* TrackingCell.m */; + name = "TrackingCell.m: 26"; + rLen = 0; + rLoc = 520; + rType = 0; + vrLen = 526; + vrLoc = 0; + }; + 8E7DAB490867421200615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E297909083D891500F2C55A /* TrackingCell.h */; + name = "TrackingCell.h: 13"; + rLen = 0; + rLoc = 311; + rType = 0; + vrLen = 317; + vrLoc = 0; + }; + 8E7DAB4A0867421200615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E6529FF083D93EB00A7AF1B /* TrackingSlider.h */; + name = "TrackingSlider.h: 10"; + rLen = 0; + rLoc = 106; + rType = 0; + vrLen = 111; + vrLoc = 0; + }; + 8E7DAB4B0867421200615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E652A00083D93EB00A7AF1B /* TrackingSlider.m */; + name = "TrackingSlider.m: 35"; + rLen = 0; + rLoc = 664; + rType = 0; + vrLen = 448; + vrLoc = 236; + }; + 8E7DAB4D0867423900615930 /* ClickField.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {775, 373}}"; + sepNavSelRange = "{69, 0}"; + sepNavVisRect = "{{0, 0}, {775, 373}}"; + }; + }; + 8E7DAB4E0867423900615930 /* ClickField.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {775, 373}}"; + sepNavSelRange = "{253, 0}"; + sepNavVisRect = "{{0, 0}, {775, 373}}"; + sepNavWindowFrame = "{{15, 60}, {1017, 681}}"; + }; + }; + 8E7DAB540867424400615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E297908083D891500F2C55A /* TrackingCell.m */; + name = "TrackingCell.m: 26"; + rLen = 0; + rLoc = 520; + rType = 0; + vrLen = 526; + vrLoc = 0; + }; + 8E7DAB550867424400615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E7DAB4D0867423900615930 /* ClickField.h */; + name = "ClickField.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 88; + vrLoc = 0; + }; + 8E7DAB560867424400615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E7DAB4E0867423900615930 /* ClickField.m */; + name = "ClickField.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 57; + vrLoc = 0; + }; + 8E7DAB570867424400615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E7DAB4D0867423900615930 /* ClickField.h */; + name = "ClickField.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 88; + vrLoc = 0; + }; + 8E7DAB580867424400615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E7DAB4E0867423900615930 /* ClickField.m */; + name = "ClickField.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 57; + vrLoc = 0; + }; + 8E7DAB78086742EB00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E652A00083D93EB00A7AF1B /* TrackingSlider.m */; + name = "TrackingSlider.m: 35"; + rLen = 0; + rLoc = 664; + rType = 0; + vrLen = 571; + vrLoc = 0; + }; + 8E7DAB79086742EB00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E297908083D891500F2C55A /* TrackingCell.m */; + name = "TrackingCell.m: 26"; + rLen = 0; + rLoc = 520; + rType = 0; + vrLen = 501; + vrLoc = 25; + }; + 8E7DAB7A086742EB00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E7DAB4D0867423900615930 /* ClickField.h */; + name = "ClickField.h: 4"; + rLen = 0; + rLoc = 69; + rType = 0; + vrLen = 160; + vrLoc = 0; + }; + 8E7DAB7C086742EB00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E7DAB4D0867423900615930 /* ClickField.h */; + name = "ClickField.h: 7"; + rLen = 0; + rLoc = 152; + rType = 0; + vrLen = 90; + vrLoc = 0; + }; + 8E7DAB7D086742EB00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E7DAB4E0867423900615930 /* ClickField.m */; + name = "ClickField.m: 17"; + rLen = 0; + rLoc = 254; + rType = 0; + vrLen = 353; + vrLoc = 0; + }; + 8E7DAB7E086742EB00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E7DAB4D0867423900615930 /* ClickField.h */; + name = "ClickField.h: 9"; + rLen = 0; + rLoc = 159; + rType = 0; + vrLen = 90; + vrLoc = 0; + }; + 8E7DAB7F086742EB00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E652A00083D93EB00A7AF1B /* TrackingSlider.m */; + name = "TrackingSlider.m: 35"; + rLen = 0; + rLoc = 664; + rType = 0; + vrLen = 448; + vrLoc = 236; + }; + 8E7DAB80086742EB00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E7DAB4D0867423900615930 /* ClickField.h */; + name = "ClickField.h: 9"; + rLen = 0; + rLoc = 159; + rType = 0; + vrLen = 90; + vrLoc = 0; + }; + 8E7DAB81086742EB00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E7DAB4E0867423900615930 /* ClickField.m */; + name = "ClickField.m: 17"; + rLen = 0; + rLoc = 254; + rType = 0; + vrLen = 353; + vrLoc = 0; + }; + 8E7DAB82086742EB00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E652A00083D93EB00A7AF1B /* TrackingSlider.m */; + name = "TrackingSlider.m: 35"; + rLen = 0; + rLoc = 664; + rType = 0; + vrLen = 571; + vrLoc = 0; + }; + 8E7DAB83086742EB00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E297908083D891500F2C55A /* TrackingCell.m */; + name = "TrackingCell.m: 26"; + rLen = 0; + rLoc = 520; + rType = 0; + vrLen = 501; + vrLoc = 25; + }; + 8E7DAB84086742EB00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E7DAB4E0867423900615930 /* ClickField.m */; + name = "ClickField.m: 4"; + rLen = 0; + rLoc = 51; + rType = 0; + vrLen = 260; + vrLoc = 0; + }; + 8E7DAB85086742EB00615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E7DAB4D0867423900615930 /* ClickField.h */; + name = "ClickField.h: 4"; + rLen = 0; + rLoc = 69; + rType = 0; + vrLen = 160; + vrLoc = 0; + }; + 8E7DAB9D0867470600615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E7DAB4E0867423900615930 /* ClickField.m */; + name = "ClickField.m: 15"; + rLen = 0; + rLoc = 253; + rType = 0; + vrLen = 260; + vrLoc = 0; + }; + 8E7DAB9E0867470600615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E4721D4083192C2001F89FA /* SoundController.h */; + name = "SoundController.h: toggleShowTimeRemaining:"; + rLen = 0; + rLoc = 709; + rType = 0; + vrLen = 594; + vrLoc = 66; + }; + 8E7DAB9F0867470600615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E4721D5083192C2001F89FA /* SoundController.m */; + name = "SoundController.m: 229"; + rLen = 0; + rLoc = 5035; + rType = 0; + vrLen = 632; + vrLoc = 4461; + }; + 8E7DABA00867470600615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E5A90B0084CBC2F00AE6D62 /* Changelog */; + name = "Changelog: 8"; + rLen = 0; + rLoc = 245; + rType = 0; + vrLen = 594; + vrLoc = 0; + }; + 8E7DABA10867470600615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E7DAB4E0867423900615930 /* ClickField.m */; + name = "ClickField.m: 15"; + rLen = 0; + rLoc = 253; + rType = 0; + vrLen = 260; + vrLoc = 0; + }; + 8E7DABA20867470600615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E4721D5083192C2001F89FA /* SoundController.m */; + name = "SoundController.m: 228"; + rLen = 0; + rLoc = 5006; + rType = 0; + vrLen = 568; + vrLoc = 4461; + }; + 8E7DABA30867470600615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E4721D4083192C2001F89FA /* SoundController.h */; + name = "SoundController.h: toggleShowTimeRemaining:"; + rLen = 0; + rLoc = 709; + rType = 0; + vrLen = 594; + vrLoc = 66; + }; + 8E7DABA40867470600615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E4721D5083192C2001F89FA /* SoundController.m */; + name = "SoundController.m: 229"; + rLen = 0; + rLoc = 5035; + rType = 0; + vrLen = 632; + vrLoc = 4461; + }; + 8E7DABA50867470600615930 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E5A90B0084CBC2F00AE6D62 /* Changelog */; + name = "Changelog: 21"; + rLen = 0; + rLoc = 709; + rType = 0; + vrLen = 709; + vrLoc = 0; + }; 8E8BAE5108548BD500E9F14D /* WavPackFile.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 372}}"; @@ -1242,9 +1835,9 @@ }; 8E8BAE5608548BE800E9F14D /* ShnFile.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 1666}}"; - sepNavSelRange = "{2042, 0}"; - sepNavVisRect = "{{0, 1036}, {775, 546}}"; + sepNavIntBoundsRect = "{{0, 0}, {983, 1666}}"; + sepNavSelRange = "{1600, 49}"; + sepNavVisRect = "{{0, 1028}, {983, 310}}"; }; }; 8E8BAEB208548C9600E9F14D /* PBXTextBookmark */ = { @@ -1538,18 +2131,9 @@ sepNavIntBoundsRect = "{{0, 0}, {775, 546}}"; sepNavSelRange = "{105, 0}"; sepNavVisRect = "{{0, 0}, {775, 546}}"; + sepNavWindowFrame = "{{15, 60}, {1017, 681}}"; }; }; - 8E8F3FA408554B8000BCF803 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E47218808318D7A001F89FA /* PlaylistController.m */; - name = "PlaylistController.m: setShuffle:"; - rLen = 0; - rLoc = 8647; - rType = 0; - vrLen = 472; - vrLoc = 8263; - }; 8E8F3FAE08554B8000BCF803 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8E8F3F9B0855499500BCF803 /* README */; @@ -1557,7 +2141,7 @@ rLen = 0; rLoc = 105; rType = 0; - vrLen = 1522; + vrLen = 1509; vrLoc = 0; }; 8E91CCEE08549FEE0055EC68 /* PBXTextBookmark */ = { @@ -1570,16 +2154,6 @@ vrLen = 365; vrLoc = 0; }; - 8E94AFB2086639760038E585 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E4721D5083192C2001F89FA /* SoundController.m */; - name = "SoundController.m: 279"; - rLen = 0; - rLoc = 6390; - rType = 0; - vrLen = 1084; - vrLoc = 5645; - }; 8E94D9D2084BEA32007F0AEB /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8E0EBF0D084BA776003A6E64 /* DBLog.c */; @@ -1701,16 +2275,6 @@ isa = PBXBookmark; fRef = 8EAFD27408465E5600107BA5 /* pause_blue.png */; }; - 8EABE7C408562FF3004DF882 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E4721D4083192C2001F89FA /* SoundController.h */; - name = "SoundController.h: playButton"; - rLen = 0; - rLoc = 462; - rType = 0; - vrLen = 832; - vrLoc = 0; - }; 8EABE7C508562FF3004DF882 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8E4721D108319294001F89FA /* AppController.h */; @@ -2018,27 +2582,7 @@ vrLen = 79; vrLoc = 0; }; - 8EE558080866A24B009E7F50 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E287E480855F2EC00562C66 /* InfoView.h */; - name = "InfoView.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 79; - vrLoc = 0; - }; - 8EE558090866A24B009E7F50 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8D1107310486CEB800E47090 /* Info.plist */; - name = "Info.plist: 92"; - rLen = 0; - rLoc = 2194; - rType = 0; - vrLen = 679; - vrLoc = 1806; - }; - 8EEFDF8808410C00008BB533 /* SoundController.m:275 */ = { + 8EEFDF8808410C00008BB533 /* SoundController.m:296 */ = { isa = PBXFileBreakpoint; actions = ( ); @@ -2047,7 +2591,7 @@ fileReference = 8E4721D5083192C2001F89FA /* SoundController.m */; functionName = "-handlePortMessage:"; hitCount = 0; - lineNumber = 275; + lineNumber = 296; modificationTime = 139882034.259246; state = 2; }; @@ -2141,8 +2685,8 @@ 8EF6FA6E082DA526006F7BE6 /* SoundFile.m */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1010, 3066}}"; - sepNavSelRange = "{3747, 0}"; - sepNavVisRect = "{{0, 0}, {775, 546}}"; + sepNavSelRange = "{3471, 0}"; + sepNavVisRect = "{{0, 134}, {983, 310}}"; sepNavWindowFrame = "{{15, 61}, {750, 680}}"; }; }; diff --git a/English.lproj/MainMenu.nib/classes.nib b/English.lproj/MainMenu.nib/classes.nib index 2e2fcebbb..d6154bd27 100644 --- a/English.lproj/MainMenu.nib/classes.nib +++ b/English.lproj/MainMenu.nib/classes.nib @@ -26,6 +26,12 @@ }; SUPERCLASS = NSObject; }, + { + CLASS = ClickField; + LANGUAGE = ObjC; + OUTLETS = {soundController = SoundController; }; + SUPERCLASS = NSTextField; + }, { CLASS = DNDArrayController; LANGUAGE = ObjC; @@ -72,6 +78,7 @@ resume = id; seek = id; stop = id; + toggleShowTimeRemaining = id; }; CLASS = SoundController; LANGUAGE = ObjC; diff --git a/English.lproj/MainMenu.nib/info.nib b/English.lproj/MainMenu.nib/info.nib index 56599ffc8..16efa9003 100644 --- a/English.lproj/MainMenu.nib/info.nib +++ b/English.lproj/MainMenu.nib/info.nib @@ -3,7 +3,7 @@ IBDocumentLocation - 349 139 356 240 0 0 1024 746 + 288 118 356 240 0 0 1024 746 IBEditorPositions 29 @@ -20,8 +20,8 @@ IBOpenObjects 463 - 29 21 + 29 IBSystem Version 8B15 diff --git a/English.lproj/MainMenu.nib/keyedobjects.nib b/English.lproj/MainMenu.nib/keyedobjects.nib index 13760412d7b87fe6de5d8f9ae48e2697b29f8b9b..89998e01cde03eec70c6b67ddcedf5a18dfc472d 100644 GIT binary patch literal 42872 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 S|L+|6|Ih#Ls$ahz?f(H!Ed|2> literal 42547 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%0DTthZn( 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 diff --git a/SoundController.h b/SoundController.h index c4385b02e..9368f0d33 100644 --- a/SoundController.h +++ b/SoundController.h @@ -25,11 +25,15 @@ int playbackStatus; + BOOL showTimeRemaining; + //For communication with the sound NSPort *sendPort; NSPort *distantPort; } +- (IBAction)toggleShowTimeRemaining:(id)sender; + - (IBAction)playPauseResume:(id)sender; - (IBAction)pauseResume:(id)sender; diff --git a/SoundController.m b/SoundController.m index 0f86c3569..1b204e0cf 100644 --- a/SoundController.m +++ b/SoundController.m @@ -15,6 +15,8 @@ { sound = [[Sound alloc] init]; playbackStatus = kCogStatusStopped; + + showTimeRemaining = NO; } return self; @@ -207,6 +209,25 @@ [playButton setAlternateImage:alt]; } +- (IBAction)toggleShowTimeRemaining:(id)sender +{ + NSString *text; + + showTimeRemaining = !showTimeRemaining; + if (showTimeRemaining == NO) + { + int sec = (int)([positionSlider doubleValue]/1000.0); + text = [NSString stringWithFormat:@"%i:%02i", sec/60, sec%60]; + } + else + { + int sec = (int)(([positionSlider maxValue] - [positionSlider doubleValue])/1000.0); + text = [NSString stringWithFormat:@"%i:%02i", sec/60, sec%60]; + } + + [timeField setStringValue:text]; +} + - (void)handlePortMessage:(NSPortMessage *)portMessage { @@ -287,9 +308,17 @@ [positionSlider setDoubleValue:pos]; } - int sec = (int)(pos/1000.0); NSString *text; - text = [NSString stringWithFormat:@"%i:%02i", sec/60, sec%60]; + if (showTimeRemaining == NO) + { + int sec = (int)(pos/1000.0); + text = [NSString stringWithFormat:@"%i:%02i", sec/60, sec%60]; + } + else + { + int sec = (int)(([positionSlider maxValue] - pos)/1000.0); + text = [NSString stringWithFormat:@"%i:%02i", sec/60, sec%60]; + } [timeField setStringValue:text]; } else if (message == kCogStatusUpdateMessage)