From b77a0fe1de8e3cf8e7f83d5afd245b02c8fcd62a Mon Sep 17 00:00:00 2001 From: vspader Date: Tue, 7 Jun 2005 19:28:44 +0000 Subject: [PATCH] GUI modified --- AppController.h | 3 +- AppController.m | 5 - Changelog | 5 +- Cog.xcode/project.pbxproj | 32 + Cog.xcode/xugg.mode1 | 132 +-- Cog.xcode/xugg.pbxuser | 1140 ++++++++----------- English.lproj/MainMenu.nib/classes.nib | 4 +- English.lproj/MainMenu.nib/info.nib | 11 +- English.lproj/MainMenu.nib/keyedobjects.nib | Bin 41893 -> 42554 bytes Sound.m | 4 +- SoundController.h | 3 + SoundController.m | 34 + 12 files changed, 620 insertions(+), 753 deletions(-) diff --git a/AppController.h b/AppController.h index 170ed6b7a..5222ecfaf 100644 --- a/AppController.h +++ b/AppController.h @@ -7,7 +7,6 @@ @interface AppController : NSObject { IBOutlet PlaylistController *playlistController; - IBOutlet NSPanel *infoPanel; IBOutlet NSWindow *mainWindow; IBOutlet NSButton *playButton; @@ -19,8 +18,8 @@ IBOutlet NSButton *infoButton; IBOutlet NSButton *shuffleButton; IBOutlet NSButton *repeatButton; - } + - (IBAction)addFiles:(id)sender; - (IBAction)delEntries:(id)sender; - (IBAction)showInfo:(id)sender; diff --git a/AppController.m b/AppController.m index a10a8b4a0..162257423 100644 --- a/AppController.m +++ b/AppController.m @@ -36,11 +36,6 @@ [playlistController remove:self]; } -- (IBAction)showInfo:(id)sender -{ - [infoPanel makeKeyAndOrderFront:self]; -} - - (PlaylistEntry *)currentEntry { return [playlistController currentEntry]; diff --git a/Changelog b/Changelog index fc4bce4a0..4e16eae1d 100644 --- a/Changelog +++ b/Changelog @@ -1,9 +1,10 @@ Awesomized id3v2 and tagging support courtesy of TagLib. Dramatically improved performance of monkeys audio codec. SHN and Wavpack support. -AAC support. +AAC support. (AAC with id3 tags not supported at the moment.) Fixed 10.3 bug where files would not be removed from the playlist. 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. -TODO: have button images change, play to pause...shuffle and repeat \ No newline at end of file +TODO: have button images change, play to pause...shuffle and repeat diff --git a/Cog.xcode/project.pbxproj b/Cog.xcode/project.pbxproj index 114549eac..66a1494e6 100644 --- a/Cog.xcode/project.pbxproj +++ b/Cog.xcode/project.pbxproj @@ -12,6 +12,8 @@ 8E47215C08318D12001F89FA, 8EF6FA64082DA525006F7BE6, 8E6529F8083D93AF00A7AF1B, + 8E287E480855F2EC00562C66, + 8E287E490855F2EC00562C66, 8E2871080836934A0013CE39, 8E2871090836934A0013CE39, 8E4721D108319294001F89FA, @@ -430,6 +432,7 @@ 8E14E47C084CF1A200246BCC, 8E8BAE5408548BD500E9F14D, 8E8BAE5808548BE800E9F14D, + 8E287E4B0855F2EC00562C66, ); isa = PBXSourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; @@ -707,6 +710,34 @@ settings = { }; }; + 8E287E480855F2EC00562C66 = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + path = InfoView.h; + refType = 4; + sourceTree = ""; + }; + 8E287E490855F2EC00562C66 = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.objc; + path = InfoView.m; + refType = 4; + sourceTree = ""; + }; + 8E287E4A0855F2EC00562C66 = { + fileRef = 8E287E480855F2EC00562C66; + isa = PBXBuildFile; + settings = { + }; + }; + 8E287E4B0855F2EC00562C66 = { + fileRef = 8E287E490855F2EC00562C66; + isa = PBXBuildFile; + settings = { + }; + }; 8E297908083D891500F2C55A = { fileEncoding = 30; isa = PBXFileReference; @@ -1763,6 +1794,7 @@ 8EFFB6D4083302A500C53833, 8EFFB6D5083302A500C53833, 8EFFB6D6083302A500C53833, + 8E287E4A0855F2EC00562C66, ); isa = PBXCopyFilesBuildPhase; runOnlyForDeploymentPostprocessing = 0; diff --git a/Cog.xcode/xugg.mode1 b/Cog.xcode/xugg.mode1 index b905f4b4a..939da691c 100644 --- a/Cog.xcode/xugg.mode1 +++ b/Cog.xcode/xugg.mode1 @@ -255,20 +255,19 @@ 29B97314FDCFA39411CA2CEA 080E96DDFE201D6D7F000001 - 8E47215C08318D12001F89FA 29B97317FDCFA39411CA2CEA 1C37FABC05509CD000000102 PBXSmartGroupTreeModuleOutlineStateSelectionKey - 32 - 24 + 8 + 1 0 PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 61}, {186, 565}} + {{0, 0}, {186, 565}} PBXTopSmartGroupGIDs @@ -305,7 +304,7 @@ PBXProjectModuleGUID 1CE0B20306471E060097A5F4 PBXProjectModuleLabel - Changelog + InfoView.m PBXSplitModuleInNavigatorKey Split0 @@ -313,11 +312,11 @@ PBXProjectModuleGUID 1CE0B20406471E060097A5F4 PBXProjectModuleLabel - Changelog + InfoView.m _historyCapacity 0 bookmark - 8E8F3FB008554B8000BCF803 + 8E287E8A0855F63500562C66 history 8EF6FACD082DAA2B006F7BE6 @@ -333,17 +332,13 @@ 8EDC88A90842F8DE007D1532 8EDC88B50842F936007D1532 8ED833CD08457E6B0033CDBD - 8E10DC00084BBE490013815C 8E94D9D2084BEA32007F0AEB 8E94D9D3084BEA32007F0AEB - 8E5A90B8084CC25900AE6D62 - 8EA0A215084CC43F008DFEC9 8E14E4A5084D089100246BCC 8EC156F5084FEB8900BB24E8 8E2752B70850A92E001618CD 8E2BC83D0850F56200BEAC36 8EE2A5B808511A1800367489 - 8EE2A5B908511A1800367489 8E72BC640851408F00E34F1D 8EFC6D18085376D100C67D06 8EFC6DE7085380B800C67D06 @@ -375,17 +370,23 @@ 8E8F3F21085543D700BCF803 8E8F3F22085543D700BCF803 8E8F3F23085543D700BCF803 - 8E8F3F3F0855457A00BCF803 8E8F3F400855457A00BCF803 8E8F3F59085546B300BCF803 - 8E8F3F770855483300BCF803 8E8F3F780855483300BCF803 8E8F3F790855483300BCF803 8E8F3FA408554B8000BCF803 - 8E8F3FA508554B8000BCF803 8E8F3FA608554B8000BCF803 - 8E8F3FA708554B8000BCF803 - 8E8F3FA808554B8000BCF803 + 8EF45A7A08557C4D00D2D5D0 + 8E287CDC0855D60A00562C66 + 8E287CDD0855D60A00562C66 + 8E287D8E0855E0F300562C66 + 8E287E580855F35400562C66 + 8E287E7F0855F60E00562C66 + 8E287E800855F60E00562C66 + 8E287E810855F60E00562C66 + 8E287E820855F60E00562C66 + 8E287E830855F60E00562C66 + 8E287E5A0855F35400562C66 prevStack @@ -454,56 +455,36 @@ 8E8BAEB708548C9600E9F14D 8E8BAF17085494E000E9F14D 8EB30D990854BEF1009EA87F - 8E8F3ED00855401300BCF803 - 8E8F3ED10855401300BCF803 - 8E8F3ED20855401300BCF803 - 8E8F3ED30855401300BCF803 - 8E8F3ED40855401300BCF803 - 8E8F3ED50855401300BCF803 - 8E8F3ED60855401300BCF803 - 8E8F3ED70855401300BCF803 - 8E8F3ED80855401300BCF803 - 8E8F3ED90855401300BCF803 - 8E8F3EDA0855401300BCF803 - 8E8F3EDB0855401300BCF803 - 8E8F3EDC0855401300BCF803 - 8E8F3EDD0855401300BCF803 - 8E8F3EDE0855401300BCF803 - 8E8F3EDF0855401300BCF803 - 8E8F3EE00855401300BCF803 - 8E8F3EE10855401300BCF803 - 8E8F3EE20855401300BCF803 - 8E8F3EE30855401300BCF803 - 8E8F3F26085543D700BCF803 - 8E8F3F27085543D700BCF803 - 8E8F3F28085543D700BCF803 - 8E8F3F29085543D700BCF803 - 8E8F3F2A085543D700BCF803 - 8E8F3F2B085543D700BCF803 - 8E8F3F2C085543D700BCF803 - 8E8F3F2D085543D700BCF803 - 8E8F3F2E085543D700BCF803 - 8E8F3F420855457A00BCF803 - 8E8F3F430855457A00BCF803 - 8E8F3F440855457A00BCF803 - 8E8F3F450855457A00BCF803 - 8E8F3F460855457A00BCF803 - 8E8F3F470855457A00BCF803 - 8E8F3F510855461700BCF803 - 8E8F3F5B085546B300BCF803 - 8E8F3F5C085546B300BCF803 - 8E8F3F5D085546B300BCF803 - 8E8F3F690855478900BCF803 - 8E8F3F7B0855483300BCF803 - 8E8F3F7C0855483300BCF803 - 8E8F3F7D0855483300BCF803 - 8E8F3F7E0855483300BCF803 - 8E8F3FA908554B8000BCF803 - 8E8F3FAA08554B8000BCF803 - 8E8F3FAB08554B8000BCF803 - 8E8F3FAC08554B8000BCF803 - 8E8F3FAD08554B8000BCF803 8E8F3FAE08554B8000BCF803 + 8E287CCE0855D5D000562C66 + 8E287CE00855D60A00562C66 + 8E287CE10855D60A00562C66 + 8E287CE20855D60A00562C66 + 8E287CE30855D60A00562C66 + 8E287CE40855D60A00562C66 + 8E287CF80855D8E100562C66 + 8E287CF90855D8E100562C66 + 8E287CFB0855D8E100562C66 + 8E287D0F0855D9D600562C66 + 8E287D100855D9D600562C66 + 8E287D660855DEF500562C66 + 8E287D870855E0BC00562C66 + 8E287D8F0855E0F300562C66 + 8E287E290855F01400562C66 + 8E287E330855F16800562C66 + 8E287E340855F16800562C66 + 8E287E350855F16800562C66 + 8E287E360855F16800562C66 + 8E287E5B0855F35400562C66 + 8E287E5C0855F35400562C66 + 8E287E5D0855F35400562C66 + 8E287E5E0855F35400562C66 + 8E287E5F0855F35400562C66 + 8E287E840855F60E00562C66 + 8E287E850855F60E00562C66 + 8E287E860855F60E00562C66 + 8E287E870855F60E00562C66 + 8E287E880855F60E00562C66 SplitCount @@ -561,9 +542,9 @@ TableOfContents - 8E8F3E480855374000BCF803 + 8E287CD30855D5D000562C66 1CE0B1FE06471DED0097A5F4 - 8E8F3E490855374000BCF803 + 8E287CD40855D5D000562C66 1CE0B20306471E060097A5F4 1CE0B20506471E060097A5F4 @@ -698,11 +679,6 @@ WindowOrderList 8EF6FAA6082DA951006F7BE6 - 8E8F3EE50855401300BCF803 - 8E8F3EE60855401300BCF803 - 8E7A9371083675B600771E14 - 1CD10A99069EF8BA00B06720 - 8E8F3E5B085538AB00BCF803 1C0AD2B3069F1EA900FABCE6 /Users/xugg/Projects/Cog/Cog.xcode @@ -730,7 +706,7 @@ PBXProjectModuleGUID 1CD0528F0623707200166675 PBXProjectModuleLabel - Sound.m + AppController.m StatusBarVisibility @@ -786,7 +762,7 @@ TableOfContents 8EF6FAA6082DA951006F7BE6 - 8E8F3E8408553C6000BCF803 + 8E287D1F0855DA8900562C66 1CD0528F0623707200166675 XCMainBuildResultsModuleGUID @@ -1098,8 +1074,8 @@ yes sizes - {{0, 0}, {366, 168}} - {{0, 173}, {366, 270}} + {{0, 0}, {491, 168}} + {{0, 173}, {491, 270}} VerticalSplitView @@ -1148,9 +1124,9 @@ TableOfContents 1C0AD2B3069F1EA900FABCE6 - 8E8F3E4C085537A500BCF803 + 8E287CC10855D58700562C66 1CD0528B0623707200166675 - 8E8F3E4D085537A500BCF803 + 8E287CC20855D58700562C66 ToolbarConfiguration xcode.toolbar.config.run diff --git a/Cog.xcode/xugg.pbxuser b/Cog.xcode/xugg.pbxuser index a55005094..6b2fd5411 100644 --- a/Cog.xcode/xugg.pbxuser +++ b/Cog.xcode/xugg.pbxuser @@ -2,9 +2,9 @@ { 089C165DFE840E0CC02AAC07 = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 372}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 546}}"; sepNavSelRange = "{111, 0}"; - sepNavVisRect = "{{0, 0}, {775, 372}}"; + sepNavVisRect = "{{0, 0}, {775, 546}}"; sepNavWindowFrame = "{{15, 61}, {1016, 680}}"; }; }; @@ -110,13 +110,12 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 139802423; - PBXWorkspaceStateSaveDate = 139802423; + PBXPerProjectTemplateStateSaveDate = 139842842; + PBXWorkspaceStateSaveDate = 139842842; }; perUserProjectItems = { 8E0EBF58084BAA56003A6E64 = 8E0EBF58084BAA56003A6E64; 8E0EBF59084BAA56003A6E64 = 8E0EBF59084BAA56003A6E64; - 8E10DC00084BBE490013815C = 8E10DC00084BBE490013815C; 8E10DC08084BBE490013815C = 8E10DC08084BBE490013815C; 8E14E4A5084D089100246BCC = 8E14E4A5084D089100246BCC; 8E14E4B3084D089100246BCC = 8E14E4B3084D089100246BCC; @@ -136,6 +135,46 @@ 8E267E1A083801D8004ACBC5 = 8E267E1A083801D8004ACBC5; 8E2752B70850A92E001618CD = 8E2752B70850A92E001618CD; 8E287164083695080013CE39 = 8E287164083695080013CE39; + 8E287CCE0855D5D000562C66 = 8E287CCE0855D5D000562C66; + 8E287CDC0855D60A00562C66 = 8E287CDC0855D60A00562C66; + 8E287CDD0855D60A00562C66 = 8E287CDD0855D60A00562C66; + 8E287CE00855D60A00562C66 = 8E287CE00855D60A00562C66; + 8E287CE10855D60A00562C66 = 8E287CE10855D60A00562C66; + 8E287CE20855D60A00562C66 = 8E287CE20855D60A00562C66; + 8E287CE30855D60A00562C66 = 8E287CE30855D60A00562C66; + 8E287CE40855D60A00562C66 = 8E287CE40855D60A00562C66; + 8E287CF80855D8E100562C66 = 8E287CF80855D8E100562C66; + 8E287CF90855D8E100562C66 = 8E287CF90855D8E100562C66; + 8E287CFB0855D8E100562C66 = 8E287CFB0855D8E100562C66; + 8E287D0F0855D9D600562C66 = 8E287D0F0855D9D600562C66; + 8E287D100855D9D600562C66 = 8E287D100855D9D600562C66; + 8E287D660855DEF500562C66 = 8E287D660855DEF500562C66; + 8E287D870855E0BC00562C66 = 8E287D870855E0BC00562C66; + 8E287D8E0855E0F300562C66 = 8E287D8E0855E0F300562C66; + 8E287D8F0855E0F300562C66 = 8E287D8F0855E0F300562C66; + 8E287E290855F01400562C66 = 8E287E290855F01400562C66; + 8E287E330855F16800562C66 = 8E287E330855F16800562C66; + 8E287E340855F16800562C66 = 8E287E340855F16800562C66; + 8E287E350855F16800562C66 = 8E287E350855F16800562C66; + 8E287E360855F16800562C66 = 8E287E360855F16800562C66; + 8E287E580855F35400562C66 = 8E287E580855F35400562C66; + 8E287E5A0855F35400562C66 = 8E287E5A0855F35400562C66; + 8E287E5B0855F35400562C66 = 8E287E5B0855F35400562C66; + 8E287E5C0855F35400562C66 = 8E287E5C0855F35400562C66; + 8E287E5D0855F35400562C66 = 8E287E5D0855F35400562C66; + 8E287E5E0855F35400562C66 = 8E287E5E0855F35400562C66; + 8E287E5F0855F35400562C66 = 8E287E5F0855F35400562C66; + 8E287E7F0855F60E00562C66 = 8E287E7F0855F60E00562C66; + 8E287E800855F60E00562C66 = 8E287E800855F60E00562C66; + 8E287E810855F60E00562C66 = 8E287E810855F60E00562C66; + 8E287E820855F60E00562C66 = 8E287E820855F60E00562C66; + 8E287E830855F60E00562C66 = 8E287E830855F60E00562C66; + 8E287E840855F60E00562C66 = 8E287E840855F60E00562C66; + 8E287E850855F60E00562C66 = 8E287E850855F60E00562C66; + 8E287E860855F60E00562C66 = 8E287E860855F60E00562C66; + 8E287E870855F60E00562C66 = 8E287E870855F60E00562C66; + 8E287E880855F60E00562C66 = 8E287E880855F60E00562C66; + 8E287E8A0855F63500562C66 = 8E287E8A0855F63500562C66; 8E297910083D892800F2C55A = 8E297910083D892800F2C55A; 8E2BC83D0850F56200BEAC36 = 8E2BC83D0850F56200BEAC36; 8E3EDBC9085477D0007C6A53 = 8E3EDBC9085477D0007C6A53; @@ -161,7 +200,6 @@ 8E4D66EA0854CD2C00816BEE = 8E4D66EA0854CD2C00816BEE; 8E4D67210854D2E700816BEE = 8E4D67210854D2E700816BEE; 8E4D67D40854E7B100816BEE = 8E4D67D40854E7B100816BEE; - 8E5A90B8084CC25900AE6D62 = 8E5A90B8084CC25900AE6D62; 8E5A90BB084CC25900AE6D62 = 8E5A90BB084CC25900AE6D62; 8E6082C7083920310017AECF = 8E6082C7083920310017AECF; 8E6529B5083D8D7F00A7AF1B = 8E6529B5083D8D7F00A7AF1B; @@ -178,78 +216,22 @@ 8E8BAF10085494E000E9F14D = 8E8BAF10085494E000E9F14D; 8E8BAF17085494E000E9F14D = 8E8BAF17085494E000E9F14D; 8E8BAF790854976A00E9F14D = 8E8BAF790854976A00E9F14D; - 8E8F3ED00855401300BCF803 = 8E8F3ED00855401300BCF803; - 8E8F3ED10855401300BCF803 = 8E8F3ED10855401300BCF803; - 8E8F3ED20855401300BCF803 = 8E8F3ED20855401300BCF803; - 8E8F3ED30855401300BCF803 = 8E8F3ED30855401300BCF803; - 8E8F3ED40855401300BCF803 = 8E8F3ED40855401300BCF803; - 8E8F3ED50855401300BCF803 = 8E8F3ED50855401300BCF803; - 8E8F3ED60855401300BCF803 = 8E8F3ED60855401300BCF803; - 8E8F3ED70855401300BCF803 = 8E8F3ED70855401300BCF803; - 8E8F3ED80855401300BCF803 = 8E8F3ED80855401300BCF803; - 8E8F3ED90855401300BCF803 = 8E8F3ED90855401300BCF803; - 8E8F3EDA0855401300BCF803 = 8E8F3EDA0855401300BCF803; - 8E8F3EDB0855401300BCF803 = 8E8F3EDB0855401300BCF803; - 8E8F3EDC0855401300BCF803 = 8E8F3EDC0855401300BCF803; - 8E8F3EDD0855401300BCF803 = 8E8F3EDD0855401300BCF803; - 8E8F3EDE0855401300BCF803 = 8E8F3EDE0855401300BCF803; - 8E8F3EDF0855401300BCF803 = 8E8F3EDF0855401300BCF803; - 8E8F3EE00855401300BCF803 = 8E8F3EE00855401300BCF803; - 8E8F3EE10855401300BCF803 = 8E8F3EE10855401300BCF803; - 8E8F3EE20855401300BCF803 = 8E8F3EE20855401300BCF803; - 8E8F3EE30855401300BCF803 = 8E8F3EE30855401300BCF803; 8E8F3F20085543D700BCF803 = 8E8F3F20085543D700BCF803; 8E8F3F21085543D700BCF803 = 8E8F3F21085543D700BCF803; 8E8F3F22085543D700BCF803 = 8E8F3F22085543D700BCF803; 8E8F3F23085543D700BCF803 = 8E8F3F23085543D700BCF803; - 8E8F3F26085543D700BCF803 = 8E8F3F26085543D700BCF803; - 8E8F3F27085543D700BCF803 = 8E8F3F27085543D700BCF803; - 8E8F3F28085543D700BCF803 = 8E8F3F28085543D700BCF803; - 8E8F3F29085543D700BCF803 = 8E8F3F29085543D700BCF803; - 8E8F3F2A085543D700BCF803 = 8E8F3F2A085543D700BCF803; - 8E8F3F2B085543D700BCF803 = 8E8F3F2B085543D700BCF803; - 8E8F3F2C085543D700BCF803 = 8E8F3F2C085543D700BCF803; - 8E8F3F2D085543D700BCF803 = 8E8F3F2D085543D700BCF803; - 8E8F3F2E085543D700BCF803 = 8E8F3F2E085543D700BCF803; - 8E8F3F3F0855457A00BCF803 = 8E8F3F3F0855457A00BCF803; 8E8F3F400855457A00BCF803 = 8E8F3F400855457A00BCF803; - 8E8F3F420855457A00BCF803 = 8E8F3F420855457A00BCF803; - 8E8F3F430855457A00BCF803 = 8E8F3F430855457A00BCF803; - 8E8F3F440855457A00BCF803 = 8E8F3F440855457A00BCF803; - 8E8F3F450855457A00BCF803 = 8E8F3F450855457A00BCF803; - 8E8F3F460855457A00BCF803 = 8E8F3F460855457A00BCF803; - 8E8F3F470855457A00BCF803 = 8E8F3F470855457A00BCF803; - 8E8F3F510855461700BCF803 = 8E8F3F510855461700BCF803; 8E8F3F59085546B300BCF803 = 8E8F3F59085546B300BCF803; - 8E8F3F5B085546B300BCF803 = 8E8F3F5B085546B300BCF803; - 8E8F3F5C085546B300BCF803 = 8E8F3F5C085546B300BCF803; - 8E8F3F5D085546B300BCF803 = 8E8F3F5D085546B300BCF803; - 8E8F3F690855478900BCF803 = 8E8F3F690855478900BCF803; - 8E8F3F770855483300BCF803 = 8E8F3F770855483300BCF803; 8E8F3F780855483300BCF803 = 8E8F3F780855483300BCF803; 8E8F3F790855483300BCF803 = 8E8F3F790855483300BCF803; - 8E8F3F7B0855483300BCF803 = 8E8F3F7B0855483300BCF803; - 8E8F3F7C0855483300BCF803 = 8E8F3F7C0855483300BCF803; - 8E8F3F7D0855483300BCF803 = 8E8F3F7D0855483300BCF803; - 8E8F3F7E0855483300BCF803 = 8E8F3F7E0855483300BCF803; 8E8F3FA408554B8000BCF803 = 8E8F3FA408554B8000BCF803; - 8E8F3FA508554B8000BCF803 = 8E8F3FA508554B8000BCF803; 8E8F3FA608554B8000BCF803 = 8E8F3FA608554B8000BCF803; - 8E8F3FA708554B8000BCF803 = 8E8F3FA708554B8000BCF803; - 8E8F3FA808554B8000BCF803 = 8E8F3FA808554B8000BCF803; - 8E8F3FA908554B8000BCF803 = 8E8F3FA908554B8000BCF803; - 8E8F3FAA08554B8000BCF803 = 8E8F3FAA08554B8000BCF803; - 8E8F3FAB08554B8000BCF803 = 8E8F3FAB08554B8000BCF803; - 8E8F3FAC08554B8000BCF803 = 8E8F3FAC08554B8000BCF803; - 8E8F3FAD08554B8000BCF803 = 8E8F3FAD08554B8000BCF803; 8E8F3FAE08554B8000BCF803 = 8E8F3FAE08554B8000BCF803; - 8E8F3FB008554B8000BCF803 = 8E8F3FB008554B8000BCF803; 8E91CCEE08549FEE0055EC68 = 8E91CCEE08549FEE0055EC68; 8E94D9D2084BEA32007F0AEB = 8E94D9D2084BEA32007F0AEB; 8E94D9D3084BEA32007F0AEB = 8E94D9D3084BEA32007F0AEB; 8E9BF08B082FB9DD00B26943 = 8E9BF08B082FB9DD00B26943; 8E9BF100082FEF6B00B26943 = 8E9BF100082FEF6B00B26943; - 8EA0A215084CC43F008DFEC9 = 8EA0A215084CC43F008DFEC9; 8EB30D890854BEF1009EA87F = 8EB30D890854BEF1009EA87F; 8EB30D8A0854BEF1009EA87F = 8EB30D8A0854BEF1009EA87F; 8EB30D990854BEF1009EA87F = 8EB30D990854BEF1009EA87F; @@ -272,11 +254,11 @@ 8EDCBDDC084061E500F5C7E3 = 8EDCBDDC084061E500F5C7E3; 8EDE0CCC08369EB200EABFE4 = 8EDE0CCC08369EB200EABFE4; 8EE2A5B808511A1800367489 = 8EE2A5B808511A1800367489; - 8EE2A5B908511A1800367489 = 8EE2A5B908511A1800367489; 8EE4A6C3082E6F6100415456 = 8EE4A6C3082E6F6100415456; 8EE4A6C8082E6F6100415456 = 8EE4A6C8082E6F6100415456; 8EE4A6FE082E704E00415456 = 8EE4A6FE082E704E00415456; 8EE4A799082E7D8700415456 = 8EE4A799082E7D8700415456; + 8EF45A7A08557C4D00D2D5D0 = 8EF45A7A08557C4D00D2D5D0; 8EF6FACD082DAA2B006F7BE6 = 8EF6FACD082DAA2B006F7BE6; 8EF6FAD1082DAA2B006F7BE6 = 8EF6FAD1082DAA2B006F7BE6; 8EF6FAD5082DAA2B006F7BE6 = 8EF6FAD5082DAA2B006F7BE6; @@ -364,16 +346,6 @@ sepNavVisRect = "{{0, 0}, {775, 546}}"; }; }; - 8E10DC00084BBE490013815C = { - fRef = 089C165DFE840E0CC02AAC07; - isa = PBXTextBookmark; - name = "English: 4"; - rLen = 0; - rLoc = 111; - rType = 0; - vrLen = 119; - vrLoc = 0; - }; 8E10DC08084BBE490013815C = { fRef = 8E10DBEF084BBCF00013815C; isa = PBXTextBookmark; @@ -644,14 +616,14 @@ uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {4550, 1246}}"; sepNavSelRange = "{3334, 0}"; - sepNavVisRect = "{{0, 874}, {775, 372}}"; + sepNavVisRect = "{{0, 700}, {775, 546}}"; }; }; 8E2871090836934A0013CE39 = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {4550, 4340}}"; - sepNavSelRange = "{2692, 0}"; - sepNavVisRect = "{{0, 328}, {775, 372}}"; + sepNavSelRange = "{2267, 0}"; + sepNavVisRect = "{{0, 231}, {775, 546}}"; }; }; 8E287164083695080013CE39 = { @@ -664,6 +636,420 @@ vrLen = 1783; vrLoc = 0; }; + 8E287CCE0855D5D000562C66 = { + fRef = 8E5A90B0084CBC2F00AE6D62; + isa = PBXTextBookmark; + name = "Changelog: 12"; + rLen = 0; + rLoc = 459; + rType = 0; + vrLen = 541; + vrLoc = 0; + }; + 8E287CDC0855D60A00562C66 = { + fRef = 8E8F3F9B0855499500BCF803; + isa = PBXTextBookmark; + name = "README: 2"; + rLen = 0; + rLoc = 105; + rType = 0; + vrLen = 1522; + vrLoc = 0; + }; + 8E287CDD0855D60A00562C66 = { + fRef = 8E5A90B0084CBC2F00AE6D62; + isa = PBXTextBookmark; + name = "Changelog: 11"; + rLen = 0; + rLoc = 458; + rType = 0; + vrLen = 459; + vrLoc = 0; + }; + 8E287CE00855D60A00562C66 = { + fRef = 8E4721D108319294001F89FA; + isa = PBXTextBookmark; + name = "AppController.h: infoDrawer"; + rLen = 0; + rLoc = 524; + rType = 0; + vrLen = 1162; + vrLoc = 0; + }; + 8E287CE10855D60A00562C66 = { + fRef = 8E4721D208319294001F89FA; + isa = PBXTextBookmark; + name = "AppController.m: 70"; + rLen = 0; + rLoc = 1896; + rType = 0; + vrLen = 1135; + vrLoc = 1182; + }; + 8E287CE20855D60A00562C66 = { + fRef = 8E5A90B0084CBC2F00AE6D62; + isa = PBXTextBookmark; + name = "Changelog: 12"; + rLen = 0; + rLoc = 459; + rType = 0; + vrLen = 541; + vrLoc = 0; + }; + 8E287CE30855D60A00562C66 = { + fRef = 8E8F3F9B0855499500BCF803; + isa = PBXTextBookmark; + name = "README: 2"; + rLen = 0; + rLoc = 105; + rType = 0; + vrLen = 1522; + vrLoc = 0; + }; + 8E287CE40855D60A00562C66 = { + fRef = 8E5A90B0084CBC2F00AE6D62; + isa = PBXTextBookmark; + name = "Changelog: 11"; + rLen = 0; + rLoc = 458; + rType = 0; + vrLen = 459; + vrLoc = 0; + }; + 8E287CF80855D8E100562C66 = { + fRef = 8E4721D108319294001F89FA; + isa = PBXTextBookmark; + name = "AppController.h: infoDrawer"; + rLen = 0; + rLoc = 524; + rType = 0; + vrLen = 1162; + vrLoc = 0; + }; + 8E287CF90855D8E100562C66 = { + fRef = 8E4721D208319294001F89FA; + isa = PBXTextBookmark; + name = "AppController.m: 70"; + rLen = 0; + rLoc = 1896; + rType = 0; + vrLen = 1135; + vrLoc = 1182; + }; + 8E287CFB0855D8E100562C66 = { + fRef = 8E4721D108319294001F89FA; + isa = PBXTextBookmark; + name = "AppController.h: infoDrawer"; + rLen = 0; + rLoc = 524; + rType = 0; + vrLen = 1162; + vrLoc = 0; + }; + 8E287D0F0855D9D600562C66 = { + fRef = 8E4721D208319294001F89FA; + isa = PBXTextBookmark; + name = "AppController.m: 57"; + rLen = 0; + rLoc = 1376; + rType = 0; + vrLen = 1114; + vrLoc = 1182; + }; + 8E287D100855D9D600562C66 = { + fRef = 8E4721D108319294001F89FA; + isa = PBXTextBookmark; + name = "AppController.h: infoDrawer"; + rLen = 0; + rLoc = 524; + rType = 0; + vrLen = 1162; + vrLoc = 0; + }; + 8E287D660855DEF500562C66 = { + fRef = 8E4721D208319294001F89FA; + isa = PBXTextBookmark; + name = "AppController.m: 66"; + rLen = 0; + rLoc = 1376; + rType = 0; + vrLen = 1016; + vrLoc = 1182; + }; + 8E287D870855E0BC00562C66 = { + fRef = 8E4721D208319294001F89FA; + isa = PBXTextBookmark; + name = "AppController.m: 69"; + rLen = 0; + rLoc = 1376; + rType = 0; + vrLen = 996; + vrLoc = 1182; + }; + 8E287D8E0855E0F300562C66 = { + fRef = 089C165DFE840E0CC02AAC07; + isa = PBXTextBookmark; + name = "English: 4"; + rLen = 0; + rLoc = 111; + rType = 0; + vrLen = 119; + vrLoc = 0; + }; + 8E287D8F0855E0F300562C66 = { + fRef = 089C165DFE840E0CC02AAC07; + isa = PBXTextBookmark; + name = "English: 4"; + rLen = 0; + rLoc = 111; + rType = 0; + vrLen = 119; + vrLoc = 0; + }; + 8E287E290855F01400562C66 = { + fRef = 8E2871090836934A0013CE39; + isa = PBXTextBookmark; + name = "VirtualRingBuffer.m: 77"; + rLen = 0; + rLoc = 2692; + rType = 0; + vrLen = 824; + vrLoc = 1534; + }; + 8E287E330855F16800562C66 = { + fRef = 8E4721D208319294001F89FA; + isa = PBXTextBookmark; + name = "AppController.m: 69"; + rLen = 0; + rLoc = 1376; + rType = 0; + vrLen = 996; + vrLoc = 1182; + }; + 8E287E340855F16800562C66 = { + fRef = 8E4721D108319294001F89FA; + isa = PBXTextBookmark; + name = "AppController.h: infoView"; + rLen = 0; + rLoc = 524; + rType = 0; + vrLen = 1158; + vrLoc = 0; + }; + 8E287E350855F16800562C66 = { + fRef = 8E4721D208319294001F89FA; + isa = PBXTextBookmark; + name = "AppController.m: 72"; + rLen = 0; + rLoc = 1957; + rType = 0; + vrLen = 1135; + vrLoc = 1182; + }; + 8E287E360855F16800562C66 = { + fRef = 8E4721D108319294001F89FA; + isa = PBXTextBookmark; + name = "AppController.h: 26"; + rLen = 0; + rLoc = 526; + rType = 0; + vrLen = 1189; + vrLoc = 0; + }; + 8E287E480855F2EC00562C66 = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {775, 546}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRect = "{{0, 0}, {775, 546}}"; + }; + }; + 8E287E490855F2EC00562C66 = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {775, 546}}"; + sepNavSelRange = "{231, 0}"; + sepNavVisRect = "{{0, 0}, {775, 546}}"; + }; + }; + 8E287E580855F35400562C66 = { + fRef = 8E2871080836934A0013CE39; + isa = PBXTextBookmark; + name = "VirtualRingBuffer.h: 47"; + rLen = 0; + rLoc = 3334; + rType = 0; + vrLen = 1458; + vrLoc = 3378; + }; + 8E287E5A0855F35400562C66 = { + fRef = 8E287E490855F2EC00562C66; + isa = PBXTextBookmark; + name = "InfoView.m: 3"; + rLen = 0; + rLoc = 46; + rType = 0; + vrLen = 277; + vrLoc = 0; + }; + 8E287E5B0855F35400562C66 = { + fRef = 8E4721D208319294001F89FA; + isa = PBXTextBookmark; + name = "AppController.m: 56"; + rLen = 0; + rLoc = 1400; + rType = 0; + vrLen = 1135; + vrLoc = 1182; + }; + 8E287E5C0855F35400562C66 = { + fRef = 8E2871080836934A0013CE39; + isa = PBXTextBookmark; + name = "VirtualRingBuffer.h: 47"; + rLen = 0; + rLoc = 3334; + rType = 0; + vrLen = 1458; + vrLoc = 3378; + }; + 8E287E5D0855F35400562C66 = { + fRef = 8E287E490855F2EC00562C66; + isa = PBXTextBookmark; + name = "InfoView.m: 16"; + rLen = 0; + rLoc = 236; + rType = 0; + vrLen = 277; + vrLoc = 0; + }; + 8E287E5E0855F35400562C66 = { + fRef = 8E287E480855F2EC00562C66; + isa = PBXTextBookmark; + name = "InfoView.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 79; + vrLoc = 0; + }; + 8E287E5F0855F35400562C66 = { + fRef = 8E287E490855F2EC00562C66; + isa = PBXTextBookmark; + name = "InfoView.m: 3"; + rLen = 0; + rLoc = 46; + rType = 0; + vrLen = 277; + vrLoc = 0; + }; + 8E287E7F0855F60E00562C66 = { + fRef = 8E2871090836934A0013CE39; + isa = PBXTextBookmark; + name = "VirtualRingBuffer.m: 51"; + rLen = 0; + rLoc = 2267; + rType = 0; + vrLen = 825; + vrLoc = 1533; + }; + 8E287E800855F60E00562C66 = { + fRef = 8E4721D4083192C2001F89FA; + isa = PBXTextBookmark; + name = "SoundController.h: playPauseResume:"; + rLen = 0; + rLoc = 639; + rType = 0; + vrLen = 855; + vrLoc = 0; + }; + 8E287E810855F60E00562C66 = { + fRef = 8E4721D208319294001F89FA; + isa = PBXTextBookmark; + name = "AppController.m: 56"; + rLen = 0; + rLoc = 1400; + rType = 0; + vrLen = 1135; + vrLoc = 1182; + }; + 8E287E820855F60E00562C66 = { + fRef = 8E4721D108319294001F89FA; + isa = PBXTextBookmark; + name = "AppController.h: 22"; + rLen = 0; + rLoc = 524; + rType = 0; + vrLen = 1133; + vrLoc = 0; + }; + 8E287E830855F60E00562C66 = { + fRef = 8E287E480855F2EC00562C66; + isa = PBXTextBookmark; + name = "InfoView.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 79; + vrLoc = 0; + }; + 8E287E840855F60E00562C66 = { + fRef = 8E2871090836934A0013CE39; + isa = PBXTextBookmark; + name = "VirtualRingBuffer.m: 51"; + rLen = 0; + rLoc = 2267; + rType = 0; + vrLen = 825; + vrLoc = 1533; + }; + 8E287E850855F60E00562C66 = { + fRef = 8E4721D4083192C2001F89FA; + isa = PBXTextBookmark; + name = "SoundController.h: playPauseResume:"; + rLen = 0; + rLoc = 639; + rType = 0; + vrLen = 855; + vrLoc = 0; + }; + 8E287E860855F60E00562C66 = { + fRef = 8E4721D208319294001F89FA; + isa = PBXTextBookmark; + name = "AppController.m: 56"; + rLen = 0; + rLoc = 1400; + rType = 0; + vrLen = 1135; + vrLoc = 1182; + }; + 8E287E870855F60E00562C66 = { + fRef = 8E4721D108319294001F89FA; + isa = PBXTextBookmark; + name = "AppController.h: 22"; + rLen = 0; + rLoc = 524; + rType = 0; + vrLen = 1133; + vrLoc = 0; + }; + 8E287E880855F60E00562C66 = { + fRef = 8E287E480855F2EC00562C66; + isa = PBXTextBookmark; + name = "InfoView.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 79; + vrLoc = 0; + }; + 8E287E8A0855F63500562C66 = { + fRef = 8E287E490855F2EC00562C66; + isa = PBXTextBookmark; + name = "InfoView.m: 14"; + rLen = 0; + rLoc = 231; + rType = 0; + vrLen = 277; + vrLoc = 0; + }; 8E297908083D891500F2C55A = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {983, 392}}"; @@ -976,15 +1362,15 @@ 8E4721D108319294001F89FA = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 546}}"; - sepNavSelRange = "{233, 290}"; - sepNavVisRect = "{{0, 0}, {775, 372}}"; + sepNavSelRange = "{524, 0}"; + sepNavVisRect = "{{0, 0}, {775, 546}}"; }; }; 8E4721D208319294001F89FA = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1340, 2156}}"; - sepNavSelRange = "{1676, 0}"; - sepNavVisRect = "{{0, 630}, {775, 546}}"; + sepNavSelRange = "{1957, 0}"; + sepNavVisRect = "{{0, 860}, {983, 310}}"; }; }; 8E4721D4083192C2001F89FA = { @@ -1075,26 +1461,16 @@ 8E5A90B0084CBC2F00AE6D62 = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 546}}"; - sepNavSelRange = "{439, 0}"; + sepNavSelRange = "{541, 0}"; sepNavVisRect = "{{0, 0}, {775, 546}}"; }; }; - 8E5A90B8084CC25900AE6D62 = { - fRef = 8E2871090836934A0013CE39; - isa = PBXTextBookmark; - name = "VirtualRingBuffer.m: 77"; - rLen = 0; - rLoc = 2692; - rType = 0; - vrLen = 648; - vrLoc = 1619; - }; 8E5A90BB084CC25900AE6D62 = { fRef = 8E5A90B0084CBC2F00AE6D62; isa = PBXTextBookmark; name = "Changelog: 3"; rLen = 0; - rLoc = 439; + rLoc = 459; rType = 0; vrLen = 131; vrLoc = 0; @@ -1299,206 +1675,6 @@ vrLen = 811; vrLoc = 0; }; - 8E8F3ED00855401300BCF803 = { - fRef = 8E45227B0832898A00F8BA7C; - isa = PBXTextBookmark; - name = "Sound.m: 345"; - rLen = 0; - rLoc = 10047; - rType = 0; - vrLen = 892; - vrLoc = 15649; - }; - 8E8F3ED10855401300BCF803 = { - fRef = 8E45227A0832898A00F8BA7C; - isa = PBXTextBookmark; - name = "Sound.h: 70"; - rLen = 0; - rLoc = 1477; - rType = 0; - vrLen = 1284; - vrLoc = 977; - }; - 8E8F3ED20855401300BCF803 = { - fRef = 8E45227B0832898A00F8BA7C; - isa = PBXTextBookmark; - name = "Sound.m: 611"; - rLen = 0; - rLoc = 17302; - rType = 0; - vrLen = 783; - vrLoc = 16169; - }; - 8E8F3ED30855401300BCF803 = { - fRef = 8E45227A0832898A00F8BA7C; - isa = PBXTextBookmark; - name = "Sound.h: kCogStatusUpdate"; - rLen = 0; - rLoc = 775; - rType = 0; - vrLen = 772; - vrLoc = 0; - }; - 8E8F3ED40855401300BCF803 = { - fRef = 8E45227B0832898A00F8BA7C; - isa = PBXTextBookmark; - name = "Sound.m: 608"; - rLen = 0; - rLoc = 17146; - rType = 0; - vrLen = 783; - vrLoc = 16169; - }; - 8E8F3ED50855401300BCF803 = { - fRef = 8E4721D5083192C2001F89FA; - isa = PBXTextBookmark; - name = "SoundController.m: 276"; - rLen = 0; - rLoc = 6560; - rType = 0; - vrLen = 958; - vrLoc = 5387; - }; - 8E8F3ED60855401300BCF803 = { - fRef = 8E4721D4083192C2001F89FA; - isa = PBXTextBookmark; - name = "SoundController.h: playbackStatus"; - rLen = 0; - rLoc = 515; - rType = 0; - vrLen = 844; - vrLoc = 0; - }; - 8E8F3ED70855401300BCF803 = { - fRef = 8E4721D5083192C2001F89FA; - isa = PBXTextBookmark; - name = "SoundController.m: 267"; - rLen = 0; - rLoc = 6291; - rType = 0; - vrLen = 986; - vrLoc = 5387; - }; - 8E8F3ED80855401300BCF803 = { - fRef = 8E45227B0832898A00F8BA7C; - isa = PBXTextBookmark; - name = "- (void)setPlaybackStatus:(int)s"; - rLen = 33; - rLoc = 17112; - rType = 0; - vrLen = 783; - vrLoc = 16194; - }; - 8E8F3ED90855401300BCF803 = { - fRef = 8E45227A0832898A00F8BA7C; - isa = PBXTextBookmark; - name = "Sound.h: setPlaybackStatus:"; - rLen = 0; - rLoc = 2789; - rType = 0; - vrLen = 841; - vrLoc = 2224; - }; - 8E8F3EDA0855401300BCF803 = { - fRef = 8E45227B0832898A00F8BA7C; - isa = PBXTextBookmark; - name = "Sound.m: 614"; - rLen = 0; - rLoc = 17302; - rType = 0; - vrLen = 789; - vrLoc = 16194; - }; - 8E8F3EDB0855401300BCF803 = { - fRef = 8E4721D5083192C2001F89FA; - isa = PBXTextBookmark; - name = "SoundController.m: 270"; - rLen = 0; - rLoc = 6362; - rType = 0; - vrLen = 1007; - vrLoc = 4588; - }; - 8E8F3EDC0855401300BCF803 = { - fRef = 8E45227B0832898A00F8BA7C; - isa = PBXTextBookmark; - name = "Sound.m: 614"; - rLen = 0; - rLoc = 17302; - rType = 0; - vrLen = 789; - vrLoc = 16194; - }; - 8E8F3EDD0855401300BCF803 = { - fRef = 8E45227A0832898A00F8BA7C; - isa = PBXTextBookmark; - name = "Sound.h: 98"; - rLen = 0; - rLoc = 2378; - rType = 0; - vrLen = 743; - vrLoc = 298; - }; - 8E8F3EDE0855401300BCF803 = { - fRef = 8E4721D5083192C2001F89FA; - isa = PBXTextBookmark; - name = "SoundController.m: 268"; - rLen = 0; - rLoc = 6336; - rType = 0; - vrLen = 889; - vrLoc = 5519; - }; - 8E8F3EDF0855401300BCF803 = { - fRef = 8E45227A0832898A00F8BA7C; - isa = PBXTextBookmark; - name = "Sound.h: kCogStatusUpdateMessage"; - rLen = 0; - rLoc = 775; - rType = 0; - vrLen = 720; - vrLoc = 328; - }; - 8E8F3EE00855401300BCF803 = { - fRef = 8E45227B0832898A00F8BA7C; - isa = PBXTextBookmark; - name = "Sound.m: 613"; - rLen = 0; - rLoc = 17242; - rType = 0; - vrLen = 796; - vrLoc = 16194; - }; - 8E8F3EE10855401300BCF803 = { - fRef = 8E4721D5083192C2001F89FA; - isa = PBXTextBookmark; - name = "SoundController.m: 280"; - rLen = 0; - rLoc = 6564; - rType = 0; - vrLen = 967; - vrLoc = 5519; - }; - 8E8F3EE20855401300BCF803 = { - fRef = 8E45227B0832898A00F8BA7C; - isa = PBXTextBookmark; - name = "Sound.m: 613"; - rLen = 0; - rLoc = 17242; - rType = 0; - vrLen = 796; - vrLoc = 16194; - }; - 8E8F3EE30855401300BCF803 = { - fRef = 8E45227A0832898A00F8BA7C; - isa = PBXTextBookmark; - name = "Sound.h: kCogStatusUpdateMessage"; - rLen = 0; - rLoc = 767; - rType = 0; - vrLen = 720; - vrLoc = 328; - }; 8E8F3F20085543D700BCF803 = { fRef = 8E267D090837F7A6004ACBC5; isa = PBXTextBookmark; @@ -1539,106 +1715,6 @@ vrLen = 720; vrLoc = 328; }; - 8E8F3F26085543D700BCF803 = { - fRef = 8E45227B0832898A00F8BA7C; - isa = PBXTextBookmark; - name = "Sound.m: 248"; - rLen = 0; - rLoc = 7528; - rType = 0; - vrLen = 899; - vrLoc = 6665; - }; - 8E8F3F27085543D700BCF803 = { - fRef = 8E267D090837F7A6004ACBC5; - isa = PBXTextBookmark; - name = "MacPADSocket.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 1402; - vrLoc = 0; - }; - 8E8F3F28085543D700BCF803 = { - fRef = 8E267D0B0837F7A6004ACBC5; - isa = PBXTextBookmark; - name = "UpdateController.h: takeBoolFromObject:"; - rLen = 0; - rLoc = 998; - rType = 0; - vrLen = 902; - vrLoc = 142; - }; - 8E8F3F29085543D700BCF803 = { - fRef = 8E267D0C0837F7A6004ACBC5; - isa = PBXTextBookmark; - name = "UpdateController.m: 127"; - rLen = 0; - rLoc = 3155; - rType = 0; - vrLen = 1586; - vrLoc = 2232; - }; - 8E8F3F2A085543D700BCF803 = { - fRef = 8E4721D5083192C2001F89FA; - isa = PBXTextBookmark; - name = "SoundController.m: 280"; - rLen = 0; - rLoc = 6564; - rType = 0; - vrLen = 967; - vrLoc = 5519; - }; - 8E8F3F2B085543D700BCF803 = { - fRef = 8E45227B0832898A00F8BA7C; - isa = PBXTextBookmark; - name = "Sound.m: 249"; - rLen = 0; - rLoc = 7637; - rType = 0; - vrLen = 1104; - vrLoc = 6665; - }; - 8E8F3F2C085543D700BCF803 = { - fRef = 8E45227A0832898A00F8BA7C; - isa = PBXTextBookmark; - name = "Sound.h: kCogStatusUpdateMessage"; - rLen = 0; - rLoc = 767; - rType = 0; - vrLen = 720; - vrLoc = 328; - }; - 8E8F3F2D085543D700BCF803 = { - fRef = 8E4721D5083192C2001F89FA; - isa = PBXTextBookmark; - name = "SoundController.m: 190"; - rLen = 0; - rLoc = 4294; - rType = 0; - vrLen = 1037; - vrLoc = 3531; - }; - 8E8F3F2E085543D700BCF803 = { - fRef = 8E45227B0832898A00F8BA7C; - isa = PBXTextBookmark; - name = "Sound.m: 230"; - rLen = 0; - rLoc = 6975; - rType = 0; - vrLen = 1045; - vrLoc = 6665; - }; - 8E8F3F3F0855457A00BCF803 = { - fRef = 8E4721D4083192C2001F89FA; - isa = PBXTextBookmark; - name = "SoundController.h: playPauseResume:"; - rLen = 0; - rLoc = 639; - rType = 0; - vrLen = 855; - vrLoc = 0; - }; 8E8F3F400855457A00BCF803 = { fRef = 8E45227B0832898A00F8BA7C; isa = PBXTextBookmark; @@ -1649,76 +1725,6 @@ vrLen = 1016; vrLoc = 0; }; - 8E8F3F420855457A00BCF803 = { - fRef = 8E4721D5083192C2001F89FA; - isa = PBXTextBookmark; - name = "SoundController.m: 68"; - rLen = 0; - rLoc = 1405; - rType = 0; - vrLen = 735; - vrLoc = 1263; - }; - 8E8F3F430855457A00BCF803 = { - fRef = 8E4721D4083192C2001F89FA; - isa = PBXTextBookmark; - name = "SoundController.h: playPauseResume:"; - rLen = 0; - rLoc = 639; - rType = 0; - vrLen = 855; - vrLoc = 0; - }; - 8E8F3F440855457A00BCF803 = { - fRef = 8E4721D208319294001F89FA; - isa = PBXTextBookmark; - name = "AppController.m: 65"; - rLen = 0; - rLoc = 1676; - rType = 0; - vrLen = 1162; - vrLoc = 1182; - }; - 8E8F3F450855457A00BCF803 = { - fRef = 8E4721D4083192C2001F89FA; - isa = PBXTextBookmark; - name = "SoundController.h: playPauseResume:"; - rLen = 0; - rLoc = 639; - rType = 0; - vrLen = 855; - vrLoc = 0; - }; - 8E8F3F460855457A00BCF803 = { - fRef = 8E4721D5083192C2001F89FA; - isa = PBXTextBookmark; - name = "SoundController.m: 17"; - rLen = 0; - rLoc = 366; - rType = 0; - vrLen = 868; - vrLoc = 0; - }; - 8E8F3F470855457A00BCF803 = { - fRef = 8E45227B0832898A00F8BA7C; - isa = PBXTextBookmark; - name = "Sound.m: 252"; - rLen = 0; - rLoc = 7601; - rType = 0; - vrLen = 1016; - vrLoc = 0; - }; - 8E8F3F510855461700BCF803 = { - fRef = 8E4721D5083192C2001F89FA; - isa = PBXTextBookmark; - name = "SoundController.m: 121"; - rLen = 0; - rLoc = 2409; - rType = 0; - vrLen = 842; - vrLoc = 1837; - }; 8E8F3F59085546B300BCF803 = { fRef = 8E47218708318D7A001F89FA; isa = PBXTextBookmark; @@ -1729,56 +1735,6 @@ vrLen = 936; vrLoc = 143; }; - 8E8F3F5B085546B300BCF803 = { - fRef = 8E5A90B0084CBC2F00AE6D62; - isa = PBXTextBookmark; - name = "Changelog: 8"; - rLen = 0; - rLoc = 439; - rType = 0; - vrLen = 272; - vrLoc = 0; - }; - 8E8F3F5C085546B300BCF803 = { - fRef = 8E47218808318D7A001F89FA; - isa = PBXTextBookmark; - name = "PlaylistController.m: 232"; - rLen = 0; - rLoc = 4972; - rType = 0; - vrLen = 974; - vrLoc = 4338; - }; - 8E8F3F5D085546B300BCF803 = { - fRef = 8E47218708318D7A001F89FA; - isa = PBXTextBookmark; - name = "PlaylistController.h: 43"; - rLen = 0; - rLoc = 990; - rType = 0; - vrLen = 936; - vrLoc = 143; - }; - 8E8F3F690855478900BCF803 = { - fRef = 8E47218808318D7A001F89FA; - isa = PBXTextBookmark; - name = "PlaylistController.m: 224"; - rLen = 0; - rLoc = 4865; - rType = 0; - vrLen = 974; - vrLoc = 4338; - }; - 8E8F3F770855483300BCF803 = { - fRef = 8E10DBEF084BBCF00013815C; - isa = PBXTextBookmark; - name = "Credits.html: 5"; - rLen = 0; - rLoc = 30; - rType = 0; - vrLen = 30; - vrLoc = 0; - }; 8E8F3F780855483300BCF803 = { fRef = 8E47218C08318D7A001F89FA; isa = PBXTextBookmark; @@ -1799,46 +1755,6 @@ vrLen = 385; vrLoc = 1526; }; - 8E8F3F7B0855483300BCF803 = { - fRef = 8E10DBEF084BBCF00013815C; - isa = PBXTextBookmark; - name = "Credits.html: 5"; - rLen = 0; - rLoc = 30; - rType = 0; - vrLen = 30; - vrLoc = 0; - }; - 8E8F3F7C0855483300BCF803 = { - fRef = 8E47218A08318D7A001F89FA; - isa = PBXTextBookmark; - name = "PlaylistEntry.m: 109"; - rLen = 0; - rLoc = 1734; - rType = 0; - vrLen = 403; - vrLoc = 1526; - }; - 8E8F3F7D0855483300BCF803 = { - fRef = 8E47218C08318D7A001F89FA; - isa = PBXTextBookmark; - name = "PlaylistView.m: 59"; - rLen = 0; - rLoc = 951; - rType = 0; - vrLen = 502; - vrLoc = 496; - }; - 8E8F3F7E0855483300BCF803 = { - fRef = 8E47218A08318D7A001F89FA; - isa = PBXTextBookmark; - name = "PlaylistEntry.m: 110"; - rLen = 0; - rLoc = 1736; - rType = 0; - vrLen = 385; - vrLoc = 1526; - }; 8E8F3F9B0855499500BCF803 = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 546}}"; @@ -1856,16 +1772,6 @@ vrLen = 472; vrLoc = 8263; }; - 8E8F3FA508554B8000BCF803 = { - fRef = 8E4721D208319294001F89FA; - isa = PBXTextBookmark; - name = "AppController.m: 65"; - rLen = 0; - rLoc = 1676; - rType = 0; - vrLen = 1162; - vrLoc = 1182; - }; 8E8F3FA608554B8000BCF803 = { fRef = 8E4721D5083192C2001F89FA; isa = PBXTextBookmark; @@ -1876,76 +1782,6 @@ vrLen = 973; vrLoc = 5599; }; - 8E8F3FA708554B8000BCF803 = { - fRef = 8E8F3F9B0855499500BCF803; - isa = PBXTextBookmark; - name = "README: 2"; - rLen = 0; - rLoc = 105; - rType = 0; - vrLen = 1522; - vrLoc = 0; - }; - 8E8F3FA808554B8000BCF803 = { - fRef = 8E5A90B0084CBC2F00AE6D62; - isa = PBXTextBookmark; - name = "Changelog: 7"; - rLen = 0; - rLoc = 370; - rType = 0; - vrLen = 371; - vrLoc = 0; - }; - 8E8F3FA908554B8000BCF803 = { - fRef = 8E47218808318D7A001F89FA; - isa = PBXTextBookmark; - name = "PlaylistController.m: setShuffle:"; - rLen = 0; - rLoc = 8585; - rType = 0; - vrLen = 472; - vrLoc = 8263; - }; - 8E8F3FAA08554B8000BCF803 = { - fRef = 8E4721D5083192C2001F89FA; - isa = PBXTextBookmark; - name = "SoundController.m: 121"; - rLen = 0; - rLoc = 2409; - rType = 0; - vrLen = 814; - vrLoc = 1865; - }; - 8E8F3FAB08554B8000BCF803 = { - fRef = 8E4721D208319294001F89FA; - isa = PBXTextBookmark; - name = "AppController.m: 65"; - rLen = 0; - rLoc = 1676; - rType = 0; - vrLen = 1162; - vrLoc = 1182; - }; - 8E8F3FAC08554B8000BCF803 = { - fRef = 8E4721D5083192C2001F89FA; - isa = PBXTextBookmark; - name = "SoundController.m: 269"; - rLen = 0; - rLoc = 6158; - rType = 0; - vrLen = 973; - vrLoc = 5599; - }; - 8E8F3FAD08554B8000BCF803 = { - fRef = 8E5A90B0084CBC2F00AE6D62; - isa = PBXTextBookmark; - name = "Changelog: 8"; - rLen = 0; - rLoc = 439; - rType = 0; - vrLen = 272; - vrLoc = 0; - }; 8E8F3FAE08554B8000BCF803 = { fRef = 8E8F3F9B0855499500BCF803; isa = PBXTextBookmark; @@ -1956,16 +1792,6 @@ vrLen = 1522; vrLoc = 0; }; - 8E8F3FB008554B8000BCF803 = { - fRef = 8E5A90B0084CBC2F00AE6D62; - isa = PBXTextBookmark; - name = "Changelog: 9"; - rLen = 0; - rLoc = 439; - rType = 0; - vrLen = 439; - vrLoc = 0; - }; 8E91CCEE08549FEE0055EC68 = { fRef = 8EF6FA6F082DA526006F7BE6; isa = PBXTextBookmark; @@ -2024,16 +1850,6 @@ vrLen = 661; vrLoc = 2015; }; - 8EA0A215084CC43F008DFEC9 = { - fRef = 8E2871080836934A0013CE39; - isa = PBXTextBookmark; - name = "VirtualRingBuffer.h: 47"; - rLen = 0; - rLoc = 3334; - rType = 0; - vrLen = 1043; - vrLoc = 3793; - }; 8EB30D4F0854BDDD009EA87F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; @@ -2980,16 +2796,6 @@ vrLen = 677; vrLoc = 39; }; - 8EE2A5B908511A1800367489 = { - fRef = 8E4721D108319294001F89FA; - isa = PBXTextBookmark; - name = "AppController.h: playButton"; - rLen = 290; - rLoc = 233; - rType = 0; - vrLen = 665; - vrLoc = 0; - }; 8EE4A6C3082E6F6100415456 = { fRef = 8EF6FA6A082DA526006F7BE6; isa = PBXTextBookmark; @@ -3044,6 +2850,16 @@ lineNumber = 386; state = 2; }; + 8EF45A7A08557C4D00D2D5D0 = { + fRef = 8E10DBEF084BBCF00013815C; + isa = PBXTextBookmark; + name = "Credits.html: 5"; + rLen = 0; + rLoc = 30; + rType = 0; + vrLen = 30; + vrLoc = 0; + }; 8EF6FA65082DA526006F7BE6 = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 406}}"; diff --git a/English.lproj/MainMenu.nib/classes.nib b/English.lproj/MainMenu.nib/classes.nib index 8ffd93cfc..2e2fcebbb 100644 --- a/English.lproj/MainMenu.nib/classes.nib +++ b/English.lproj/MainMenu.nib/classes.nib @@ -14,7 +14,6 @@ OUTLETS = { addButton = NSButton; infoButton = NSButton; - infoPanel = NSPanel; mainWindow = NSWindow; nextButton = NSButton; playButton = NSButton; @@ -47,6 +46,8 @@ SUPERCLASS = NSObject; }, {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, + {CLASS = InfoController; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, + {CLASS = InfoView; LANGUAGE = ObjC; SUPERCLASS = NSView; }, { ACTIONS = {takeRepeatFromObject = id; takeShuffleFromObject = id; }; CLASS = PlaylistController; @@ -77,6 +78,7 @@ OUTLETS = { bitrateField = NSTextField; lengthField = NSTextField; + playButton = NSButton; playlistController = PlaylistController; playlistView = PlaylistView; positionSlider = TrackingSlider; diff --git a/English.lproj/MainMenu.nib/info.nib b/English.lproj/MainMenu.nib/info.nib index bfbd2b8a6..559df81a1 100644 --- a/English.lproj/MainMenu.nib/info.nib +++ b/English.lproj/MainMenu.nib/info.nib @@ -3,18 +3,25 @@ IBDocumentLocation - 298 406 356 240 0 0 1024 746 + 349 139 356 240 0 0 1024 746 IBEditorPositions 29 243 676 346 44 0 0 1024 746 + 463 + 356 394 312 249 0 0 1024 746 IBFramework Version - 437.0 + 439.0 + IBLockedObjects + + 484 + IBOpenObjects 29 21 + 463 IBSystem Version 8B15 diff --git a/English.lproj/MainMenu.nib/keyedobjects.nib b/English.lproj/MainMenu.nib/keyedobjects.nib index d3d2b09fa5f195f6aacfb519d0b6109a4cfab270..95b935f4b0790b714f4faf897b2f627beb6cbb99 100644 GIT binary patch literal 42554 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 literal 41893 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 AZ2$lO diff --git a/Sound.m b/Sound.m index db3b09256..fed0eb6e9 100644 --- a/Sound.m +++ b/Sound.m @@ -675,7 +675,9 @@ static OSStatus Sound_Renderer(void *inRefCon, AudioUnitRenderActionFlags *ioAc - (void)playFile:(NSString *)filename { - [self stop]; + [self resetBuffer]; + [self stopPositionTimer]; +// [self stop]; DBLog(@"PLAYING FILE"); [self setSoundFile:filename]; diff --git a/SoundController.h b/SoundController.h index d38a1a9e5..c4385b02e 100644 --- a/SoundController.h +++ b/SoundController.h @@ -17,6 +17,9 @@ IBOutlet NSTextField *timeField; IBOutlet NSTextField *lengthField; IBOutlet NSTextField *bitrateField; + + IBOutlet NSButton *playButton; + BOOL waitingForPlay; //No sneaky changing on us Sound *sound; diff --git a/SoundController.m b/SoundController.m index 83ba84410..0f86c3569 100644 --- a/SoundController.m +++ b/SoundController.m @@ -186,6 +186,27 @@ } } +- (void)changePlayButtonImage:(NSString *)name +{ + NSImage *img = [NSImage imageNamed:[name stringByAppendingString:@"_gray"]]; + NSImage *alt = [NSImage imageNamed:[name stringByAppendingString:@"_blue"]]; + [img retain]; + [alt retain]; + if (img == nil) + { + DBLog(@"NIL IMAGE!!!"); + } + if (alt == nil) + { + DBLog(@"NIL ALT"); + } + + DBLog(@"Setting button: %@", name); + + [playButton setImage:img]; + [playButton setAlternateImage:alt]; +} + - (void)handlePortMessage:(NSPortMessage *)portMessage { @@ -282,6 +303,19 @@ playbackStatus = s; DBLog(@"STATUS UPDATE: %i", s); + + if (s == kCogStatusStopped || s == kCogStatusPaused) + { + //Show play image + [self changePlayButtonImage:@"play"]; + DBLog(@"PLAY PIC"); + } + else if (s == kCogStatusPlaying) + { + //Show pause + [self changePlayButtonImage:@"pause"]; + DBLog(@"PAUSE PIC"); + } } }