diff --git a/Changelog b/Changelog index b7dad8524..fc4bce4a0 100644 --- a/Changelog +++ b/Changelog @@ -1,3 +1,9 @@ Awesomized id3v2 and tagging support courtesy of TagLib. Dramatically improved performance of monkeys audio codec. -minor bug fixes. \ No newline at end of file +SHN and Wavpack support. +AAC support. +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. + +TODO: have button images change, play to pause...shuffle and repeat \ No newline at end of file diff --git a/Cog.xcode/project.pbxproj b/Cog.xcode/project.pbxproj index eb58fd98d..114549eac 100644 --- a/Cog.xcode/project.pbxproj +++ b/Cog.xcode/project.pbxproj @@ -202,6 +202,7 @@ 29B97318FDCFA39411CA2CEA, 8E10DBEF084BBCF00013815C, 8E5A90B0084CBC2F00AE6D62, + 8E8F3F9B0855499500BCF803, ); isa = PBXGroup; name = Resources; @@ -383,6 +384,7 @@ 8E6F2A1908480D010011F126, 8E10DBF0084BBCF00013815C, 8E5A90B1084CBC2F00AE6D62, + 8E8F3F9C0855499500BCF803, ); isa = PBXResourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; @@ -1099,6 +1101,20 @@ settings = { }; }; + 8E8F3F9B0855499500BCF803 = { + fileEncoding = 30; + isa = PBXFileReference; + lastKnownFileType = text; + path = README; + refType = 4; + sourceTree = ""; + }; + 8E8F3F9C0855499500BCF803 = { + fileRef = 8E8F3F9B0855499500BCF803; + isa = PBXBuildFile; + settings = { + }; + }; 8EAB85FC0846889B000A9CEC = { isa = PBXFileReference; lastKnownFileType = image.png; diff --git a/Cog.xcode/xugg.mode1 b/Cog.xcode/xugg.mode1 index c1635d712..b905f4b4a 100644 --- a/Cog.xcode/xugg.mode1 +++ b/Cog.xcode/xugg.mode1 @@ -255,20 +255,20 @@ 29B97314FDCFA39411CA2CEA 080E96DDFE201D6D7F000001 - 8EF6FA64082DA525006F7BE6 + 8E47215C08318D12001F89FA + 29B97317FDCFA39411CA2CEA 1C37FABC05509CD000000102 PBXSmartGroupTreeModuleOutlineStateSelectionKey - 23 - 5 - 1 + 32 + 24 0 PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {186, 565}} + {{0, 61}, {186, 565}} PBXTopSmartGroupGIDs @@ -305,7 +305,7 @@ PBXProjectModuleGUID 1CE0B20306471E060097A5F4 PBXProjectModuleLabel - ShnFile.m + Changelog PBXSplitModuleInNavigatorKey Split0 @@ -313,11 +313,11 @@ PBXProjectModuleGUID 1CE0B20406471E060097A5F4 PBXProjectModuleLabel - ShnFile.m + Changelog _historyCapacity 0 bookmark - 8EB30E5F0854C90E009EA87F + 8E8F3FB008554B8000BCF803 history 8EF6FACD082DAA2B006F7BE6 @@ -330,50 +330,34 @@ 8E652A34083E1A7900A7AF1B 8E652A35083E1A7900A7AF1B 8E652A36083E1A7900A7AF1B - 8EDCBEF40840FA2200F5C7E3 8EDC88A90842F8DE007D1532 8EDC88B50842F936007D1532 8ED833CD08457E6B0033CDBD - 8E6F2A2708480D900011F126 8E10DC00084BBE490013815C - 8E10DC02084BBE490013815C 8E94D9D2084BEA32007F0AEB 8E94D9D3084BEA32007F0AEB - 8E5A90B7084CC25900AE6D62 8E5A90B8084CC25900AE6D62 8EA0A215084CC43F008DFEC9 - 8EA0A216084CC43F008DFEC9 - 8EA0A21A084CC43F008DFEC9 8E14E4A5084D089100246BCC - 8EC18D9F084E3D8200AE0BA9 - 8E9E2E81084FA7E400599965 - 8EC156F4084FEB8900BB24E8 8EC156F5084FEB8900BB24E8 8E2752B70850A92E001618CD 8E2BC83D0850F56200BEAC36 8EE2A5B808511A1800367489 8EE2A5B908511A1800367489 - 8E72BC630851408F00E34F1D 8E72BC640851408F00E34F1D 8EFC6D18085376D100C67D06 8EFC6DE7085380B800C67D06 8EFC6DE8085380B800C67D06 8EFC6DF0085380B800C67D06 - 8EFC6DF3085380B800C67D06 8EFC6E29085386CE00C67D06 8E3EDBC9085477D0007C6A53 8E3EDBCF085477D0007C6A53 8E3EDBD1085477D0007C6A53 8E8BAF10085494E000E9F14D - 8E8BAF780854976A00E9F14D 8E8BAF790854976A00E9F14D - 8E8BAF7A0854976A00E9F14D - 8E8BAF7C0854976A00E9F14D 8E91CCEE08549FEE0055EC68 8EB30D890854BEF1009EA87F 8EB30D8A0854BEF1009EA87F - 8EB30DAC0854BFEE009EA87F - 8EB30DAD0854BFEE009EA87F 8EB30DAE0854BFEE009EA87F 8EB30DDB0854C261009EA87F 8EB30DDC0854C261009EA87F @@ -383,8 +367,25 @@ 8EB30DE00854C261009EA87F 8EB30E1F0854C36A009EA87F 8EB30E200854C36A009EA87F - 8EB30E410854C6D6009EA87F - 8EB30E1E0854C36A009EA87F + 8E4D66E90854CD2C00816BEE + 8E4D66EA0854CD2C00816BEE + 8E4D67210854D2E700816BEE + 8E4D67D40854E7B100816BEE + 8E8F3F20085543D700BCF803 + 8E8F3F21085543D700BCF803 + 8E8F3F22085543D700BCF803 + 8E8F3F23085543D700BCF803 + 8E8F3F3F0855457A00BCF803 + 8E8F3F400855457A00BCF803 + 8E8F3F59085546B300BCF803 + 8E8F3F770855483300BCF803 + 8E8F3F780855483300BCF803 + 8E8F3F790855483300BCF803 + 8E8F3FA408554B8000BCF803 + 8E8F3FA508554B8000BCF803 + 8E8F3FA608554B8000BCF803 + 8E8F3FA708554B8000BCF803 + 8E8F3FA808554B8000BCF803 prevStack @@ -452,46 +453,57 @@ 8E8BAEB308548C9600E9F14D 8E8BAEB708548C9600E9F14D 8E8BAF17085494E000E9F14D - 8EB30D8D0854BEF1009EA87F - 8EB30D8E0854BEF1009EA87F - 8EB30D8F0854BEF1009EA87F - 8EB30D900854BEF1009EA87F - 8EB30D910854BEF1009EA87F - 8EB30D920854BEF1009EA87F - 8EB30D930854BEF1009EA87F - 8EB30D940854BEF1009EA87F - 8EB30D950854BEF1009EA87F - 8EB30D960854BEF1009EA87F - 8EB30D970854BEF1009EA87F - 8EB30D980854BEF1009EA87F 8EB30D990854BEF1009EA87F - 8EB30D9A0854BEF1009EA87F - 8EB30D9B0854BEF1009EA87F - 8EB30D9C0854BEF1009EA87F - 8EB30D9D0854BEF1009EA87F - 8EB30DB00854BFEE009EA87F - 8EB30DB10854BFEE009EA87F - 8EB30DB20854BFEE009EA87F - 8EB30DB30854BFEE009EA87F - 8EB30DB40854BFEE009EA87F - 8EB30DB50854BFEE009EA87F - 8EB30DE20854C261009EA87F - 8EB30DE30854C261009EA87F - 8EB30DE40854C261009EA87F - 8EB30DE50854C261009EA87F - 8EB30DE60854C261009EA87F - 8EB30DE70854C261009EA87F - 8EB30DE80854C261009EA87F - 8EB30DE90854C261009EA87F - 8EB30DEA0854C261009EA87F - 8EB30DEB0854C261009EA87F - 8EB30DEC0854C261009EA87F - 8EB30DED0854C261009EA87F - 8EB30DEE0854C261009EA87F - 8EB30E210854C36A009EA87F - 8EB30E220854C36A009EA87F - 8EB30E230854C36A009EA87F - 8EB30E420854C6D6009EA87F + 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 SplitCount @@ -503,14 +515,14 @@ GeometryConfiguration Frame - {{0, 0}, {816, 404}} + {{0, 0}, {816, 578}} RubberWindowFrame 2 122 1024 624 0 0 1024 746 Module PBXNavigatorGroup Proportion - 404pt + 578pt ContentConfiguration @@ -523,14 +535,14 @@ GeometryConfiguration Frame - {{0, 409}, {816, 174}} + {{0, 583}, {816, 0}} RubberWindowFrame 2 122 1024 624 0 0 1024 746 Module XCDetailModule Proportion - 174pt + 0pt Proportion @@ -549,9 +561,9 @@ TableOfContents - 8EB30D9F0854BEF1009EA87F + 8E8F3E480855374000BCF803 1CE0B1FE06471DED0097A5F4 - 8EB30DA00854BEF1009EA87F + 8E8F3E490855374000BCF803 1CE0B20306471E060097A5F4 1CE0B20506471E060097A5F4 @@ -686,8 +698,13 @@ WindowOrderList 8EF6FAA6082DA951006F7BE6 - /Users/xugg/Projects/Cog/Cog.xcode + 8E8F3EE50855401300BCF803 + 8E8F3EE60855401300BCF803 + 8E7A9371083675B600771E14 + 1CD10A99069EF8BA00B06720 + 8E8F3E5B085538AB00BCF803 1C0AD2B3069F1EA900FABCE6 + /Users/xugg/Projects/Cog/Cog.xcode WindowString 2 122 1024 624 0 0 1024 746 @@ -713,7 +730,7 @@ PBXProjectModuleGUID 1CD0528F0623707200166675 PBXProjectModuleLabel - shn.h + Sound.m StatusBarVisibility @@ -769,7 +786,7 @@ TableOfContents 8EF6FAA6082DA951006F7BE6 - 8EB30D540854BDDD009EA87F + 8E8F3E8408553C6000BCF803 1CD0528F0623707200166675 XCMainBuildResultsModuleGUID @@ -811,8 +828,8 @@ yes sizes - {{0, 0}, {225, 206}} - {{225, 0}, {799, 206}} + {{0, 0}, {184, 198}} + {{184, 0}, {840, 198}} VerticalSplitView @@ -827,8 +844,8 @@ yes sizes - {{0, 0}, {1024, 206}} - {{0, 206}, {1024, 378}} + {{0, 0}, {1024, 198}} + {{0, 198}, {1024, 386}} @@ -875,14 +892,14 @@ TableOfContents 1CD10A99069EF8BA00B06720 - 8E91CD450854A4BF0055EC68 + 8E8F3E55085538AB00BCF803 1C162984064C10D400B95A72 - 8E91CD460854A4BF0055EC68 - 8E91CD470854A4BF0055EC68 - 8E91CD480854A4BF0055EC68 - 8E91CD490854A4BF0055EC68 - 8E91CD4A0854A4BF0055EC68 - 8E91CD4B0854A4BF0055EC68 + 8E8F3E56085538AB00BCF803 + 8E8F3E57085538AB00BCF803 + 8E8F3E58085538AB00BCF803 + 8E8F3E59085538AB00BCF803 + 8E8F3E5A085538AB00BCF803 + 8E8F3E5B085538AB00BCF803 ToolbarConfiguration xcode.toolbar.config.debug @@ -909,14 +926,12 @@ Dock - BecomeActive - ContentConfiguration PBXProjectModuleGUID 1CDD528C0622207200134675 PBXProjectModuleLabel - PlaylistController.m + Sound.m StatusBarVisibility @@ -937,6 +952,8 @@ 342pt + BecomeActive + ContentConfiguration PBXProjectModuleGUID @@ -972,8 +989,8 @@ TableOfContents 1C530D57069F1CE1000CFCEE - 8EA094300853FC4200EBC193 - 8EA094310853FC4200EBC193 + 8E4D67990854E47400816BEE + 8E4D679A0854E47400816BEE 1CDD528C0622207200134675 1CD0528E0623707200166675 @@ -1036,7 +1053,7 @@ TableOfContents 8E7A9371083675B600771E14 - 8E91CD4C0854A4BF0055EC68 + 8E8F3E5C085538AB00BCF803 1C78EAAC065D492600B07095 WindowString @@ -1081,8 +1098,8 @@ yes sizes - {{0, 0}, {491, 168}} - {{0, 173}, {491, 270}} + {{0, 0}, {366, 168}} + {{0, 173}, {366, 270}} VerticalSplitView @@ -1108,7 +1125,7 @@ Frame {{0, 0}, {1024, 583}} RubberWindowFrame - 4 123 1024 623 0 0 1024 746 + 3 123 1024 623 0 0 1024 746 Module PBXRunSessionModule @@ -1131,18 +1148,18 @@ TableOfContents 1C0AD2B3069F1EA900FABCE6 - 8EB30D820854BEA3009EA87F + 8E8F3E4C085537A500BCF803 1CD0528B0623707200166675 - 8EB30D830854BEA3009EA87F + 8E8F3E4D085537A500BCF803 ToolbarConfiguration xcode.toolbar.config.run WindowString - 4 123 1024 623 0 0 1024 746 + 3 123 1024 623 0 0 1024 746 WindowToolGUID 1C0AD2B3069F1EA900FABCE6 WindowToolIsVisible - + Identifier diff --git a/Cog.xcode/xugg.pbxuser b/Cog.xcode/xugg.pbxuser index 70520ba8e..a55005094 100644 --- a/Cog.xcode/xugg.pbxuser +++ b/Cog.xcode/xugg.pbxuser @@ -110,14 +110,13 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 139774232; - PBXWorkspaceStateSaveDate = 139774232; + PBXPerProjectTemplateStateSaveDate = 139802423; + PBXWorkspaceStateSaveDate = 139802423; }; perUserProjectItems = { 8E0EBF58084BAA56003A6E64 = 8E0EBF58084BAA56003A6E64; 8E0EBF59084BAA56003A6E64 = 8E0EBF59084BAA56003A6E64; 8E10DC00084BBE490013815C = 8E10DC00084BBE490013815C; - 8E10DC02084BBE490013815C = 8E10DC02084BBE490013815C; 8E10DC08084BBE490013815C = 8E10DC08084BBE490013815C; 8E14E4A5084D089100246BCC = 8E14E4A5084D089100246BCC; 8E14E4B3084D089100246BCC = 8E14E4B3084D089100246BCC; @@ -158,7 +157,10 @@ 8E4721E008319EFC001F89FA = 8E4721E008319EFC001F89FA; 8E4721E108319EFC001F89FA = 8E4721E108319EFC001F89FA; 8E4721E508319EFC001F89FA = 8E4721E508319EFC001F89FA; - 8E5A90B7084CC25900AE6D62 = 8E5A90B7084CC25900AE6D62; + 8E4D66E90854CD2C00816BEE = 8E4D66E90854CD2C00816BEE; + 8E4D66EA0854CD2C00816BEE = 8E4D66EA0854CD2C00816BEE; + 8E4D67210854D2E700816BEE = 8E4D67210854D2E700816BEE; + 8E4D67D40854E7B100816BEE = 8E4D67D40854E7B100816BEE; 8E5A90B8084CC25900AE6D62 = 8E5A90B8084CC25900AE6D62; 8E5A90BB084CC25900AE6D62 = 8E5A90BB084CC25900AE6D62; 8E6082C7083920310017AECF = 8E6082C7083920310017AECF; @@ -169,94 +171,105 @@ 8E652A36083E1A7900A7AF1B = 8E652A36083E1A7900A7AF1B; 8E652A39083E1A7900A7AF1B = 8E652A39083E1A7900A7AF1B; 8E652A3A083E1A7900A7AF1B = 8E652A3A083E1A7900A7AF1B; - 8E6F2A2708480D900011F126 = 8E6F2A2708480D900011F126; - 8E72BC630851408F00E34F1D = 8E72BC630851408F00E34F1D; 8E72BC640851408F00E34F1D = 8E72BC640851408F00E34F1D; 8E8BAEB208548C9600E9F14D = 8E8BAEB208548C9600E9F14D; 8E8BAEB308548C9600E9F14D = 8E8BAEB308548C9600E9F14D; 8E8BAEB708548C9600E9F14D = 8E8BAEB708548C9600E9F14D; 8E8BAF10085494E000E9F14D = 8E8BAF10085494E000E9F14D; 8E8BAF17085494E000E9F14D = 8E8BAF17085494E000E9F14D; - 8E8BAF780854976A00E9F14D = 8E8BAF780854976A00E9F14D; 8E8BAF790854976A00E9F14D = 8E8BAF790854976A00E9F14D; - 8E8BAF7A0854976A00E9F14D = 8E8BAF7A0854976A00E9F14D; - 8E8BAF7C0854976A00E9F14D = 8E8BAF7C0854976A00E9F14D; + 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; - 8E9E2E81084FA7E400599965 = 8E9E2E81084FA7E400599965; 8EA0A215084CC43F008DFEC9 = 8EA0A215084CC43F008DFEC9; - 8EA0A216084CC43F008DFEC9 = 8EA0A216084CC43F008DFEC9; - 8EA0A21A084CC43F008DFEC9 = 8EA0A21A084CC43F008DFEC9; 8EB30D890854BEF1009EA87F = 8EB30D890854BEF1009EA87F; 8EB30D8A0854BEF1009EA87F = 8EB30D8A0854BEF1009EA87F; - 8EB30D8D0854BEF1009EA87F = 8EB30D8D0854BEF1009EA87F; - 8EB30D8E0854BEF1009EA87F = 8EB30D8E0854BEF1009EA87F; - 8EB30D8F0854BEF1009EA87F = 8EB30D8F0854BEF1009EA87F; - 8EB30D900854BEF1009EA87F = 8EB30D900854BEF1009EA87F; - 8EB30D910854BEF1009EA87F = 8EB30D910854BEF1009EA87F; - 8EB30D920854BEF1009EA87F = 8EB30D920854BEF1009EA87F; - 8EB30D930854BEF1009EA87F = 8EB30D930854BEF1009EA87F; - 8EB30D940854BEF1009EA87F = 8EB30D940854BEF1009EA87F; - 8EB30D950854BEF1009EA87F = 8EB30D950854BEF1009EA87F; - 8EB30D960854BEF1009EA87F = 8EB30D960854BEF1009EA87F; - 8EB30D970854BEF1009EA87F = 8EB30D970854BEF1009EA87F; - 8EB30D980854BEF1009EA87F = 8EB30D980854BEF1009EA87F; 8EB30D990854BEF1009EA87F = 8EB30D990854BEF1009EA87F; - 8EB30D9A0854BEF1009EA87F = 8EB30D9A0854BEF1009EA87F; - 8EB30D9B0854BEF1009EA87F = 8EB30D9B0854BEF1009EA87F; - 8EB30D9C0854BEF1009EA87F = 8EB30D9C0854BEF1009EA87F; - 8EB30D9D0854BEF1009EA87F = 8EB30D9D0854BEF1009EA87F; - 8EB30DAC0854BFEE009EA87F = 8EB30DAC0854BFEE009EA87F; - 8EB30DAD0854BFEE009EA87F = 8EB30DAD0854BFEE009EA87F; 8EB30DAE0854BFEE009EA87F = 8EB30DAE0854BFEE009EA87F; - 8EB30DB00854BFEE009EA87F = 8EB30DB00854BFEE009EA87F; - 8EB30DB10854BFEE009EA87F = 8EB30DB10854BFEE009EA87F; - 8EB30DB20854BFEE009EA87F = 8EB30DB20854BFEE009EA87F; - 8EB30DB30854BFEE009EA87F = 8EB30DB30854BFEE009EA87F; - 8EB30DB40854BFEE009EA87F = 8EB30DB40854BFEE009EA87F; - 8EB30DB50854BFEE009EA87F = 8EB30DB50854BFEE009EA87F; 8EB30DDB0854C261009EA87F = 8EB30DDB0854C261009EA87F; 8EB30DDC0854C261009EA87F = 8EB30DDC0854C261009EA87F; 8EB30DDD0854C261009EA87F = 8EB30DDD0854C261009EA87F; 8EB30DDE0854C261009EA87F = 8EB30DDE0854C261009EA87F; 8EB30DDF0854C261009EA87F = 8EB30DDF0854C261009EA87F; 8EB30DE00854C261009EA87F = 8EB30DE00854C261009EA87F; - 8EB30DE20854C261009EA87F = 8EB30DE20854C261009EA87F; - 8EB30DE30854C261009EA87F = 8EB30DE30854C261009EA87F; - 8EB30DE40854C261009EA87F = 8EB30DE40854C261009EA87F; - 8EB30DE50854C261009EA87F = 8EB30DE50854C261009EA87F; - 8EB30DE60854C261009EA87F = 8EB30DE60854C261009EA87F; - 8EB30DE70854C261009EA87F = 8EB30DE70854C261009EA87F; - 8EB30DE80854C261009EA87F = 8EB30DE80854C261009EA87F; - 8EB30DE90854C261009EA87F = 8EB30DE90854C261009EA87F; - 8EB30DEA0854C261009EA87F = 8EB30DEA0854C261009EA87F; - 8EB30DEB0854C261009EA87F = 8EB30DEB0854C261009EA87F; - 8EB30DEC0854C261009EA87F = 8EB30DEC0854C261009EA87F; - 8EB30DED0854C261009EA87F = 8EB30DED0854C261009EA87F; - 8EB30DEE0854C261009EA87F = 8EB30DEE0854C261009EA87F; - 8EB30E1E0854C36A009EA87F = 8EB30E1E0854C36A009EA87F; 8EB30E1F0854C36A009EA87F = 8EB30E1F0854C36A009EA87F; 8EB30E200854C36A009EA87F = 8EB30E200854C36A009EA87F; - 8EB30E210854C36A009EA87F = 8EB30E210854C36A009EA87F; - 8EB30E220854C36A009EA87F = 8EB30E220854C36A009EA87F; - 8EB30E230854C36A009EA87F = 8EB30E230854C36A009EA87F; - 8EB30E410854C6D6009EA87F = 8EB30E410854C6D6009EA87F; - 8EB30E420854C6D6009EA87F = 8EB30E420854C6D6009EA87F; - 8EB30E5F0854C90E009EA87F = 8EB30E5F0854C90E009EA87F; - 8EC156F4084FEB8900BB24E8 = 8EC156F4084FEB8900BB24E8; 8EC156F5084FEB8900BB24E8 = 8EC156F5084FEB8900BB24E8; 8EC156F9084FEB8900BB24E8 = 8EC156F9084FEB8900BB24E8; - 8EC18D9F084E3D8200AE0BA9 = 8EC18D9F084E3D8200AE0BA9; 8EC18EBD084E57D500AE0BA9 = 8EC18EBD084E57D500AE0BA9; 8ED833CD08457E6B0033CDBD = 8ED833CD08457E6B0033CDBD; 8EDC88A90842F8DE007D1532 = 8EDC88A90842F8DE007D1532; 8EDC88B50842F936007D1532 = 8EDC88B50842F936007D1532; 8EDCBDDB084061E500F5C7E3 = 8EDCBDDB084061E500F5C7E3; 8EDCBDDC084061E500F5C7E3 = 8EDCBDDC084061E500F5C7E3; - 8EDCBEF40840FA2200F5C7E3 = 8EDCBEF40840FA2200F5C7E3; 8EDE0CCC08369EB200EABFE4 = 8EDE0CCC08369EB200EABFE4; 8EE2A5B808511A1800367489 = 8EE2A5B808511A1800367489; 8EE2A5B908511A1800367489 = 8EE2A5B908511A1800367489; @@ -282,7 +295,6 @@ 8EFC6DE7085380B800C67D06 = 8EFC6DE7085380B800C67D06; 8EFC6DE8085380B800C67D06 = 8EFC6DE8085380B800C67D06; 8EFC6DF0085380B800C67D06 = 8EFC6DF0085380B800C67D06; - 8EFC6DF3085380B800C67D06 = 8EFC6DF3085380B800C67D06; 8EFC6E29085386CE00C67D06 = 8EFC6E29085386CE00C67D06; }; sourceControlManager = 8EB77466082DA402005891CA; @@ -347,9 +359,9 @@ }; 8E10DBEF084BBCF00013815C = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 372}}"; - sepNavSelRange = "{36, 0}"; - sepNavVisRect = "{{0, 0}, {775, 372}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 546}}"; + sepNavSelRange = "{30, 0}"; + sepNavVisRect = "{{0, 0}, {775, 546}}"; }; }; 8E10DC00084BBE490013815C = { @@ -362,16 +374,6 @@ vrLen = 119; vrLoc = 0; }; - 8E10DC02084BBE490013815C = { - fRef = 8E10DBEF084BBCF00013815C; - isa = PBXTextBookmark; - name = "Credits.html: 5"; - rLen = 0; - rLoc = 30; - rType = 0; - vrLen = 30; - vrLoc = 0; - }; 8E10DC08084BBE490013815C = { fRef = 8E10DBEF084BBCF00013815C; isa = PBXTextBookmark; @@ -504,7 +506,7 @@ uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 994}}"; sepNavSelRange = "{0, 0}"; - sepNavVisRect = "{{0, 0}, {775, 372}}"; + sepNavVisRect = "{{0, 0}, {775, 546}}"; }; }; 8E267D0A0837F7A6004ACBC5 = { @@ -518,14 +520,14 @@ uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 658}}"; sepNavSelRange = "{998, 0}"; - sepNavVisRect = "{{0, 272}, {775, 372}}"; + sepNavVisRect = "{{0, 112}, {775, 546}}"; }; }; 8E267D0C0837F7A6004ACBC5 = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1022, 2366}}"; - sepNavSelRange = "{2945, 0}"; - sepNavVisRect = "{{0, 1460}, {775, 372}}"; + sepNavSelRange = "{3155, 0}"; + sepNavVisRect = "{{0, 1372}, {775, 546}}"; }; }; 8E267D8C0837F963004ACBC5 = { @@ -793,24 +795,24 @@ isa = PBXTextBookmark; name = "SoundController.m: 6"; rLen = 0; - rLoc = 920; + rLoc = 1122; rType = 0; vrLen = 67; vrLoc = 0; }; 8E45227A0832898A00F8BA7C = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {860, 1792}}"; - sepNavSelRange = "{1056, 7}"; - sepNavVisRect = "{{0, 591}, {775, 372}}"; + sepNavIntBoundsRect = "{{0, 0}, {860, 1848}}"; + sepNavSelRange = "{767, 0}"; + sepNavVisRect = "{{0, 224}, {775, 546}}"; sepNavWindowFrame = "{{15, 61}, {702, 680}}"; }; }; 8E45227B0832898A00F8BA7C = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1208, 9590}}"; - sepNavSelRange = "{18102, 4}"; - sepNavVisRect = "{{0, 9208}, {775, 372}}"; + sepNavIntBoundsRect = "{{0, 0}, {1208, 10360}}"; + sepNavSelRange = "{7601, 0}"; + sepNavVisRect = "{{0, 0}, {775, 546}}"; sepNavWindowFrame = "{{15, 66}, {702, 680}}"; }; }; @@ -819,7 +821,7 @@ isa = PBXTextBookmark; name = "Sound.h: 13"; rLen = 0; - rLoc = 2006; + rLoc = 2075; rType = 0; vrLen = 199; vrLoc = 0; @@ -829,7 +831,7 @@ isa = PBXTextBookmark; name = "Sound.m: 15"; rLen = 0; - rLoc = 18230; + rLoc = 19382; rType = 0; vrLen = 182; vrLoc = 0; @@ -851,15 +853,15 @@ 8E47218708318D7A001F89FA = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 1176}}"; - sepNavSelRange = "{1643, 38}"; - sepNavVisRect = "{{0, 748}, {775, 372}}"; + sepNavSelRange = "{990, 0}"; + sepNavVisRect = "{{0, 104}, {775, 546}}"; }; }; 8E47218808318D7A001F89FA = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {896, 7154}}"; - sepNavSelRange = "{2243, 0}"; - sepNavVisRect = "{{0, 1277}, {775, 372}}"; + sepNavSelRange = "{8585, 0}"; + sepNavVisRect = "{{0, 5908}, {775, 546}}"; }; }; 8E47218908318D7A001F89FA = { @@ -872,23 +874,23 @@ 8E47218A08318D7A001F89FA = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {782, 3878}}"; - sepNavSelRange = "{1734, 0}"; - sepNavVisRect = "{{0, 1386}, {775, 372}}"; + sepNavSelRange = "{1736, 0}"; + sepNavVisRect = "{{0, 1246}, {775, 546}}"; sepNavWindowFrame = "{{15, 61}, {1016, 680}}"; }; }; 8E47218B08318D7A001F89FA = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 372}}"; - sepNavSelRange = "{222, 0}"; + sepNavSelRange = "{206, 0}"; sepNavVisRect = "{{0, 0}, {775, 372}}"; }; }; 8E47218C08318D7A001F89FA = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {983, 952}}"; - sepNavSelRange = "{536, 0}"; - sepNavVisRect = "{{0, 300}, {983, 310}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 952}}"; + sepNavSelRange = "{951, 0}"; + sepNavVisRect = "{{0, 406}, {775, 546}}"; }; }; 8E4721AE08318F3E001F89FA = { @@ -958,7 +960,7 @@ rLen = 0; rLoc = 284; rType = 0; - vrLen = 518; + vrLen = 491; vrLoc = 507; }; 8E4721BA08318F3E001F89FA = { @@ -982,21 +984,21 @@ uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1340, 2156}}"; sepNavSelRange = "{1676, 0}"; - sepNavVisRect = "{{0, 756}, {775, 372}}"; + sepNavVisRect = "{{0, 630}, {775, 546}}"; }; }; 8E4721D4083192C2001F89FA = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 602}}"; - sepNavSelRange = "{488, 0}"; - sepNavVisRect = "{{0, 210}, {775, 372}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 714}}"; + sepNavSelRange = "{639, 0}"; + sepNavVisRect = "{{0, 0}, {775, 546}}"; }; }; 8E4721D5083192C2001F89FA = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {950, 3668}}"; - sepNavSelRange = "{3816, 0}"; - sepNavVisRect = "{{0, 1584}, {775, 372}}"; + sepNavIntBoundsRect = "{{0, 0}, {950, 4046}}"; + sepNavSelRange = "{2409, 0}"; + sepNavVisRect = "{{0, 1288}, {775, 546}}"; sepNavWindowFrame = "{{15, 61}, {1016, 680}}"; }; }; @@ -1030,16 +1032,53 @@ vrLen = 63; vrLoc = 0; }; - 8E5A90B7084CC25900AE6D62 = { - fRef = 8E5A90B0084CBC2F00AE6D62; + 8E4D66E90854CD2C00816BEE = { + fRef = 8E8BAE5108548BD500E9F14D; isa = PBXTextBookmark; - name = "Changelog: 3"; + name = "WavPackFile.h: 13"; rLen = 0; - rLoc = 131; + rLoc = 214; rType = 0; - vrLen = 131; + vrLen = 282; vrLoc = 0; }; + 8E4D66EA0854CD2C00816BEE = { + fRef = 8E8BAE5208548BD500E9F14D; + isa = PBXTextBookmark; + name = "WavPackFile.m: 41"; + rLen = 0; + rLoc = 735; + rType = 0; + vrLen = 526; + vrLoc = 392; + }; + 8E4D67210854D2E700816BEE = { + fRef = 8E8BAE5608548BE800E9F14D; + isa = PBXTextBookmark; + name = "ShnFile.m: 58"; + rLen = 0; + rLoc = 1136; + rType = 0; + vrLen = 637; + vrLoc = 598; + }; + 8E4D67D40854E7B100816BEE = { + fRef = 8E47218B08318D7A001F89FA; + isa = PBXTextBookmark; + name = "PlaylistView.h: 12"; + rLen = 0; + rLoc = 206; + rType = 0; + vrLen = 369; + vrLoc = 0; + }; + 8E5A90B0084CBC2F00AE6D62 = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {775, 546}}"; + sepNavSelRange = "{439, 0}"; + sepNavVisRect = "{{0, 0}, {775, 546}}"; + }; + }; 8E5A90B8084CC25900AE6D62 = { fRef = 8E2871090836934A0013CE39; isa = PBXTextBookmark; @@ -1055,7 +1094,7 @@ isa = PBXTextBookmark; name = "Changelog: 3"; rLen = 0; - rLoc = 131; + rLoc = 439; rType = 0; vrLen = 131; vrLoc = 0; @@ -1154,26 +1193,6 @@ vrLen = 65; vrLoc = 0; }; - 8E6F2A2708480D900011F126 = { - fRef = 8E267D090837F7A6004ACBC5; - isa = PBXTextBookmark; - name = "MacPADSocket.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 967; - vrLoc = 0; - }; - 8E72BC630851408F00E34F1D = { - fRef = 8E4721D208319294001F89FA; - isa = PBXTextBookmark; - name = "AppController.m: 65"; - rLen = 0; - rLoc = 1676; - rType = 0; - vrLen = 897; - vrLoc = 1378; - }; 8E72BC640851408F00E34F1D = { fRef = 8E47218908318D7A001F89FA; isa = PBXTextBookmark; @@ -1194,8 +1213,8 @@ 8E8BAE5208548BD500E9F14D = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 1120}}"; - sepNavSelRange = "{558, 0}"; - sepNavVisRect = "{{0, 367}, {775, 372}}"; + sepNavSelRange = "{735, 0}"; + sepNavVisRect = "{{0, 353}, {775, 372}}"; sepNavWindowFrame = "{{15, 60}, {1017, 681}}"; }; }; @@ -1209,8 +1228,8 @@ 8E8BAE5608548BE800E9F14D = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 1624}}"; - sepNavSelRange = "{1056, 0}"; - sepNavVisRect = "{{0, 520}, {775, 372}}"; + sepNavSelRange = "{1087, 0}"; + sepNavVisRect = "{{0, 507}, {775, 372}}"; }; }; 8E8BAEB208548C9600E9F14D = { @@ -1270,16 +1289,6 @@ vrLen = 199; vrLoc = 0; }; - 8E8BAF780854976A00E9F14D = { - fRef = 8E4721D5083192C2001F89FA; - isa = PBXTextBookmark; - name = "SoundController.m: 174"; - rLen = 0; - rLoc = 3816; - rType = 0; - vrLen = 764; - vrLoc = 2237; - }; 8E8BAF790854976A00E9F14D = { fRef = 8E47218508318D7A001F89FA; isa = PBXTextBookmark; @@ -1290,25 +1299,672 @@ vrLen = 811; vrLoc = 0; }; - 8E8BAF7A0854976A00E9F14D = { - fRef = 8E47218708318D7A001F89FA; - isa = PBXTextBookmark; - name = "- (NSArray *)acceptablePlaylistTypes;"; - rLen = 38; - rLoc = 1643; - rType = 0; - vrLen = 595; - vrLoc = 1271; - }; - 8E8BAF7C0854976A00E9F14D = { + 8E8F3ED00855401300BCF803 = { fRef = 8E45227B0832898A00F8BA7C; isa = PBXTextBookmark; - name = open; - rLen = 4; - rLoc = 18102; + name = "Sound.m: 345"; + rLen = 0; + rLoc = 10047; rType = 0; - vrLen = 517; - vrLoc = 17713; + 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; + name = "MacPADSocket.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1402; + vrLoc = 0; + }; + 8E8F3F21085543D700BCF803 = { + fRef = 8E267D0B0837F7A6004ACBC5; + isa = PBXTextBookmark; + name = "UpdateController.h: takeBoolFromObject:"; + rLen = 0; + rLoc = 998; + rType = 0; + vrLen = 902; + vrLoc = 142; + }; + 8E8F3F22085543D700BCF803 = { + fRef = 8E267D0C0837F7A6004ACBC5; + isa = PBXTextBookmark; + name = "UpdateController.m: 127"; + rLen = 0; + rLoc = 3155; + rType = 0; + vrLen = 1586; + vrLoc = 2232; + }; + 8E8F3F23085543D700BCF803 = { + fRef = 8E45227A0832898A00F8BA7C; + isa = PBXTextBookmark; + name = "Sound.h: kCogStatusUpdateMessage"; + rLen = 0; + rLoc = 767; + rType = 0; + 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; + name = "Sound.m: 252"; + rLen = 0; + rLoc = 7601; + rType = 0; + 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; + name = "PlaylistController.h: 43"; + rLen = 0; + rLoc = 990; + rType = 0; + 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; + name = "PlaylistView.m: 59"; + rLen = 0; + rLoc = 951; + rType = 0; + vrLen = 502; + vrLoc = 496; + }; + 8E8F3F790855483300BCF803 = { + fRef = 8E47218A08318D7A001F89FA; + isa = PBXTextBookmark; + name = "PlaylistEntry.m: 110"; + rLen = 0; + rLoc = 1736; + rType = 0; + 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}}"; + sepNavSelRange = "{105, 0}"; + sepNavVisRect = "{{0, 0}, {775, 546}}"; + }; + }; + 8E8F3FA408554B8000BCF803 = { + fRef = 8E47218808318D7A001F89FA; + isa = PBXTextBookmark; + name = "PlaylistController.m: setShuffle:"; + rLen = 0; + rLoc = 8585; + rType = 0; + 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; + name = "SoundController.m: 269"; + rLen = 0; + rLoc = 6158; + rType = 0; + 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; + name = "README: 2"; + rLen = 0; + rLoc = 105; + rType = 0; + 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; @@ -1368,16 +2024,6 @@ vrLen = 661; vrLoc = 2015; }; - 8E9E2E81084FA7E400599965 = { - fRef = 8E267D0B0837F7A6004ACBC5; - isa = PBXTextBookmark; - name = "UpdateController.h: takeBoolFromObject:"; - rLen = 0; - rLoc = 998; - rType = 0; - vrLen = 681; - vrLoc = 363; - }; 8EA0A215084CC43F008DFEC9 = { fRef = 8E2871080836934A0013CE39; isa = PBXTextBookmark; @@ -1388,26 +2034,6 @@ vrLen = 1043; vrLoc = 3793; }; - 8EA0A216084CC43F008DFEC9 = { - fRef = 8E4721D4083192C2001F89FA; - isa = PBXTextBookmark; - name = "SoundController.h: sendPort"; - rLen = 0; - rLoc = 488; - rType = 0; - vrLen = 671; - vrLoc = 367; - }; - 8EA0A21A084CC43F008DFEC9 = { - fRef = 8E47218B08318D7A001F89FA; - isa = PBXTextBookmark; - name = "PlaylistView.h: 13"; - rLen = 0; - rLoc = 222; - rType = 0; - vrLen = 369; - vrLoc = 0; - }; 8EB30D4F0854BDDD009EA87F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; @@ -1436,126 +2062,6 @@ vrLen = 532; vrLoc = 961; }; - 8EB30D8D0854BEF1009EA87F = { - fRef = 8E8BAE5208548BD500E9F14D; - isa = PBXTextBookmark; - name = "WavPackFile.m: 67"; - rLen = 0; - rLoc = 1169; - rType = 0; - vrLen = 447; - vrLoc = 918; - }; - 8EB30D8E0854BEF1009EA87F = { - fRef = 8E8BAE5508548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.h: 11"; - rLen = 0; - rLoc = 261; - rType = 0; - vrLen = 224; - vrLoc = 0; - }; - 8EB30D8F0854BEF1009EA87F = { - fRef = 8EF6FA6D082DA526006F7BE6; - isa = PBXTextBookmark; - name = "SoundFile.h: 42"; - rLen = 0; - rLoc = 859; - rType = 0; - vrLen = 670; - vrLoc = 461; - }; - 8EB30D900854BEF1009EA87F = { - fRef = 8E8BAE5608548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.m: 15"; - rLen = 0; - rLoc = 384; - rType = 0; - vrLen = 367; - vrLoc = 0; - }; - 8EB30D910854BEF1009EA87F = { - fRef = 8E8BAE5508548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.h: handle"; - rLen = 0; - rLoc = 401; - rType = 0; - vrLen = 242; - vrLoc = 0; - }; - 8EB30D920854BEF1009EA87F = { - fRef = 8E8BAE5608548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.m: 11"; - rLen = 0; - rLoc = 156; - rType = 0; - vrLen = 399; - vrLoc = 0; - }; - 8EB30D930854BEF1009EA87F = { - fRef = 8E8BAE5508548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.h: 12"; - rLen = 0; - rLoc = 260; - rType = 0; - vrLen = 270; - vrLoc = 0; - }; - 8EB30D940854BEF1009EA87F = { - fRef = 8E8BAE5608548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.m: 17"; - rLen = 0; - rLoc = 220; - rType = 0; - vrLen = 411; - vrLoc = 0; - }; - 8EB30D950854BEF1009EA87F = { - fRef = 8E8BAE5508548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.h: 12"; - rLen = 0; - rLoc = 233; - rType = 0; - vrLen = 294; - vrLoc = 0; - }; - 8EB30D960854BEF1009EA87F = { - fRef = 8E8BAE5608548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.m: 16"; - rLen = 0; - rLoc = 220; - rType = 0; - vrLen = 411; - vrLoc = 0; - }; - 8EB30D970854BEF1009EA87F = { - fRef = 8E8BAE5508548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.h: 12"; - rLen = 0; - rLoc = 233; - rType = 0; - vrLen = 294; - vrLoc = 0; - }; - 8EB30D980854BEF1009EA87F = { - fRef = 8E8BAE5608548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.m: 16"; - rLen = 0; - rLoc = 220; - rType = 0; - vrLen = 411; - vrLoc = 0; - }; 8EB30D990854BEF1009EA87F = { fRef = 8EB30D4F0854BDDD009EA87F; isa = PBXTextBookmark; @@ -1566,66 +2072,6 @@ vrLen = 532; vrLoc = 961; }; - 8EB30D9A0854BEF1009EA87F = { - fRef = 8E8BAE5608548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.m: 12"; - rLen = 0; - rLoc = 169; - rType = 0; - vrLen = 411; - vrLoc = 0; - }; - 8EB30D9B0854BEF1009EA87F = { - fRef = 8E8BAE5508548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.h: 12"; - rLen = 0; - rLoc = 209; - rType = 0; - vrLen = 322; - vrLoc = 0; - }; - 8EB30D9C0854BEF1009EA87F = { - fRef = 8E8BAE5608548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.m: 24"; - rLen = 0; - rLoc = 220; - rType = 0; - vrLen = 440; - vrLoc = 0; - }; - 8EB30D9D0854BEF1009EA87F = { - fRef = 8E8BAE5508548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.h: 12"; - rLen = 0; - rLoc = 209; - rType = 0; - vrLen = 322; - vrLoc = 0; - }; - 8EB30DAC0854BFEE009EA87F = { - fRef = 8E8BAE5208548BD500E9F14D; - isa = PBXTextBookmark; - name = "WavPackFile.m: 33"; - rLen = 0; - rLoc = 558; - rType = 0; - vrLen = 517; - vrLoc = 403; - }; - 8EB30DAD0854BFEE009EA87F = { - fRef = 8E8BAE5108548BD500E9F14D; - isa = PBXTextBookmark; - name = "WavPackFile.h: 13"; - rLen = 0; - rLoc = 214; - rType = 0; - vrLen = 282; - vrLoc = 0; - }; 8EB30DAE0854BFEE009EA87F = { fRef = 8EF6FA72082DA526006F7BE6; isa = PBXTextBookmark; @@ -1636,66 +2082,6 @@ vrLen = 418; vrLoc = 1717; }; - 8EB30DB00854BFEE009EA87F = { - fRef = 8E8BAE5608548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.m: 35"; - rLen = 0; - rLoc = 384; - rType = 0; - vrLen = 419; - vrLoc = 182; - }; - 8EB30DB10854BFEE009EA87F = { - fRef = 8E8BAE5508548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.h: buffer"; - rLen = 0; - rLoc = 401; - rType = 0; - vrLen = 356; - vrLoc = 0; - }; - 8EB30DB20854BFEE009EA87F = { - fRef = 8E8BAE5608548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.m: 35"; - rLen = 0; - rLoc = 220; - rType = 0; - vrLen = 500; - vrLoc = 218; - }; - 8EB30DB30854BFEE009EA87F = { - fRef = 8E8BAE5208548BD500E9F14D; - isa = PBXTextBookmark; - name = "WavPackFile.m: 33"; - rLen = 0; - rLoc = 558; - rType = 0; - vrLen = 517; - vrLoc = 403; - }; - 8EB30DB40854BFEE009EA87F = { - fRef = 8E8BAE5108548BD500E9F14D; - isa = PBXTextBookmark; - name = "WavPackFile.h: 13"; - rLen = 0; - rLoc = 214; - rType = 0; - vrLen = 282; - vrLoc = 0; - }; - 8EB30DB50854BFEE009EA87F = { - fRef = 8EF6FA72082DA526006F7BE6; - isa = PBXTextBookmark; - name = "WaveFile.m: close"; - rLen = 0; - rLoc = 2003; - rType = 0; - vrLen = 418; - vrLoc = 1717; - }; 8EB30DDB0854C261009EA87F = { fRef = 8EF6FA70082DA526006F7BE6; isa = PBXTextBookmark; @@ -1756,146 +2142,6 @@ vrLen = 792; vrLoc = 1708; }; - 8EB30DE20854C261009EA87F = { - fRef = 8E8BAE5608548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.m: 66"; - rLen = 0; - rLoc = 2030; - rType = 0; - vrLen = 650; - vrLoc = 246; - }; - 8EB30DE30854C261009EA87F = { - fRef = 8E8BAE5508548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.h: buffer"; - rLen = 0; - rLoc = 401; - rType = 0; - vrLen = 356; - vrLoc = 0; - }; - 8EB30DE40854C261009EA87F = { - fRef = 8E8BAE5608548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.m: 28"; - rLen = 0; - rLoc = 220; - rType = 0; - vrLen = 659; - vrLoc = 246; - }; - 8EB30DE50854C261009EA87F = { - fRef = 8E8BAE5508548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.h: buffer"; - rLen = 0; - rLoc = 401; - rType = 0; - vrLen = 356; - vrLoc = 0; - }; - 8EB30DE60854C261009EA87F = { - fRef = 8E8BAE5608548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.m: 62"; - rLen = 0; - rLoc = 1756; - rType = 0; - vrLen = 369; - vrLoc = 1103; - }; - 8EB30DE70854C261009EA87F = { - fRef = 8EF6FA70082DA526006F7BE6; - isa = PBXTextBookmark; - name = "VorbisFile.m: 50"; - rLen = 333; - rLoc = 868; - rType = 0; - vrLen = 593; - vrLoc = 657; - }; - 8EB30DE80854C261009EA87F = { - fRef = 8E8BAE5608548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.m: 64"; - rLen = 0; - rLoc = 1756; - rType = 0; - vrLen = 386; - vrLoc = 1101; - }; - 8EB30DE90854C261009EA87F = { - fRef = 8E8BAE5508548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.h: bufferSize"; - rLen = 0; - rLoc = 345; - rType = 0; - vrLen = 410; - vrLoc = 0; - }; - 8EB30DEA0854C261009EA87F = { - fRef = 8E8BAE5608548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.m: 67"; - rLen = 0; - rLoc = 1756; - rType = 0; - vrLen = 386; - vrLoc = 1101; - }; - 8EB30DEB0854C261009EA87F = { - fRef = 8EF6FA67082DA526006F7BE6; - isa = PBXTextBookmark; - name = "MonkeysFile.h: 15"; - rLen = 0; - rLoc = 267; - rType = 0; - vrLen = 308; - vrLoc = 0; - }; - 8EB30DEC0854C261009EA87F = { - fRef = 8EF6FA68082DA526006F7BE6; - isa = PBXTextBookmark; - name = "MonkeysFile.m: close"; - rLen = 0; - rLoc = 1738; - rType = 0; - vrLen = 475; - vrLoc = 1471; - }; - 8EB30DED0854C261009EA87F = { - fRef = 8EF6FA6C082DA526006F7BE6; - isa = PBXTextBookmark; - name = "MusepackFile.m: 115"; - rLen = 0; - rLoc = 2381; - rType = 0; - vrLen = 685; - vrLoc = 1881; - }; - 8EB30DEE0854C261009EA87F = { - fRef = 8E14E47A084CF1A200246BCC; - isa = PBXTextBookmark; - name = "AACFile.m: 76"; - rLen = 1694; - rLoc = 1761; - rType = 0; - vrLen = 792; - vrLoc = 1708; - }; - 8EB30E1E0854C36A009EA87F = { - fRef = 8E8BAE5608548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.m: 89"; - rLen = 0; - rLoc = 1729; - rType = 0; - vrLen = 446; - vrLoc = 1373; - }; 8EB30E1F0854C36A009EA87F = { fRef = 8EF6FA6A082DA526006F7BE6; isa = PBXTextBookmark; @@ -1916,66 +2162,6 @@ vrLen = 588; vrLoc = 1467; }; - 8EB30E210854C36A009EA87F = { - fRef = 8E8BAE5608548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.m: 89"; - rLen = 0; - rLoc = 1729; - rType = 0; - vrLen = 446; - vrLoc = 1373; - }; - 8EB30E220854C36A009EA87F = { - fRef = 8EF6FA6A082DA526006F7BE6; - isa = PBXTextBookmark; - name = "MPEGFile.m: 106"; - rLen = 0; - rLoc = 2304; - rType = 0; - vrLen = 386; - vrLoc = 1947; - }; - 8EB30E230854C36A009EA87F = { - fRef = 8EF6FA6E082DA526006F7BE6; - isa = PBXTextBookmark; - name = "SoundFile.m: 93"; - rLen = 0; - rLoc = 1985; - rType = 0; - vrLen = 588; - vrLoc = 1467; - }; - 8EB30E410854C6D6009EA87F = { - fRef = 8E47218808318D7A001F89FA; - isa = PBXTextBookmark; - name = "PlaylistController.m: 108"; - rLen = 0; - rLoc = 2243; - rType = 0; - vrLen = 486; - vrLoc = 2015; - }; - 8EB30E420854C6D6009EA87F = { - fRef = 8E47218808318D7A001F89FA; - isa = PBXTextBookmark; - name = "PlaylistController.m: 108"; - rLen = 0; - rLoc = 2243; - rType = 0; - vrLen = 486; - vrLoc = 2015; - }; - 8EB30E5F0854C90E009EA87F = { - fRef = 8E8BAE5608548BE800E9F14D; - isa = PBXTextBookmark; - name = "ShnFile.m: 55"; - rLen = 0; - rLoc = 1056; - rType = 0; - vrLen = 598; - vrLoc = 620; - }; 8EB77455082DA3EB005891CA = { activeArgIndex = 2147483647; activeArgIndices = ( @@ -2657,16 +2843,6 @@ indexTemplatePath = ""; isa = PBXCodeSenseManager; }; - 8EC156F4084FEB8900BB24E8 = { - fRef = 8E267D0C0837F7A6004ACBC5; - isa = PBXTextBookmark; - name = "UpdateController.m: 118"; - rLen = 0; - rLoc = 2945; - rType = 0; - vrLen = 1079; - vrLoc = 2359; - }; 8EC156F5084FEB8900BB24E8 = { fRef = 8E267D0A0837F7A6004ACBC5; isa = PBXTextBookmark; @@ -2687,16 +2863,6 @@ vrLen = 957; vrLoc = 6740; }; - 8EC18D9F084E3D8200AE0BA9 = { - fRef = 8E47218A08318D7A001F89FA; - isa = PBXTextBookmark; - name = "PlaylistEntry.m: 109"; - rLen = 0; - rLoc = 1734; - rType = 0; - vrLen = 244; - vrLoc = 1652; - }; 8EC18EB9084E57D500AE0BA9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; @@ -2794,16 +2960,6 @@ vrLen = 0; vrLoc = 0; }; - 8EDCBEF40840FA2200F5C7E3 = { - fRef = 8E47218C08318D7A001F89FA; - isa = PBXTextBookmark; - name = "PlaylistView.m: 61"; - rLen = 0; - rLoc = 1014; - rType = 0; - vrLen = 434; - vrLoc = 612; - }; 8EDE0CCC08369EB200EABFE4 = { fRef = 8E2871080836934A0013CE39; isa = PBXTextBookmark; @@ -2878,7 +3034,7 @@ fileReference = 8E4721D5083192C2001F89FA; functionName = "-handlePortMessage:"; isa = PBXFileBreakpoint; - lineNumber = 239; + lineNumber = 254; state = 2; }; 8EF1B97C083A49980095B236 = { @@ -3200,16 +3356,6 @@ vrLen = 309; vrLoc = 0; }; - 8EFC6DF3085380B800C67D06 = { - fRef = 8E45227A0832898A00F8BA7C; - isa = PBXTextBookmark; - name = current; - rLen = 7; - rLoc = 1056; - rType = 0; - vrLen = 629; - vrLoc = 780; - }; 8EFC6E29085386CE00C67D06 = { fRef = 8EF6FA65082DA526006F7BE6; isa = PBXTextBookmark; diff --git a/English.lproj/MainMenu.nib/classes.nib b/English.lproj/MainMenu.nib/classes.nib index 976e35619..8ffd93cfc 100644 --- a/English.lproj/MainMenu.nib/classes.nib +++ b/English.lproj/MainMenu.nib/classes.nib @@ -65,6 +65,8 @@ next = id; pause = id; pauseResume = id; + play = id; + playPauseResume = id; prev = id; resume = id; seek = id; @@ -76,6 +78,7 @@ bitrateField = NSTextField; lengthField = NSTextField; playlistController = PlaylistController; + playlistView = PlaylistView; positionSlider = TrackingSlider; timeField = NSTextField; }; diff --git a/English.lproj/MainMenu.nib/info.nib b/English.lproj/MainMenu.nib/info.nib index c6c863b06..bfbd2b8a6 100644 --- a/English.lproj/MainMenu.nib/info.nib +++ b/English.lproj/MainMenu.nib/info.nib @@ -7,14 +7,14 @@ IBEditorPositions 29 - 334 667 253 44 0 0 1024 746 + 243 676 346 44 0 0 1024 746 IBFramework Version 437.0 IBOpenObjects - 21 29 + 21 IBSystem Version 8B15 diff --git a/English.lproj/MainMenu.nib/keyedobjects.nib b/English.lproj/MainMenu.nib/keyedobjects.nib index eea101038..d3d2b09fa 100644 Binary files a/English.lproj/MainMenu.nib/keyedobjects.nib and b/English.lproj/MainMenu.nib/keyedobjects.nib differ diff --git a/Playlist/PlaylistView.m b/Playlist/PlaylistView.m index 2dfa29d72..89cf64d57 100644 --- a/Playlist/PlaylistView.m +++ b/Playlist/PlaylistView.m @@ -26,7 +26,7 @@ // DBLog(@"MOUSE DOWN"); if ([e type] == NSLeftMouseDown && [e clickCount] == 2) { - [soundController playEntryAtIndex:[self selectedRow]]; + [soundController play:self]; } else { @@ -56,7 +56,7 @@ } else if (c == NSEnterCharacter || c == NSCarriageReturnCharacter) { - [soundController playEntryAtIndex:[self selectedRow]]; + [soundController play:self]; } else { diff --git a/README b/README index ac9afa6d3..ed9519062 100644 --- a/README +++ b/README @@ -1,13 +1,31 @@ +------------------------------------------------------------------------------------ + NOTE ABOUT BUTTONS: + If you are under impression that the buttons are acting strange, +they actually may be acting as intended. The back button goes through +the history of the songs played, that is,it goes to the "previously played" +song, not just the one before it in the playlist. So, for example, if you +had shuffle mode on, and then turned it off, you could go back through the +songs played during shuffle mode. The forward button acts as expected, where +if shuffle is on, it will pick a random song, and if not it goes to the next +song in the playlist. + Please comment on, whether you like this behaviour or not! +------------------------------------------------------------------------------------ + Cog is released under the GPL. See COPYING for details. + The libraries folder contains various decoding and tagging libraries, which i have created Xcode projects for, and possibly modified to make compile on OS X. The various libraries are under each of their own licenses. - Please note that the source code may contain vulgar language as comments, -and in debugging messages. All Cog code is copywrited by me, and is licensed -under the GPL. + + Please note that vulgar language may be contained in the source code. It is rated +M for mature by the ESRB, the MPAA, and whatever else deems it unsuitable for virgin +ears. + + All Cog code is copywrited by me, and is licensed under the GPL. + If you would like the photoshop sources for the various icons and graphics, please send me an email, and I will be happy to get them to you. Share and enjoy. ---Vincent Spader (cog@badahol.net) +--Vincent Spader (vspader@users.sf.net) diff --git a/Sound.h b/Sound.h index a8c8309e5..020fec2ac 100644 --- a/Sound.h +++ b/Sound.h @@ -34,12 +34,13 @@ enum kCogBitrateUpdateMessage, kCogLengthUpdateMessage, kCogPositionUpdateMessage, - kCogFileChangedMessage + kCogFileChangedMessage, + kCogStatusUpdateMessage }; enum { - kCogStatusPaused, + kCogStatusPaused = 0, kCogStatusStopped, kCogStatusPlaying, kCogStatusEndOfFile, @@ -66,6 +67,7 @@ enum void *conversionBuffer; int playbackStatus; + int oldPlaybackStatus; //For resuming NSTimer *fillTimer; //used to wake up the filler thread //semaphore_t semaphore; //used to wake up the filler thread @@ -110,6 +112,8 @@ enum - (void)setThreadPolicy; +- (void)setPlaybackStatus:(int)s; + - (void)pause; - (void)resume; - (void)stop; diff --git a/Sound.m b/Sound.m index f22623f89..db3b09256 100644 --- a/Sound.m +++ b/Sound.m @@ -96,7 +96,8 @@ static OSStatus Sound_Renderer(void *inRefCon, AudioUnitRenderActionFlags *ioAc // DBLog(@"FILE CHANGED!!!!!"); [sound sendPortMessage:kCogFileChangedMessage]; sound->readRingBuffer = [sound oppositeBuffer:sound->readRingBuffer]; - sound->playbackStatus = kCogStatusPlaying; + + [sound setPlaybackStatus:kCogStatusPlaying]; sound->currentPosition = 0; @@ -108,7 +109,8 @@ static OSStatus Sound_Renderer(void *inRefCon, AudioUnitRenderActionFlags *ioAc if (sound->playbackStatus == kCogStatusEndOfPlaylist && amountAvailable == 0) { //Stop playback - sound->playbackStatus = kCogStatusPlaybackEnded; + [sound setPlaybackStatus:kCogStatusStopped]; +// return err; } if (amountAvailable < ([sound->readRingBuffer bufferLength] - BUFFER_WRITE_CHUNK)) @@ -181,7 +183,7 @@ static OSStatus Sound_Renderer(void *inRefCon, AudioUnitRenderActionFlags *ioAc [self setThreadPolicy]; [[NSRunLoop currentRunLoop] run]; - + DBLog(@"THREAD EXIT!!!!!!!!!!!"); [pool release]; } @@ -204,7 +206,7 @@ static OSStatus Sound_Renderer(void *inRefCon, AudioUnitRenderActionFlags *ioAc error = thread_policy_set(mach_thread_self(), THREAD_EXTENDED_POLICY, (thread_policy_t)&extendedPolicy, THREAD_EXTENDED_POLICY_COUNT); if (error != KERN_SUCCESS) { - DBLog(@"Couldn't set feeder thread's extended policy"); + DBLog(@"Couldnt set feeder thread's extended policy"); } precedencePolicy.importance = FEEDER_THREAD_IMPORTANCE; @@ -221,9 +223,12 @@ static OSStatus Sound_Renderer(void *inRefCon, AudioUnitRenderActionFlags *ioAc if (portMessage) { - NSDate *date = [[NSDate alloc] init]; + NSDate *date = [[NSDate alloc] initWithTimeIntervalSinceNow:20.0];//[[NSDate alloc] init]; [portMessage setMsgid:msgid]; + + DBLog(@"Sending message (nodata): %i", msgid); + [portMessage sendBeforeDate:date]; [date release]; @@ -243,14 +248,27 @@ static OSStatus Sound_Renderer(void *inRefCon, AudioUnitRenderActionFlags *ioAc if (portMessage) { - NSDate *date = [[NSDate alloc] init]; - + NSDate *date = [[NSDate alloc] initWithTimeIntervalSinceNow:20.0];//give shit a little time to send, just in case...may come back to bite me + if ([date laterDate:[NSDate date]] != date) + { + DBLog(@"WTF"); + } [portMessage setMsgid:msgid]; - [portMessage sendBeforeDate:date]; + DBLog(@"Sending message: %i", msgid); + NS_DURING + [portMessage sendBeforeDate:date]; + NS_HANDLER + NSRunAlertPanel(@"Error Panel", @"%@", @"OK", nil, nil, + localException); + NS_ENDHANDLER + [date release]; [portMessage release]; } + else { + DBLog(@"DIDNT SEND! ERROR"); + } } @@ -335,10 +353,21 @@ static OSStatus Sound_Renderer(void *inRefCon, AudioUnitRenderActionFlags *ioAc } else if (msgid == kCogEndOfPlaylistMessage) { - playbackStatus = kCogStatusEndOfPlaylist; + [self setPlaybackStatus:kCogStatusEndOfPlaylist]; } } +- (void)startPositionTimer +{ + positionTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(sendPositionUpdate:) userInfo:nil repeats:YES]; +} + +- (void)stopPositionTimer +{ + [positionTimer invalidate]; + positionTimer = nil; +} + - (void)scheduleFillTimer { fillTimer = [NSTimer scheduledTimerWithTimeInterval:TIMEOUT target:self selector:@selector(fillBuffer:) userInfo:nil repeats:NO]; @@ -360,8 +389,12 @@ static OSStatus Sound_Renderer(void *inRefCon, AudioUnitRenderActionFlags *ioAc int convertedSize; void *writePointer; - if (playbackStatus == kCogStatusPlaybackEnded) + if (playbackStatus == kCogStatusStopped) + { + DBLog(@"STOPPING"); [self stop]; + return; + } [writeLock lock]; @@ -384,7 +417,8 @@ static OSStatus Sound_Renderer(void *inRefCon, AudioUnitRenderActionFlags *ioAc // DBLog(@"NEXT!!!!"); [self sendPortMessage:kCogRequestNextFileMessage]; writeRingBuffer = [self oppositeBuffer:writeRingBuffer]; - playbackStatus = kCogStatusEndOfFile; + + [self setPlaybackStatus:kCogStatusEndOfFile]; } // writePointer = (char *)writePointer + convertedSize; @@ -588,48 +622,65 @@ static OSStatus Sound_Renderer(void *inRefCon, AudioUnitRenderActionFlags *ioAc [soundFile close]; } +- (void)setPlaybackStatus:(int)s +{ + playbackStatus = s; + DBLog(@"SENDING MESSAGE"); + [self sendPortMessage:kCogStatusUpdateMessage withData:&s ofSize:(sizeof(int))]; + DBLog(@"MESSAGE SENT"); +} + - (void)pause { [self stopAudioOutput]; - playbackStatus = kCogStatusPaused; - [positionTimer invalidate]; - positionTimer = nil; + oldPlaybackStatus = playbackStatus; + [self setPlaybackStatus:kCogStatusPaused]; + + [self stopPositionTimer]; } - (void)resume { + [self setPlaybackStatus:oldPlaybackStatus]; + [self startAudioOutput]; - playbackStatus = kCogStatusPlaying; - positionTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(sendPositionUpdate:) userInfo:nil repeats:YES]; + [self startPositionTimer]; } - (void)stop { -// DBLog(@"STOPPING"); + DBLog(@"STOPPING 2"); [self stopAudioOutput]; + DBLog(@"Audio output stopped"); [self resetBuffer]; - playbackStatus = kCogStatusStopped; + DBLog(@"BUFFERS RESET"); + + [self setPlaybackStatus:kCogStatusStopped]; // DBLog(@"HERE? PORT CONFLICT...FUCK"); unsigned long pos = 0; + DBLog(@"STOPPED 0"); [self sendPortMessage:kCogPositionUpdateMessage withData:&pos ofSize:(sizeof(unsigned long))]; // DBLog(@"THIS IS UBER SHITE: %@", positionTimer); - [positionTimer invalidate]; - positionTimer = nil; -// DBLog(@"INVALIDATED"); + DBLog(@"STOPPED 1"); + + [self stopPositionTimer]; + + // DBLog(@"INVALIDATED"); + DBLog(@"STOPPED 2"); } - (void)playFile:(NSString *)filename { [self stop]; -// DBLog(@"PLAYING FILE"); + DBLog(@"PLAYING FILE"); [self setSoundFile:filename]; -// DBLog(@"DONT LIKE THIS, HUH?"); + DBLog(@"DONT LIKE THIS, HUH?"); [readLock lock]; unsigned long length = totalLength; @@ -641,13 +692,18 @@ static OSStatus Sound_Renderer(void *inRefCon, AudioUnitRenderActionFlags *ioAc [self sendPortMessage:kCogLengthUpdateMessage withData:&time ofSize:(sizeof(double))]; [self sendPortMessage:kCogBitrateUpdateMessage withData:&bitrate ofSize:(sizeof(int))]; - [self resume]; + [self setPlaybackStatus:kCogStatusPlaying]; + [self fillBuffer:self]; + [self startAudioOutput]; + + [self startPositionTimer]; } - (void)changeFile:(NSString *)filename { [self setSoundFile:filename]; + [self fireFillTimer]; } - (void)resetBuffer @@ -677,7 +733,6 @@ static OSStatus Sound_Renderer(void *inRefCon, AudioUnitRenderActionFlags *ioAc // DBLog(@"File opened: %s", [filename UTF8String]); [self prepareSoundFile]; - [self fireFillTimer]; } diff --git a/SoundController.h b/SoundController.h index 613477899..d38a1a9e5 100644 --- a/SoundController.h +++ b/SoundController.h @@ -6,9 +6,13 @@ #import "PlaylistController.h" #import "TrackingSlider.h" +@class PlaylistView; + @interface SoundController : NSObject { IBOutlet PlaylistController *playlistController; + IBOutlet PlaylistView *playlistView; + IBOutlet TrackingSlider *positionSlider; IBOutlet NSTextField *timeField; IBOutlet NSTextField *lengthField; @@ -16,13 +20,17 @@ BOOL waitingForPlay; //No sneaky changing on us Sound *sound; + int playbackStatus; + //For communication with the sound NSPort *sendPort; NSPort *distantPort; } +- (IBAction)playPauseResume:(id)sender; - (IBAction)pauseResume:(id)sender; +- (IBAction)play:(id)sender; - (IBAction)pause:(id)sender; - (IBAction)resume:(id)sender; - (IBAction)stop:(id)sender; diff --git a/SoundController.m b/SoundController.m index 511ea1035..83ba84410 100644 --- a/SoundController.m +++ b/SoundController.m @@ -1,5 +1,6 @@ #import "SoundController.h" #import "Sound.h" +#import "PlaylistView.h" #import "DBLog.h" @@ -13,6 +14,7 @@ if (self) { sound = [[Sound alloc] init]; + playbackStatus = kCogStatusStopped; } return self; @@ -41,6 +43,14 @@ } +- (IBAction)playPauseResume:(id)sender +{ + if (playbackStatus == kCogStatusStopped) + [self play:self]; + else + [self pauseResume:self]; +} + - (IBAction)pauseResume:(id)sender { // DBLog(@"Pause/Resume Sent!"); @@ -79,6 +89,10 @@ [self playEntry:pe]; } +- (IBAction)play:(id)sender +{ + [self playEntryAtIndex:[playlistView selectedRow]]; +} - (void)playEntry:(PlaylistEntry *)pe; { @@ -176,11 +190,12 @@ { unsigned int message = [portMessage msgid]; -// DBLog(@"SOUNDCONTROLLER RECEIVED MESSAGE"); + DBLog(@"GOT SOME KINDA WONDERFUL: %i %i", message, kCogStatusUpdateMessage); + if (message == kCogCheckinMessage) { // Get the worker threadÕs communications port. -// DBLog(@"CHECKIN RECEIVED"); + DBLog(@"CHECKIN RECEIVED"); distantPort = [portMessage sendPort]; // Retain and save the worker port for later use. @@ -237,7 +252,7 @@ // DBLog(@"Length changed: %f", max); // [lengthField setDoubleValue:max/1000.0]; } - else if (message = kCogPositionUpdateMessage) + else if (message == kCogPositionUpdateMessage) { NSArray* components = [portMessage components]; NSData *data = [components objectAtIndex:0]; @@ -256,6 +271,18 @@ text = [NSString stringWithFormat:@"%i:%02i", sec/60, sec%60]; [timeField setStringValue:text]; } + else if (message == kCogStatusUpdateMessage) + { + DBLog(@"MESSAGE?"); + NSArray* components = [portMessage components]; + NSData *data = [components objectAtIndex:0]; + + int s; + s = (*(int *)[data bytes]); + + playbackStatus = s; + DBLog(@"STATUS UPDATE: %i", s); + } } @end diff --git a/SoundFile/ShnFile.m b/SoundFile/ShnFile.m index eb5b52bdb..e2ccd3683 100644 --- a/SoundFile/ShnFile.m +++ b/SoundFile/ShnFile.m @@ -51,11 +51,9 @@ unsigned int length; length = shn_get_song_length(handle); totalSize = (((double)(length)*frequency)/1000.0) * channels * (bitsPerSample/8); - DBLog(@"TOTAL SIZE: %i", totalSize); - DBLog(@"LENGTH: %i %lf %i %i", length, ((double)length)*frequency, (int)((length*frequency)/1000.0), channels); bitRate = (int)((double)totalSize/((double)length/1000.0)); - + DBLog(@"Bitrate; %i", bitRate); return YES; }