From 074df8a833cf6e6b7fcc5edb46cbf05e36d61445 Mon Sep 17 00:00:00 2001 From: vspader Date: Mon, 6 Jun 2005 17:47:29 +0000 Subject: [PATCH] Shorten and Wavpack support added --- Cog.xcode/project.pbxproj | 102 +- Cog.xcode/xugg.mode1 | 138 ++- Cog.xcode/xugg.pbxuser | 1692 +++++++++++++++++++++++++++++---- Playlist/PlaylistController.m | 2 +- README | 7 +- Sound.m | 4 +- SoundFile/MPEGFile.m | 2 +- SoundFile/ShnFile.h | 24 + SoundFile/ShnFile.m | 113 +++ SoundFile/SoundFile.m | 14 +- SoundFile/VorbisFile.m | 2 +- SoundFile/WavPackFile.h | 18 + SoundFile/WavPackFile.m | 79 ++ 13 files changed, 1938 insertions(+), 259 deletions(-) create mode 100644 SoundFile/ShnFile.h create mode 100644 SoundFile/ShnFile.m create mode 100644 SoundFile/WavPackFile.h create mode 100644 SoundFile/WavPackFile.m diff --git a/Cog.xcode/project.pbxproj b/Cog.xcode/project.pbxproj index b4b78bff8..81340c29f 100644 --- a/Cog.xcode/project.pbxproj +++ b/Cog.xcode/project.pbxproj @@ -56,6 +56,8 @@ //104 1058C7A0FEA54F0111CA2CBB = { children = ( + 8E8BAE9C08548C6300E9F14D, + 8E8BAE9808548C5500E9F14D, 8E14E468084CF15C00246BCC, 8E5A9031084CB48500AE6D62, 8E81BC31083673ED0025A375, @@ -326,7 +328,7 @@ buildRules = ( ); buildSettings = { - FRAMEWORK_SEARCH_PATHS = "/Users/xugg/Projects/Cog/Libraries/DecMPA/build /Users/xugg/Projects/Cog/Libraries/FLAC/build /Users/xugg/Projects/Cog/Libraries/MAC/build /Users/xugg/Projects/Cog/Libraries/MPCDec/build /Users/xugg/Projects/Cog/Libraries/Ogg/build /Users/xugg/Projects/Cog/Libraries/SndFile/build /Users/xugg/Projects/Cog/Libraries/Vorbis/build /Users/xugg/Projects/Cog/Libraries/MetaTag/build /Users/xugg/Projects/Cog/Libraries/TagLib/build /Users/xugg/Projects/Cog/Libraries/FAAD2/build"; + FRAMEWORK_SEARCH_PATHS = "/Users/xugg/Projects/Cog/Libraries/DecMPA/build /Users/xugg/Projects/Cog/Libraries/FLAC/build /Users/xugg/Projects/Cog/Libraries/MAC/build /Users/xugg/Projects/Cog/Libraries/MPCDec/build /Users/xugg/Projects/Cog/Libraries/Ogg/build /Users/xugg/Projects/Cog/Libraries/SndFile/build /Users/xugg/Projects/Cog/Libraries/Vorbis/build /Users/xugg/Projects/Cog/Libraries/MetaTag/build /Users/xugg/Projects/Cog/Libraries/TagLib/build /Users/xugg/Projects/Cog/Libraries/FAAD2/build /Users/xugg/Projects/Cog/Libraries/Shorten/build /Users/xugg/Projects/Cog/Libraries/WavPack/build"; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_OPTIMIZATION_LEVEL = 3; GCC_PRECOMPILE_PREFIX_HEADER = YES; @@ -336,7 +338,7 @@ HEADER_SEARCH_PATHS = MAC; INFOPLIST_FILE = Info.plist; INSTALL_PATH = "$(HOME)/Applications"; - OTHER_CFLAGS = "-D__MACOSX__"; + OTHER_CFLAGS = "-D__MACOSX__ -DHAVE_CONFIG_H"; OTHER_LDFLAGS = "-Wl,-read_only_relocs,warning"; PRODUCT_NAME = Cog; WRAPPER_EXTENSION = app; @@ -424,6 +426,8 @@ 8E652A02083D93EB00A7AF1B, 8E0EBF0F084BA776003A6E64, 8E14E47C084CF1A200246BCC, + 8E8BAE5408548BD500E9F14D, + 8E8BAE5808548BE800E9F14D, ); isa = PBXSourcesBuildPhase; runOnlyForDeploymentPostprocessing = 0; @@ -451,6 +455,8 @@ 8E81BC34083673ED0025A375, 8E5A9032084CB48500AE6D62, 8E14E469084CF15C00246BCC, + 8E8BAE9908548C5500E9F14D, + 8E8BAE9D08548C6300E9F14D, ); isa = PBXFrameworksBuildPhase; runOnlyForDeploymentPostprocessing = 0; @@ -1009,6 +1015,90 @@ settings = { }; }; + 8E8BAE5108548BD500E9F14D = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + path = WavPackFile.h; + refType = 4; + sourceTree = ""; + }; + 8E8BAE5208548BD500E9F14D = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.objc; + path = WavPackFile.m; + refType = 4; + sourceTree = ""; + }; + 8E8BAE5408548BD500E9F14D = { + fileRef = 8E8BAE5208548BD500E9F14D; + isa = PBXBuildFile; + settings = { + }; + }; + 8E8BAE5508548BE800E9F14D = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + path = ShnFile.h; + refType = 4; + sourceTree = ""; + }; + 8E8BAE5608548BE800E9F14D = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.objc; + path = ShnFile.m; + refType = 4; + sourceTree = ""; + }; + 8E8BAE5808548BE800E9F14D = { + fileRef = 8E8BAE5608548BE800E9F14D; + isa = PBXBuildFile; + settings = { + }; + }; + 8E8BAE9808548C5500E9F14D = { + isa = PBXFileReference; + lastKnownFileType = wrapper.framework; + name = Shorten.framework; + path = Libraries/Shorten/build/Shorten.framework; + refType = 4; + sourceTree = ""; + }; + 8E8BAE9908548C5500E9F14D = { + fileRef = 8E8BAE9808548C5500E9F14D; + isa = PBXBuildFile; + settings = { + }; + }; + 8E8BAE9C08548C6300E9F14D = { + isa = PBXFileReference; + lastKnownFileType = wrapper.framework; + name = WavPack.framework; + path = Libraries/WavPack/build/WavPack.framework; + refType = 4; + sourceTree = ""; + }; + 8E8BAE9D08548C6300E9F14D = { + fileRef = 8E8BAE9C08548C6300E9F14D; + isa = PBXBuildFile; + settings = { + }; + }; + 8E8BAEA508548C8200E9F14D = { + fileRef = 8E8BAE9C08548C6300E9F14D; + isa = PBXBuildFile; + settings = { + }; + }; + 8E8BAEA608548C8200E9F14D = { + fileRef = 8E8BAE9808548C5500E9F14D; + isa = PBXBuildFile; + settings = { + }; + }; 8EAB85FC0846889B000A9CEC = { isa = PBXFileReference; lastKnownFileType = image.png; @@ -1475,6 +1565,10 @@ 8EF6FA70082DA526006F7BE6, 8EF6FA71082DA526006F7BE6, 8EF6FA72082DA526006F7BE6, + 8E8BAE5108548BD500E9F14D, + 8E8BAE5208548BD500E9F14D, + 8E8BAE5508548BE800E9F14D, + 8E8BAE5608548BE800E9F14D, 8EF6FA6D082DA526006F7BE6, 8EF6FA6E082DA526006F7BE6, ); @@ -1556,9 +1650,9 @@ sourceTree = ""; }; 8EF6FA6E082DA526006F7BE6 = { + explicitFileType = sourcecode.c.objc; fileEncoding = 30; isa = PBXFileReference; - lastKnownFileType = sourcecode.c.objc; path = SoundFile.m; refType = 4; sourceTree = ""; @@ -1642,6 +1736,8 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( + 8E8BAEA508548C8200E9F14D, + 8E8BAEA608548C8200E9F14D, 8E14E472084CF16400246BCC, 8E5A908D084CB92D00AE6D62, 8EFFB6D0083302A500C53833, diff --git a/Cog.xcode/xugg.mode1 b/Cog.xcode/xugg.mode1 index 2b8c469d3..db39832a6 100644 --- a/Cog.xcode/xugg.mode1 +++ b/Cog.xcode/xugg.mode1 @@ -254,14 +254,13 @@ PBXSmartGroupTreeModuleOutlineStateExpansionKey 29B97314FDCFA39411CA2CEA - 1C37FBAC04509CD000000102 + 080E96DDFE201D6D7F000001 1C37FABC05509CD000000102 PBXSmartGroupTreeModuleOutlineStateSelectionKey - 7 - 6 + 0 PBXSmartGroupTreeModuleOutlineStateVisibleRectKey @@ -314,7 +313,7 @@ _historyCapacity 0 bookmark - 8EA0943E0854080700EBC193 + 8EB30E240854C36A009EA87F history 8EF6FACD082DAA2B006F7BE6 @@ -323,13 +322,11 @@ 8E267DDB0837FE5F004ACBC5 8E1A1826083806B700AEA302 8E6082C7083920310017AECF - 8E25B5E5083CDD4A0064353E 8E652A33083E1A7900A7AF1B 8E652A34083E1A7900A7AF1B 8E652A35083E1A7900A7AF1B 8E652A36083E1A7900A7AF1B 8EDCBEF40840FA2200F5C7E3 - 8EC8FBD20842932A00DF2C98 8EDC88A90842F8DE007D1532 8EDC88B50842F936007D1532 8ED833CD08457E6B0033CDBD @@ -338,14 +335,12 @@ 8E10DC02084BBE490013815C 8E94D9D2084BEA32007F0AEB 8E94D9D3084BEA32007F0AEB - 8E5A8EA4084CB19900AE6D62 8E5A90B7084CC25900AE6D62 8E5A90B8084CC25900AE6D62 8EA0A215084CC43F008DFEC9 8EA0A216084CC43F008DFEC9 8EA0A21A084CC43F008DFEC9 8E14E4A5084D089100246BCC - 8E74C916084D451C00DF47F3 8EC18D9F084E3D8200AE0BA9 8E9E2E81084FA7E400599965 8EC156F4084FEB8900BB24E8 @@ -356,25 +351,36 @@ 8EE2A5B908511A1800367489 8E72BC630851408F00E34F1D 8E72BC640851408F00E34F1D - 8E72BC650851408F00E34F1D 8EFC6D18085376D100C67D06 8EFC6DE7085380B800C67D06 8EFC6DE8085380B800C67D06 - 8EFC6DEA085380B800C67D06 - 8EFC6DEB085380B800C67D06 - 8EFC6DEC085380B800C67D06 - 8EFC6DED085380B800C67D06 - 8EFC6DEE085380B800C67D06 - 8EFC6DEF085380B800C67D06 8EFC6DF0085380B800C67D06 - 8EFC6DF1085380B800C67D06 - 8EFC6DF2085380B800C67D06 8EFC6DF3085380B800C67D06 - 8EFC6DF4085380B800C67D06 8EFC6E29085386CE00C67D06 - 8EFC6E2A085386CE00C67D06 - 8EA094320853FC4600EBC193 - 8EA0942E0853FC4200EBC193 + 8E3EDBC9085477D0007C6A53 + 8E3EDBCF085477D0007C6A53 + 8E3EDBD1085477D0007C6A53 + 8E8BAF10085494E000E9F14D + 8E8BAF780854976A00E9F14D + 8E8BAF790854976A00E9F14D + 8E8BAF7A0854976A00E9F14D + 8E8BAF7C0854976A00E9F14D + 8E91CCEE08549FEE0055EC68 + 8EB30D890854BEF1009EA87F + 8EB30D8A0854BEF1009EA87F + 8EB30DAC0854BFEE009EA87F + 8EB30DAD0854BFEE009EA87F + 8EB30DAE0854BFEE009EA87F + 8EB30DDB0854C261009EA87F + 8EB30DDC0854C261009EA87F + 8EB30DDD0854C261009EA87F + 8EB30DDE0854C261009EA87F + 8EB30DDF0854C261009EA87F + 8EB30DE00854C261009EA87F + 8EB30E1E0854C36A009EA87F + 8EB30E1F0854C36A009EA87F + 8EB30E200854C36A009EA87F + 8E8BAF7B0854976A00E9F14D prevStack @@ -436,7 +442,51 @@ 8E14E4B5084D089100246BCC 8EC18EBD084E57D500AE0BA9 8EC156F9084FEB8900BB24E8 - 8EA094330853FC4600EBC193 + 8E3EDBE0085477D0007C6A53 + 8E3EDBE4085477D0007C6A53 + 8E8BAEB208548C9600E9F14D + 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 SplitCount @@ -494,9 +544,9 @@ TableOfContents - 8EA094280853F7B900EBC193 + 8EB30D9F0854BEF1009EA87F 1CE0B1FE06471DED0097A5F4 - 8EA094290853F7B900EBC193 + 8EB30DA00854BEF1009EA87F 1CE0B20306471E060097A5F4 1CE0B20506471E060097A5F4 @@ -631,7 +681,7 @@ WindowOrderList 1C0AD2B3069F1EA900FABCE6 - 1C530D57069F1CE1000CFCEE + 8EF6FAA6082DA951006F7BE6 /Users/xugg/Projects/Cog/Cog.xcode WindowString @@ -651,12 +701,14 @@ Dock + BecomeActive + ContentConfiguration PBXProjectModuleGUID 1CD0528F0623707200166675 PBXProjectModuleLabel - AACFile.m + ShnFile.m StatusBarVisibility @@ -673,12 +725,8 @@ 342pt - BecomeActive - ContentConfiguration - PBXBuildLogShowsTranscriptDefaultKey - {{0, 82}, {1024, 154}} PBXProjectModuleGUID XCMainBuildResultsModuleGUID PBXProjectModuleLabel @@ -716,7 +764,7 @@ TableOfContents 8EF6FAA6082DA951006F7BE6 - 8EFC6CE5085372F200C67D06 + 8EB30D540854BDDD009EA87F 1CD0528F0623707200166675 XCMainBuildResultsModuleGUID @@ -758,8 +806,8 @@ yes sizes - {{0, 0}, {245, 210}} - {{245, 0}, {779, 210}} + {{0, 0}, {225, 206}} + {{225, 0}, {799, 206}} VerticalSplitView @@ -774,8 +822,8 @@ yes sizes - {{0, 0}, {1024, 210}} - {{0, 210}, {1024, 374}} + {{0, 0}, {1024, 206}} + {{0, 206}, {1024, 378}} @@ -822,14 +870,14 @@ TableOfContents 1CD10A99069EF8BA00B06720 - 8EC7DA61084E64C200A079A7 + 8E91CD450854A4BF0055EC68 1C162984064C10D400B95A72 - 8EC7DA62084E64C200A079A7 - 8EC7DA63084E64C200A079A7 - 8EC7DA64084E64C200A079A7 - 8EC7DA65084E64C200A079A7 - 8EC7DA66084E64C200A079A7 - 8EC7DA67084E64C200A079A7 + 8E91CD460854A4BF0055EC68 + 8E91CD470854A4BF0055EC68 + 8E91CD480854A4BF0055EC68 + 8E91CD490854A4BF0055EC68 + 8E91CD4A0854A4BF0055EC68 + 8E91CD4B0854A4BF0055EC68 ToolbarConfiguration xcode.toolbar.config.debug @@ -983,7 +1031,7 @@ TableOfContents 8E7A9371083675B600771E14 - 8EC7DA68084E64C200A079A7 + 8E91CD4C0854A4BF0055EC68 1C78EAAC065D492600B07095 WindowString @@ -1078,9 +1126,9 @@ TableOfContents 1C0AD2B3069F1EA900FABCE6 - 8EA094380853FDEB00EBC193 + 8EB30D820854BEA3009EA87F 1CD0528B0623707200166675 - 8EA094390853FDEB00EBC193 + 8EB30D830854BEA3009EA87F ToolbarConfiguration xcode.toolbar.config.run diff --git a/Cog.xcode/xugg.pbxuser b/Cog.xcode/xugg.pbxuser index 2ec331a76..58c03aa02 100644 --- a/Cog.xcode/xugg.pbxuser +++ b/Cog.xcode/xugg.pbxuser @@ -19,12 +19,27 @@ 8EF1B97C083A49980095B236, 8EEFDF8808410C00008BB533, 8EDC87BA0842F2A4007D1532, + 8E8BAEFB08548F8600E9F14D, ); codeSenseManager = 8EB77467082DA402005891CA; executables = ( 8EB77455082DA3EB005891CA, ); perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXBookmarksDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXBookmarksDataSource_NameID; + PBXFileTableDataSourceColumnWidthsKey = ( + 200, + 200, + 386.5835, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXBookmarksDataSource_LocationID, + PBXBookmarksDataSource_NameID, + PBXBookmarksDataSource_CommentsID, + ); + }; PBXConfiguration.PBXFileTableDataSource3.PBXExecutablesDataSource = { PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; PBXFileTableDataSourceColumnSortingKey = PBXExecutablesDataSource_NameID; @@ -95,8 +110,8 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 139720622; - PBXWorkspaceStateSaveDate = 139720622; + PBXPerProjectTemplateStateSaveDate = 139770478; + PBXWorkspaceStateSaveDate = 139770478; }; perUserProjectItems = { 8E0EBF58084BAA56003A6E64 = 8E0EBF58084BAA56003A6E64; @@ -110,7 +125,6 @@ 8E14E4B5084D089100246BCC = 8E14E4B5084D089100246BCC; 8E1A1826083806B700AEA302 = 8E1A1826083806B700AEA302; 8E1A182C083806B700AEA302 = 8E1A182C083806B700AEA302; - 8E25B5E5083CDD4A0064353E = 8E25B5E5083CDD4A0064353E; 8E267D8C0837F963004ACBC5 = 8E267D8C0837F963004ACBC5; 8E267D8D0837F963004ACBC5 = 8E267D8D0837F963004ACBC5; 8E267D900837F963004ACBC5 = 8E267D900837F963004ACBC5; @@ -125,6 +139,11 @@ 8E287164083695080013CE39 = 8E287164083695080013CE39; 8E297910083D892800F2C55A = 8E297910083D892800F2C55A; 8E2BC83D0850F56200BEAC36 = 8E2BC83D0850F56200BEAC36; + 8E3EDBC9085477D0007C6A53 = 8E3EDBC9085477D0007C6A53; + 8E3EDBCF085477D0007C6A53 = 8E3EDBCF085477D0007C6A53; + 8E3EDBD1085477D0007C6A53 = 8E3EDBD1085477D0007C6A53; + 8E3EDBE0085477D0007C6A53 = 8E3EDBE0085477D0007C6A53; + 8E3EDBE4085477D0007C6A53 = 8E3EDBE4085477D0007C6A53; 8E4521C408327F4C00F8BA7C = 8E4521C408327F4C00F8BA7C; 8E4522A608329C9B00F8BA7C = 8E4522A608329C9B00F8BA7C; 8E4522AF08329C9B00F8BA7C = 8E4522AF08329C9B00F8BA7C; @@ -139,7 +158,6 @@ 8E4721E008319EFC001F89FA = 8E4721E008319EFC001F89FA; 8E4721E108319EFC001F89FA = 8E4721E108319EFC001F89FA; 8E4721E508319EFC001F89FA = 8E4721E508319EFC001F89FA; - 8E5A8EA4084CB19900AE6D62 = 8E5A8EA4084CB19900AE6D62; 8E5A90B7084CC25900AE6D62 = 8E5A90B7084CC25900AE6D62; 8E5A90B8084CC25900AE6D62 = 8E5A90B8084CC25900AE6D62; 8E5A90BB084CC25900AE6D62 = 8E5A90BB084CC25900AE6D62; @@ -154,26 +172,136 @@ 8E6F2A2708480D900011F126 = 8E6F2A2708480D900011F126; 8E72BC630851408F00E34F1D = 8E72BC630851408F00E34F1D; 8E72BC640851408F00E34F1D = 8E72BC640851408F00E34F1D; - 8E72BC650851408F00E34F1D = 8E72BC650851408F00E34F1D; 8E74C916084D451C00DF47F3 = 8E74C916084D451C00DF47F3; + 8E8BAEAB08548C9600E9F14D = 8E8BAEAB08548C9600E9F14D; + 8E8BAEB208548C9600E9F14D = 8E8BAEB208548C9600E9F14D; + 8E8BAEB308548C9600E9F14D = 8E8BAEB308548C9600E9F14D; + 8E8BAEB708548C9600E9F14D = 8E8BAEB708548C9600E9F14D; + 8E8BAF10085494E000E9F14D = 8E8BAF10085494E000E9F14D; + 8E8BAF11085494E000E9F14D = 8E8BAF11085494E000E9F14D; + 8E8BAF17085494E000E9F14D = 8E8BAF17085494E000E9F14D; + 8E8BAF780854976A00E9F14D = 8E8BAF780854976A00E9F14D; + 8E8BAF790854976A00E9F14D = 8E8BAF790854976A00E9F14D; + 8E8BAF7A0854976A00E9F14D = 8E8BAF7A0854976A00E9F14D; + 8E8BAF7B0854976A00E9F14D = 8E8BAF7B0854976A00E9F14D; + 8E8BAF7C0854976A00E9F14D = 8E8BAF7C0854976A00E9F14D; + 8E91CCD508549E760055EC68 = 8E91CCD508549E760055EC68; + 8E91CCED08549FEE0055EC68 = 8E91CCED08549FEE0055EC68; + 8E91CCEE08549FEE0055EC68 = 8E91CCEE08549FEE0055EC68; + 8E91CCEF08549FEE0055EC68 = 8E91CCEF08549FEE0055EC68; + 8E91CD790854A65B0055EC68 = 8E91CD790854A65B0055EC68; + 8E91CD7B0854A65B0055EC68 = 8E91CD7B0854A65B0055EC68; 8E94D9D2084BEA32007F0AEB = 8E94D9D2084BEA32007F0AEB; 8E94D9D3084BEA32007F0AEB = 8E94D9D3084BEA32007F0AEB; 8E9BF08B082FB9DD00B26943 = 8E9BF08B082FB9DD00B26943; 8E9BF100082FEF6B00B26943 = 8E9BF100082FEF6B00B26943; 8E9E2E81084FA7E400599965 = 8E9E2E81084FA7E400599965; - 8EA0942E0853FC4200EBC193 = 8EA0942E0853FC4200EBC193; - 8EA094320853FC4600EBC193 = 8EA094320853FC4600EBC193; - 8EA094330853FC4600EBC193 = 8EA094330853FC4600EBC193; - 8EA0943E0854080700EBC193 = 8EA0943E0854080700EBC193; 8EA0A215084CC43F008DFEC9 = 8EA0A215084CC43F008DFEC9; 8EA0A216084CC43F008DFEC9 = 8EA0A216084CC43F008DFEC9; 8EA0A21A084CC43F008DFEC9 = 8EA0A21A084CC43F008DFEC9; + 8EB30D4A0854BDDD009EA87F = 8EB30D4A0854BDDD009EA87F; + 8EB30D4C0854BDDD009EA87F = 8EB30D4C0854BDDD009EA87F; + 8EB30D4E0854BDDD009EA87F = 8EB30D4E0854BDDD009EA87F; + 8EB30D500854BDDD009EA87F = 8EB30D500854BDDD009EA87F; + 8EB30D520854BDDD009EA87F = 8EB30D520854BDDD009EA87F; + 8EB30D5D0854BE47009EA87F = 8EB30D5D0854BE47009EA87F; + 8EB30D5E0854BE47009EA87F = 8EB30D5E0854BE47009EA87F; + 8EB30D5F0854BE47009EA87F = 8EB30D5F0854BE47009EA87F; + 8EB30D600854BE47009EA87F = 8EB30D600854BE47009EA87F; + 8EB30D610854BE47009EA87F = 8EB30D610854BE47009EA87F; + 8EB30D620854BE47009EA87F = 8EB30D620854BE47009EA87F; + 8EB30D630854BE47009EA87F = 8EB30D630854BE47009EA87F; + 8EB30D700854BE81009EA87F = 8EB30D700854BE81009EA87F; + 8EB30D710854BE81009EA87F = 8EB30D710854BE81009EA87F; + 8EB30D7B0854BE96009EA87F = 8EB30D7B0854BE96009EA87F; + 8EB30D7C0854BE96009EA87F = 8EB30D7C0854BE96009EA87F; + 8EB30D7D0854BE96009EA87F = 8EB30D7D0854BE96009EA87F; + 8EB30D7E0854BE96009EA87F = 8EB30D7E0854BE96009EA87F; + 8EB30D810854BEA3009EA87F = 8EB30D810854BEA3009EA87F; + 8EB30D880854BEF1009EA87F = 8EB30D880854BEF1009EA87F; + 8EB30D890854BEF1009EA87F = 8EB30D890854BEF1009EA87F; + 8EB30D8A0854BEF1009EA87F = 8EB30D8A0854BEF1009EA87F; + 8EB30D8B0854BEF1009EA87F = 8EB30D8B0854BEF1009EA87F; + 8EB30D8C0854BEF1009EA87F = 8EB30D8C0854BEF1009EA87F; + 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; + 8EB30D9E0854BEF1009EA87F = 8EB30D9E0854BEF1009EA87F; + 8EB30DAB0854BFEE009EA87F = 8EB30DAB0854BFEE009EA87F; + 8EB30DAC0854BFEE009EA87F = 8EB30DAC0854BFEE009EA87F; + 8EB30DAD0854BFEE009EA87F = 8EB30DAD0854BFEE009EA87F; + 8EB30DAE0854BFEE009EA87F = 8EB30DAE0854BFEE009EA87F; + 8EB30DAF0854BFEE009EA87F = 8EB30DAF0854BFEE009EA87F; + 8EB30DB00854BFEE009EA87F = 8EB30DB00854BFEE009EA87F; + 8EB30DB10854BFEE009EA87F = 8EB30DB10854BFEE009EA87F; + 8EB30DB20854BFEE009EA87F = 8EB30DB20854BFEE009EA87F; + 8EB30DB30854BFEE009EA87F = 8EB30DB30854BFEE009EA87F; + 8EB30DB40854BFEE009EA87F = 8EB30DB40854BFEE009EA87F; + 8EB30DB50854BFEE009EA87F = 8EB30DB50854BFEE009EA87F; + 8EB30DB60854BFEE009EA87F = 8EB30DB60854BFEE009EA87F; + 8EB30DC10854C05F009EA87F = 8EB30DC10854C05F009EA87F; + 8EB30DC20854C05F009EA87F = 8EB30DC20854C05F009EA87F; + 8EB30DD90854C260009EA87F = 8EB30DD90854C260009EA87F; + 8EB30DDA0854C260009EA87F = 8EB30DDA0854C260009EA87F; + 8EB30DDB0854C261009EA87F = 8EB30DDB0854C261009EA87F; + 8EB30DDC0854C261009EA87F = 8EB30DDC0854C261009EA87F; + 8EB30DDD0854C261009EA87F = 8EB30DDD0854C261009EA87F; + 8EB30DDE0854C261009EA87F = 8EB30DDE0854C261009EA87F; + 8EB30DDF0854C261009EA87F = 8EB30DDF0854C261009EA87F; + 8EB30DE00854C261009EA87F = 8EB30DE00854C261009EA87F; + 8EB30DE10854C261009EA87F = 8EB30DE10854C261009EA87F; + 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; + 8EB30DEF0854C261009EA87F = 8EB30DEF0854C261009EA87F; + 8EB30DF20854C2F2009EA87F = 8EB30DF20854C2F2009EA87F; + 8EB30DF90854C361009EA87F = 8EB30DF90854C361009EA87F; + 8EB30E1E0854C36A009EA87F = 8EB30E1E0854C36A009EA87F; + 8EB30E1F0854C36A009EA87F = 8EB30E1F0854C36A009EA87F; + 8EB30E200854C36A009EA87F = 8EB30E200854C36A009EA87F; + 8EB30E210854C36A009EA87F = 8EB30E210854C36A009EA87F; + 8EB30E220854C36A009EA87F = 8EB30E220854C36A009EA87F; + 8EB30E230854C36A009EA87F = 8EB30E230854C36A009EA87F; + 8EB30E240854C36A009EA87F = 8EB30E240854C36A009EA87F; + 8EBA27AB0854ABFD00977A4A = 8EBA27AB0854ABFD00977A4A; + 8EBA27AC0854ABFD00977A4A = 8EBA27AC0854ABFD00977A4A; + 8EBA27AD0854ABFD00977A4A = 8EBA27AD0854ABFD00977A4A; + 8EBA27AE0854ABFD00977A4A = 8EBA27AE0854ABFD00977A4A; + 8EBA27AF0854ABFD00977A4A = 8EBA27AF0854ABFD00977A4A; + 8EBA27B00854ABFD00977A4A = 8EBA27B00854ABFD00977A4A; + 8EBA27B10854ABFD00977A4A = 8EBA27B10854ABFD00977A4A; + 8EBA27B20854ABFD00977A4A = 8EBA27B20854ABFD00977A4A; + 8EBA27B30854ABFD00977A4A = 8EBA27B30854ABFD00977A4A; + 8EBA27B70854ABFD00977A4A = 8EBA27B70854ABFD00977A4A; 8EC156F4084FEB8900BB24E8 = 8EC156F4084FEB8900BB24E8; 8EC156F5084FEB8900BB24E8 = 8EC156F5084FEB8900BB24E8; 8EC156F9084FEB8900BB24E8 = 8EC156F9084FEB8900BB24E8; 8EC18D9F084E3D8200AE0BA9 = 8EC18D9F084E3D8200AE0BA9; 8EC18EBD084E57D500AE0BA9 = 8EC18EBD084E57D500AE0BA9; - 8EC8FBD20842932A00DF2C98 = 8EC8FBD20842932A00DF2C98; 8ED833CD08457E6B0033CDBD = 8ED833CD08457E6B0033CDBD; 8EDC88A90842F8DE007D1532 = 8EDC88A90842F8DE007D1532; 8EDC88B50842F936007D1532 = 8EDC88B50842F936007D1532; @@ -204,19 +332,11 @@ 8EFC6D18085376D100C67D06 = 8EFC6D18085376D100C67D06; 8EFC6DE7085380B800C67D06 = 8EFC6DE7085380B800C67D06; 8EFC6DE8085380B800C67D06 = 8EFC6DE8085380B800C67D06; - 8EFC6DEA085380B800C67D06 = 8EFC6DEA085380B800C67D06; - 8EFC6DEB085380B800C67D06 = 8EFC6DEB085380B800C67D06; 8EFC6DEC085380B800C67D06 = 8EFC6DEC085380B800C67D06; - 8EFC6DED085380B800C67D06 = 8EFC6DED085380B800C67D06; - 8EFC6DEE085380B800C67D06 = 8EFC6DEE085380B800C67D06; - 8EFC6DEF085380B800C67D06 = 8EFC6DEF085380B800C67D06; 8EFC6DF0085380B800C67D06 = 8EFC6DF0085380B800C67D06; 8EFC6DF1085380B800C67D06 = 8EFC6DF1085380B800C67D06; - 8EFC6DF2085380B800C67D06 = 8EFC6DF2085380B800C67D06; 8EFC6DF3085380B800C67D06 = 8EFC6DF3085380B800C67D06; - 8EFC6DF4085380B800C67D06 = 8EFC6DF4085380B800C67D06; 8EFC6E29085386CE00C67D06 = 8EFC6E29085386CE00C67D06; - 8EFC6E2A085386CE00C67D06 = 8EFC6E2A085386CE00C67D06; }; sourceControlManager = 8EB77466082DA402005891CA; userBuildSettings = { @@ -325,8 +445,8 @@ 8E14E47A084CF1A200246BCC = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 2464}}"; - sepNavSelRange = "{3860, 0}"; - sepNavVisRect = "{{0, 2047}, {775, 372}}"; + sepNavSelRange = "{1761, 1694}"; + sepNavVisRect = "{{0, 1020}, {775, 372}}"; }; }; 8E14E4A5084D089100246BCC = { @@ -405,16 +525,6 @@ refType = 0; sourceTree = ""; }; - 8E25B5E5083CDD4A0064353E = { - fRef = 8E47218508318D7A001F89FA; - isa = PBXTextBookmark; - name = "DNDArrayController.h: 23"; - rLen = 0; - rLoc = 811; - rType = 0; - vrLen = 811; - vrLoc = 0; - }; 8E267D040837F7A6004ACBC5 = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 547}}"; @@ -649,6 +759,88 @@ refType = 0; sourceTree = ""; }; + 8E3EDBC9085477D0007C6A53 = { + fRef = 8E14E479084CF1A200246BCC; + isa = PBXTextBookmark; + name = "AACFile.h: 13"; + rLen = 0; + rLoc = 206; + rType = 0; + vrLen = 428; + vrLoc = 132; + }; + 8E3EDBCF085477D0007C6A53 = { + fRef = 8E3EDBD0085477D0007C6A53; + isa = PBXTextBookmark; + name = "(null): 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 818; + vrLoc = 0; + }; + 8E3EDBD0085477D0007C6A53 = { + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = decode.h; + path = /Users/xugg/Desktop/inputSHORTEN/shorten/include/decode.h; + refType = 0; + sourceTree = ""; + }; + 8E3EDBD1085477D0007C6A53 = { + fRef = 8E3EDBD2085477D0007C6A53; + isa = PBXTextBookmark; + name = "(null): 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 936; + vrLoc = 4618; + }; + 8E3EDBD2085477D0007C6A53 = { + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.c; + name = libinputshorten.c; + path = /Users/xugg/Desktop/inputSHORTEN/src/libinputshorten.c; + refType = 0; + sourceTree = ""; + }; + 8E3EDBE0085477D0007C6A53 = { + fRef = 8E3EDBE1085477D0007C6A53; + isa = PBXTextBookmark; + name = "(null): 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 818; + vrLoc = 0; + }; + 8E3EDBE1085477D0007C6A53 = { + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = decode.h; + path = /Users/xugg/Desktop/inputSHORTEN/shorten/include/decode.h; + refType = 0; + sourceTree = ""; + }; + 8E3EDBE4085477D0007C6A53 = { + fRef = 8E3EDBE5085477D0007C6A53; + isa = PBXTextBookmark; + name = "(null): 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 936; + vrLoc = 4618; + }; + 8E3EDBE5085477D0007C6A53 = { + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.c; + name = libinputshorten.c; + path = /Users/xugg/Desktop/inputSHORTEN/src/libinputshorten.c; + refType = 0; + sourceTree = ""; + }; 8E4521C408327F4C00F8BA7C = { fRef = 8E4721D5083192C2001F89FA; isa = PBXTextBookmark; @@ -669,9 +861,9 @@ }; 8E45227B0832898A00F8BA7C = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1208, 9562}}"; - sepNavSelRange = "{9218, 0}"; - sepNavVisRect = "{{0, 4329}, {775, 372}}"; + sepNavIntBoundsRect = "{{0, 0}, {1208, 9590}}"; + sepNavSelRange = "{18102, 4}"; + sepNavVisRect = "{{0, 9208}, {775, 372}}"; sepNavWindowFrame = "{{15, 66}, {702, 680}}"; }; }; @@ -690,16 +882,16 @@ isa = PBXTextBookmark; name = "Sound.m: 15"; rLen = 0; - rLoc = 18163; + rLoc = 18230; rType = 0; vrLen = 182; vrLoc = 0; }; 8E47218508318D7A001F89FA = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {962, 547}}"; + sepNavIntBoundsRect = "{{0, 0}, {962, 372}}"; sepNavSelRange = "{811, 0}"; - sepNavVisRect = "{{0, 0}, {775, 547}}"; + sepNavVisRect = "{{0, 0}, {775, 372}}"; }; }; 8E47218608318D7A001F89FA = { @@ -718,9 +910,9 @@ }; 8E47218808318D7A001F89FA = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {818, 7154}}"; - sepNavSelRange = "{5312, 0}"; - sepNavVisRect = "{{0, 3193}, {775, 372}}"; + sepNavIntBoundsRect = "{{0, 0}, {896, 7154}}"; + sepNavSelRange = "{142, 0}"; + sepNavVisRect = "{{0, 0}, {775, 372}}"; }; }; 8E47218908318D7A001F89FA = { @@ -856,8 +1048,8 @@ 8E4721D5083192C2001F89FA = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {950, 3668}}"; - sepNavSelRange = "{4513, 0}"; - sepNavVisRect = "{{0, 2276}, {775, 372}}"; + sepNavSelRange = "{3816, 0}"; + sepNavVisRect = "{{0, 1584}, {775, 372}}"; sepNavWindowFrame = "{{15, 61}, {1016, 680}}"; }; }; @@ -891,16 +1083,6 @@ vrLen = 63; vrLoc = 0; }; - 8E5A8EA4084CB19900AE6D62 = { - fRef = 8E4721D5083192C2001F89FA; - isa = PBXTextBookmark; - name = "SoundController.m: 204"; - rLen = 0; - rLoc = 4513; - rType = 0; - vrLen = 767; - vrLoc = 3530; - }; 8E5A90B7084CC25900AE6D62 = { fRef = 8E5A90B0084CBC2F00AE6D62; isa = PBXTextBookmark; @@ -1055,7 +1237,143 @@ vrLen = 410; vrLoc = 266; }; - 8E72BC650851408F00E34F1D = { + 8E74C916084D451C00DF47F3 = { + fRef = 8EF6FA67082DA526006F7BE6; + isa = PBXTextBookmark; + name = "MonkeysFile.h: 15"; + rLen = 0; + rLoc = 267; + rType = 0; + vrLen = 308; + vrLoc = 0; + }; + 8E8BAE5108548BD500E9F14D = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {775, 372}}"; + sepNavSelRange = "{214, 0}"; + sepNavVisRect = "{{0, 0}, {775, 372}}"; + }; + }; + 8E8BAE5208548BD500E9F14D = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {775, 1120}}"; + sepNavSelRange = "{558, 0}"; + sepNavVisRect = "{{0, 367}, {775, 372}}"; + sepNavWindowFrame = "{{15, 60}, {1017, 681}}"; + }; + }; + 8E8BAE5508548BE800E9F14D = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {775, 372}}"; + sepNavSelRange = "{345, 0}"; + sepNavVisRect = "{{0, 0}, {775, 372}}"; + }; + }; + 8E8BAE5608548BE800E9F14D = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {775, 1596}}"; + sepNavSelRange = "{1696, 0}"; + sepNavVisRect = "{{0, 983}, {775, 372}}"; + }; + }; + 8E8BAEAB08548C9600E9F14D = { + fRef = 8EF6FA70082DA526006F7BE6; + isa = PBXTextBookmark; + name = "VorbisFile.m: 52"; + rLen = 0; + rLoc = 901; + rType = 0; + vrLen = 593; + vrLoc = 657; + }; + 8E8BAEB208548C9600E9F14D = { + fRef = 8E8BAE5108548BD500E9F14D; + isa = PBXTextBookmark; + name = "WavPackFile.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 210; + vrLoc = 0; + }; + 8E8BAEB308548C9600E9F14D = { + fRef = 8E8BAE5508548BE800E9F14D; + isa = PBXTextBookmark; + name = "ShnFile.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 202; + vrLoc = 0; + }; + 8E8BAEB708548C9600E9F14D = { + fRef = 8E8BAE5608548BE800E9F14D; + isa = PBXTextBookmark; + name = "ShnFile.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 187; + vrLoc = 0; + }; + 8E8BAEFB08548F8600E9F14D = { + fileReference = 8E8BAE5208548BD500E9F14D; + functionName = "-open:"; + isa = PBXFileBreakpoint; + lineNumber = 27; + state = 1; + }; + 8E8BAF10085494E000E9F14D = { + fRef = 8EF6FA66082DA526006F7BE6; + isa = PBXTextBookmark; + name = "FlacFile.m: 166"; + rLen = 0; + rLoc = 4219; + rType = 0; + vrLen = 367; + vrLoc = 3928; + }; + 8E8BAF11085494E000E9F14D = { + fRef = 8E14E47A084CF1A200246BCC; + isa = PBXTextBookmark; + name = "- (double)seekToTime:(double)milliseconds"; + rLen = 42; + rLoc = 3459; + rType = 0; + vrLen = 438; + vrLoc = 3131; + }; + 8E8BAF17085494E000E9F14D = { + fRef = 8E8BAE5208548BD500E9F14D; + isa = PBXTextBookmark; + name = "WavPackFile.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + 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; + name = "DNDArrayController.h: 23"; + rLen = 0; + rLoc = 811; + rType = 0; + vrLen = 811; + vrLoc = 0; + }; + 8E8BAF7A0854976A00E9F14D = { fRef = 8E47218708318D7A001F89FA; isa = PBXTextBookmark; name = "- (NSArray *)acceptablePlaylistTypes;"; @@ -1065,14 +1383,84 @@ vrLen = 595; vrLoc = 1271; }; - 8E74C916084D451C00DF47F3 = { - fRef = 8EF6FA67082DA526006F7BE6; + 8E8BAF7B0854976A00E9F14D = { + fRef = 8E47218808318D7A001F89FA; isa = PBXTextBookmark; - name = "MonkeysFile.h: 15"; + name = "PlaylistController.m: 22"; rLen = 0; - rLoc = 267; + rLoc = 430; rType = 0; - vrLen = 308; + vrLen = 713; + vrLoc = 0; + }; + 8E8BAF7C0854976A00E9F14D = { + fRef = 8E45227B0832898A00F8BA7C; + isa = PBXTextBookmark; + name = open; + rLen = 4; + rLoc = 18102; + rType = 0; + vrLen = 517; + vrLoc = 17713; + }; + 8E91CCD508549E760055EC68 = { + fRef = 8EF6FA6D082DA526006F7BE6; + isa = PBXTextBookmark; + name = "SoundFile.h: 42"; + rLen = 0; + rLoc = 859; + rType = 0; + vrLen = 670; + vrLoc = 461; + }; + 8E91CCED08549FEE0055EC68 = { + fRef = 8EF6FA6A082DA526006F7BE6; + isa = PBXTextBookmark; + name = "MPEGFile.m: 106"; + rLen = 0; + rLoc = 2304; + rType = 0; + vrLen = 386; + vrLoc = 1947; + }; + 8E91CCEE08549FEE0055EC68 = { + fRef = 8EF6FA6F082DA526006F7BE6; + isa = PBXTextBookmark; + name = "VorbisFile.h: 14"; + rLen = 0; + rLoc = 276; + rType = 0; + vrLen = 365; + vrLoc = 0; + }; + 8E91CCEF08549FEE0055EC68 = { + fRef = 8EF6FA6C082DA526006F7BE6; + isa = PBXTextBookmark; + name = CFSwapInt16LittleToHost; + rLen = 23; + rLoc = 2471; + rType = 0; + vrLen = 738; + vrLoc = 1881; + }; + 8E91CD790854A65B0055EC68 = { + fRef = 8E8BAE5508548BE800E9F14D; + isa = PBXTextBookmark; + name = "ShnFile.h: 11"; + rLen = 0; + rLoc = 261; + rType = 0; + vrLen = 224; + vrLoc = 0; + }; + 8E91CD7B0854A65B0055EC68 = { + fRef = 8E8BAE5608548BE800E9F14D; + isa = PBXTextBookmark; + name = "ShnFile.m: open:"; + rLen = 0; + rLoc = 182; + rType = 0; + vrLen = 367; vrLoc = 0; }; 8E94D9D2084BEA32007F0AEB = { @@ -1133,43 +1521,6 @@ vrLen = 681; vrLoc = 363; }; - 8EA0942E0853FC4200EBC193 = { - fRef = 8E47218808318D7A001F89FA; - isa = PBXTextBookmark; - rLen = 16; - rLoc = 4628; - rType = 0; - }; - 8EA094320853FC4600EBC193 = { - fRef = 8E14E479084CF1A200246BCC; - isa = PBXTextBookmark; - name = "AACFile.h: 13"; - rLen = 0; - rLoc = 206; - rType = 0; - vrLen = 428; - vrLoc = 132; - }; - 8EA094330853FC4600EBC193 = { - fRef = 8E14E479084CF1A200246BCC; - isa = PBXTextBookmark; - name = "AACFile.h: 13"; - rLen = 0; - rLoc = 206; - rType = 0; - vrLen = 428; - vrLoc = 132; - }; - 8EA0943E0854080700EBC193 = { - fRef = 8E47218808318D7A001F89FA; - isa = PBXTextBookmark; - name = "PlaylistController.m: 245"; - rLen = 0; - rLoc = 5312; - rType = 0; - vrLen = 486; - vrLoc = 4941; - }; 8EA0A215084CC43F008DFEC9 = { fRef = 8E2871080836934A0013CE39; isa = PBXTextBookmark; @@ -1200,6 +1551,916 @@ vrLen = 369; vrLoc = 0; }; + 8EB30D4A0854BDDD009EA87F = { + fRef = 8EB30D4B0854BDDD009EA87F; + isa = PBXTextBookmark; + name = "extern __const char *__const sys_errlist[];"; + rLen = 44; + rLoc = 10155; + rType = 0; + vrLen = 941; + vrLoc = 9646; + }; + 8EB30D4B0854BDDD009EA87F = { + isa = PBXFileReference; + name = stdio.h; + path = /usr/include/stdio.h; + refType = 0; + sourceTree = ""; + }; + 8EB30D4C0854BDDD009EA87F = { + comments = "error: conflicting types for 'sys_errlist'"; + fRef = 8EB30D4D0854BDDD009EA87F; + isa = PBXTextBookmark; + rLen = 1; + rLoc = 39; + rType = 1; + }; + 8EB30D4D0854BDDD009EA87F = { + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = shn.h; + path = /Users/xugg/Projects/Cog/Libraries/Shorten/build/Shorten.framework/Headers/shn.h; + refType = 0; + sourceTree = ""; + }; + 8EB30D4E0854BDDD009EA87F = { + fRef = 8EB30D4F0854BDDD009EA87F; + isa = PBXTextBookmark; + name = "extern char *sys_errlist[];"; + rLen = 28; + rLoc = 1156; + rType = 0; + vrLen = 417; + vrLoc = 983; + }; + 8EB30D4F0854BDDD009EA87F = { + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = shn.h; + path = /Users/xugg/Projects/Cog/Libraries/Shorten/build/Shorten.framework/Versions/A/Headers/shn.h; + refType = 0; + sourceTree = ""; + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {983, 3990}}"; + sepNavSelRange = "{4843, 17}"; + sepNavVisRect = "{{0, 1784}, {983, 310}}"; + }; + }; + 8EB30D500854BDDD009EA87F = { + fRef = 8EB30D510854BDDD009EA87F; + isa = PBXTextBookmark; + name = "extern __const char *__const sys_errlist[];"; + rLen = 44; + rLoc = 10155; + rType = 0; + vrLen = 941; + vrLoc = 9646; + }; + 8EB30D510854BDDD009EA87F = { + isa = PBXFileReference; + name = stdio.h; + path = /usr/include/stdio.h; + refType = 0; + sourceTree = ""; + }; + 8EB30D520854BDDD009EA87F = { + fRef = 8EB30D530854BDDD009EA87F; + isa = PBXTextBookmark; + name = HAVE_CONFIG_H; + rLen = 13; + rLoc = 1092; + rType = 0; + vrLen = 417; + vrLoc = 983; + }; + 8EB30D530854BDDD009EA87F = { + isa = PBXFileReference; + name = shn.h; + path = /Users/xugg/Projects/Cog/Libraries/Shorten/build/Shorten.framework/Versions/A/Headers/shn.h; + refType = 0; + sourceTree = ""; + }; + 8EB30D5D0854BE47009EA87F = { + fRef = 8EF6FA6C082DA526006F7BE6; + isa = PBXTextBookmark; + name = "if (mpc_streaminfo_read(&info, &reader) != ERROR_CODE_OK)"; + rLen = 62; + rLoc = 1529; + rType = 0; + vrLen = 521; + vrLoc = 1342; + }; + 8EB30D5E0854BE47009EA87F = { + fRef = 8EF6FA6E082DA526006F7BE6; + isa = PBXTextBookmark; + name = "soundFile = [[MonkeysFile alloc] init];"; + rLen = 42; + rLoc = 1534; + rType = 0; + vrLen = 607; + vrLoc = 1126; + }; + 8EB30D5F0854BE47009EA87F = { + comments = "error: parse error before \"uchar\""; + fRef = 8EB30D4F0854BDDD009EA87F; + isa = PBXTextBookmark; + rLen = 1; + rLoc = 138; + rType = 1; + }; + 8EB30D600854BE47009EA87F = { + fRef = 8EB30D4F0854BDDD009EA87F; + isa = PBXTextBookmark; + name = HAVE_CONFIG_H; + rLen = 13; + rLoc = 1092; + rType = 0; + vrLen = 417; + vrLoc = 983; + }; + 8EB30D610854BE47009EA87F = { + fRef = 8EF6FA6C082DA526006F7BE6; + isa = PBXTextBookmark; + name = "if (mpc_streaminfo_read(&info, &reader) != ERROR_CODE_OK)"; + rLen = 62; + rLoc = 1529; + rType = 0; + vrLen = 521; + vrLoc = 1342; + }; + 8EB30D620854BE47009EA87F = { + fRef = 8EF6FA6E082DA526006F7BE6; + isa = PBXTextBookmark; + name = "soundFile = [[MonkeysFile alloc] init];"; + rLen = 42; + rLoc = 1534; + rType = 0; + vrLen = 607; + vrLoc = 1126; + }; + 8EB30D630854BE47009EA87F = { + fRef = 8EB30D4F0854BDDD009EA87F; + isa = PBXTextBookmark; + name = "shn.h: CD_RATE"; + rLen = 0; + rLoc = 3602; + rType = 0; + vrLen = 1035; + vrLoc = 3546; + }; + 8EB30D700854BE81009EA87F = { + comments = "error: parse error before \"gbuffer\""; + fRef = 8EB30D4F0854BDDD009EA87F; + isa = PBXTextBookmark; + rLen = 1; + rLoc = 142; + rType = 1; + }; + 8EB30D710854BE81009EA87F = { + fRef = 8EB30D4F0854BDDD009EA87F; + isa = PBXTextBookmark; + name = "ulong gbuffer;"; + rLen = 17; + rLoc = 4843; + rType = 0; + vrLen = 391; + vrLoc = 4579; + }; + 8EB30D7B0854BE96009EA87F = { + fRef = 8EB30D4F0854BDDD009EA87F; + isa = PBXTextBookmark; + name = "ulong gbuffer;"; + rLen = 17; + rLoc = 4843; + rType = 0; + vrLen = 391; + vrLoc = 4579; + }; + 8EB30D7C0854BE96009EA87F = { + comments = "error: 'ERROR_OUTPUT_DEVNUL' undeclared (first use in this function)"; + fRef = 8E8BAE5608548BE800E9F14D; + isa = PBXTextBookmark; + rLen = 0; + rLoc = 15; + rType = 1; + }; + 8EB30D7D0854BE96009EA87F = { + fRef = 8EB30D4F0854BDDD009EA87F; + isa = PBXTextBookmark; + name = "ulong gbuffer;"; + rLen = 17; + rLoc = 4843; + rType = 0; + vrLen = 391; + vrLoc = 4579; + }; + 8EB30D7E0854BE96009EA87F = { + fRef = 8E8BAE5608548BE800E9F14D; + isa = PBXTextBookmark; + name = "ShnFile.m: 17"; + rLen = 0; + rLoc = 220; + rType = 0; + vrLen = 367; + vrLoc = 0; + }; + 8EB30D810854BEA3009EA87F = { + fRef = 8E8BAE5608548BE800E9F14D; + isa = PBXTextBookmark; + name = "ShnFile.m: 17"; + rLen = 0; + rLoc = 220; + rType = 0; + vrLen = 367; + vrLoc = 0; + }; + 8EB30D880854BEF1009EA87F = { + fRef = 8E8BAE5208548BD500E9F14D; + isa = PBXTextBookmark; + name = "WavPackFile.m: 67"; + rLen = 0; + rLoc = 1169; + rType = 0; + vrLen = 447; + vrLoc = 918; + }; + 8EB30D890854BEF1009EA87F = { + fRef = 8EF6FA6D082DA526006F7BE6; + isa = PBXTextBookmark; + name = "SoundFile.h: 42"; + rLen = 0; + rLoc = 859; + rType = 0; + vrLen = 670; + vrLoc = 461; + }; + 8EB30D8A0854BEF1009EA87F = { + fRef = 8EB30D4F0854BDDD009EA87F; + isa = PBXTextBookmark; + name = "shn.h: sys_errlist"; + rLen = 0; + rLoc = 1183; + rType = 0; + vrLen = 532; + vrLoc = 961; + }; + 8EB30D8B0854BEF1009EA87F = { + fRef = 8E8BAE5508548BE800E9F14D; + isa = PBXTextBookmark; + name = "ShnFile.h: 12"; + rLen = 0; + rLoc = 209; + rType = 0; + vrLen = 322; + vrLoc = 0; + }; + 8EB30D8C0854BEF1009EA87F = { + fRef = 8E8BAE5608548BE800E9F14D; + isa = PBXTextBookmark; + name = "ShnFile.m: 24"; + rLen = 0; + rLoc = 220; + rType = 0; + vrLen = 440; + vrLoc = 0; + }; + 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; + name = "shn.h: sys_errlist"; + rLen = 0; + rLoc = 1183; + rType = 0; + 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; + }; + 8EB30D9E0854BEF1009EA87F = { + fRef = 8E8BAE5608548BE800E9F14D; + isa = PBXTextBookmark; + name = "ShnFile.m: 28"; + rLen = 0; + rLoc = 384; + rType = 0; + vrLen = 397; + vrLoc = 182; + }; + 8EB30DAB0854BFEE009EA87F = { + fRef = 8E8BAE5508548BE800E9F14D; + isa = PBXTextBookmark; + name = "ShnFile.h: buffer"; + rLen = 0; + rLoc = 401; + rType = 0; + vrLen = 356; + 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; + name = "WaveFile.m: close"; + rLen = 0; + rLoc = 2003; + rType = 0; + vrLen = 418; + vrLoc = 1717; + }; + 8EB30DAF0854BFEE009EA87F = { + fRef = 8E8BAE5608548BE800E9F14D; + isa = PBXTextBookmark; + name = "ShnFile.m: 35"; + rLen = 0; + rLoc = 220; + rType = 0; + vrLen = 500; + vrLoc = 218; + }; + 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; + }; + 8EB30DB60854BFEE009EA87F = { + fRef = 8E8BAE5608548BE800E9F14D; + isa = PBXTextBookmark; + name = "ShnFile.m: 33"; + rLen = 0; + rLoc = 220; + rType = 0; + vrLen = 560; + vrLoc = 218; + }; + 8EB30DC10854C05F009EA87F = { + comments = "error: 'blockSize' undeclared (first use in this function)"; + fRef = 8E8BAE5608548BE800E9F14D; + isa = PBXTextBookmark; + rLen = 1; + rLoc = 21; + rType = 1; + }; + 8EB30DC20854C05F009EA87F = { + fRef = 8E8BAE5608548BE800E9F14D; + isa = PBXTextBookmark; + name = "ShnFile.m: 41"; + rLen = 0; + rLoc = 297; + rType = 0; + vrLen = 440; + vrLoc = 516; + }; + 8EB30DD90854C260009EA87F = { + comments = "warning: passing argument 2 of 'memmove' makes pointer from integer without a cast"; + fRef = 8E8BAE5608548BE800E9F14D; + isa = PBXTextBookmark; + rLen = 1; + rLoc = 82; + rType = 1; + }; + 8EB30DDA0854C260009EA87F = { + fRef = 8E8BAE5608548BE800E9F14D; + isa = PBXTextBookmark; + name = "ShnFile.m: 83"; + rLen = 0; + rLoc = 1553; + rType = 0; + vrLen = 395; + vrLoc = 1375; + }; + 8EB30DDB0854C261009EA87F = { + fRef = 8EF6FA70082DA526006F7BE6; + isa = PBXTextBookmark; + name = "VorbisFile.m: 50"; + rLen = 333; + rLoc = 868; + rType = 0; + vrLen = 593; + vrLoc = 657; + }; + 8EB30DDC0854C261009EA87F = { + fRef = 8E8BAE5508548BE800E9F14D; + isa = PBXTextBookmark; + name = "ShnFile.h: bufferSize"; + rLen = 0; + rLoc = 345; + rType = 0; + vrLen = 410; + vrLoc = 0; + }; + 8EB30DDD0854C261009EA87F = { + fRef = 8EF6FA67082DA526006F7BE6; + isa = PBXTextBookmark; + name = "MonkeysFile.h: 15"; + rLen = 0; + rLoc = 267; + rType = 0; + vrLen = 308; + vrLoc = 0; + }; + 8EB30DDE0854C261009EA87F = { + fRef = 8EF6FA68082DA526006F7BE6; + isa = PBXTextBookmark; + name = "MonkeysFile.m: close"; + rLen = 0; + rLoc = 1738; + rType = 0; + vrLen = 475; + vrLoc = 1471; + }; + 8EB30DDF0854C261009EA87F = { + fRef = 8EF6FA6C082DA526006F7BE6; + isa = PBXTextBookmark; + name = "MusepackFile.m: 115"; + rLen = 0; + rLoc = 2381; + rType = 0; + vrLen = 685; + vrLoc = 1881; + }; + 8EB30DE00854C261009EA87F = { + fRef = 8E14E47A084CF1A200246BCC; + isa = PBXTextBookmark; + name = "AACFile.m: 76"; + rLen = 1694; + rLoc = 1761; + rType = 0; + vrLen = 792; + vrLoc = 1708; + }; + 8EB30DE10854C261009EA87F = { + fRef = 8E8BAE5608548BE800E9F14D; + isa = PBXTextBookmark; + name = "ShnFile.m: 67"; + rLen = 0; + rLoc = 1723; + rType = 0; + vrLen = 386; + vrLoc = 1101; + }; + 8EB30DE20854C261009EA87F = { + fRef = 8E8BAE5608548BE800E9F14D; + isa = PBXTextBookmark; + name = "ShnFile.m: 66"; + rLen = 0; + rLoc = 1997; + 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 = 1723; + 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 = 1723; + 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 = 1723; + 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; + }; + 8EB30DEF0854C261009EA87F = { + fRef = 8E8BAE5608548BE800E9F14D; + isa = PBXTextBookmark; + name = "ShnFile.m: 89"; + rLen = 0; + rLoc = 1696; + rType = 0; + vrLen = 446; + vrLoc = 1373; + }; + 8EB30DF20854C2F2009EA87F = { + fRef = 8E8BAE5608548BE800E9F14D; + isa = PBXTextBookmark; + name = "ShnFile.m: 83"; + rLen = 0; + rLoc = 1553; + rType = 0; + vrLen = 395; + vrLoc = 1375; + }; + 8EB30DF90854C361009EA87F = { + fRef = 8E8BAE5608548BE800E9F14D; + isa = PBXTextBookmark; + name = "ShnFile.m: 83"; + rLen = 0; + rLoc = 1553; + rType = 0; + vrLen = 395; + vrLoc = 1375; + }; + 8EB30E1E0854C36A009EA87F = { + fRef = 8E8BAE5608548BE800E9F14D; + isa = PBXTextBookmark; + name = "ShnFile.m: 89"; + rLen = 0; + rLoc = 1696; + rType = 0; + vrLen = 446; + vrLoc = 1373; + }; + 8EB30E1F0854C36A009EA87F = { + fRef = 8EF6FA6A082DA526006F7BE6; + isa = PBXTextBookmark; + name = "MPEGFile.m: 106"; + rLen = 0; + rLoc = 2304; + rType = 0; + vrLen = 386; + vrLoc = 1947; + }; + 8EB30E200854C36A009EA87F = { + fRef = 8EF6FA6E082DA526006F7BE6; + isa = PBXTextBookmark; + name = "SoundFile.m: 93"; + rLen = 0; + rLoc = 1985; + rType = 0; + vrLen = 588; + vrLoc = 1467; + }; + 8EB30E210854C36A009EA87F = { + fRef = 8E8BAE5608548BE800E9F14D; + isa = PBXTextBookmark; + name = "ShnFile.m: 89"; + rLen = 0; + rLoc = 1696; + 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; + }; + 8EB30E240854C36A009EA87F = { + fRef = 8E47218808318D7A001F89FA; + isa = PBXTextBookmark; + name = "PlaylistController.m: 7"; + rLen = 0; + rLoc = 142; + rType = 0; + vrLen = 720; + vrLoc = 0; + }; 8EB77455082DA3EB005891CA = { activeArgIndex = 2147483647; activeArgIndices = ( @@ -1850,6 +3111,21 @@ path = "/Users/xugg/Projects/Cog/build/Cog.build/Cog.build/Objects-normal/ppc/AACFile.ob"; whenToLoad = 0; }, + { + level = 0; + path = /Users/xugg/Projects/Cog/build/Cog.app/Contents/Frameworks/Shorten.framework/Versions/A/Shorten; + whenToLoad = 0; + }, + { + level = 0; + path = /Users/xugg/Projects/Cog/build/Cog.app/Contents/Frameworks/WavPack.framework/Versions/A/WavPack; + whenToLoad = 0; + }, + { + level = 0; + path = "/Users/xugg/Projects/Cog/build/Cog.build/Cog.build/Objects-normal/ppc/WavPackFile.ob"; + whenToLoad = 0; + }, ); sourceDirectories = ( ); @@ -1866,6 +3142,106 @@ indexTemplatePath = ""; isa = PBXCodeSenseManager; }; + 8EBA27AB0854ABFD00977A4A = { + fRef = 8EF6FA6E082DA526006F7BE6; + isa = PBXTextBookmark; + name = frequency; + rLen = 9; + rLoc = 3974; + rType = 0; + vrLen = 248; + vrLoc = 3725; + }; + 8EBA27AC0854ABFD00977A4A = { + fRef = 8E8BAE5108548BD500E9F14D; + isa = PBXTextBookmark; + name = "WavPackFile.h: 13"; + rLen = 0; + rLoc = 214; + rType = 0; + vrLen = 282; + vrLoc = 0; + }; + 8EBA27AD0854ABFD00977A4A = { + fRef = 8E8BAE5208548BD500E9F14D; + isa = PBXTextBookmark; + name = "WavPackFile.m: 16"; + rLen = 0; + rLoc = 229; + rType = 0; + vrLen = 413; + vrLoc = 0; + }; + 8EBA27AE0854ABFD00977A4A = { + fRef = 8E8BAE5208548BD500E9F14D; + isa = PBXTextBookmark; + name = "WavPackFile.m: open:"; + rLen = 0; + rLoc = 252; + rType = 0; + vrLen = 492; + vrLoc = 0; + }; + 8EBA27AF0854ABFD00977A4A = { + fRef = 8EF6FA6E082DA526006F7BE6; + isa = PBXTextBookmark; + name = frequency; + rLen = 9; + rLoc = 3974; + rType = 0; + vrLen = 247; + vrLoc = 3727; + }; + 8EBA27B00854ABFD00977A4A = { + fRef = 8E8BAE5208548BD500E9F14D; + isa = PBXTextBookmark; + name = "WavPackFile.m: 16"; + rLen = 0; + rLoc = 229; + rType = 0; + vrLen = 413; + vrLoc = 0; + }; + 8EBA27B10854ABFD00977A4A = { + fRef = 8EF6FA6E082DA526006F7BE6; + isa = PBXTextBookmark; + name = frequency; + rLen = 9; + rLoc = 3974; + rType = 0; + vrLen = 248; + vrLoc = 3725; + }; + 8EBA27B20854ABFD00977A4A = { + fRef = 8E8BAE5208548BD500E9F14D; + isa = PBXTextBookmark; + name = "WavPackFile.m: 16"; + rLen = 0; + rLoc = 229; + rType = 0; + vrLen = 413; + vrLoc = 0; + }; + 8EBA27B30854ABFD00977A4A = { + fRef = 8E8BAE5108548BD500E9F14D; + isa = PBXTextBookmark; + name = "WavPackFile.h: 13"; + rLen = 0; + rLoc = 214; + rType = 0; + vrLen = 282; + vrLoc = 0; + }; + 8EBA27B70854ABFD00977A4A = { + fRef = 8E8BAE5208548BD500E9F14D; + isa = PBXTextBookmark; + name = "WavPackFile.m: 67"; + rLen = 0; + rLoc = 1169; + rType = 0; + vrLen = 445; + vrLoc = 920; + }; 8EC156F4084FEB8900BB24E8 = { fRef = 8E267D0C0837F7A6004ACBC5; isa = PBXTextBookmark; @@ -1932,16 +3308,6 @@ refType = 0; sourceTree = ""; }; - 8EC8FBD20842932A00DF2C98 = { - fRef = 8EF6FA6F082DA526006F7BE6; - isa = PBXTextBookmark; - name = "VorbisFile.h: 14"; - rLen = 0; - rLoc = 276; - rType = 0; - vrLen = 365; - vrLoc = 0; - }; 8ED833CD08457E6B0033CDBD = { fRef = 8E47218608318D7A001F89FA; isa = PBXTextBookmark; @@ -1956,7 +3322,7 @@ fileReference = 8EF6FA6E082DA526006F7BE6; functionName = "+readInfo:"; isa = PBXFileBreakpoint; - lineNumber = 114; + lineNumber = 124; state = 2; }; 8EDC88A90842F8DE007D1532 = { @@ -2123,9 +3489,9 @@ }; 8EF6FA67082DA526006F7BE6 = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {983, 310}}"; - sepNavSelRange = "{166, 20}"; - sepNavVisRect = "{{0, 0}, {983, 310}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 372}}"; + sepNavSelRange = "{267, 0}"; + sepNavVisRect = "{{0, 0}, {775, 372}}"; }; }; 8EF6FA68082DA526006F7BE6 = { @@ -2145,8 +3511,8 @@ 8EF6FA6A082DA526006F7BE6 = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 1540}}"; - sepNavSelRange = "{2209, 0}"; - sepNavVisRect = "{{0, 1140}, {775, 372}}"; + sepNavSelRange = "{2304, 0}"; + sepNavVisRect = "{{0, 1154}, {775, 372}}"; }; }; 8EF6FA6B082DA526006F7BE6 = { @@ -2159,38 +3525,38 @@ 8EF6FA6C082DA526006F7BE6 = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 2982}}"; - sepNavSelRange = "{4116, 0}"; - sepNavVisRect = "{{0, 2425}, {775, 372}}"; + sepNavSelRange = "{2381, 0}"; + sepNavVisRect = "{{0, 1358}, {775, 372}}"; }; }; 8EF6FA6D082DA526006F7BE6 = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 826}}"; - sepNavSelRange = "{1030, 0}"; - sepNavVisRect = "{{0, 352}, {775, 372}}"; + sepNavSelRange = "{859, 0}"; + sepNavVisRect = "{{0, 356}, {775, 372}}"; sepNavWindowFrame = "{{15, 61}, {1016, 680}}"; }; }; 8EF6FA6E082DA526006F7BE6 = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 2898}}"; - sepNavSelRange = "{2052, 0}"; - sepNavVisRect = "{{0, 1317}, {775, 372}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 3066}}"; + sepNavSelRange = "{1985, 0}"; + sepNavVisRect = "{{0, 1025}, {775, 372}}"; sepNavWindowFrame = "{{15, 61}, {750, 680}}"; }; }; 8EF6FA6F082DA526006F7BE6 = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 373}}"; - sepNavSelRange = "{284, 0}"; - sepNavVisRect = "{{0, 0}, {775, 373}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 372}}"; + sepNavSelRange = "{276, 0}"; + sepNavVisRect = "{{0, 0}, {775, 372}}"; }; }; 8EF6FA70082DA526006F7BE6 = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 1120}}"; - sepNavSelRange = "{1416, 0}"; - sepNavVisRect = "{{0, 720}, {775, 372}}"; + sepNavSelRange = "{868, 333}"; + sepNavVisRect = "{{0, 510}, {775, 372}}"; }; }; 8EF6FA71082DA526006F7BE6 = { @@ -2204,7 +3570,7 @@ uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {782, 1736}}"; sepNavSelRange = "{2003, 0}"; - sepNavVisRect = "{{0, 1336}, {775, 372}}"; + sepNavVisRect = "{{0, 1326}, {775, 372}}"; }; }; 8EF6FACD082DAA2B006F7BE6 = { @@ -2409,26 +3775,6 @@ vrLen = 564; vrLoc = 35; }; - 8EFC6DEA085380B800C67D06 = { - fRef = 8EF6FA6D082DA526006F7BE6; - isa = PBXTextBookmark; - name = "SoundFile.h: seekToTime:"; - rLen = 0; - rLoc = 1030; - rType = 0; - vrLen = 670; - vrLoc = 461; - }; - 8EFC6DEB085380B800C67D06 = { - fRef = 8EF6FA6A082DA526006F7BE6; - isa = PBXTextBookmark; - name = "MPEGFile.m: close"; - rLen = 0; - rLoc = 2209; - rType = 0; - vrLen = 455; - vrLoc = 1874; - }; 8EFC6DEC085380B800C67D06 = { fRef = 8EF6FA68082DA526006F7BE6; isa = PBXTextBookmark; @@ -2439,36 +3785,6 @@ vrLen = 475; vrLoc = 1471; }; - 8EFC6DED085380B800C67D06 = { - fRef = 8EF6FA66082DA526006F7BE6; - isa = PBXTextBookmark; - name = "FlacFile.m: 166"; - rLen = 0; - rLoc = 4219; - rType = 0; - vrLen = 367; - vrLoc = 3928; - }; - 8EFC6DEE085380B800C67D06 = { - fRef = 8EF6FA6C082DA526006F7BE6; - isa = PBXTextBookmark; - name = "MusepackFile.m: 197"; - rLen = 0; - rLoc = 4116; - rType = 0; - vrLen = 508; - vrLoc = 3624; - }; - 8EFC6DEF085380B800C67D06 = { - fRef = 8EF6FA70082DA526006F7BE6; - isa = PBXTextBookmark; - name = "VorbisFile.m: 75"; - rLen = 0; - rLoc = 1416; - rType = 0; - vrLen = 520; - vrLoc = 901; - }; 8EFC6DF0085380B800C67D06 = { fRef = 8EF6FA71082DA526006F7BE6; isa = PBXTextBookmark; @@ -2489,16 +3805,6 @@ vrLen = 393; vrLoc = 1742; }; - 8EFC6DF2085380B800C67D06 = { - fRef = 8EF6FA6E082DA526006F7BE6; - isa = PBXTextBookmark; - name = "SoundFile.m: open:"; - rLen = 0; - rLoc = 2052; - rType = 0; - vrLen = 446; - vrLoc = 1850; - }; 8EFC6DF3085380B800C67D06 = { fRef = 8E45227A0832898A00F8BA7C; isa = PBXTextBookmark; @@ -2509,16 +3815,6 @@ vrLen = 629; vrLoc = 780; }; - 8EFC6DF4085380B800C67D06 = { - fRef = 8E45227B0832898A00F8BA7C; - isa = PBXTextBookmark; - name = "Sound.m: 332"; - rLen = 0; - rLoc = 9218; - rType = 0; - vrLen = 630; - vrLoc = 8684; - }; 8EFC6E29085386CE00C67D06 = { fRef = 8EF6FA65082DA526006F7BE6; isa = PBXTextBookmark; @@ -2529,14 +3825,4 @@ vrLen = 617; vrLoc = 0; }; - 8EFC6E2A085386CE00C67D06 = { - fRef = 8E14E47A084CF1A200246BCC; - isa = PBXTextBookmark; - name = "AACFile.m: 160"; - rLen = 0; - rLoc = 3860; - rType = 0; - vrLen = 523; - vrLoc = 3503; - }; } diff --git a/Playlist/PlaylistController.m b/Playlist/PlaylistController.m index b4fff28ec..d1c3fa7eb 100644 --- a/Playlist/PlaylistController.m +++ b/Playlist/PlaylistController.m @@ -19,7 +19,7 @@ if (self) { - acceptableFileTypes = [[NSArray alloc] initWithObjects:@"ogg",@"wav",@"mpc",@"flac",@"ape",@"mp3",@"aiff",@"aif",@"aac",nil]; + acceptableFileTypes = [[NSArray alloc] initWithObjects:@"shn",@"wv",@"ogg",@"wav",@"mpc",@"flac",@"ape",@"mp3",@"aiff",@"aif",@"aac",nil]; acceptablePlaylistTypes = [[NSArray alloc] initWithObjects:@"playlist",nil]; history = [[NSMutableArray alloc] init]; shuffleList = [[NSMutableArray alloc] init]; diff --git a/README b/README index e9cab0cef..ac9afa6d3 100644 --- a/README +++ b/README @@ -1,10 +1,11 @@ Cog is released under the GPL. See COPYING for details. - The libraries folder . It contains various decoding and tagging -frameworks, which i have created Xcode projects for, and possibly modified + 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 in debugging messages. 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. diff --git a/Sound.m b/Sound.m index d1e3bca59..f22623f89 100644 --- a/Sound.m +++ b/Sound.m @@ -313,8 +313,9 @@ static OSStatus Sound_Renderer(void *inRefCon, AudioUnitRenderActionFlags *ioAc pos = [self calculatePos:time]; newTime = [soundFile seekToTime:time]; - if (newTime >= 0) + if (newTime >= 0.0) { + DBLog(@"RESETTING"); [self resetBuffer]; pos = [self calculatePos:newTime]; @@ -325,6 +326,7 @@ static OSStatus Sound_Renderer(void *inRefCon, AudioUnitRenderActionFlags *ioAc } else { + DBLog(@"Not resetting: %f", newTime); newTime = [self calculateTime:currentPosition]; } //send a message with newTime diff --git a/SoundFile/MPEGFile.m b/SoundFile/MPEGFile.m index a7bd0734f..6a5136930 100644 --- a/SoundFile/MPEGFile.m +++ b/SoundFile/MPEGFile.m @@ -102,7 +102,7 @@ - (double)seekToTime:(double)milliseconds { DecMPA_SeekToTime(decoder, (unsigned long)milliseconds); - + return milliseconds; } diff --git a/SoundFile/ShnFile.h b/SoundFile/ShnFile.h new file mode 100644 index 000000000..6cdc9f7b9 --- /dev/null +++ b/SoundFile/ShnFile.h @@ -0,0 +1,24 @@ +// +// ShnFile.h +// Cog +// +// Created by Zaphod Beeblebrox on 6/6/05. +// Copyright 2005 __MyCompanyName__. All rights reserved. +// + +#import +#import "SoundFile.h" + +#import "Shorten/shorten.h" +#import "Shorten/shn.h" +#import "Shorten/decode.h" + +@interface ShnFile : SoundFile { + shn_file *handle; + + int bufferSize; //total size + void *buffer; + int bufferAmount; //amount currently in +} + +@end diff --git a/SoundFile/ShnFile.m b/SoundFile/ShnFile.m new file mode 100644 index 000000000..2f1589c78 --- /dev/null +++ b/SoundFile/ShnFile.m @@ -0,0 +1,113 @@ +// +// ShnFile.m +// Cog +// +// Created by Zaphod Beeblebrox on 6/6/05. +// Copyright 2005 __MyCompanyName__. All rights reserved. +// + +#import "ShnFile.h" + + +@implementation ShnFile + +- (BOOL)open:(const char *)filename +{ + BOOL r; + + r = [self readInfo:filename]; + if (!r) + return NO; + + bufferSize = shn_get_buffer_block_size(handle, 512); + buffer = malloc(bufferSize); + + return YES; +} + +- (BOOL)readInfo:(const char *)filename +{ + shn_config conf; + int r; + + conf.error_output_method = ERROR_OUTPUT_DEVNULL; + conf.seek_tables_path = NULL; + conf.relative_seek_tables_path = "."; + conf.verbose = 0; + conf.swap_bytes = 0; + + handle = shn_load((char *)filename, conf); + if (!handle) + return NO; + + r = shn_init_decoder(handle); + if (r < 0) + return NO; + + channels = shn_get_channels(handle); + frequency = shn_get_samplerate(handle); + bitsPerSample = shn_get_bitspersample(handle); + + unsigned int length; + length = shn_get_song_length(handle); + totalSize = ((double)(length*frequency)/1000.0) * channels * (bitsPerSample/8); + + bitRate = (int)((double)totalSize/((double)length/1000.0)); + + return YES; +} + +- (int)fillBuffer:(void *)buf ofSize:(UInt32)size +{ + int numread = bufferAmount; + int count = 0; + + //Fill from buffer, going by bufferAmount + //if still needs more, decode and repeat + if (bufferAmount == 0) + { + bufferAmount = shn_read(handle, buffer, bufferSize); + } + + count = bufferAmount; + if (bufferAmount > size) + { + count = size; + } + + memcpy(buf, buffer, count); + + bufferAmount -= count; + + if (bufferAmount > 0) + memmove(buffer, &buffer[count], bufferAmount); + + if (count < size) + numread = [self fillBuffer:(&((char *)buf)[count]) ofSize:(size - count)]; + else + numread = 0; + + return count + numread; +} + +- (double)seekToTime:(double)milliseconds +{ + unsigned int sec; + + if (!shn_seekable(handle)) + return -1.0; + + sec = (int)(milliseconds/1000.0); + + shn_seek(handle, sec); + + return (sec * 1000.0); +} + +- (void)close +{ + if (shn_cleanup_decoder(handle)) + shn_unload(handle); +} + +@end diff --git a/SoundFile/SoundFile.m b/SoundFile/SoundFile.m index 1a20f4340..5b1c0b2ee 100644 --- a/SoundFile/SoundFile.m +++ b/SoundFile/SoundFile.m @@ -36,7 +36,7 @@ } //this should be done by the soundfile....not seek... -- (void)seekToTime:(double)milliseconds +- (double)seekToTime:(double)milliseconds { } @@ -49,6 +49,8 @@ @class VorbisFile; @class WaveFile; @class AACFile; +@class WavPackFile; +@class ShnFile; + (SoundFile *)soundFileFromFilename:(NSString *)filename { @@ -82,6 +84,14 @@ { soundFile = [[AACFile alloc] init]; } + else if ([[filename pathExtension] isEqualToString:@"wv"]) + { + soundFile = [[WavPackFile alloc] init]; + } + else if ([[filename pathExtension] isEqualToString:@"shn"]) + { + soundFile = [[ShnFile alloc] init]; + } else { soundFile = nil; @@ -143,6 +153,8 @@ if (isBigEndian == YES) { sourceStreamFormat->mFormatFlags |= kLinearPCMFormatFlagIsBigEndian; + sourceStreamFormat->mFormatFlags |= kLinearPCMFormatFlagIsAlignedHigh; +// sourceStreamFormat->mFormatFlags |= kLinearPCMFormatFlagIsNonMixable; // NSLog(@"FUCKER IS BIG ENDIAN"); } if (isUnsigned == NO) diff --git a/SoundFile/VorbisFile.m b/SoundFile/VorbisFile.m index 6454aa909..8a1f0ea11 100644 --- a/SoundFile/VorbisFile.m +++ b/SoundFile/VorbisFile.m @@ -68,7 +68,7 @@ ov_clear(&vorbisRef); } -- (void)seekToTime:(double)milliseconds +- (double)seekToTime:(double)milliseconds { ov_time_seek(&vorbisRef, (double)milliseconds/1000.0); diff --git a/SoundFile/WavPackFile.h b/SoundFile/WavPackFile.h new file mode 100644 index 000000000..b6a7a3b02 --- /dev/null +++ b/SoundFile/WavPackFile.h @@ -0,0 +1,18 @@ +// +// WavPackFile.h +// Cog +// +// Created by Zaphod Beeblebrox on 6/6/05. +// Copyright 2005 __MyCompanyName__. All rights reserved. +// + +#import +#import "SoundFile.h" + +#import "Wavpack/wputils.h" + +@interface WavPackFile : SoundFile { + WavpackContext *wpc; +} + +@end diff --git a/SoundFile/WavPackFile.m b/SoundFile/WavPackFile.m new file mode 100644 index 000000000..e6c0e6760 --- /dev/null +++ b/SoundFile/WavPackFile.m @@ -0,0 +1,79 @@ +// +// WavPackFile.m +// Cog +// +// Created by Zaphod Beeblebrox on 6/6/05. +// Copyright 2005 __MyCompanyName__. All rights reserved. +// + +#import "WavPackFile.h" + + +@implementation WavPackFile + +- (UInt32)frequency +{ + //HACK ALERT + return frequency/2; +} + +- (BOOL)open:(const char *)filename +{ + int open_flags = 0; + char error[80]; + + wpc = WavpackOpenFileInput(filename, error, open_flags, 0); + if (!wpc) + return NO; + + channels = WavpackGetNumChannels(wpc); + bitsPerSample = WavpackGetBitsPerSample(wpc); + frequency = WavpackGetSampleRate(wpc)*2; + + int samples; + samples = WavpackGetNumSamples(wpc); + totalSize = samples * channels * 4; + + bitRate = (int)(WavpackGetAverageBitrate(wpc, TRUE)/1000.0); + + isBigEndian = YES; + + return YES; +} + +- (BOOL)readInfo:(const char *)filename +{ + return [self open:filename]; //does the same damn thing +} + +- (int)fillBuffer:(void *)buf ofSize:(UInt32)size +{ + int numsamples; + int n; + + numsamples = size/4/channels; +// DBLog(@"NUM SAMPLES: %i %i", numsamples, size); + n = WavpackUnpackSamples(wpc, buf, numsamples); + + n *= 4*channels; +// DBLog(@"Read: %i", n); + + return n; +} + +- (double)seekToTime:(double)milliseconds +{ + int sample; + sample = (frequency/2)*(milliseconds/1000.0); + DBLog(@"%lf %i", milliseconds, sample); + WavpackSeekSample(wpc, sample); + + return milliseconds; +} + +- (void)close +{ + WavpackCloseFile(wpc); +} + +@end