From 9fd139e0f8594b823fc12fd29292b42c6cfc1d3e Mon Sep 17 00:00:00 2001 From: vspader Date: Wed, 29 Jun 2005 15:28:20 +0000 Subject: [PATCH] Test commit --- AppController.h | 1 - Changelog | 9 + Cog.xcodeproj/project.pbxproj | 277 +- Cog.xcodeproj/xugg.mode1 | 229 +- Cog.xcodeproj/xugg.pbxuser | 2598 ++++++++++------- English.lproj/MainMenu.nib/classes.nib | 1 + English.lproj/MainMenu.nib/info.nib | 2 +- English.lproj/MainMenu.nib/keyedobjects.nib | Bin 42872 -> 43273 bytes Info.plist | 2 +- Libraries/FLAC/Files/src/libFLAC/format.c | 2 + Libraries/MAC/.DS_Store | Bin 6148 -> 6148 bytes .../MAC/Files/Source/MACLib/NNFilter.cpp | 2 +- .../Files/taglib/mpeg/id3v1/id3v1tag.cpp | 19 +- .../TagLib/Files/taglib/mpeg/id3v1/id3v1tag.h | 4 + Playlist/PlaylistController.m | 9 +- Playlist/PlaylistEntry.m | 5 +- README | 19 +- Sound.h | 2 + Sound.m | 39 +- SoundController.h | 1 + SoundController.m | 6 + SoundFile/AACFile.m | 4 +- SoundFile/FlacFile.h | 2 +- SoundFile/MPEGFile.m | 4 +- SoundFile/MonkeysFile.m | 14 +- SoundFile/MusepackFile.m | 5 +- SoundFile/ShnFile.m | 6 +- SoundFile/SoundFile.h | 2 +- SoundFile/SoundFile.m | 39 +- SoundFile/VorbisFile.m | 4 +- SoundFile/WavPackFile.m | 26 +- SoundFile/WaveFile.m | 4 +- 32 files changed, 1901 insertions(+), 1436 deletions(-) diff --git a/AppController.h b/AppController.h index 5222ecfaf..5a5edb3be 100644 --- a/AppController.h +++ b/AppController.h @@ -22,7 +22,6 @@ - (IBAction)addFiles:(id)sender; - (IBAction)delEntries:(id)sender; -- (IBAction)showInfo:(id)sender; - (IBAction)savePlaylist:(id)sender; - (IBAction)savePlaylistAs:(id)sender; - (IBAction)loadPlaylist:(id)sender; diff --git a/Changelog b/Changelog index d3a8ab7e8..37f4116da 100644 --- a/Changelog +++ b/Changelog @@ -1,3 +1,12 @@ +0.04 +---- +Fixed id3v1 tag issue when taggers use spaces to fill empty bytes. +Fixed minor UI (Hide NewApplication) bug. +Fixed version number, so autoupdate should work. +Compiled with GCC3.3, which should hopefully fix issues with 10.3. +Now ignores case when dealing with file extensions. +Added volume slider. + 0.0.3 ----- Fixed bug where Default.playlist referred to non-existent files, resulting in a crash. diff --git a/Cog.xcodeproj/project.pbxproj b/Cog.xcodeproj/project.pbxproj index 359fdfc65..84975c179 100644 --- a/Cog.xcodeproj/project.pbxproj +++ b/Cog.xcodeproj/project.pbxproj @@ -13,17 +13,12 @@ 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; 8E0EBF0F084BA776003A6E64 /* DBLog.c in Sources */ = {isa = PBXBuildFile; fileRef = 8E0EBF0D084BA776003A6E64 /* DBLog.c */; }; 8E10DBF0084BBCF00013815C /* Credits.html in Resources */ = {isa = PBXBuildFile; fileRef = 8E10DBEF084BBCF00013815C /* Credits.html */; }; - 8E14E469084CF15C00246BCC /* FAAD2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E14E468084CF15C00246BCC /* FAAD2.framework */; }; - 8E14E472084CF16400246BCC /* FAAD2.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8E14E468084CF15C00246BCC /* FAAD2.framework */; }; 8E14E47C084CF1A200246BCC /* AACFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E14E47A084CF1A200246BCC /* AACFile.m */; }; 8E267D0E0837F7A6004ACBC5 /* FeedbackController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E267D050837F7A6004ACBC5 /* FeedbackController.m */; }; 8E267D100837F7A6004ACBC5 /* FeedbackSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E267D070837F7A6004ACBC5 /* FeedbackSocket.m */; }; 8E267D120837F7A6004ACBC5 /* MacPADSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E267D0A0837F7A6004ACBC5 /* MacPADSocket.m */; }; 8E267D140837F7A6004ACBC5 /* UpdateController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E267D0C0837F7A6004ACBC5 /* UpdateController.m */; }; 8E28710B0836934A0013CE39 /* VirtualRingBuffer.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E2871090836934A0013CE39 /* VirtualRingBuffer.m */; }; - 8E287E4A0855F2EC00562C66 /* InfoView.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8E287E480855F2EC00562C66 /* InfoView.h */; }; - 8E287E4B0855F2EC00562C66 /* InfoView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E287E490855F2EC00562C66 /* InfoView.m */; }; - 8E29790A083D891500F2C55A /* TrackingCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E297908083D891500F2C55A /* TrackingCell.m */; }; 8E45227C0832898A00F8BA7C /* Sound.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E45227B0832898A00F8BA7C /* Sound.m */; }; 8E47218D08318D7A001F89FA /* DNDArrayController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E47218608318D7A001F89FA /* DNDArrayController.m */; }; 8E47218E08318D7A001F89FA /* PlaylistController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E47218808318D7A001F89FA /* PlaylistController.m */; }; @@ -31,21 +26,13 @@ 8E47219008318D7A001F89FA /* PlaylistView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E47218C08318D7A001F89FA /* PlaylistView.m */; }; 8E4721D308319294001F89FA /* AppController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E4721D208319294001F89FA /* AppController.m */; }; 8E4721D6083192C2001F89FA /* SoundController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E4721D5083192C2001F89FA /* SoundController.m */; }; - 8E5A9032084CB48500AE6D62 /* TagLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E5A9031084CB48500AE6D62 /* TagLib.framework */; }; - 8E5A908D084CB92D00AE6D62 /* TagLib.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8E5A9031084CB48500AE6D62 /* TagLib.framework */; }; 8E5A90B1084CBC2F00AE6D62 /* Changelog in Resources */ = {isa = PBXBuildFile; fileRef = 8E5A90B0084CBC2F00AE6D62 /* Changelog */; }; - 8E652A02083D93EB00A7AF1B /* TrackingSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E652A00083D93EB00A7AF1B /* TrackingSlider.m */; }; 8E6F2A1908480D010011F126 /* wheel.icns in Resources */ = {isa = PBXBuildFile; fileRef = 8E6F2A1808480D010011F126 /* wheel.icns */; }; - 8E7DAB4F0867423900615930 /* ClickField.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8E7DAB4D0867423900615930 /* ClickField.h */; }; - 8E7DAB500867423900615930 /* ClickField.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E7DAB4E0867423900615930 /* ClickField.m */; }; 8E81BC33083673ED0025A375 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E81BC31083673ED0025A375 /* AudioToolbox.framework */; }; 8E81BC34083673ED0025A375 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E81BC32083673ED0025A375 /* AudioUnit.framework */; }; + 8E847F73086DEBD600162B93 /* TODO in Resources */ = {isa = PBXBuildFile; fileRef = 8E847F72086DEBD600162B93 /* TODO */; }; 8E8BAE5408548BD500E9F14D /* WavPackFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E8BAE5208548BD500E9F14D /* WavPackFile.m */; }; 8E8BAE5808548BE800E9F14D /* ShnFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E8BAE5608548BE800E9F14D /* ShnFile.m */; }; - 8E8BAE9908548C5500E9F14D /* Shorten.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E8BAE9808548C5500E9F14D /* Shorten.framework */; }; - 8E8BAE9D08548C6300E9F14D /* WavPack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E8BAE9C08548C6300E9F14D /* WavPack.framework */; }; - 8E8BAEA508548C8200E9F14D /* WavPack.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8E8BAE9C08548C6300E9F14D /* WavPack.framework */; }; - 8E8BAEA608548C8200E9F14D /* Shorten.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8E8BAE9808548C5500E9F14D /* Shorten.framework */; }; 8E8F3F9C0855499500BCF803 /* README in Resources */ = {isa = PBXBuildFile; fileRef = 8E8F3F9B0855499500BCF803 /* README */; }; 8EAB752D0856205B0021C2BF /* repeat_on.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EAB75290856205B0021C2BF /* repeat_on.png */; }; 8EAB752E0856205B0021C2BF /* repeat_off.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EAB752A0856205B0021C2BF /* repeat_off.png */; }; @@ -68,15 +55,34 @@ 8EAFD28F08465E5600107BA5 /* remove_gray.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EAFD27B08465E5600107BA5 /* remove_gray.png */; }; 8EAFD29408465E5600107BA5 /* stop_blue.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EAFD28008465E5600107BA5 /* stop_blue.png */; }; 8EAFD29508465E5600107BA5 /* stop_gray.png in Resources */ = {isa = PBXBuildFile; fileRef = 8EAFD28108465E5600107BA5 /* stop_gray.png */; }; + 8EC4BB7E0872E2FB00ACF986 /* ClickField.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EC4BB760872E2FB00ACF986 /* ClickField.m */; }; + 8EC4BB800872E2FB00ACF986 /* InfoView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EC4BB780872E2FB00ACF986 /* InfoView.m */; }; + 8EC4BB820872E2FB00ACF986 /* TrackingCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EC4BB7A0872E2FB00ACF986 /* TrackingCell.m */; }; + 8EC4BB840872E2FB00ACF986 /* TrackingSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EC4BB7C0872E2FB00ACF986 /* TrackingSlider.m */; }; + 8EC4BCC20872EEB800ACF986 /* WavPack.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8EC4BCC10872EEB800ACF986 /* WavPack.framework */; }; + 8EC4BCCF0872EEFC00ACF986 /* Vorbis.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8EC4BCCE0872EEFC00ACF986 /* Vorbis.framework */; }; + 8EC4BCD30872EF0C00ACF986 /* TagLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8EC4BCD20872EF0C00ACF986 /* TagLib.framework */; }; + 8EC4BCD70872EF1600ACF986 /* SndFile.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8EC4BCD60872EF1600ACF986 /* SndFile.framework */; }; + 8EC4BCDB0872EF1F00ACF986 /* Shorten.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8EC4BCDA0872EF1F00ACF986 /* Shorten.framework */; }; + 8EC4BCDF0872EF3100ACF986 /* Ogg.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8EC4BCDE0872EF3100ACF986 /* Ogg.framework */; }; + 8EC4BCE30872EF3A00ACF986 /* MPCDec.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8EC4BCE20872EF3A00ACF986 /* MPCDec.framework */; }; + 8EC4BCE70872EF4400ACF986 /* MAC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8EC4BCE60872EF4400ACF986 /* MAC.framework */; }; + 8EC4BCEB0872EF4D00ACF986 /* FLAC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8EC4BCEA0872EF4D00ACF986 /* FLAC.framework */; }; + 8EC4BCEF0872EF5600ACF986 /* FAAD2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8EC4BCEE0872EF5600ACF986 /* FAAD2.framework */; }; + 8EC4BCF30872EF6300ACF986 /* DecMPA.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8EC4BCF20872EF6300ACF986 /* DecMPA.framework */; }; + 8EC4BD310872EF6A00ACF986 /* DecMPA.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8EC4BCF20872EF6300ACF986 /* DecMPA.framework */; }; + 8EC4BD320872EF6A00ACF986 /* FAAD2.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8EC4BCEE0872EF5600ACF986 /* FAAD2.framework */; }; + 8EC4BD330872EF6A00ACF986 /* FLAC.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8EC4BCEA0872EF4D00ACF986 /* FLAC.framework */; }; + 8EC4BD340872EF6A00ACF986 /* MAC.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8EC4BCE60872EF4400ACF986 /* MAC.framework */; }; + 8EC4BD350872EF6A00ACF986 /* MPCDec.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8EC4BCE20872EF3A00ACF986 /* MPCDec.framework */; }; + 8EC4BD360872EF6A00ACF986 /* Ogg.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8EC4BCDE0872EF3100ACF986 /* Ogg.framework */; }; + 8EC4BD370872EF6A00ACF986 /* Shorten.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8EC4BCDA0872EF1F00ACF986 /* Shorten.framework */; }; + 8EC4BD380872EF6A00ACF986 /* SndFile.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8EC4BCD60872EF1600ACF986 /* SndFile.framework */; }; + 8EC4BD390872EF6A00ACF986 /* TagLib.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8EC4BCD20872EF0C00ACF986 /* TagLib.framework */; }; + 8EC4BD3A0872EF6A00ACF986 /* Vorbis.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8EC4BCCE0872EEFC00ACF986 /* Vorbis.framework */; }; + 8EC4BD3B0872EF6A00ACF986 /* WavPack.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8EC4BCC10872EEB800ACF986 /* WavPack.framework */; }; 8EDCBDCB0840617B00F5C7E3 /* Cog.scriptTerminology in Resources */ = {isa = PBXBuildFile; fileRef = 8EDCBDCA0840617B00F5C7E3 /* Cog.scriptTerminology */; }; 8EDCBDCD0840618900F5C7E3 /* Cog.scriptSuite in Resources */ = {isa = PBXBuildFile; fileRef = 8EDCBDCC0840618900F5C7E3 /* Cog.scriptSuite */; }; - 8EE4A685082E6E5100415456 /* DecMPA.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8EE4A684082E6E5100415456 /* DecMPA.framework */; }; - 8EE4A689082E6E6000415456 /* FLAC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8EE4A688082E6E6000415456 /* FLAC.framework */; }; - 8EE4A68D082E6E7000415456 /* MAC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8EE4A68C082E6E7000415456 /* MAC.framework */; }; - 8EE4A691082E6E8000415456 /* MPCDec.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8EE4A690082E6E8000415456 /* MPCDec.framework */; }; - 8EE4A695082E6E9100415456 /* Ogg.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8EE4A694082E6E9100415456 /* Ogg.framework */; }; - 8EE4A699082E6EA000415456 /* SndFile.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8EE4A698082E6EA000415456 /* SndFile.framework */; }; - 8EE4A69C082E6EB200415456 /* Vorbis.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8EE4A69B082E6EB200415456 /* Vorbis.framework */; }; 8EF6FA73082DA526006F7BE6 /* FlacFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6FA66082DA526006F7BE6 /* FlacFile.m */; }; 8EF6FA74082DA526006F7BE6 /* MonkeysFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6FA68082DA526006F7BE6 /* MonkeysFile.m */; }; 8EF6FA75082DA526006F7BE6 /* MPEGFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6FA6A082DA526006F7BE6 /* MPEGFile.m */; }; @@ -84,15 +90,27 @@ 8EF6FA77082DA526006F7BE6 /* SoundFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6FA6E082DA526006F7BE6 /* SoundFile.m */; }; 8EF6FA78082DA526006F7BE6 /* VorbisFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6FA70082DA526006F7BE6 /* VorbisFile.m */; }; 8EF6FA79082DA526006F7BE6 /* WaveFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF6FA72082DA526006F7BE6 /* WaveFile.m */; }; - 8EFFB6D0083302A500C53833 /* Vorbis.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8EE4A69B082E6EB200415456 /* Vorbis.framework */; }; - 8EFFB6D1083302A500C53833 /* SndFile.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8EE4A698082E6EA000415456 /* SndFile.framework */; }; - 8EFFB6D2083302A500C53833 /* Ogg.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8EE4A694082E6E9100415456 /* Ogg.framework */; }; - 8EFFB6D3083302A500C53833 /* MPCDec.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8EE4A690082E6E8000415456 /* MPCDec.framework */; }; - 8EFFB6D4083302A500C53833 /* MAC.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8EE4A68C082E6E7000415456 /* MAC.framework */; }; - 8EFFB6D5083302A500C53833 /* FLAC.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8EE4A688082E6E6000415456 /* FLAC.framework */; }; - 8EFFB6D6083302A500C53833 /* DecMPA.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8EE4A684082E6E5100415456 /* DecMPA.framework */; }; /* End PBXBuildFile section */ +/* Begin PBXBuildRule section */ + 8E6A0CCE086CCB5900B90CF9 /* PBXBuildRule */ = { + isa = PBXBuildRule; + compilerSpec = com.apple.compilers.gcc.3_3; + fileType = sourcecode.c; + isEditable = 1; + outputFiles = ( + ); + }; + 8E6A0CCF086CCB6600B90CF9 /* PBXBuildRule */ = { + isa = PBXBuildRule; + compilerSpec = com.apple.compilers.gcc.3_3; + fileType = sourcecode.asm; + isEditable = 1; + outputFiles = ( + ); + }; +/* End PBXBuildRule section */ + /* Begin PBXBuildStyle section */ 4A9504CCFFE6A4B311CA0CBA /* Development */ = { isa = PBXBuildStyle; @@ -133,19 +151,17 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 8E8BAEA508548C8200E9F14D /* WavPack.framework in CopyFiles */, - 8E8BAEA608548C8200E9F14D /* Shorten.framework in CopyFiles */, - 8E14E472084CF16400246BCC /* FAAD2.framework in CopyFiles */, - 8E5A908D084CB92D00AE6D62 /* TagLib.framework in CopyFiles */, - 8EFFB6D0083302A500C53833 /* Vorbis.framework in CopyFiles */, - 8EFFB6D1083302A500C53833 /* SndFile.framework in CopyFiles */, - 8EFFB6D2083302A500C53833 /* Ogg.framework in CopyFiles */, - 8EFFB6D3083302A500C53833 /* MPCDec.framework in CopyFiles */, - 8EFFB6D4083302A500C53833 /* MAC.framework in CopyFiles */, - 8EFFB6D5083302A500C53833 /* FLAC.framework in CopyFiles */, - 8EFFB6D6083302A500C53833 /* DecMPA.framework in CopyFiles */, - 8E287E4A0855F2EC00562C66 /* InfoView.h in CopyFiles */, - 8E7DAB4F0867423900615930 /* ClickField.h in CopyFiles */, + 8EC4BD310872EF6A00ACF986 /* DecMPA.framework in CopyFiles */, + 8EC4BD320872EF6A00ACF986 /* FAAD2.framework in CopyFiles */, + 8EC4BD330872EF6A00ACF986 /* FLAC.framework in CopyFiles */, + 8EC4BD340872EF6A00ACF986 /* MAC.framework in CopyFiles */, + 8EC4BD350872EF6A00ACF986 /* MPCDec.framework in CopyFiles */, + 8EC4BD360872EF6A00ACF986 /* Ogg.framework in CopyFiles */, + 8EC4BD370872EF6A00ACF986 /* Shorten.framework in CopyFiles */, + 8EC4BD380872EF6A00ACF986 /* SndFile.framework in CopyFiles */, + 8EC4BD390872EF6A00ACF986 /* TagLib.framework in CopyFiles */, + 8EC4BD3A0872EF6A00ACF986 /* Vorbis.framework in CopyFiles */, + 8EC4BD3B0872EF6A00ACF986 /* WavPack.framework in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -165,7 +181,6 @@ 8E0EBF0C084BA776003A6E64 /* DBLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DBLog.h; sourceTree = ""; }; 8E0EBF0D084BA776003A6E64 /* DBLog.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = DBLog.c; sourceTree = ""; }; 8E10DBEF084BBCF00013815C /* Credits.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = Credits.html; sourceTree = ""; }; - 8E14E468084CF15C00246BCC /* FAAD2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FAAD2.framework; path = Libraries/FAAD2/build/FAAD2.framework; sourceTree = ""; }; 8E14E479084CF1A200246BCC /* AACFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AACFile.h; sourceTree = ""; }; 8E14E47A084CF1A200246BCC /* AACFile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AACFile.m; sourceTree = ""; }; 8E267D040837F7A6004ACBC5 /* FeedbackController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = FeedbackController.h; sourceTree = ""; }; @@ -178,10 +193,6 @@ 8E267D0C0837F7A6004ACBC5 /* UpdateController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = UpdateController.m; sourceTree = ""; }; 8E2871080836934A0013CE39 /* VirtualRingBuffer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = VirtualRingBuffer.h; sourceTree = ""; }; 8E2871090836934A0013CE39 /* VirtualRingBuffer.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = VirtualRingBuffer.m; sourceTree = ""; }; - 8E287E480855F2EC00562C66 /* InfoView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = InfoView.h; sourceTree = ""; }; - 8E287E490855F2EC00562C66 /* InfoView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = InfoView.m; sourceTree = ""; }; - 8E297908083D891500F2C55A /* TrackingCell.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = TrackingCell.m; sourceTree = ""; }; - 8E297909083D891500F2C55A /* TrackingCell.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = TrackingCell.h; sourceTree = ""; }; 8E45227A0832898A00F8BA7C /* Sound.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Sound.h; sourceTree = ""; }; 8E45227B0832898A00F8BA7C /* Sound.m */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = Sound.m; sourceTree = ""; }; 8E47218508318D7A001F89FA /* DNDArrayController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = DNDArrayController.h; path = Playlist/DNDArrayController.h; sourceTree = ""; }; @@ -189,28 +200,22 @@ 8E47218708318D7A001F89FA /* PlaylistController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = PlaylistController.h; path = Playlist/PlaylistController.h; sourceTree = ""; }; 8E47218808318D7A001F89FA /* PlaylistController.m */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 30; name = PlaylistController.m; path = Playlist/PlaylistController.m; sourceTree = ""; }; 8E47218908318D7A001F89FA /* PlaylistEntry.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = PlaylistEntry.h; path = Playlist/PlaylistEntry.h; sourceTree = ""; }; - 8E47218A08318D7A001F89FA /* PlaylistEntry.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = PlaylistEntry.m; path = Playlist/PlaylistEntry.m; sourceTree = ""; }; + 8E47218A08318D7A001F89FA /* PlaylistEntry.m */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 30; name = PlaylistEntry.m; path = Playlist/PlaylistEntry.m; sourceTree = ""; }; 8E47218B08318D7A001F89FA /* PlaylistView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = PlaylistView.h; path = Playlist/PlaylistView.h; sourceTree = ""; }; 8E47218C08318D7A001F89FA /* PlaylistView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = PlaylistView.m; path = Playlist/PlaylistView.m; sourceTree = ""; }; 8E4721D108319294001F89FA /* AppController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AppController.h; sourceTree = ""; }; 8E4721D208319294001F89FA /* AppController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = AppController.m; sourceTree = ""; }; 8E4721D4083192C2001F89FA /* SoundController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SoundController.h; sourceTree = ""; }; 8E4721D5083192C2001F89FA /* SoundController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = SoundController.m; sourceTree = ""; }; - 8E5A9031084CB48500AE6D62 /* TagLib.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = TagLib.framework; path = Libraries/TagLib/build/TagLib.framework; sourceTree = ""; }; 8E5A90B0084CBC2F00AE6D62 /* Changelog */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Changelog; sourceTree = ""; }; - 8E6529FF083D93EB00A7AF1B /* TrackingSlider.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = TrackingSlider.h; sourceTree = ""; }; - 8E652A00083D93EB00A7AF1B /* TrackingSlider.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = TrackingSlider.m; sourceTree = ""; }; 8E6F2A1808480D010011F126 /* wheel.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = wheel.icns; path = Icons/wheel.icns; sourceTree = ""; }; - 8E7DAB4D0867423900615930 /* ClickField.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ClickField.h; sourceTree = ""; }; - 8E7DAB4E0867423900615930 /* ClickField.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = ClickField.m; sourceTree = ""; }; 8E81BC31083673ED0025A375 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; 8E81BC32083673ED0025A375 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = ""; }; + 8E847F72086DEBD600162B93 /* TODO */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = TODO; sourceTree = ""; }; 8E8BAE5108548BD500E9F14D /* WavPackFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WavPackFile.h; sourceTree = ""; }; 8E8BAE5208548BD500E9F14D /* WavPackFile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WavPackFile.m; sourceTree = ""; }; 8E8BAE5508548BE800E9F14D /* ShnFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShnFile.h; sourceTree = ""; }; 8E8BAE5608548BE800E9F14D /* ShnFile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ShnFile.m; sourceTree = ""; }; - 8E8BAE9808548C5500E9F14D /* Shorten.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Shorten.framework; path = Libraries/Shorten/build/Shorten.framework; sourceTree = ""; }; - 8E8BAE9C08548C6300E9F14D /* WavPack.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WavPack.framework; path = Libraries/WavPack/build/WavPack.framework; sourceTree = ""; }; 8E8F3F9B0855499500BCF803 /* README */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = README; sourceTree = ""; }; 8EAB75290856205B0021C2BF /* repeat_on.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = repeat_on.png; path = Icons/repeat_on.png; sourceTree = ""; }; 8EAB752A0856205B0021C2BF /* repeat_off.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = repeat_off.png; path = Icons/repeat_off.png; sourceTree = ""; }; @@ -233,15 +238,27 @@ 8EAFD27B08465E5600107BA5 /* remove_gray.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = remove_gray.png; path = Icons/remove_gray.png; sourceTree = ""; }; 8EAFD28008465E5600107BA5 /* stop_blue.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = stop_blue.png; path = Icons/stop_blue.png; sourceTree = ""; }; 8EAFD28108465E5600107BA5 /* stop_gray.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = stop_gray.png; path = Icons/stop_gray.png; sourceTree = ""; }; + 8EC4BB750872E2FB00ACF986 /* ClickField.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ClickField.h; path = Custom/ClickField.h; sourceTree = ""; }; + 8EC4BB760872E2FB00ACF986 /* ClickField.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = ClickField.m; path = Custom/ClickField.m; sourceTree = ""; }; + 8EC4BB770872E2FB00ACF986 /* InfoView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = InfoView.h; path = Custom/InfoView.h; sourceTree = ""; }; + 8EC4BB780872E2FB00ACF986 /* InfoView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = InfoView.m; path = Custom/InfoView.m; sourceTree = ""; }; + 8EC4BB790872E2FB00ACF986 /* TrackingCell.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = TrackingCell.h; path = Custom/TrackingCell.h; sourceTree = ""; }; + 8EC4BB7A0872E2FB00ACF986 /* TrackingCell.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = TrackingCell.m; path = Custom/TrackingCell.m; sourceTree = ""; }; + 8EC4BB7B0872E2FB00ACF986 /* TrackingSlider.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = TrackingSlider.h; path = Custom/TrackingSlider.h; sourceTree = ""; }; + 8EC4BB7C0872E2FB00ACF986 /* TrackingSlider.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = TrackingSlider.m; path = Custom/TrackingSlider.m; sourceTree = ""; }; + 8EC4BCC10872EEB800ACF986 /* WavPack.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WavPack.framework; path = Libraries/WavPack/build/Deployment/WavPack.framework; sourceTree = ""; }; + 8EC4BCCE0872EEFC00ACF986 /* Vorbis.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Vorbis.framework; path = Libraries/Vorbis/build/Deployment/Vorbis.framework; sourceTree = ""; }; + 8EC4BCD20872EF0C00ACF986 /* TagLib.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = TagLib.framework; path = Libraries/TagLib/build/Deployment/TagLib.framework; sourceTree = ""; }; + 8EC4BCD60872EF1600ACF986 /* SndFile.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SndFile.framework; path = Libraries/SndFile/build/Deployment/SndFile.framework; sourceTree = ""; }; + 8EC4BCDA0872EF1F00ACF986 /* Shorten.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Shorten.framework; path = Libraries/Shorten/build/Deployment/Shorten.framework; sourceTree = ""; }; + 8EC4BCDE0872EF3100ACF986 /* Ogg.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Ogg.framework; path = Libraries/Ogg/build/Deployment/Ogg.framework; sourceTree = ""; }; + 8EC4BCE20872EF3A00ACF986 /* MPCDec.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MPCDec.framework; path = Libraries/MPCDec/build/Deployment/MPCDec.framework; sourceTree = ""; }; + 8EC4BCE60872EF4400ACF986 /* MAC.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MAC.framework; path = Libraries/MAC/build/Deployment/MAC.framework; sourceTree = ""; }; + 8EC4BCEA0872EF4D00ACF986 /* FLAC.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FLAC.framework; path = Libraries/FLAC/build/Deployment/FLAC.framework; sourceTree = ""; }; + 8EC4BCEE0872EF5600ACF986 /* FAAD2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FAAD2.framework; path = Libraries/FAAD2/build/Deployment/FAAD2.framework; sourceTree = ""; }; + 8EC4BCF20872EF6300ACF986 /* DecMPA.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DecMPA.framework; path = Libraries/DecMPA/build/Deployment/DecMPA.framework; sourceTree = ""; }; 8EDCBDCA0840617B00F5C7E3 /* Cog.scriptTerminology */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.scriptTerminology; path = Cog.scriptTerminology; sourceTree = ""; }; 8EDCBDCC0840618900F5C7E3 /* Cog.scriptSuite */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.scriptSuite; path = Cog.scriptSuite; sourceTree = ""; }; - 8EE4A684082E6E5100415456 /* DecMPA.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DecMPA.framework; path = Libraries/DecMPA/build/DecMPA.framework; sourceTree = ""; }; - 8EE4A688082E6E6000415456 /* FLAC.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FLAC.framework; path = Libraries/FLAC/build/FLAC.framework; sourceTree = ""; }; - 8EE4A68C082E6E7000415456 /* MAC.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MAC.framework; path = Libraries/MAC/build/MAC.framework; sourceTree = ""; }; - 8EE4A690082E6E8000415456 /* MPCDec.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MPCDec.framework; path = Libraries/MPCDec/build/MPCDec.framework; sourceTree = ""; }; - 8EE4A694082E6E9100415456 /* Ogg.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Ogg.framework; path = Libraries/Ogg/build/Ogg.framework; sourceTree = ""; }; - 8EE4A698082E6EA000415456 /* SndFile.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SndFile.framework; path = Libraries/SndFile/build/SndFile.framework; sourceTree = ""; }; - 8EE4A69B082E6EB200415456 /* Vorbis.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Vorbis.framework; path = Libraries/Vorbis/build/Vorbis.framework; sourceTree = ""; }; 8EF6FA65082DA526006F7BE6 /* FlacFile.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = FlacFile.h; sourceTree = ""; }; 8EF6FA66082DA526006F7BE6 /* FlacFile.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = FlacFile.m; sourceTree = ""; }; 8EF6FA67082DA526006F7BE6 /* MonkeysFile.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MonkeysFile.h; sourceTree = ""; }; @@ -251,7 +268,7 @@ 8EF6FA6B082DA526006F7BE6 /* MusepackFile.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MusepackFile.h; sourceTree = ""; }; 8EF6FA6C082DA526006F7BE6 /* MusepackFile.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = MusepackFile.m; sourceTree = ""; }; 8EF6FA6D082DA526006F7BE6 /* SoundFile.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SoundFile.h; sourceTree = ""; }; - 8EF6FA6E082DA526006F7BE6 /* SoundFile.m */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 30; path = SoundFile.m; sourceTree = ""; }; + 8EF6FA6E082DA526006F7BE6 /* SoundFile.m */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 30; path = SoundFile.m; sourceTree = ""; }; 8EF6FA6F082DA526006F7BE6 /* VorbisFile.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = VorbisFile.h; sourceTree = ""; }; 8EF6FA70082DA526006F7BE6 /* VorbisFile.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = VorbisFile.m; sourceTree = ""; }; 8EF6FA71082DA526006F7BE6 /* WaveFile.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = WaveFile.h; sourceTree = ""; }; @@ -264,19 +281,19 @@ buildActionMask = 2147483647; files = ( 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */, - 8EE4A685082E6E5100415456 /* DecMPA.framework in Frameworks */, - 8EE4A689082E6E6000415456 /* FLAC.framework in Frameworks */, - 8EE4A68D082E6E7000415456 /* MAC.framework in Frameworks */, - 8EE4A691082E6E8000415456 /* MPCDec.framework in Frameworks */, - 8EE4A695082E6E9100415456 /* Ogg.framework in Frameworks */, - 8EE4A699082E6EA000415456 /* SndFile.framework in Frameworks */, - 8EE4A69C082E6EB200415456 /* Vorbis.framework in Frameworks */, 8E81BC33083673ED0025A375 /* AudioToolbox.framework in Frameworks */, 8E81BC34083673ED0025A375 /* AudioUnit.framework in Frameworks */, - 8E5A9032084CB48500AE6D62 /* TagLib.framework in Frameworks */, - 8E14E469084CF15C00246BCC /* FAAD2.framework in Frameworks */, - 8E8BAE9908548C5500E9F14D /* Shorten.framework in Frameworks */, - 8E8BAE9D08548C6300E9F14D /* WavPack.framework in Frameworks */, + 8EC4BCC20872EEB800ACF986 /* WavPack.framework in Frameworks */, + 8EC4BCCF0872EEFC00ACF986 /* Vorbis.framework in Frameworks */, + 8EC4BCD30872EF0C00ACF986 /* TagLib.framework in Frameworks */, + 8EC4BCD70872EF1600ACF986 /* SndFile.framework in Frameworks */, + 8EC4BCDB0872EF1F00ACF986 /* Shorten.framework in Frameworks */, + 8EC4BCDF0872EF3100ACF986 /* Ogg.framework in Frameworks */, + 8EC4BCE30872EF3A00ACF986 /* MPCDec.framework in Frameworks */, + 8EC4BCE70872EF4400ACF986 /* MAC.framework in Frameworks */, + 8EC4BCEB0872EF4D00ACF986 /* FLAC.framework in Frameworks */, + 8EC4BCEF0872EF5600ACF986 /* FAAD2.framework in Frameworks */, + 8EC4BCF30872EF6300ACF986 /* DecMPA.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -291,8 +308,6 @@ 8E47215C08318D12001F89FA /* Playlist */, 8EF6FA64082DA525006F7BE6 /* SoundFile */, 8E6529F8083D93AF00A7AF1B /* Custom */, - 8E287E480855F2EC00562C66 /* InfoView.h */, - 8E287E490855F2EC00562C66 /* InfoView.m */, 8E2871080836934A0013CE39 /* VirtualRingBuffer.h */, 8E2871090836934A0013CE39 /* VirtualRingBuffer.m */, 8E4721D108319294001F89FA /* AppController.h */, @@ -308,20 +323,17 @@ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { isa = PBXGroup; children = ( - 8E8BAE9C08548C6300E9F14D /* WavPack.framework */, - 8E8BAE9808548C5500E9F14D /* Shorten.framework */, - 8E14E468084CF15C00246BCC /* FAAD2.framework */, - 8E5A9031084CB48500AE6D62 /* TagLib.framework */, - 8E81BC31083673ED0025A375 /* AudioToolbox.framework */, - 8E81BC32083673ED0025A375 /* AudioUnit.framework */, - 8EE4A69B082E6EB200415456 /* Vorbis.framework */, - 8EE4A698082E6EA000415456 /* SndFile.framework */, - 8EE4A694082E6E9100415456 /* Ogg.framework */, - 8EE4A690082E6E8000415456 /* MPCDec.framework */, - 8EE4A68C082E6E7000415456 /* MAC.framework */, - 8EE4A688082E6E6000415456 /* FLAC.framework */, - 8EE4A684082E6E5100415456 /* DecMPA.framework */, - 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, + 8EC4BCF20872EF6300ACF986 /* DecMPA.framework */, + 8EC4BCEE0872EF5600ACF986 /* FAAD2.framework */, + 8EC4BCEA0872EF4D00ACF986 /* FLAC.framework */, + 8EC4BCE60872EF4400ACF986 /* MAC.framework */, + 8EC4BCE20872EF3A00ACF986 /* MPCDec.framework */, + 8EC4BCDE0872EF3100ACF986 /* Ogg.framework */, + 8EC4BCDA0872EF1F00ACF986 /* Shorten.framework */, + 8EC4BCD60872EF1600ACF986 /* SndFile.framework */, + 8EC4BCD20872EF0C00ACF986 /* TagLib.framework */, + 8EC4BCCE0872EEFC00ACF986 /* Vorbis.framework */, + 8EC4BCC10872EEB800ACF986 /* WavPack.framework */, ); name = "Linked Frameworks"; sourceTree = ""; @@ -329,6 +341,9 @@ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { isa = PBXGroup; children = ( + 8E81BC31083673ED0025A375 /* AudioToolbox.framework */, + 8E81BC32083673ED0025A375 /* AudioUnit.framework */, + 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, 29B97324FDCFA39411CA2CEA /* AppKit.framework */, 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */, 29B97325FDCFA39411CA2CEA /* Foundation.framework */, @@ -379,6 +394,7 @@ 8E10DBEF084BBCF00013815C /* Credits.html */, 8E5A90B0084CBC2F00AE6D62 /* Changelog */, 8E8F3F9B0855499500BCF803 /* README */, + 8E847F72086DEBD600162B93 /* TODO */, ); name = Resources; sourceTree = ""; @@ -432,12 +448,14 @@ 8E6529F8083D93AF00A7AF1B /* Custom */ = { isa = PBXGroup; children = ( - 8E297908083D891500F2C55A /* TrackingCell.m */, - 8E297909083D891500F2C55A /* TrackingCell.h */, - 8E6529FF083D93EB00A7AF1B /* TrackingSlider.h */, - 8E652A00083D93EB00A7AF1B /* TrackingSlider.m */, - 8E7DAB4D0867423900615930 /* ClickField.h */, - 8E7DAB4E0867423900615930 /* ClickField.m */, + 8EC4BB750872E2FB00ACF986 /* ClickField.h */, + 8EC4BB760872E2FB00ACF986 /* ClickField.m */, + 8EC4BB770872E2FB00ACF986 /* InfoView.h */, + 8EC4BB780872E2FB00ACF986 /* InfoView.m */, + 8EC4BB790872E2FB00ACF986 /* TrackingCell.h */, + 8EC4BB7A0872E2FB00ACF986 /* TrackingCell.m */, + 8EC4BB7B0872E2FB00ACF986 /* TrackingSlider.h */, + 8EC4BB7C0872E2FB00ACF986 /* TrackingSlider.m */, ); name = Custom; sourceTree = ""; @@ -511,6 +529,8 @@ 8EFFB6980833028600C53833 /* CopyFiles */, ); buildRules = ( + 8E6A0CCF086CCB6600B90CF9 /* PBXBuildRule */, + 8E6A0CCE086CCB5900B90CF9 /* PBXBuildRule */, ); buildSettings = { FRAMEWORK_SEARCH_PATHS = ( @@ -607,6 +627,7 @@ 8EAB752E0856205B0021C2BF /* repeat_off.png in Resources */, 8EAB753F085621620021C2BF /* shuffle_off.png in Resources */, 8EABE777085621D4004DF882 /* shuffle_on.png in Resources */, + 8E847F73086DEBD600162B93 /* TODO in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -637,14 +658,14 @@ 8E267D100837F7A6004ACBC5 /* FeedbackSocket.m in Sources */, 8E267D120837F7A6004ACBC5 /* MacPADSocket.m in Sources */, 8E267D140837F7A6004ACBC5 /* UpdateController.m in Sources */, - 8E29790A083D891500F2C55A /* TrackingCell.m in Sources */, - 8E652A02083D93EB00A7AF1B /* TrackingSlider.m in Sources */, 8E0EBF0F084BA776003A6E64 /* DBLog.c in Sources */, 8E14E47C084CF1A200246BCC /* AACFile.m in Sources */, 8E8BAE5408548BD500E9F14D /* WavPackFile.m in Sources */, 8E8BAE5808548BE800E9F14D /* ShnFile.m in Sources */, - 8E287E4B0855F2EC00562C66 /* InfoView.m in Sources */, - 8E7DAB500867423900615930 /* ClickField.m in Sources */, + 8EC4BB7E0872E2FB00ACF986 /* ClickField.m in Sources */, + 8EC4BB800872E2FB00ACF986 /* InfoView.m in Sources */, + 8EC4BB820872E2FB00ACF986 /* TrackingCell.m in Sources */, + 8EC4BB840872E2FB00ACF986 /* TrackingSlider.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -687,11 +708,25 @@ /Users/xugg/Projects/Cog/Libraries/FAAD2/build, /Users/xugg/Projects/Cog/Libraries/Shorten/build, /Users/xugg/Projects/Cog/Libraries/WavPack/build, + "$(SRCROOT)/Libraries/DecMPA/build/Deployment", + "$(SRCROOT)/Libraries/FAAD2/build/Deployment", + "$(SRCROOT)/Libraries/FLAC/build/Deployment", + "$(SRCROOT)/Libraries/MAC/build/Deployment", + "$(SRCROOT)/Libraries/MPCDec/build/Deployment", + "$(SRCROOT)/Libraries/Ogg/build/Deployment", + "$(SRCROOT)/Libraries/Shorten/build/Deployment", + "$(SRCROOT)/Libraries/SndFile/build/Deployment", + "$(SRCROOT)/Libraries/TagLib/build/Deployment", + "$(SRCROOT)/Libraries/Vorbis/build/Development", + "$(SRCROOT)/Libraries/WavPack/build/Deployment", + "$(SRCROOT)/Libraries/MAC/build/Development", + "$(SRCROOT)/../Cog/Libraries/FLAC/build/Deployment", + "$(SRCROOT)/Libraries/Vorbis/build/Deployment", ); GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_OPTIMIZATION_LEVEL = 0; + GCC_OPTIMIZATION_LEVEL = s; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = Cog_Prefix.pch; GCC_WARN_ABOUT_RETURN_TYPE = YES; @@ -705,10 +740,11 @@ "-DHAVE_CONFIG_H", ); OTHER_LDFLAGS = "-Wl,-read_only_relocs,warning"; - PREBINDING = NO; + PREBINDING = YES; + PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = YES; PRODUCT_NAME = Cog; WRAPPER_EXTENSION = app; - ZERO_LINK = YES; + ZERO_LINK = NO; }; name = Development; }; @@ -717,18 +753,17 @@ buildSettings = { COPY_PHASE_STRIP = YES; 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, + "$(SRCROOT)/Libraries/WavPack/build/Deployment", + "$(SRCROOT)/Libraries/Vorbis/build/Deployment", + "$(SRCROOT)/Libraries/TagLib/build/Deployment", + "$(SRCROOT)/Libraries/SndFile/build/Deployment", + "$(SRCROOT)/Libraries/Shorten/build/Deployment", + "$(SRCROOT)/Libraries/Ogg/build/Deployment", + "$(SRCROOT)/Libraries/MPCDec/build/Deployment", + "$(SRCROOT)/Libraries/MAC/build/Deployment", + "$(SRCROOT)/Libraries/FLAC/build/Deployment", + "$(SRCROOT)/Libraries/FAAD2/build/Deployment", + "$(SRCROOT)/Libraries/DecMPA/build/Deployment", ); GCC_ENABLE_FIX_AND_CONTINUE = NO; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; @@ -768,6 +803,20 @@ /Users/xugg/Projects/Cog/Libraries/FAAD2/build, /Users/xugg/Projects/Cog/Libraries/Shorten/build, /Users/xugg/Projects/Cog/Libraries/WavPack/build, + "$(SRCROOT)/Libraries/DecMPA/build/Deployment", + "$(SRCROOT)/Libraries/FAAD2/build/Deployment", + "$(SRCROOT)/Libraries/FLAC/build/Deployment", + "$(SRCROOT)/Libraries/MAC/build/Deployment", + "$(SRCROOT)/Libraries/MPCDec/build/Deployment", + "$(SRCROOT)/Libraries/Ogg/build/Deployment", + "$(SRCROOT)/Libraries/Shorten/build/Deployment", + "$(SRCROOT)/Libraries/SndFile/build/Deployment", + "$(SRCROOT)/Libraries/TagLib/build/Deployment", + "$(SRCROOT)/Libraries/Vorbis/build/Development", + "$(SRCROOT)/Libraries/WavPack/build/Deployment", + "$(SRCROOT)/Libraries/MAC/build/Development", + "$(SRCROOT)/../Cog/Libraries/FLAC/build/Deployment", + "$(SRCROOT)/Libraries/Vorbis/build/Deployment", ); GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_OPTIMIZATION_LEVEL = 3; diff --git a/Cog.xcodeproj/xugg.mode1 b/Cog.xcodeproj/xugg.mode1 index c2f37dda2..d523c8568 100644 --- a/Cog.xcodeproj/xugg.mode1 +++ b/Cog.xcodeproj/xugg.mode1 @@ -255,20 +255,21 @@ 29B97314FDCFA39411CA2CEA 080E96DDFE201D6D7F000001 - 8E6529F8083D93AF00A7AF1B 29B97317FDCFA39411CA2CEA + 29B97323FDCFA39411CA2CEA + 1058C7A0FEA54F0111CA2CBB 1C37FABC05509CD000000102 PBXSmartGroupTreeModuleOutlineStateSelectionKey - 32 - 24 + 26 + 16 0 PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 51}, {186, 565}} + {{0, 0}, {186, 567}} PBXTopSmartGroupGIDs @@ -280,14 +281,14 @@ GeometryConfiguration Frame - {{0, 0}, {203, 583}} + {{0, 0}, {203, 585}} GroupTreeTableConfiguration MainColumn 186 RubberWindowFrame - 1 122 1024 624 0 0 1024 746 + 0 120 1024 626 0 0 1024 746 Module PBXSmartGroupTreeModule @@ -305,7 +306,7 @@ PBXProjectModuleGUID 1CE0B20306471E060097A5F4 PBXProjectModuleLabel - Changelog + TODO PBXSplitModuleInNavigatorKey Split0 @@ -313,11 +314,11 @@ PBXProjectModuleGUID 1CE0B20406471E060097A5F4 PBXProjectModuleLabel - Changelog + TODO _historyCapacity 0 bookmark - 8E7DABA50867470600615930 + 8EC4BD6B0872EFD900ACF986 history 8EF6FACD082DAA2B006F7BE6 @@ -327,33 +328,13 @@ 8E1A1826083806B700AEA302 8E6082C7083920310017AECF 8EDC88A90842F8DE007D1532 - 8EDC88B50842F936007D1532 - 8ED833CD08457E6B0033CDBD 8E94D9D2084BEA32007F0AEB 8E94D9D3084BEA32007F0AEB - 8E72BC640851408F00E34F1D - 8EFC6D18085376D100C67D06 8EFC6DE8085380B800C67D06 8EFC6DF0085380B800C67D06 - 8EFC6E29085386CE00C67D06 8E3EDBC9085477D0007C6A53 - 8E8BAF10085494E000E9F14D 8E8BAF790854976A00E9F14D 8E91CCEE08549FEE0055EC68 - 8EB30D8A0854BEF1009EA87F - 8EB30DAE0854BFEE009EA87F - 8EB30DDB0854C261009EA87F - 8EB30DDC0854C261009EA87F - 8EB30DDD0854C261009EA87F - 8EB30DDE0854C261009EA87F - 8EB30DDF0854C261009EA87F - 8EB30DE00854C261009EA87F - 8EB30E1F0854C36A009EA87F - 8E4D66E90854CD2C00816BEE - 8E4D66EA0854CD2C00816BEE - 8E4D67D40854E7B100816BEE - 8E8F3F59085546B300BCF803 - 8E8F3F780855483300BCF803 8EF45A7A08557C4D00D2D5D0 8EAB7544085621B10021C2BF 8EAB7545085621B10021C2BF @@ -363,13 +344,10 @@ 8EAB754C085621B10021C2BF 8EABE78408562281004DF882 8EABE7C308562FF3004DF882 - 8EABE7C508562FF3004DF882 - 8E5CC5020856316C00A299E0 8E98E5D308563D1B0078CAA1 8E65357F08563F6A00E468D9 8E65359E0856401D00E468D9 8E63F6C808587FD400C79B72 - 8E63F6C908587FD400C79B72 8E63F6CA08587FD400C79B72 8E8C7BFB085E9CD50086DAC7 8E8C7C14085E9DA50086DAC7 @@ -379,25 +357,50 @@ 8E8C7C85085EA5E30086DAC7 8E8C7D35085EAD460086DAC7 8E8C7D36085EAD460086DAC7 - 8EE558070866A24B009E7F50 - 8E7DAAA808673DF600615930 - 8E7DAAF70867402D00615930 - 8E7DAAF80867402D00615930 - 8E7DAAF90867402D00615930 - 8E7DAAFB0867402D00615930 - 8E7DAAFC0867402D00615930 - 8E7DAAFD0867402D00615930 8E7DAAFE0867402D00615930 - 8E7DAAFF0867402D00615930 8E7DAB430867421200615930 8E7DAB440867421200615930 8E7DAB78086742EB00615930 8E7DAB79086742EB00615930 - 8E7DAB7A086742EB00615930 8E7DAB9D0867470600615930 - 8E7DAB9E0867470600615930 - 8E7DAB9F0867470600615930 - 8E7DABA00867470600615930 + 8EB911C208676353008538A7 + 8EDA5C650869FCFD004E4A55 + 8EDA5C660869FCFD004E4A55 + 8EDA5C670869FCFD004E4A55 + 8EC82088086CD56B0088347D + 8EC820C1086CD8890088347D + 8EC820C2086CD8890088347D + 8EC822A2086CE76C0088347D + 8EC822A3086CE76C0088347D + 8EC822A5086CE76C0088347D + 8E035561086DC742005939B9 + 8E035562086DC742005939B9 + 8E035565086DC742005939B9 + 8E035566086DC742005939B9 + 8E035567086DC742005939B9 + 8E035569086DC742005939B9 + 8E03556A086DC742005939B9 + 8E78A0BE086DD58B007E14C5 + 8ECDC91A086DDDCD007D9727 + 8E4F5F72086E37260043E85E + 8E4F5FB8086E38910043E85E + 8E4F5FDE086E39190043E85E + 8E0AA7B1086F226C00E31C8E + 8E0AA7EC086F251100E31C8E + 8E0AA808086F259400E31C8E + 8E0AA809086F259400E31C8E + 8E0AA812086F26A100E31C8E + 8EC4BD460872EFD900ACF986 + 8EC4BD470872EFD900ACF986 + 8EC4BD480872EFD900ACF986 + 8EC4BD490872EFD900ACF986 + 8EC4BD4A0872EFD900ACF986 + 8EC4BD4B0872EFD900ACF986 + 8EC4BD4C0872EFD900ACF986 + 8EC4BD4D0872EFD900ACF986 + 8EC4BD4E0872EFD900ACF986 + 8EC4BD4F0872EFD900ACF986 + 8EC4BD500872EFD900ACF986 prevStack @@ -461,10 +464,8 @@ 8E8BAEB308548C9600E9F14D 8E8BAEB708548C9600E9F14D 8E8BAF17085494E000E9F14D - 8EB30D990854BEF1009EA87F 8E8F3FAE08554B8000BCF803 8E287E5D0855F35400562C66 - 8E287E5E0855F35400562C66 8EAB7553085621B10021C2BF 8EAB7554085621B10021C2BF 8EAB7555085621B10021C2BF @@ -477,53 +478,35 @@ 8E8C7C90085EA5E30086DAC7 8E8C7C92085EA5E30086DAC7 8E8C7C98085EA5E30086DAC7 - 8E7DAAAA08673DF600615930 - 8E7DAAAB08673DF600615930 - 8E7DAB020867402D00615930 - 8E7DAB030867402D00615930 - 8E7DAB040867402D00615930 - 8E7DAB050867402D00615930 - 8E7DAB060867402D00615930 - 8E7DAB070867402D00615930 - 8E7DAB080867402D00615930 - 8E7DAB090867402D00615930 - 8E7DAB0A0867402D00615930 - 8E7DAB0B0867402D00615930 - 8E7DAB0C0867402D00615930 - 8E7DAB0D0867402D00615930 - 8E7DAB0E0867402D00615930 - 8E7DAB0F0867402D00615930 - 8E7DAB100867402D00615930 - 8E7DAB110867402D00615930 - 8E7DAB320867412700615930 - 8E7DAB330867412700615930 - 8E7DAB340867412700615930 - 8E7DAB350867412700615930 - 8E7DAB360867412700615930 - 8E7DAB470867421200615930 - 8E7DAB480867421200615930 - 8E7DAB490867421200615930 - 8E7DAB4A0867421200615930 - 8E7DAB4B0867421200615930 - 8E7DAB540867424400615930 8E7DAB550867424400615930 8E7DAB560867424400615930 - 8E7DAB570867424400615930 - 8E7DAB580867424400615930 - 8E7DAB7C086742EB00615930 - 8E7DAB7D086742EB00615930 - 8E7DAB7E086742EB00615930 - 8E7DAB7F086742EB00615930 - 8E7DAB80086742EB00615930 - 8E7DAB81086742EB00615930 - 8E7DAB82086742EB00615930 - 8E7DAB83086742EB00615930 - 8E7DAB84086742EB00615930 - 8E7DAB85086742EB00615930 - 8E7DABA10867470600615930 - 8E7DABA20867470600615930 - 8E7DABA30867470600615930 - 8E7DABA40867470600615930 + 8EC822B1086CE76C0088347D + 8EC4BD510872EFD900ACF986 + 8EC4BD520872EFD900ACF986 + 8EC4BD530872EFD900ACF986 + 8EC4BD540872EFD900ACF986 + 8EC4BD550872EFD900ACF986 + 8EC4BD560872EFD900ACF986 + 8EC4BD570872EFD900ACF986 + 8EC4BD580872EFD900ACF986 + 8EC4BD590872EFD900ACF986 + 8EC4BD5A0872EFD900ACF986 + 8EC4BD5B0872EFD900ACF986 + 8EC4BD5C0872EFD900ACF986 + 8EC4BD5D0872EFD900ACF986 + 8EC4BD5E0872EFD900ACF986 + 8EC4BD5F0872EFD900ACF986 + 8EC4BD600872EFD900ACF986 + 8EC4BD610872EFD900ACF986 + 8EC4BD620872EFD900ACF986 + 8EC4BD630872EFD900ACF986 + 8EC4BD640872EFD900ACF986 + 8EC4BD650872EFD900ACF986 + 8EC4BD660872EFD900ACF986 + 8EC4BD670872EFD900ACF986 + 8EC4BD680872EFD900ACF986 + 8EC4BD690872EFD900ACF986 + 8EC4BD6A0872EFD900ACF986 SplitCount @@ -535,14 +518,14 @@ GeometryConfiguration Frame - {{0, 0}, {816, 405}} + {{0, 0}, {816, 407}} RubberWindowFrame - 1 122 1024 624 0 0 1024 746 + 0 120 1024 626 0 0 1024 746 Module PBXNavigatorGroup Proportion - 405pt + 407pt ContentConfiguration @@ -555,9 +538,9 @@ GeometryConfiguration Frame - {{0, 410}, {816, 173}} + {{0, 412}, {816, 173}} RubberWindowFrame - 1 122 1024 624 0 0 1024 746 + 0 120 1024 626 0 0 1024 746 Module XCDetailModule @@ -581,9 +564,9 @@ TableOfContents - 8E7DAAAD08673DF600615930 + 8EC4BB6E0872D41D00ACF986 1CE0B1FE06471DED0097A5F4 - 8E7DAAAE08673DF600615930 + 8EC4BB6F0872D41D00ACF986 1CE0B20306471E060097A5F4 1CE0B20506471E060097A5F4 @@ -717,13 +700,13 @@ 5 WindowOrderList - 1C0AD2B3069F1EA900FABCE6 1C530D57069F1CE1000CFCEE 8EF6FAA6082DA951006F7BE6 + 1C0AD2B3069F1EA900FABCE6 /Users/xugg/Projects/Cog/Cog.xcodeproj WindowString - 1 122 1024 624 0 0 1024 746 + 0 120 1024 626 0 0 1024 746 WindowTools @@ -739,12 +722,14 @@ Dock + BecomeActive + ContentConfiguration PBXProjectModuleGUID 1CD0528F0623707200166675 PBXProjectModuleLabel - SoundController.m + FlacFile.h StatusBarVisibility @@ -761,10 +746,10 @@ 342pt - BecomeActive - ContentConfiguration + PBXBuildLogShowsTranscriptDefaultKey + {{0, 17}, {1024, 219}} PBXProjectModuleGUID XCMainBuildResultsModuleGUID PBXProjectModuleLabel @@ -802,7 +787,7 @@ TableOfContents 8EF6FAA6082DA951006F7BE6 - 8E7DAAB408673E1600615930 + 8EC4BB950872E84700ACF986 1CD0528F0623707200166675 XCMainBuildResultsModuleGUID @@ -844,8 +829,8 @@ yes sizes - {{0, 0}, {143, 190}} - {{143, 0}, {881, 190}} + {{0, 0}, {184, 171}} + {{184, 0}, {840, 171}} VerticalSplitView @@ -860,8 +845,8 @@ yes sizes - {{0, 0}, {1024, 190}} - {{0, 190}, {1024, 394}} + {{0, 0}, {1024, 171}} + {{0, 171}, {1024, 413}} @@ -908,14 +893,14 @@ TableOfContents 1CD10A99069EF8BA00B06720 - 8EC12F0608566E3A00FC8AE7 + 8E4F5F78086E37260043E85E 1C162984064C10D400B95A72 - 8EC12F0708566E3A00FC8AE7 - 8EC12F0808566E3A00FC8AE7 - 8EC12F0908566E3A00FC8AE7 - 8EC12F0A08566E3A00FC8AE7 - 8EC12F0B08566E3A00FC8AE7 - 8EC12F0C08566E3A00FC8AE7 + 8E4F5F79086E37260043E85E + 8E4F5F7A086E37260043E85E + 8E4F5F7B086E37260043E85E + 8E4F5F7C086E37260043E85E + 8E4F5F7D086E37260043E85E + 8E4F5F7E086E37260043E85E ToolbarConfiguration xcode.toolbar.config.debug @@ -947,7 +932,7 @@ PBXProjectModuleGUID 1CDD528C0622207200134675 PBXProjectModuleLabel - SoundFile.m + PlaylistController.m StatusBarVisibility @@ -1003,8 +988,8 @@ TableOfContents 1C530D57069F1CE1000CFCEE - 8E7DAABB08673E5400615930 - 8E7DAABC08673E5400615930 + 8EC4BBCB0872E9F100ACF986 + 8EC4BBCC0872E9F100ACF986 1CDD528C0622207200134675 1CD0528E0623707200166675 @@ -1067,7 +1052,7 @@ TableOfContents 8E7A9371083675B600771E14 - 8EC12F0D08566E3A00FC8AE7 + 8E4F5FBD086E38910043E85E 1C78EAAC065D492600B07095 WindowString @@ -1162,9 +1147,9 @@ TableOfContents 1C0AD2B3069F1EA900FABCE6 - 8E7DAB1B086740D100615930 + 8EC4BB700872D41D00ACF986 1CD0528B0623707200166675 - 8E7DAB1C086740D100615930 + 8EC4BB710872D41D00ACF986 ToolbarConfiguration xcode.toolbar.config.run diff --git a/Cog.xcodeproj/xugg.pbxuser b/Cog.xcodeproj/xugg.pbxuser index c089e92ac..334afc5ac 100644 --- a/Cog.xcodeproj/xugg.pbxuser +++ b/Cog.xcodeproj/xugg.pbxuser @@ -17,11 +17,11 @@ 8D1107260486CEB800E47090 /* Cog */, ); breakpoints = ( - 8EF1B97C083A49980095B236 /* PlaylistController.m:386 */, - 8EEFDF8808410C00008BB533 /* SoundController.m:296 */, - 8EDC87BA0842F2A4007D1532 /* SoundFile.m:124 */, - 8E8BAEFB08548F8600E9F14D /* WavPackFile.m:27 */, + 8EF1B97C083A49980095B236 /* PlaylistController.m:391 */, + 8EEFDF8808410C00008BB533 /* SoundController.m:302 */, + 8EDC87BA0842F2A4007D1532 /* SoundFile.m:135 */, ); + breakpointsGroup = 8E14325D086DCCD400A2233E /* XCBreakpointsBucket */; codeSenseManager = 8EB77467082DA402005891CA /* Code sense */; executables = ( 8EB77455082DA3EB005891CA /* Cog */, @@ -89,6 +89,30 @@ PBXFindDataSource_LocationID, ); }; + PBXConfiguration.PBXFileTableDataSource3.XCSCMDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 20, + 553, + 20, + 48.1626, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_SCM_ColumnID, + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; @@ -111,212 +135,233 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 140983470; - PBXWorkspaceStateSaveDate = 140983470; + PBXPerProjectTemplateStateSaveDate = 141743129; + PBXWorkspaceStateSaveDate = 141743129; }; perUserProjectItems = { - 8E0EBF58084BAA56003A6E64 /* PBXTextBookmark */ = 8E0EBF58084BAA56003A6E64 /* PBXTextBookmark */; - 8E0EBF59084BAA56003A6E64 /* PBXTextBookmark */ = 8E0EBF59084BAA56003A6E64 /* PBXTextBookmark */; - 8E10DC08084BBE490013815C /* PBXTextBookmark */ = 8E10DC08084BBE490013815C /* PBXTextBookmark */; - 8E14E4B4084D089100246BCC /* PBXTextBookmark */ = 8E14E4B4084D089100246BCC /* PBXTextBookmark */; - 8E14E4B5084D089100246BCC /* PBXTextBookmark */ = 8E14E4B5084D089100246BCC /* PBXTextBookmark */; - 8E1A1826083806B700AEA302 /* PBXTextBookmark */ = 8E1A1826083806B700AEA302 /* PBXTextBookmark */; - 8E1A182C083806B700AEA302 /* PBXTextBookmark */ = 8E1A182C083806B700AEA302 /* PBXTextBookmark */; - 8E267D8C0837F963004ACBC5 /* PBXTextBookmark */ = 8E267D8C0837F963004ACBC5 /* PBXTextBookmark */; - 8E267D8D0837F963004ACBC5 /* PBXTextBookmark */ = 8E267D8D0837F963004ACBC5 /* PBXTextBookmark */; - 8E267D900837F963004ACBC5 /* PBXTextBookmark */ = 8E267D900837F963004ACBC5 /* PBXTextBookmark */; - 8E267D910837F963004ACBC5 /* PBXTextBookmark */ = 8E267D910837F963004ACBC5 /* PBXTextBookmark */; - 8E267D920837F963004ACBC5 /* PBXTextBookmark */ = 8E267D920837F963004ACBC5 /* PBXTextBookmark */; - 8E267D940837F963004ACBC5 /* PBXTextBookmark */ = 8E267D940837F963004ACBC5 /* PBXTextBookmark */; - 8E267DA00837FA6E004ACBC5 /* PBXTextBookmark */ = 8E267DA00837FA6E004ACBC5 /* PBXTextBookmark */; - 8E267DDB0837FE5F004ACBC5 /* PBXTextBookmark */ = 8E267DDB0837FE5F004ACBC5 /* PBXTextBookmark */; - 8E267E0308380176004ACBC5 /* PBXTextBookmark */ = 8E267E0308380176004ACBC5 /* PBXTextBookmark */; - 8E267E1A083801D8004ACBC5 /* PBXTextBookmark */ = 8E267E1A083801D8004ACBC5 /* PBXTextBookmark */; - 8E287164083695080013CE39 /* PBXTextBookmark */ = 8E287164083695080013CE39 /* PBXTextBookmark */; - 8E287E5D0855F35400562C66 /* PBXTextBookmark */ = 8E287E5D0855F35400562C66 /* PBXTextBookmark */; - 8E287E5E0855F35400562C66 /* PBXTextBookmark */ = 8E287E5E0855F35400562C66 /* PBXTextBookmark */; - 8E297910083D892800F2C55A /* PBXTextBookmark */ = 8E297910083D892800F2C55A /* PBXTextBookmark */; - 8E3EDBC9085477D0007C6A53 /* PBXTextBookmark */ = 8E3EDBC9085477D0007C6A53 /* PBXTextBookmark */; - 8E4521C408327F4C00F8BA7C /* PBXTextBookmark */ = 8E4521C408327F4C00F8BA7C /* PBXTextBookmark */; - 8E4522A608329C9B00F8BA7C /* PBXTextBookmark */ = 8E4522A608329C9B00F8BA7C /* PBXTextBookmark */; - 8E4522AF08329C9B00F8BA7C /* PBXTextBookmark */ = 8E4522AF08329C9B00F8BA7C /* PBXTextBookmark */; - 8E4721AE08318F3E001F89FA /* PBXTextBookmark */ = 8E4721AE08318F3E001F89FA /* PBXTextBookmark */; - 8E4721AF08318F3E001F89FA /* PBXTextBookmark */ = 8E4721AF08318F3E001F89FA /* PBXTextBookmark */; - 8E4721B008318F3E001F89FA /* PBXTextBookmark */ = 8E4721B008318F3E001F89FA /* PBXTextBookmark */; - 8E4721B108318F3E001F89FA /* PBXTextBookmark */ = 8E4721B108318F3E001F89FA /* PBXTextBookmark */; - 8E4721B208318F3E001F89FA /* PBXTextBookmark */ = 8E4721B208318F3E001F89FA /* PBXTextBookmark */; - 8E4721B308318F3E001F89FA /* PBXTextBookmark */ = 8E4721B308318F3E001F89FA /* PBXTextBookmark */; - 8E4721B908318F3E001F89FA /* PBXTextBookmark */ = 8E4721B908318F3E001F89FA /* PBXTextBookmark */; - 8E4721BA08318F3E001F89FA /* PBXTextBookmark */ = 8E4721BA08318F3E001F89FA /* PBXTextBookmark */; - 8E4721E008319EFC001F89FA /* PBXTextBookmark */ = 8E4721E008319EFC001F89FA /* PBXTextBookmark */; - 8E4721E108319EFC001F89FA /* PBXTextBookmark */ = 8E4721E108319EFC001F89FA /* PBXTextBookmark */; - 8E4721E508319EFC001F89FA /* PBXTextBookmark */ = 8E4721E508319EFC001F89FA /* PBXTextBookmark */; - 8E4D66E90854CD2C00816BEE /* PBXTextBookmark */ = 8E4D66E90854CD2C00816BEE /* PBXTextBookmark */; - 8E4D66EA0854CD2C00816BEE /* PBXTextBookmark */ = 8E4D66EA0854CD2C00816BEE /* PBXTextBookmark */; - 8E4D67D40854E7B100816BEE /* PBXTextBookmark */ = 8E4D67D40854E7B100816BEE /* PBXTextBookmark */; - 8E5A90BB084CC25900AE6D62 /* PBXTextBookmark */ = 8E5A90BB084CC25900AE6D62 /* PBXTextBookmark */; - 8E5CC5020856316C00A299E0 /* PBXTextBookmark */ = 8E5CC5020856316C00A299E0 /* PBXTextBookmark */; - 8E6082C7083920310017AECF /* PBXTextBookmark */ = 8E6082C7083920310017AECF /* PBXTextBookmark */; - 8E63F6C808587FD400C79B72 /* PBXTextBookmark */ = 8E63F6C808587FD400C79B72 /* PBXTextBookmark */; - 8E63F6C908587FD400C79B72 /* PBXTextBookmark */ = 8E63F6C908587FD400C79B72 /* PBXTextBookmark */; - 8E63F6CA08587FD400C79B72 /* PBXTextBookmark */ = 8E63F6CA08587FD400C79B72 /* PBXTextBookmark */; - 8E63F6CB08587FD400C79B72 /* PBXTextBookmark */ = 8E63F6CB08587FD400C79B72 /* PBXTextBookmark */; - 8E6529B5083D8D7F00A7AF1B /* PBXTextBookmark */ = 8E6529B5083D8D7F00A7AF1B /* PBXTextBookmark */; - 8E652A39083E1A7900A7AF1B /* PBXTextBookmark */ = 8E652A39083E1A7900A7AF1B /* PBXTextBookmark */; - 8E652A3A083E1A7900A7AF1B /* PBXTextBookmark */ = 8E652A3A083E1A7900A7AF1B /* PBXTextBookmark */; - 8E65357F08563F6A00E468D9 /* PBXTextBookmark */ = 8E65357F08563F6A00E468D9 /* PBXTextBookmark */; - 8E65359E0856401D00E468D9 /* PBXTextBookmark */ = 8E65359E0856401D00E468D9 /* PBXTextBookmark */; - 8E72BC640851408F00E34F1D /* PBXTextBookmark */ = 8E72BC640851408F00E34F1D /* PBXTextBookmark */; - 8E7DAAA808673DF600615930 /* PBXTextBookmark */ = 8E7DAAA808673DF600615930 /* PBXTextBookmark */; - 8E7DAAAA08673DF600615930 /* PBXTextBookmark */ = 8E7DAAAA08673DF600615930 /* PBXTextBookmark */; - 8E7DAAAB08673DF600615930 /* PBXTextBookmark */ = 8E7DAAAB08673DF600615930 /* PBXTextBookmark */; - 8E7DAAF70867402D00615930 /* PBXTextBookmark */ = 8E7DAAF70867402D00615930 /* PBXTextBookmark */; - 8E7DAAF80867402D00615930 /* PBXTextBookmark */ = 8E7DAAF80867402D00615930 /* PBXTextBookmark */; - 8E7DAAF90867402D00615930 /* PBXTextBookmark */ = 8E7DAAF90867402D00615930 /* PBXTextBookmark */; - 8E7DAAFB0867402D00615930 /* PBXTextBookmark */ = 8E7DAAFB0867402D00615930 /* PBXTextBookmark */; - 8E7DAAFC0867402D00615930 /* PBXTextBookmark */ = 8E7DAAFC0867402D00615930 /* PBXTextBookmark */; - 8E7DAAFD0867402D00615930 /* PBXTextBookmark */ = 8E7DAAFD0867402D00615930 /* PBXTextBookmark */; - 8E7DAAFE0867402D00615930 /* PBXTextBookmark */ = 8E7DAAFE0867402D00615930 /* PBXTextBookmark */; - 8E7DAAFF0867402D00615930 /* PBXTextBookmark */ = 8E7DAAFF0867402D00615930 /* PBXTextBookmark */; - 8E7DAB020867402D00615930 /* PBXTextBookmark */ = 8E7DAB020867402D00615930 /* PBXTextBookmark */; - 8E7DAB030867402D00615930 /* PBXTextBookmark */ = 8E7DAB030867402D00615930 /* PBXTextBookmark */; - 8E7DAB040867402D00615930 /* PBXTextBookmark */ = 8E7DAB040867402D00615930 /* PBXTextBookmark */; - 8E7DAB050867402D00615930 /* PBXTextBookmark */ = 8E7DAB050867402D00615930 /* PBXTextBookmark */; - 8E7DAB060867402D00615930 /* PBXTextBookmark */ = 8E7DAB060867402D00615930 /* PBXTextBookmark */; - 8E7DAB070867402D00615930 /* PBXTextBookmark */ = 8E7DAB070867402D00615930 /* PBXTextBookmark */; - 8E7DAB080867402D00615930 /* PBXTextBookmark */ = 8E7DAB080867402D00615930 /* PBXTextBookmark */; - 8E7DAB090867402D00615930 /* PBXTextBookmark */ = 8E7DAB090867402D00615930 /* PBXTextBookmark */; - 8E7DAB0A0867402D00615930 /* PBXTextBookmark */ = 8E7DAB0A0867402D00615930 /* PBXTextBookmark */; - 8E7DAB0B0867402D00615930 /* PBXTextBookmark */ = 8E7DAB0B0867402D00615930 /* PBXTextBookmark */; - 8E7DAB0C0867402D00615930 /* PBXTextBookmark */ = 8E7DAB0C0867402D00615930 /* PBXTextBookmark */; - 8E7DAB0D0867402D00615930 /* PBXTextBookmark */ = 8E7DAB0D0867402D00615930 /* PBXTextBookmark */; - 8E7DAB0E0867402D00615930 /* PBXTextBookmark */ = 8E7DAB0E0867402D00615930 /* PBXTextBookmark */; - 8E7DAB0F0867402D00615930 /* PBXTextBookmark */ = 8E7DAB0F0867402D00615930 /* PBXTextBookmark */; - 8E7DAB100867402D00615930 /* PBXTextBookmark */ = 8E7DAB100867402D00615930 /* PBXTextBookmark */; - 8E7DAB110867402D00615930 /* PBXTextBookmark */ = 8E7DAB110867402D00615930 /* PBXTextBookmark */; - 8E7DAB320867412700615930 /* PBXTextBookmark */ = 8E7DAB320867412700615930 /* PBXTextBookmark */; - 8E7DAB330867412700615930 /* PBXTextBookmark */ = 8E7DAB330867412700615930 /* PBXTextBookmark */; - 8E7DAB340867412700615930 /* PBXTextBookmark */ = 8E7DAB340867412700615930 /* PBXTextBookmark */; - 8E7DAB350867412700615930 /* PBXTextBookmark */ = 8E7DAB350867412700615930 /* PBXTextBookmark */; - 8E7DAB360867412700615930 /* PBXTextBookmark */ = 8E7DAB360867412700615930 /* PBXTextBookmark */; - 8E7DAB430867421200615930 /* PBXTextBookmark */ = 8E7DAB430867421200615930 /* PBXTextBookmark */; - 8E7DAB440867421200615930 /* PBXTextBookmark */ = 8E7DAB440867421200615930 /* PBXTextBookmark */; - 8E7DAB470867421200615930 /* PBXTextBookmark */ = 8E7DAB470867421200615930 /* PBXTextBookmark */; - 8E7DAB480867421200615930 /* PBXTextBookmark */ = 8E7DAB480867421200615930 /* PBXTextBookmark */; - 8E7DAB490867421200615930 /* PBXTextBookmark */ = 8E7DAB490867421200615930 /* PBXTextBookmark */; - 8E7DAB4A0867421200615930 /* PBXTextBookmark */ = 8E7DAB4A0867421200615930 /* PBXTextBookmark */; - 8E7DAB4B0867421200615930 /* PBXTextBookmark */ = 8E7DAB4B0867421200615930 /* PBXTextBookmark */; - 8E7DAB540867424400615930 /* PBXTextBookmark */ = 8E7DAB540867424400615930 /* PBXTextBookmark */; - 8E7DAB550867424400615930 /* PBXTextBookmark */ = 8E7DAB550867424400615930 /* PBXTextBookmark */; - 8E7DAB560867424400615930 /* PBXTextBookmark */ = 8E7DAB560867424400615930 /* PBXTextBookmark */; - 8E7DAB570867424400615930 /* PBXTextBookmark */ = 8E7DAB570867424400615930 /* PBXTextBookmark */; - 8E7DAB580867424400615930 /* PBXTextBookmark */ = 8E7DAB580867424400615930 /* PBXTextBookmark */; - 8E7DAB78086742EB00615930 /* PBXTextBookmark */ = 8E7DAB78086742EB00615930 /* PBXTextBookmark */; - 8E7DAB79086742EB00615930 /* PBXTextBookmark */ = 8E7DAB79086742EB00615930 /* PBXTextBookmark */; - 8E7DAB7A086742EB00615930 /* PBXTextBookmark */ = 8E7DAB7A086742EB00615930 /* PBXTextBookmark */; - 8E7DAB7C086742EB00615930 /* PBXTextBookmark */ = 8E7DAB7C086742EB00615930 /* PBXTextBookmark */; - 8E7DAB7D086742EB00615930 /* PBXTextBookmark */ = 8E7DAB7D086742EB00615930 /* PBXTextBookmark */; - 8E7DAB7E086742EB00615930 /* PBXTextBookmark */ = 8E7DAB7E086742EB00615930 /* PBXTextBookmark */; - 8E7DAB7F086742EB00615930 /* PBXTextBookmark */ = 8E7DAB7F086742EB00615930 /* PBXTextBookmark */; - 8E7DAB80086742EB00615930 /* PBXTextBookmark */ = 8E7DAB80086742EB00615930 /* PBXTextBookmark */; - 8E7DAB81086742EB00615930 /* PBXTextBookmark */ = 8E7DAB81086742EB00615930 /* PBXTextBookmark */; - 8E7DAB82086742EB00615930 /* PBXTextBookmark */ = 8E7DAB82086742EB00615930 /* PBXTextBookmark */; - 8E7DAB83086742EB00615930 /* PBXTextBookmark */ = 8E7DAB83086742EB00615930 /* PBXTextBookmark */; - 8E7DAB84086742EB00615930 /* PBXTextBookmark */ = 8E7DAB84086742EB00615930 /* PBXTextBookmark */; - 8E7DAB85086742EB00615930 /* PBXTextBookmark */ = 8E7DAB85086742EB00615930 /* PBXTextBookmark */; - 8E7DAB9D0867470600615930 /* PBXTextBookmark */ = 8E7DAB9D0867470600615930 /* PBXTextBookmark */; - 8E7DAB9E0867470600615930 /* PBXTextBookmark */ = 8E7DAB9E0867470600615930 /* PBXTextBookmark */; - 8E7DAB9F0867470600615930 /* PBXTextBookmark */ = 8E7DAB9F0867470600615930 /* PBXTextBookmark */; - 8E7DABA00867470600615930 /* PBXTextBookmark */ = 8E7DABA00867470600615930 /* PBXTextBookmark */; - 8E7DABA10867470600615930 /* PBXTextBookmark */ = 8E7DABA10867470600615930 /* PBXTextBookmark */; - 8E7DABA20867470600615930 /* PBXTextBookmark */ = 8E7DABA20867470600615930 /* PBXTextBookmark */; - 8E7DABA30867470600615930 /* PBXTextBookmark */ = 8E7DABA30867470600615930 /* PBXTextBookmark */; - 8E7DABA40867470600615930 /* PBXTextBookmark */ = 8E7DABA40867470600615930 /* PBXTextBookmark */; - 8E7DABA50867470600615930 /* PBXTextBookmark */ = 8E7DABA50867470600615930 /* PBXTextBookmark */; - 8E8BAEB208548C9600E9F14D /* PBXTextBookmark */ = 8E8BAEB208548C9600E9F14D /* PBXTextBookmark */; - 8E8BAEB308548C9600E9F14D /* PBXTextBookmark */ = 8E8BAEB308548C9600E9F14D /* PBXTextBookmark */; - 8E8BAEB708548C9600E9F14D /* PBXTextBookmark */ = 8E8BAEB708548C9600E9F14D /* PBXTextBookmark */; - 8E8BAF10085494E000E9F14D /* PBXTextBookmark */ = 8E8BAF10085494E000E9F14D /* PBXTextBookmark */; - 8E8BAF17085494E000E9F14D /* PBXTextBookmark */ = 8E8BAF17085494E000E9F14D /* PBXTextBookmark */; - 8E8BAF790854976A00E9F14D /* PBXTextBookmark */ = 8E8BAF790854976A00E9F14D /* PBXTextBookmark */; - 8E8C7BFB085E9CD50086DAC7 /* PBXTextBookmark */ = 8E8C7BFB085E9CD50086DAC7 /* PBXTextBookmark */; - 8E8C7C14085E9DA50086DAC7 /* PBXTextBookmark */ = 8E8C7C14085E9DA50086DAC7 /* PBXTextBookmark */; - 8E8C7C7F085EA5E30086DAC7 /* PBXTextBookmark */ = 8E8C7C7F085EA5E30086DAC7 /* PBXTextBookmark */; - 8E8C7C81085EA5E30086DAC7 /* PBXTextBookmark */ = 8E8C7C81085EA5E30086DAC7 /* PBXTextBookmark */; - 8E8C7C83085EA5E30086DAC7 /* PBXTextBookmark */ = 8E8C7C83085EA5E30086DAC7 /* PBXTextBookmark */; - 8E8C7C85085EA5E30086DAC7 /* PBXTextBookmark */ = 8E8C7C85085EA5E30086DAC7 /* PBXTextBookmark */; - 8E8C7C8C085EA5E30086DAC7 /* PBXTextBookmark */ = 8E8C7C8C085EA5E30086DAC7 /* PBXTextBookmark */; - 8E8C7C8E085EA5E30086DAC7 /* PBXTextBookmark */ = 8E8C7C8E085EA5E30086DAC7 /* PBXTextBookmark */; - 8E8C7C90085EA5E30086DAC7 /* PBXTextBookmark */ = 8E8C7C90085EA5E30086DAC7 /* PBXTextBookmark */; - 8E8C7C92085EA5E30086DAC7 /* PBXTextBookmark */ = 8E8C7C92085EA5E30086DAC7 /* PBXTextBookmark */; - 8E8C7C98085EA5E30086DAC7 /* PBXTextBookmark */ = 8E8C7C98085EA5E30086DAC7 /* PBXTextBookmark */; - 8E8C7D35085EAD460086DAC7 /* PBXTextBookmark */ = 8E8C7D35085EAD460086DAC7 /* PBXTextBookmark */; - 8E8C7D36085EAD460086DAC7 /* PBXTextBookmark */ = 8E8C7D36085EAD460086DAC7 /* PBXTextBookmark */; - 8E8F3F59085546B300BCF803 /* PBXTextBookmark */ = 8E8F3F59085546B300BCF803 /* PBXTextBookmark */; - 8E8F3F780855483300BCF803 /* PBXTextBookmark */ = 8E8F3F780855483300BCF803 /* PBXTextBookmark */; - 8E8F3FAE08554B8000BCF803 /* PBXTextBookmark */ = 8E8F3FAE08554B8000BCF803 /* PBXTextBookmark */; - 8E91CCEE08549FEE0055EC68 /* PBXTextBookmark */ = 8E91CCEE08549FEE0055EC68 /* PBXTextBookmark */; - 8E94D9D2084BEA32007F0AEB /* PBXTextBookmark */ = 8E94D9D2084BEA32007F0AEB /* PBXTextBookmark */; - 8E94D9D3084BEA32007F0AEB /* PBXTextBookmark */ = 8E94D9D3084BEA32007F0AEB /* PBXTextBookmark */; - 8E98E5D308563D1B0078CAA1 /* PBXTextBookmark */ = 8E98E5D308563D1B0078CAA1 /* PBXTextBookmark */; - 8E9BF08B082FB9DD00B26943 /* PBXTextBookmark */ = 8E9BF08B082FB9DD00B26943 /* PBXTextBookmark */; - 8E9BF100082FEF6B00B26943 /* PBXTextBookmark */ = 8E9BF100082FEF6B00B26943 /* PBXTextBookmark */; - 8EAB7544085621B10021C2BF /* PBXTextBookmark */ = 8EAB7544085621B10021C2BF /* PBXTextBookmark */; - 8EAB7545085621B10021C2BF /* PBXTextBookmark */ = 8EAB7545085621B10021C2BF /* PBXTextBookmark */; - 8EAB7549085621B10021C2BF /* PBXBookmark */ = 8EAB7549085621B10021C2BF /* PBXBookmark */; - 8EAB754A085621B10021C2BF /* PBXBookmark */ = 8EAB754A085621B10021C2BF /* PBXBookmark */; - 8EAB754B085621B10021C2BF /* PBXBookmark */ = 8EAB754B085621B10021C2BF /* PBXBookmark */; - 8EAB754C085621B10021C2BF /* PBXBookmark */ = 8EAB754C085621B10021C2BF /* PBXBookmark */; - 8EAB7553085621B10021C2BF /* PBXBookmark */ = 8EAB7553085621B10021C2BF /* PBXBookmark */; - 8EAB7554085621B10021C2BF /* PBXBookmark */ = 8EAB7554085621B10021C2BF /* PBXBookmark */; - 8EAB7555085621B10021C2BF /* PBXBookmark */ = 8EAB7555085621B10021C2BF /* PBXBookmark */; - 8EAB755D085621B10021C2BF /* PBXBookmark */ = 8EAB755D085621B10021C2BF /* PBXBookmark */; - 8EABE78408562281004DF882 /* PBXBookmark */ = 8EABE78408562281004DF882 /* PBXBookmark */; - 8EABE78808562281004DF882 /* PBXBookmark */ = 8EABE78808562281004DF882 /* PBXBookmark */; - 8EABE7C308562FF3004DF882 /* PBXBookmark */ = 8EABE7C308562FF3004DF882 /* PBXBookmark */; - 8EABE7C508562FF3004DF882 /* PBXTextBookmark */ = 8EABE7C508562FF3004DF882 /* PBXTextBookmark */; - 8EABE7CA08562FF3004DF882 /* PBXBookmark */ = 8EABE7CA08562FF3004DF882 /* PBXBookmark */; - 8EB30D8A0854BEF1009EA87F /* PBXTextBookmark */ = 8EB30D8A0854BEF1009EA87F /* PBXTextBookmark */; - 8EB30D990854BEF1009EA87F /* PBXTextBookmark */ = 8EB30D990854BEF1009EA87F /* PBXTextBookmark */; - 8EB30DAE0854BFEE009EA87F /* PBXTextBookmark */ = 8EB30DAE0854BFEE009EA87F /* PBXTextBookmark */; - 8EB30DDB0854C261009EA87F /* PBXTextBookmark */ = 8EB30DDB0854C261009EA87F /* PBXTextBookmark */; - 8EB30DDC0854C261009EA87F /* PBXTextBookmark */ = 8EB30DDC0854C261009EA87F /* PBXTextBookmark */; - 8EB30DDD0854C261009EA87F /* PBXTextBookmark */ = 8EB30DDD0854C261009EA87F /* PBXTextBookmark */; - 8EB30DDE0854C261009EA87F /* PBXTextBookmark */ = 8EB30DDE0854C261009EA87F /* PBXTextBookmark */; - 8EB30DDF0854C261009EA87F /* PBXTextBookmark */ = 8EB30DDF0854C261009EA87F /* PBXTextBookmark */; - 8EB30DE00854C261009EA87F /* PBXTextBookmark */ = 8EB30DE00854C261009EA87F /* PBXTextBookmark */; - 8EB30E1F0854C36A009EA87F /* PBXTextBookmark */ = 8EB30E1F0854C36A009EA87F /* PBXTextBookmark */; - 8EC156F9084FEB8900BB24E8 /* PBXTextBookmark */ = 8EC156F9084FEB8900BB24E8 /* PBXTextBookmark */; - 8ED833CD08457E6B0033CDBD /* PBXTextBookmark */ = 8ED833CD08457E6B0033CDBD /* PBXTextBookmark */; - 8EDC88A90842F8DE007D1532 /* PBXTextBookmark */ = 8EDC88A90842F8DE007D1532 /* PBXTextBookmark */; - 8EDC88B50842F936007D1532 /* PBXTextBookmark */ = 8EDC88B50842F936007D1532 /* PBXTextBookmark */; - 8EDCBDDB084061E500F5C7E3 /* PBXTextBookmark */ = 8EDCBDDB084061E500F5C7E3 /* PBXTextBookmark */; - 8EDCBDDC084061E500F5C7E3 /* PBXTextBookmark */ = 8EDCBDDC084061E500F5C7E3 /* PBXTextBookmark */; - 8EDE0CCC08369EB200EABFE4 /* PBXTextBookmark */ = 8EDE0CCC08369EB200EABFE4 /* PBXTextBookmark */; - 8EE4A6C3082E6F6100415456 /* PBXTextBookmark */ = 8EE4A6C3082E6F6100415456 /* PBXTextBookmark */; - 8EE4A6C8082E6F6100415456 /* PBXTextBookmark */ = 8EE4A6C8082E6F6100415456 /* PBXTextBookmark */; - 8EE4A6FE082E704E00415456 /* PBXTextBookmark */ = 8EE4A6FE082E704E00415456 /* PBXTextBookmark */; - 8EE4A799082E7D8700415456 /* PBXTextBookmark */ = 8EE4A799082E7D8700415456 /* PBXTextBookmark */; - 8EE558070866A24B009E7F50 /* PBXTextBookmark */ = 8EE558070866A24B009E7F50 /* PBXTextBookmark */; - 8EF45A7A08557C4D00D2D5D0 /* PBXTextBookmark */ = 8EF45A7A08557C4D00D2D5D0 /* PBXTextBookmark */; - 8EF6FACD082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FACD082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EF6FAD1082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FAD1082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EF6FAD5082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FAD5082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EF6FAD6082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FAD6082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EF6FAD7082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FAD7082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EF6FAD8082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FAD8082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EF6FADA082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FADA082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EF6FADC082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FADC082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EF6FADD082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FADD082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EF6FADE082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FADE082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EF6FADF082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FADF082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EF6FAE1082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FAE1082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EF6FAEF082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FAEF082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EF6FAF3082DAA2B006F7BE6 /* PBXTextBookmark */ = 8EF6FAF3082DAA2B006F7BE6 /* PBXTextBookmark */; - 8EFC6D18085376D100C67D06 /* PBXTextBookmark */ = 8EFC6D18085376D100C67D06 /* PBXTextBookmark */; - 8EFC6DE8085380B800C67D06 /* PBXTextBookmark */ = 8EFC6DE8085380B800C67D06 /* PBXTextBookmark */; - 8EFC6DF0085380B800C67D06 /* PBXTextBookmark */ = 8EFC6DF0085380B800C67D06 /* PBXTextBookmark */; - 8EFC6E29085386CE00C67D06 /* PBXTextBookmark */ = 8EFC6E29085386CE00C67D06 /* PBXTextBookmark */; + 8E035561086DC742005939B9 = 8E035561086DC742005939B9 /* PBXTextBookmark */; + 8E035562086DC742005939B9 = 8E035562086DC742005939B9 /* PBXTextBookmark */; + 8E035565086DC742005939B9 = 8E035565086DC742005939B9 /* PBXTextBookmark */; + 8E035566086DC742005939B9 = 8E035566086DC742005939B9 /* PBXTextBookmark */; + 8E035567086DC742005939B9 = 8E035567086DC742005939B9 /* PBXTextBookmark */; + 8E035569086DC742005939B9 = 8E035569086DC742005939B9 /* PBXTextBookmark */; + 8E03556A086DC742005939B9 = 8E03556A086DC742005939B9 /* PBXTextBookmark */; + 8E03559F086DC876005939B9 = 8E03559F086DC876005939B9 /* PBXTextBookmark */; + 8E0AA7B1086F226C00E31C8E = 8E0AA7B1086F226C00E31C8E /* PBXTextBookmark */; + 8E0AA7EC086F251100E31C8E = 8E0AA7EC086F251100E31C8E /* PBXTextBookmark */; + 8E0AA808086F259400E31C8E = 8E0AA808086F259400E31C8E /* PBXTextBookmark */; + 8E0AA809086F259400E31C8E = 8E0AA809086F259400E31C8E /* PBXTextBookmark */; + 8E0AA812086F26A100E31C8E = 8E0AA812086F26A100E31C8E /* PBXTextBookmark */; + 8E0AA854086F2BEC00E31C8E = 8E0AA854086F2BEC00E31C8E /* PBXTextBookmark */; + 8E0EBF58084BAA56003A6E64 = 8E0EBF58084BAA56003A6E64 /* PBXTextBookmark */; + 8E0EBF59084BAA56003A6E64 = 8E0EBF59084BAA56003A6E64 /* PBXTextBookmark */; + 8E10DC08084BBE490013815C = 8E10DC08084BBE490013815C /* PBXTextBookmark */; + 8E14E4B4084D089100246BCC = 8E14E4B4084D089100246BCC /* PBXTextBookmark */; + 8E14E4B5084D089100246BCC = 8E14E4B5084D089100246BCC /* PBXTextBookmark */; + 8E1A1826083806B700AEA302 = 8E1A1826083806B700AEA302 /* PBXTextBookmark */; + 8E1A182C083806B700AEA302 = 8E1A182C083806B700AEA302 /* PBXTextBookmark */; + 8E267D8C0837F963004ACBC5 = 8E267D8C0837F963004ACBC5 /* PBXTextBookmark */; + 8E267D8D0837F963004ACBC5 = 8E267D8D0837F963004ACBC5 /* PBXTextBookmark */; + 8E267D900837F963004ACBC5 = 8E267D900837F963004ACBC5 /* PBXTextBookmark */; + 8E267D910837F963004ACBC5 = 8E267D910837F963004ACBC5 /* PBXTextBookmark */; + 8E267D920837F963004ACBC5 = 8E267D920837F963004ACBC5 /* PBXTextBookmark */; + 8E267D940837F963004ACBC5 = 8E267D940837F963004ACBC5 /* PBXTextBookmark */; + 8E267DA00837FA6E004ACBC5 = 8E267DA00837FA6E004ACBC5 /* PBXTextBookmark */; + 8E267DDB0837FE5F004ACBC5 = 8E267DDB0837FE5F004ACBC5 /* PBXTextBookmark */; + 8E267E0308380176004ACBC5 = 8E267E0308380176004ACBC5 /* PBXTextBookmark */; + 8E267E1A083801D8004ACBC5 = 8E267E1A083801D8004ACBC5 /* PBXTextBookmark */; + 8E287164083695080013CE39 = 8E287164083695080013CE39 /* PBXTextBookmark */; + 8E287E5D0855F35400562C66 = 8E287E5D0855F35400562C66 /* PBXTextBookmark */; + 8E287E5E0855F35400562C66 = 8E287E5E0855F35400562C66 /* PBXTextBookmark */; + 8E297910083D892800F2C55A = 8E297910083D892800F2C55A /* PBXTextBookmark */; + 8E3EDBC9085477D0007C6A53 = 8E3EDBC9085477D0007C6A53 /* PBXTextBookmark */; + 8E4521C408327F4C00F8BA7C = 8E4521C408327F4C00F8BA7C /* PBXTextBookmark */; + 8E4522A608329C9B00F8BA7C = 8E4522A608329C9B00F8BA7C /* PBXTextBookmark */; + 8E4522AF08329C9B00F8BA7C = 8E4522AF08329C9B00F8BA7C /* PBXTextBookmark */; + 8E4721AE08318F3E001F89FA = 8E4721AE08318F3E001F89FA /* PBXTextBookmark */; + 8E4721AF08318F3E001F89FA = 8E4721AF08318F3E001F89FA /* PBXTextBookmark */; + 8E4721B008318F3E001F89FA = 8E4721B008318F3E001F89FA /* PBXTextBookmark */; + 8E4721B108318F3E001F89FA = 8E4721B108318F3E001F89FA /* PBXTextBookmark */; + 8E4721B208318F3E001F89FA = 8E4721B208318F3E001F89FA /* PBXTextBookmark */; + 8E4721B308318F3E001F89FA = 8E4721B308318F3E001F89FA /* PBXTextBookmark */; + 8E4721B908318F3E001F89FA = 8E4721B908318F3E001F89FA /* PBXTextBookmark */; + 8E4721BA08318F3E001F89FA = 8E4721BA08318F3E001F89FA /* PBXTextBookmark */; + 8E4721E008319EFC001F89FA = 8E4721E008319EFC001F89FA /* PBXTextBookmark */; + 8E4721E108319EFC001F89FA = 8E4721E108319EFC001F89FA /* PBXTextBookmark */; + 8E4721E508319EFC001F89FA = 8E4721E508319EFC001F89FA /* PBXTextBookmark */; + 8E4F5F71086E37260043E85E = 8E4F5F71086E37260043E85E /* PBXTextBookmark */; + 8E4F5F72086E37260043E85E = 8E4F5F72086E37260043E85E /* PBXTextBookmark */; + 8E4F5F73086E37260043E85E = 8E4F5F73086E37260043E85E /* PBXTextBookmark */; + 8E4F5FB8086E38910043E85E = 8E4F5FB8086E38910043E85E /* PBXTextBookmark */; + 8E4F5FDE086E39190043E85E = 8E4F5FDE086E39190043E85E /* PBXTextBookmark */; + 8E5A90BB084CC25900AE6D62 = 8E5A90BB084CC25900AE6D62 /* PBXTextBookmark */; + 8E6082C7083920310017AECF = 8E6082C7083920310017AECF /* PBXTextBookmark */; + 8E63F6C808587FD400C79B72 = 8E63F6C808587FD400C79B72 /* PBXTextBookmark */; + 8E63F6CA08587FD400C79B72 = 8E63F6CA08587FD400C79B72 /* PBXTextBookmark */; + 8E63F6CB08587FD400C79B72 = 8E63F6CB08587FD400C79B72 /* PBXTextBookmark */; + 8E6529B5083D8D7F00A7AF1B = 8E6529B5083D8D7F00A7AF1B /* PBXTextBookmark */; + 8E652A39083E1A7900A7AF1B = 8E652A39083E1A7900A7AF1B /* PBXTextBookmark */; + 8E652A3A083E1A7900A7AF1B = 8E652A3A083E1A7900A7AF1B /* PBXTextBookmark */; + 8E65357F08563F6A00E468D9 = 8E65357F08563F6A00E468D9 /* PBXTextBookmark */; + 8E65359E0856401D00E468D9 = 8E65359E0856401D00E468D9 /* PBXTextBookmark */; + 8E7877DD086F4E4100E47CD9 = 8E7877DD086F4E4100E47CD9 /* PBXTextBookmark */; + 8E78A0BE086DD58B007E14C5 = 8E78A0BE086DD58B007E14C5 /* PBXTextBookmark */; + 8E7DAAFE0867402D00615930 = 8E7DAAFE0867402D00615930 /* PBXTextBookmark */; + 8E7DAB430867421200615930 = 8E7DAB430867421200615930 /* PBXTextBookmark */; + 8E7DAB440867421200615930 = 8E7DAB440867421200615930 /* PBXTextBookmark */; + 8E7DAB550867424400615930 = 8E7DAB550867424400615930 /* PBXTextBookmark */; + 8E7DAB560867424400615930 = 8E7DAB560867424400615930 /* PBXTextBookmark */; + 8E7DAB78086742EB00615930 = 8E7DAB78086742EB00615930 /* PBXTextBookmark */; + 8E7DAB79086742EB00615930 = 8E7DAB79086742EB00615930 /* PBXTextBookmark */; + 8E7DAB9D0867470600615930 = 8E7DAB9D0867470600615930 /* PBXTextBookmark */; + 8E847F76086DEC0A00162B93 = 8E847F76086DEC0A00162B93 /* PBXTextBookmark */; + 8E8BAEB208548C9600E9F14D = 8E8BAEB208548C9600E9F14D /* PBXTextBookmark */; + 8E8BAEB308548C9600E9F14D = 8E8BAEB308548C9600E9F14D /* PBXTextBookmark */; + 8E8BAEB708548C9600E9F14D = 8E8BAEB708548C9600E9F14D /* PBXTextBookmark */; + 8E8BAF17085494E000E9F14D = 8E8BAF17085494E000E9F14D /* PBXTextBookmark */; + 8E8BAF790854976A00E9F14D = 8E8BAF790854976A00E9F14D /* PBXTextBookmark */; + 8E8C7BFB085E9CD50086DAC7 = 8E8C7BFB085E9CD50086DAC7 /* PBXTextBookmark */; + 8E8C7C14085E9DA50086DAC7 = 8E8C7C14085E9DA50086DAC7 /* PBXTextBookmark */; + 8E8C7C7F085EA5E30086DAC7 = 8E8C7C7F085EA5E30086DAC7 /* PBXTextBookmark */; + 8E8C7C81085EA5E30086DAC7 = 8E8C7C81085EA5E30086DAC7 /* PBXTextBookmark */; + 8E8C7C83085EA5E30086DAC7 = 8E8C7C83085EA5E30086DAC7 /* PBXTextBookmark */; + 8E8C7C85085EA5E30086DAC7 = 8E8C7C85085EA5E30086DAC7 /* PBXTextBookmark */; + 8E8C7C8C085EA5E30086DAC7 = 8E8C7C8C085EA5E30086DAC7 /* PBXTextBookmark */; + 8E8C7C8E085EA5E30086DAC7 = 8E8C7C8E085EA5E30086DAC7 /* PBXTextBookmark */; + 8E8C7C90085EA5E30086DAC7 = 8E8C7C90085EA5E30086DAC7 /* PBXTextBookmark */; + 8E8C7C92085EA5E30086DAC7 = 8E8C7C92085EA5E30086DAC7 /* PBXTextBookmark */; + 8E8C7C98085EA5E30086DAC7 = 8E8C7C98085EA5E30086DAC7 /* PBXTextBookmark */; + 8E8C7D35085EAD460086DAC7 = 8E8C7D35085EAD460086DAC7 /* PBXTextBookmark */; + 8E8C7D36085EAD460086DAC7 = 8E8C7D36085EAD460086DAC7 /* PBXTextBookmark */; + 8E8F3FAE08554B8000BCF803 = 8E8F3FAE08554B8000BCF803 /* PBXTextBookmark */; + 8E91CCEE08549FEE0055EC68 = 8E91CCEE08549FEE0055EC68 /* PBXTextBookmark */; + 8E94D9D2084BEA32007F0AEB = 8E94D9D2084BEA32007F0AEB /* PBXTextBookmark */; + 8E94D9D3084BEA32007F0AEB = 8E94D9D3084BEA32007F0AEB /* PBXTextBookmark */; + 8E98E5D308563D1B0078CAA1 = 8E98E5D308563D1B0078CAA1 /* PBXTextBookmark */; + 8E9BF08B082FB9DD00B26943 = 8E9BF08B082FB9DD00B26943 /* PBXTextBookmark */; + 8E9BF100082FEF6B00B26943 = 8E9BF100082FEF6B00B26943 /* PBXTextBookmark */; + 8EAB7544085621B10021C2BF = 8EAB7544085621B10021C2BF /* PBXTextBookmark */; + 8EAB7545085621B10021C2BF = 8EAB7545085621B10021C2BF /* PBXTextBookmark */; + 8EAB7549085621B10021C2BF = 8EAB7549085621B10021C2BF /* PBXBookmark */; + 8EAB754A085621B10021C2BF = 8EAB754A085621B10021C2BF /* PBXBookmark */; + 8EAB754B085621B10021C2BF = 8EAB754B085621B10021C2BF /* PBXBookmark */; + 8EAB754C085621B10021C2BF = 8EAB754C085621B10021C2BF /* PBXBookmark */; + 8EAB7553085621B10021C2BF = 8EAB7553085621B10021C2BF /* PBXBookmark */; + 8EAB7554085621B10021C2BF = 8EAB7554085621B10021C2BF /* PBXBookmark */; + 8EAB7555085621B10021C2BF = 8EAB7555085621B10021C2BF /* PBXBookmark */; + 8EAB755D085621B10021C2BF = 8EAB755D085621B10021C2BF /* PBXBookmark */; + 8EABE78408562281004DF882 = 8EABE78408562281004DF882 /* PBXBookmark */; + 8EABE78808562281004DF882 = 8EABE78808562281004DF882 /* PBXBookmark */; + 8EABE7C308562FF3004DF882 = 8EABE7C308562FF3004DF882 /* PBXBookmark */; + 8EABE7CA08562FF3004DF882 = 8EABE7CA08562FF3004DF882 /* PBXBookmark */; + 8EB911C208676353008538A7 = 8EB911C208676353008538A7 /* PBXTextBookmark */; + 8EC156F9084FEB8900BB24E8 = 8EC156F9084FEB8900BB24E8 /* PBXTextBookmark */; + 8EC4BBCF0872EA1E00ACF986 /* PBXTextBookmark */ = 8EC4BBCF0872EA1E00ACF986 /* PBXTextBookmark */; + 8EC4BBD00872EA1E00ACF986 /* PBXTextBookmark */ = 8EC4BBD00872EA1E00ACF986 /* PBXTextBookmark */; + 8EC4BBD60872EA3200ACF986 /* PBXTextBookmark */ = 8EC4BBD60872EA3200ACF986 /* PBXTextBookmark */; + 8EC4BBD90872EA5200ACF986 /* PBXTextBookmark */ = 8EC4BBD90872EA5200ACF986 /* PBXTextBookmark */; + 8EC4BBDC0872EA7100ACF986 /* PBXTextBookmark */ = 8EC4BBDC0872EA7100ACF986 /* PBXTextBookmark */; + 8EC4BBDF0872EA8100ACF986 /* PBXTextBookmark */ = 8EC4BBDF0872EA8100ACF986 /* PBXTextBookmark */; + 8EC4BC3B0872EDD900ACF986 /* PBXTextBookmark */ = 8EC4BC3B0872EDD900ACF986 /* PBXTextBookmark */; + 8EC4BC3C0872EDD900ACF986 /* PBXTextBookmark */ = 8EC4BC3C0872EDD900ACF986 /* PBXTextBookmark */; + 8EC4BC3E0872EDD900ACF986 /* PBXTextBookmark */ = 8EC4BC3E0872EDD900ACF986 /* PBXTextBookmark */; + 8EC4BC3F0872EDD900ACF986 /* PBXTextBookmark */ = 8EC4BC3F0872EDD900ACF986 /* PBXTextBookmark */; + 8EC4BC410872EDD900ACF986 /* PBXTextBookmark */ = 8EC4BC410872EDD900ACF986 /* PBXTextBookmark */; + 8EC4BC440872EE4400ACF986 /* PBXTextBookmark */ = 8EC4BC440872EE4400ACF986 /* PBXTextBookmark */; + 8EC4BC450872EE4400ACF986 /* PBXTextBookmark */ = 8EC4BC450872EE4400ACF986 /* PBXTextBookmark */; + 8EC4BC460872EE4400ACF986 /* PBXTextBookmark */ = 8EC4BC460872EE4400ACF986 /* PBXTextBookmark */; + 8EC4BC470872EE4400ACF986 /* PBXTextBookmark */ = 8EC4BC470872EE4400ACF986 /* PBXTextBookmark */; + 8EC4BC480872EE4400ACF986 /* PBXTextBookmark */ = 8EC4BC480872EE4400ACF986 /* PBXTextBookmark */; + 8EC4BC4B0872EE9600ACF986 /* PBXTextBookmark */ = 8EC4BC4B0872EE9600ACF986 /* PBXTextBookmark */; + 8EC4BC4C0872EE9600ACF986 /* PBXTextBookmark */ = 8EC4BC4C0872EE9600ACF986 /* PBXTextBookmark */; + 8EC4BC4D0872EE9600ACF986 /* PBXTextBookmark */ = 8EC4BC4D0872EE9600ACF986 /* PBXTextBookmark */; + 8EC4BC4E0872EE9600ACF986 /* PBXTextBookmark */ = 8EC4BC4E0872EE9600ACF986 /* PBXTextBookmark */; + 8EC4BC4F0872EE9600ACF986 /* PBXTextBookmark */ = 8EC4BC4F0872EE9600ACF986 /* PBXTextBookmark */; + 8EC4BD440872EFD700ACF986 /* PBXTextBookmark */ = 8EC4BD440872EFD700ACF986 /* PBXTextBookmark */; + 8EC4BD450872EFD700ACF986 /* PBXTextBookmark */ = 8EC4BD450872EFD700ACF986 /* PBXTextBookmark */; + 8EC4BD460872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD460872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD470872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD470872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD480872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD480872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD490872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD490872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD4A0872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD4A0872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD4B0872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD4B0872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD4C0872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD4C0872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD4D0872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD4D0872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD4E0872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD4E0872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD4F0872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD4F0872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD500872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD500872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD510872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD510872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD520872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD520872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD530872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD530872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD540872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD540872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD550872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD550872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD560872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD560872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD570872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD570872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD580872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD580872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD590872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD590872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD5A0872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD5A0872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD5B0872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD5B0872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD5C0872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD5C0872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD5D0872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD5D0872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD5E0872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD5E0872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD5F0872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD5F0872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD600872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD600872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD610872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD610872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD620872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD620872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD630872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD630872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD640872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD640872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD650872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD650872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD660872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD660872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD670872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD670872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD680872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD680872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD690872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD690872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD6A0872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD6A0872EFD900ACF986 /* PBXTextBookmark */; + 8EC4BD6B0872EFD900ACF986 /* PBXTextBookmark */ = 8EC4BD6B0872EFD900ACF986 /* PBXTextBookmark */; + 8EC82088086CD56B0088347D = 8EC82088086CD56B0088347D /* PBXTextBookmark */; + 8EC8208A086CD56B0088347D = 8EC8208A086CD56B0088347D /* PBXTextBookmark */; + 8EC820C1086CD8890088347D = 8EC820C1086CD8890088347D /* PBXTextBookmark */; + 8EC820C2086CD8890088347D = 8EC820C2086CD8890088347D /* PBXTextBookmark */; + 8EC82204086CE2330088347D = 8EC82204086CE2330088347D /* PBXTextBookmark */; + 8EC822A2086CE76C0088347D = 8EC822A2086CE76C0088347D /* PBXTextBookmark */; + 8EC822A3086CE76C0088347D = 8EC822A3086CE76C0088347D /* PBXTextBookmark */; + 8EC822A5086CE76C0088347D = 8EC822A5086CE76C0088347D /* PBXTextBookmark */; + 8EC822B1086CE76C0088347D = 8EC822B1086CE76C0088347D /* PBXTextBookmark */; + 8ECDC919086DDDCD007D9727 = 8ECDC919086DDDCD007D9727 /* PBXTextBookmark */; + 8ECDC91A086DDDCD007D9727 = 8ECDC91A086DDDCD007D9727 /* PBXTextBookmark */; + 8EDA5C650869FCFD004E4A55 = 8EDA5C650869FCFD004E4A55 /* PBXTextBookmark */; + 8EDA5C660869FCFD004E4A55 = 8EDA5C660869FCFD004E4A55 /* PBXTextBookmark */; + 8EDA5C670869FCFD004E4A55 = 8EDA5C670869FCFD004E4A55 /* PBXTextBookmark */; + 8EDC88A90842F8DE007D1532 = 8EDC88A90842F8DE007D1532 /* PBXTextBookmark */; + 8EDCBDDB084061E500F5C7E3 = 8EDCBDDB084061E500F5C7E3 /* PBXTextBookmark */; + 8EDCBDDC084061E500F5C7E3 = 8EDCBDDC084061E500F5C7E3 /* PBXTextBookmark */; + 8EDE0CCC08369EB200EABFE4 = 8EDE0CCC08369EB200EABFE4 /* PBXTextBookmark */; + 8EE4A6C3082E6F6100415456 = 8EE4A6C3082E6F6100415456 /* PBXTextBookmark */; + 8EE4A6C8082E6F6100415456 = 8EE4A6C8082E6F6100415456 /* PBXTextBookmark */; + 8EE4A6FE082E704E00415456 = 8EE4A6FE082E704E00415456 /* PBXTextBookmark */; + 8EE4A799082E7D8700415456 = 8EE4A799082E7D8700415456 /* PBXTextBookmark */; + 8EEF9CAF0872390300FCD68F = 8EEF9CAF0872390300FCD68F /* PBXTextBookmark */; + 8EEF9CB00872390300FCD68F = 8EEF9CB00872390300FCD68F /* PBXTextBookmark */; + 8EEF9D0D08723A4D00FCD68F = 8EEF9D0D08723A4D00FCD68F /* PBXTextBookmark */; + 8EEF9D0E08723A4D00FCD68F = 8EEF9D0E08723A4D00FCD68F /* PBXBookmark */; + 8EEF9D0F08723A4D00FCD68F = 8EEF9D0F08723A4D00FCD68F /* PBXTextBookmark */; + 8EEF9D1008723A4D00FCD68F = 8EEF9D1008723A4D00FCD68F /* PBXTextBookmark */; + 8EF45A7A08557C4D00D2D5D0 = 8EF45A7A08557C4D00D2D5D0 /* PBXTextBookmark */; + 8EF6FACD082DAA2B006F7BE6 = 8EF6FACD082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EF6FAD1082DAA2B006F7BE6 = 8EF6FAD1082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EF6FAD5082DAA2B006F7BE6 = 8EF6FAD5082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EF6FAD6082DAA2B006F7BE6 = 8EF6FAD6082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EF6FAD7082DAA2B006F7BE6 = 8EF6FAD7082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EF6FAD8082DAA2B006F7BE6 = 8EF6FAD8082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EF6FADA082DAA2B006F7BE6 = 8EF6FADA082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EF6FADC082DAA2B006F7BE6 = 8EF6FADC082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EF6FADD082DAA2B006F7BE6 = 8EF6FADD082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EF6FADE082DAA2B006F7BE6 = 8EF6FADE082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EF6FADF082DAA2B006F7BE6 = 8EF6FADF082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EF6FAE1082DAA2B006F7BE6 = 8EF6FAE1082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EF6FAEF082DAA2B006F7BE6 = 8EF6FAEF082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EF6FAF3082DAA2B006F7BE6 = 8EF6FAF3082DAA2B006F7BE6 /* PBXTextBookmark */; + 8EFC6DE8085380B800C67D06 = 8EFC6DE8085380B800C67D06 /* PBXTextBookmark */; + 8EFC6DF0085380B800C67D06 = 8EFC6DF0085380B800C67D06 /* PBXTextBookmark */; }; sourceControlManager = 8EB77466082DA402005891CA /* Source Control */; userBuildSettings = { @@ -339,11 +384,151 @@ 8D1107310486CEB800E47090 /* Info.plist */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 1470}}"; - sepNavSelRange = "{2194, 0}"; - sepNavVisRect = "{{0, 1083}, {775, 373}}"; + sepNavSelRange = "{2289, 0}"; + sepNavVisRect = "{{0, 1088}, {775, 373}}"; sepNavWindowFrame = "{{15, 61}, {500, 680}}"; }; }; + 8E035561086DC742005939B9 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E14E47A084CF1A200246BCC /* AACFile.m */; + name = "AACFile.m: 71"; + rLen = 0; + rLoc = 1635; + rType = 0; + vrLen = 541; + vrLoc = 1315; + }; + 8E035562086DC742005939B9 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EF6FA66082DA526006F7BE6 /* FlacFile.m */; + name = "FlacFile.m: 106"; + rLen = 0; + rLoc = 3034; + rType = 0; + vrLen = 560; + vrLoc = 2595; + }; + 8E035565086DC742005939B9 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EF6FA6C082DA526006F7BE6 /* MusepackFile.m */; + name = "MusepackFile.m: 96"; + rLen = 0; + rLoc = 1887; + rType = 0; + vrLen = 702; + vrLoc = 1441; + }; + 8E035566086DC742005939B9 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EF6FA70082DA526006F7BE6 /* VorbisFile.m */; + name = "VorbisFile.m: 47"; + rLen = 0; + rLoc = 808; + rType = 0; + vrLen = 581; + vrLoc = 657; + }; + 8E035567086DC742005939B9 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EF6FA72082DA526006F7BE6 /* WaveFile.m */; + name = "WaveFile.m: 88"; + rLen = 0; + rLoc = 1594; + rType = 0; + vrLen = 418; + vrLoc = 1455; + }; + 8E035569086DC742005939B9 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E8BAE5508548BE800E9F14D /* ShnFile.h */; + name = "ShnFile.h: bufferSize"; + rLen = 0; + rLoc = 345; + rType = 0; + vrLen = 410; + vrLoc = 0; + }; + 8E03556A086DC742005939B9 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E8BAE5608548BE800E9F14D /* ShnFile.m */; + name = "ShnFile.m: 17"; + rLen = 0; + rLoc = 268; + rType = 0; + vrLen = 470; + vrLoc = 25; + }; + 8E03559F086DC876005939B9 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EC8221E086CE2D50088347D /* shn.h */; + name = "#define\tmin(a,b)\t\t\t(((a)<(b))?(a):(b))"; + rLen = 39; + rLoc = 1361; + rType = 0; + vrLen = 565; + vrLoc = 1127; + }; + 8E0AA7B1086F226C00E31C8E /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E8BAE5208548BD500E9F14D /* WavPackFile.m */; + name = "WavPackFile.m: 73"; + rLen = 0; + rLoc = 1416; + rType = 0; + vrLen = 566; + vrLoc = 892; + }; + 8E0AA7EC086F251100E31C8E /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E4721D108319294001F89FA /* AppController.h */; + name = "AppController.h: savePlaylist:"; + rLen = 0; + rLoc = 566; + rType = 0; + vrLen = 869; + vrLoc = 201; + }; + 8E0AA808086F259400E31C8E /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E45227A0832898A00F8BA7C /* Sound.h */; + name = "Sound.h: setVolume:"; + rLen = 0; + rLoc = 3118; + rType = 0; + vrLen = 483; + vrLoc = 2646; + }; + 8E0AA809086F259400E31C8E /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E4721D4083192C2001F89FA /* SoundController.h */; + name = "- (IBAction)changeVolume:(id)sender;"; + rLen = 37; + rLoc = 711; + rType = 0; + vrLen = 719; + vrLoc = 617; + }; + 8E0AA812086F26A100E31C8E /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E4721D5083192C2001F89FA /* SoundController.m */; + name = "SoundController.m: 219"; + rLen = 0; + rLoc = 4777; + rType = 0; + vrLen = 632; + vrLoc = 4458; + }; + 8E0AA854086F2BEC00E31C8E /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E8F3F9B0855499500BCF803 /* README */; + name = "README: 10"; + rLen = 0; + rLoc = 76; + rType = 0; + vrLen = 1276; + vrLoc = 233; + }; 8E0EBF0C084BA776003A6E64 /* DBLog.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 372}}"; @@ -395,6 +580,15 @@ vrLen = 30; vrLoc = 0; }; + 8E14325D086DCCD400A2233E /* XCBreakpointsBucket */ = { + isa = XCBreakpointsBucket; + name = "Project Breakpoints"; + objects = ( + 8EF1B97C083A49980095B236 /* PlaylistController.m:391 */, + 8EEFDF8808410C00008BB533 /* SoundController.m:302 */, + 8EDC87BA0842F2A4007D1532 /* SoundFile.m:135 */, + ); + }; 8E14E479084CF1A200246BCC /* AACFile.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 476}}"; @@ -404,9 +598,9 @@ }; 8E14E47A084CF1A200246BCC /* AACFile.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 2464}}"; - sepNavSelRange = "{1761, 1694}"; - sepNavVisRect = "{{0, 1020}, {775, 372}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 2492}}"; + sepNavSelRange = "{1635, 0}"; + sepNavVisRect = "{{0, 773}, {775, 375}}"; }; }; 8E14E4B4084D089100246BCC /* PBXTextBookmark */ = { @@ -472,9 +666,9 @@ }; 8E267D050837F7A6004ACBC5 /* FeedbackController.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {914, 1106}}"; - sepNavSelRange = "{310, 0}"; - sepNavVisRect = "{{0, 34}, {775, 546}}"; + sepNavIntBoundsRect = "{{0, 0}, {983, 1106}}"; + sepNavSelRange = "{1369, 147}"; + sepNavVisRect = "{{0, 622}, {983, 310}}"; }; }; 8E267D060837F7A6004ACBC5 /* FeedbackSocket.h */ = { @@ -500,9 +694,9 @@ }; 8E267D0A0837F7A6004ACBC5 /* MacPADSocket.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 5600}}"; - sepNavSelRange = "{7208, 5}"; - sepNavVisRect = "{{0, 2856}, {775, 546}}"; + sepNavIntBoundsRect = "{{0, 0}, {983, 5600}}"; + sepNavSelRange = "{3809, 2}"; + sepNavVisRect = "{{0, 2084}, {983, 310}}"; }; }; 8E267D0B0837F7A6004ACBC5 /* UpdateController.h */ = { @@ -622,8 +816,8 @@ 8E2871080836934A0013CE39 /* VirtualRingBuffer.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {4550, 1246}}"; - sepNavSelRange = "{3334, 0}"; - sepNavVisRect = "{{0, 686}, {775, 546}}"; + sepNavSelRange = "{3756, 37}"; + sepNavVisRect = "{{0, 706}, {983, 310}}"; }; }; 8E2871090836934A0013CE39 /* VirtualRingBuffer.m */ = { @@ -644,13 +838,25 @@ vrLoc = 0; }; 8E287E480855F2EC00562C66 /* InfoView.h */ = { + isa = PBXFileReference; + fileEncoding = 30; + lastKnownFileType = sourcecode.c.h; + name = InfoView.h; + path = /Users/xugg/Projects/Cog/InfoView.h; + sourceTree = ""; uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 373}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 375}}"; sepNavSelRange = "{0, 0}"; - sepNavVisRect = "{{0, 0}, {775, 373}}"; + sepNavVisRect = "{{0, 0}, {775, 375}}"; }; }; 8E287E490855F2EC00562C66 /* InfoView.m */ = { + isa = PBXFileReference; + fileEncoding = 30; + lastKnownFileType = sourcecode.c.objc; + name = InfoView.m; + path = /Users/xugg/Projects/Cog/InfoView.m; + sourceTree = ""; uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 546}}"; sepNavSelRange = "{231, 0}"; @@ -678,6 +884,12 @@ vrLoc = 0; }; 8E297908083D891500F2C55A /* TrackingCell.m */ = { + isa = PBXFileReference; + fileEncoding = 30; + lastKnownFileType = sourcecode.c.objc; + name = TrackingCell.m; + path = /Users/xugg/Projects/Cog/TrackingCell.m; + sourceTree = ""; uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 392}}"; sepNavSelRange = "{520, 0}"; @@ -686,6 +898,12 @@ }; }; 8E297909083D891500F2C55A /* TrackingCell.h */ = { + isa = PBXFileReference; + fileEncoding = 30; + lastKnownFileType = sourcecode.c.h; + name = TrackingCell.h; + path = /Users/xugg/Projects/Cog/TrackingCell.h; + sourceTree = ""; uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 373}}"; sepNavSelRange = "{311, 0}"; @@ -725,17 +943,17 @@ }; 8E45227A0832898A00F8BA7C /* Sound.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {860, 1848}}"; - sepNavSelRange = "{2925, 0}"; - sepNavVisRect = "{{0, 379}, {775, 373}}"; + sepNavIntBoundsRect = "{{0, 0}, {860, 1876}}"; + sepNavSelRange = "{3118, 0}"; + sepNavVisRect = "{{0, 1501}, {775, 375}}"; sepNavWindowFrame = "{{15, 61}, {702, 680}}"; }; }; 8E45227B0832898A00F8BA7C /* Sound.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1208, 10570}}"; - sepNavSelRange = "{5223, 0}"; - sepNavVisRect = "{{0, 2189}, {775, 373}}"; + sepNavIntBoundsRect = "{{0, 0}, {1208, 10976}}"; + sepNavSelRange = "{2357, 0}"; + sepNavVisRect = "{{0, 952}, {775, 375}}"; sepNavWindowFrame = "{{15, 66}, {702, 680}}"; }; }; @@ -744,7 +962,7 @@ fRef = 8E45227A0832898A00F8BA7C /* Sound.h */; name = "Sound.h: 13"; rLen = 0; - rLoc = 2075; + rLoc = 2098; rType = 0; vrLen = 199; vrLoc = 0; @@ -754,7 +972,7 @@ fRef = 8E45227B0832898A00F8BA7C /* Sound.m */; name = "Sound.m: 15"; rLen = 0; - rLoc = 19656; + rLoc = 20091; rType = 0; vrLen = 182; vrLoc = 0; @@ -768,52 +986,52 @@ }; 8E47218608318D7A001F89FA /* DNDArrayController.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {758, 2072}}"; - sepNavSelRange = "{1640, 5}"; - sepNavVisRect = "{{0, 813}, {740, 180}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 2072}}"; + sepNavSelRange = "{3343, 0}"; + sepNavVisRect = "{{0, 947}, {775, 373}}"; }; }; 8E47218708318D7A001F89FA /* PlaylistController.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 1176}}"; sepNavSelRange = "{990, 0}"; - sepNavVisRect = "{{0, 104}, {775, 546}}"; + sepNavVisRect = "{{0, 285}, {775, 373}}"; }; }; 8E47218808318D7A001F89FA /* PlaylistController.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {896, 7154}}"; - sepNavSelRange = "{1199, 0}"; - sepNavVisRect = "{{0, 441}, {775, 373}}"; + sepNavIntBoundsRect = "{{0, 0}, {983, 7224}}"; + sepNavSelRange = "{931, 0}"; + sepNavVisRect = "{{0, 384}, {983, 310}}"; }; }; 8E47218908318D7A001F89FA /* PlaylistEntry.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 952}}"; - sepNavSelRange = "{374, 0}"; - sepNavVisRect = "{{0, 210}, {775, 372}}"; + sepNavIntBoundsRect = "{{0, 0}, {983, 952}}"; + sepNavSelRange = "{704, 16}"; + sepNavVisRect = "{{0, 454}, {983, 310}}"; }; }; 8E47218A08318D7A001F89FA /* PlaylistEntry.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {782, 3878}}"; - sepNavSelRange = "{3092, 3}"; - sepNavVisRect = "{{0, 2744}, {775, 546}}"; + sepNavIntBoundsRect = "{{0, 0}, {983, 3920}}"; + sepNavSelRange = "{1716, 2}"; + sepNavVisRect = "{{0, 1350}, {983, 310}}"; sepNavWindowFrame = "{{15, 61}, {1016, 680}}"; }; }; 8E47218B08318D7A001F89FA /* PlaylistView.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 372}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 375}}"; sepNavSelRange = "{206, 0}"; - sepNavVisRect = "{{0, 0}, {775, 372}}"; + sepNavVisRect = "{{0, 0}, {775, 375}}"; }; }; 8E47218C08318D7A001F89FA /* PlaylistView.m */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 952}}"; sepNavSelRange = "{951, 0}"; - sepNavVisRect = "{{0, 406}, {775, 546}}"; + sepNavVisRect = "{{0, 187}, {775, 373}}"; }; }; 8E4721AE08318F3E001F89FA /* PBXTextBookmark */ = { @@ -898,30 +1116,30 @@ }; 8E4721D108319294001F89FA /* AppController.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 546}}"; - sepNavSelRange = "{392, 1}"; - sepNavVisRect = "{{0, 0}, {775, 546}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 518}}"; + sepNavSelRange = "{566, 0}"; + sepNavVisRect = "{{0, 143}, {775, 375}}"; }; }; 8E4721D208319294001F89FA /* AppController.m */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1340, 2086}}"; sepNavSelRange = "{624, 0}"; - sepNavVisRect = "{{0, 782}, {775, 373}}"; + sepNavVisRect = "{{0, 789}, {775, 373}}"; }; }; 8E4721D4083192C2001F89FA /* SoundController.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 812}}"; - sepNavSelRange = "{709, 0}"; - sepNavVisRect = "{{0, 75}, {775, 373}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 826}}"; + sepNavSelRange = "{711, 37}"; + sepNavVisRect = "{{0, 420}, {775, 375}}"; }; }; 8E4721D5083192C2001F89FA /* SoundController.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {950, 4928}}"; - sepNavSelRange = "{5035, 0}"; - sepNavVisRect = "{{0, 2861}, {775, 373}}"; + sepNavIntBoundsRect = "{{0, 0}, {950, 5012}}"; + sepNavSelRange = "{4777, 0}"; + sepNavVisRect = "{{0, 2842}, {775, 375}}"; sepNavWindowFrame = "{{15, 61}, {1016, 680}}"; }; }; @@ -955,7 +1173,17 @@ vrLen = 63; vrLoc = 0; }; - 8E4D66E90854CD2C00816BEE /* PBXTextBookmark */ = { + 8E4F5F71086E37260043E85E /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E847F72086DEBD600162B93 /* TODO */; + name = "TODO: 3"; + rLen = 0; + rLoc = 89; + rType = 0; + vrLen = 71; + vrLoc = 0; + }; + 8E4F5F72086E37260043E85E /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8E8BAE5108548BD500E9F14D /* WavPackFile.h */; name = "WavPackFile.h: 13"; @@ -965,31 +1193,41 @@ vrLen = 282; vrLoc = 0; }; - 8E4D66EA0854CD2C00816BEE /* PBXTextBookmark */ = { + 8E4F5F73086E37260043E85E /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8E8BAE5208548BD500E9F14D /* WavPackFile.m */; - name = "WavPackFile.m: 41"; + fRef = 8E847F72086DEBD600162B93 /* TODO */; + name = "TODO: 3"; rLen = 0; - rLoc = 735; + rLoc = 89; rType = 0; - vrLen = 526; - vrLoc = 392; - }; - 8E4D67D40854E7B100816BEE /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E47218B08318D7A001F89FA /* PlaylistView.h */; - name = "PlaylistView.h: 12"; - rLen = 0; - rLoc = 206; - rType = 0; - vrLen = 369; + vrLen = 71; vrLoc = 0; }; + 8E4F5FB8086E38910043E85E /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E267D0A0837F7A6004ACBC5 /* MacPADSocket.m */; + name = CF; + rLen = 2; + rLoc = 3809; + rType = 0; + vrLen = 1043; + vrLoc = 3265; + }; + 8E4F5FDE086E39190043E85E /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EF6FA6A082DA526006F7BE6 /* MPEGFile.m */; + name = "MPEGFile.m: 87"; + rLen = 0; + rLoc = 1941; + rType = 0; + vrLen = 490; + vrLoc = 1691; + }; 8E5A90B0084CBC2F00AE6D62 /* Changelog */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 373}}"; - sepNavSelRange = "{709, 0}"; - sepNavVisRect = "{{0, 0}, {775, 373}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 420}}"; + sepNavSelRange = "{308, 0}"; + sepNavVisRect = "{{0, 0}, {775, 375}}"; }; }; 8E5A90BB084CC25900AE6D62 /* PBXTextBookmark */ = { @@ -997,21 +1235,11 @@ fRef = 8E5A90B0084CBC2F00AE6D62 /* Changelog */; name = "Changelog: 3"; rLen = 0; - rLoc = 672; + rLoc = 981; rType = 0; vrLen = 131; vrLoc = 0; }; - 8E5CC5020856316C00A299E0 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E47218A08318D7A001F89FA /* PlaylistEntry.m */; - name = Tag; - rLen = 3; - rLoc = 3092; - rType = 0; - vrLen = 655; - vrLoc = 2911; - }; 8E6082C7083920310017AECF /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8E267D040837F7A6004ACBC5 /* FeedbackController.h */; @@ -1032,16 +1260,6 @@ vrLen = 1402; vrLoc = 0; }; - 8E63F6C908587FD400C79B72 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E267D0A0837F7A6004ACBC5 /* MacPADSocket.m */; - name = DBLog; - rLen = 5; - rLoc = 7208; - rType = 0; - vrLen = 1463; - vrLoc = 6505; - }; 8E63F6CA08587FD400C79B72 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8E267D0B0837F7A6004ACBC5 /* UpdateController.h */; @@ -1073,6 +1291,12 @@ vrLoc = 0; }; 8E6529FF083D93EB00A7AF1B /* TrackingSlider.h */ = { + isa = PBXFileReference; + fileEncoding = 30; + lastKnownFileType = sourcecode.c.h; + name = TrackingSlider.h; + path = /Users/xugg/Projects/Cog/TrackingSlider.h; + sourceTree = ""; uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 373}}"; sepNavSelRange = "{106, 0}"; @@ -1080,6 +1304,12 @@ }; }; 8E652A00083D93EB00A7AF1B /* TrackingSlider.m */ = { + isa = PBXFileReference; + fileEncoding = 30; + lastKnownFileType = sourcecode.c.objc; + name = TrackingSlider.m; + path = /Users/xugg/Projects/Cog/TrackingSlider.m; + sourceTree = ""; uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 546}}"; sepNavSelRange = "{664, 0}"; @@ -1126,105 +1356,25 @@ vrLen = 1460; vrLoc = 3376; }; - 8E72BC640851408F00E34F1D /* PBXTextBookmark */ = { + 8E7877DD086F4E4100E47CD9 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8E47218908318D7A001F89FA /* PlaylistEntry.h */; - name = "PlaylistEntry.h: track"; + fRef = 8E5A90B0084CBC2F00AE6D62 /* Changelog */; + name = "Changelog: 15"; rLen = 0; - rLoc = 374; + rLoc = 509; rType = 0; - vrLen = 410; - vrLoc = 266; + vrLen = 990; + vrLoc = 0; }; - 8E7DAAA808673DF600615930 /* PBXTextBookmark */ = { + 8E78A0BE086DD58B007E14C5 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8D1107310486CEB800E47090 /* Info.plist */; - name = "Info.plist: 92"; + fRef = 8EF6FA69082DA526006F7BE6 /* MPEGFile.h */; + name = "MPEGFile.h: 14"; rLen = 0; - rLoc = 2194; + rLoc = 245; rType = 0; - vrLen = 641; - vrLoc = 1499; - }; - 8E7DAAAA08673DF600615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8D1107310486CEB800E47090 /* Info.plist */; - name = "Info.plist: 92"; - rLen = 0; - rLoc = 2194; - rType = 0; - vrLen = 641; - vrLoc = 1499; - }; - 8E7DAAAB08673DF600615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E4721D208319294001F89FA /* AppController.m */; - name = "AppController.m: 16"; - rLen = 0; - rLoc = 624; - rType = 0; - vrLen = 598; - vrLoc = 2940; - }; - 8E7DAAF70867402D00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E47218808318D7A001F89FA /* PlaylistController.m */; - name = "PlaylistController.m: 46"; - rLen = 0; - rLoc = 1199; - rType = 0; - vrLen = 645; - vrLoc = 739; - }; - 8E7DAAF80867402D00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E8BAE5608548BE800E9F14D /* ShnFile.m */; - name = "ShnFile.m: fillBuffer:ofSize:"; - rLen = 0; - rLoc = 1832; - rType = 0; - vrLen = 356; - vrLoc = 1747; - }; - 8E7DAAF90867402D00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8EF6FA6E082DA526006F7BE6 /* SoundFile.m */; - name = "SoundFile.m: 147"; - rLen = 0; - rLoc = 3015; - rType = 0; - vrLen = 324; - vrLoc = 3596; - }; - 8E7DAAFB0867402D00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E8F3F9B0855499500BCF803 /* README */; - name = "README: 10"; - rLen = 0; - rLoc = 633; - rType = 0; - vrLen = 1200; - vrLoc = 309; - }; - 8E7DAAFC0867402D00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E45227A0832898A00F8BA7C /* Sound.h */; - name = "Sound.h: setSoundFile:"; - rLen = 0; - rLoc = 2925; - rType = 0; - vrLen = 521; - vrLoc = 525; - }; - 8E7DAAFD0867402D00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E45227B0832898A00F8BA7C /* Sound.m */; - name = "Sound.m: 172"; - rLen = 0; - rLoc = 5223; - rType = 0; - vrLen = 670; - vrLoc = 4843; + vrLen = 272; + vrLoc = 0; }; 8E7DAAFE0867402D00615930 /* PBXTextBookmark */ = { isa = PBXTextBookmark; @@ -1236,226 +1386,6 @@ vrLen = 573; vrLoc = 1784; }; - 8E7DAAFF0867402D00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E4721D208319294001F89FA /* AppController.m */; - name = "AppController.m: 16"; - rLen = 0; - rLoc = 624; - rType = 0; - vrLen = 985; - vrLoc = 1414; - }; - 8E7DAB020867402D00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E47218808318D7A001F89FA /* PlaylistController.m */; - name = "PlaylistController.m: 46"; - rLen = 0; - rLoc = 1199; - rType = 0; - vrLen = 645; - vrLoc = 739; - }; - 8E7DAB030867402D00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E8BAE5608548BE800E9F14D /* ShnFile.m */; - name = "ShnFile.m: fillBuffer:ofSize:"; - rLen = 0; - rLoc = 1832; - rType = 0; - vrLen = 356; - vrLoc = 1747; - }; - 8E7DAB040867402D00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8EF6FA6E082DA526006F7BE6 /* SoundFile.m */; - name = "SoundFile.m: 147"; - rLen = 0; - rLoc = 3015; - rType = 0; - vrLen = 324; - vrLoc = 3596; - }; - 8E7DAB050867402D00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E5A90B0084CBC2F00AE6D62 /* Changelog */; - name = "Changelog: 8"; - rLen = 0; - rLoc = 245; - rType = 0; - vrLen = 594; - vrLoc = 0; - }; - 8E7DAB060867402D00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E8F3F9B0855499500BCF803 /* README */; - name = "README: 10"; - rLen = 0; - rLoc = 633; - rType = 0; - vrLen = 1200; - vrLoc = 309; - }; - 8E7DAB070867402D00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E45227A0832898A00F8BA7C /* Sound.h */; - name = "Sound.h: setSoundFile:"; - rLen = 0; - rLoc = 2925; - rType = 0; - vrLen = 521; - vrLoc = 525; - }; - 8E7DAB080867402D00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E45227B0832898A00F8BA7C /* Sound.m */; - name = "Sound.m: 172"; - rLen = 0; - rLoc = 5223; - rType = 0; - vrLen = 670; - vrLoc = 4843; - }; - 8E7DAB090867402D00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E2871090836934A0013CE39 /* VirtualRingBuffer.m */; - name = "VirtualRingBuffer.m: 51"; - rLen = 0; - rLoc = 2267; - rType = 0; - vrLen = 573; - vrLoc = 1784; - }; - 8E7DAB0A0867402D00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E4721D208319294001F89FA /* AppController.m */; - name = "AppController.m: 16"; - rLen = 0; - rLoc = 624; - rType = 0; - vrLen = 985; - vrLoc = 1414; - }; - 8E7DAB0B0867402D00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E4721D5083192C2001F89FA /* SoundController.m */; - name = "SoundController.m: 279"; - rLen = 0; - rLoc = 6887; - rType = 0; - vrLen = 539; - vrLoc = 1243; - }; - 8E7DAB0C0867402D00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E4721D4083192C2001F89FA /* SoundController.h */; - name = "- (IBAction)showTimeRemaining;"; - rLen = 47; - rLoc = 663; - rType = 0; - vrLen = 558; - vrLoc = 392; - }; - 8E7DAB0D0867402D00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E4721D5083192C2001F89FA /* SoundController.m */; - name = "SoundController.m: 296"; - rLen = 0; - rLoc = 7091; - rType = 0; - vrLen = 774; - vrLoc = 6082; - }; - 8E7DAB0E0867402D00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E4721D4083192C2001F89FA /* SoundController.h */; - name = "- (IBAction)showTimeRemaining;"; - rLen = 47; - rLoc = 663; - rType = 0; - vrLen = 570; - vrLoc = 125; - }; - 8E7DAB0F0867402D00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E4721D5083192C2001F89FA /* SoundController.m */; - name = "SoundController.m: 303"; - rLen = 0; - rLoc = 7259; - rType = 0; - vrLen = 685; - vrLoc = 6473; - }; - 8E7DAB100867402D00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E4721D4083192C2001F89FA /* SoundController.h */; - name = "- (IBAction)showTimeRemaining;"; - rLen = 47; - rLoc = 663; - rType = 0; - vrLen = 569; - vrLoc = 125; - }; - 8E7DAB110867402D00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E4721D5083192C2001F89FA /* SoundController.m */; - name = "SoundController.m: 212"; - rLen = 0; - rLoc = 4673; - rType = 0; - vrLen = 598; - vrLoc = 4388; - }; - 8E7DAB320867412700615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E4721D4083192C2001F89FA /* SoundController.h */; - name = "SoundController.h: toggleShowTimeRemaining"; - rLen = 0; - rLoc = 682; - rType = 0; - vrLen = 575; - vrLoc = 125; - }; - 8E7DAB330867412700615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E4721D5083192C2001F89FA /* SoundController.m */; - name = "SoundController.m: 212"; - rLen = 0; - rLoc = 4673; - rType = 0; - vrLen = 598; - vrLoc = 4388; - }; - 8E7DAB340867412700615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E4721D4083192C2001F89FA /* SoundController.h */; - name = "SoundController.h: toggleShowTimeRemaining"; - rLen = 0; - rLoc = 682; - rType = 0; - vrLen = 564; - vrLoc = 392; - }; - 8E7DAB350867412700615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E4721D5083192C2001F89FA /* SoundController.m */; - name = "SoundController.m: 212"; - rLen = 0; - rLoc = 4673; - rType = 0; - vrLen = 598; - vrLoc = 4388; - }; - 8E7DAB360867412700615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E4721D4083192C2001F89FA /* SoundController.h */; - name = "SoundController.h: toggleShowTimeRemaining:"; - rLen = 0; - rLoc = 709; - rType = 0; - vrLen = 538; - vrLoc = 429; - }; 8E7DAB430867421200615930 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8E297909083D891500F2C55A /* TrackingCell.h */; @@ -1476,64 +1406,26 @@ vrLen = 111; vrLoc = 0; }; - 8E7DAB470867421200615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E4721D5083192C2001F89FA /* SoundController.m */; - name = "SoundController.m: 303"; - rLen = 0; - rLoc = 7228; - rType = 0; - vrLen = 715; - vrLoc = 6296; - }; - 8E7DAB480867421200615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E297908083D891500F2C55A /* TrackingCell.m */; - name = "TrackingCell.m: 26"; - rLen = 0; - rLoc = 520; - rType = 0; - vrLen = 526; - vrLoc = 0; - }; - 8E7DAB490867421200615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E297909083D891500F2C55A /* TrackingCell.h */; - name = "TrackingCell.h: 13"; - rLen = 0; - rLoc = 311; - rType = 0; - vrLen = 317; - vrLoc = 0; - }; - 8E7DAB4A0867421200615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E6529FF083D93EB00A7AF1B /* TrackingSlider.h */; - name = "TrackingSlider.h: 10"; - rLen = 0; - rLoc = 106; - rType = 0; - vrLen = 111; - vrLoc = 0; - }; - 8E7DAB4B0867421200615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E652A00083D93EB00A7AF1B /* TrackingSlider.m */; - name = "TrackingSlider.m: 35"; - rLen = 0; - rLoc = 664; - rType = 0; - vrLen = 448; - vrLoc = 236; - }; 8E7DAB4D0867423900615930 /* ClickField.h */ = { + isa = PBXFileReference; + fileEncoding = 30; + lastKnownFileType = sourcecode.c.h; + name = ClickField.h; + path = /Users/xugg/Projects/Cog/ClickField.h; + sourceTree = ""; uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 373}}"; - sepNavSelRange = "{69, 0}"; + sepNavSelRange = "{152, 0}"; sepNavVisRect = "{{0, 0}, {775, 373}}"; }; }; 8E7DAB4E0867423900615930 /* ClickField.m */ = { + isa = PBXFileReference; + fileEncoding = 30; + lastKnownFileType = sourcecode.c.objc; + name = ClickField.m; + path = /Users/xugg/Projects/Cog/ClickField.m; + sourceTree = ""; uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 373}}"; sepNavSelRange = "{253, 0}"; @@ -1541,16 +1433,6 @@ sepNavWindowFrame = "{{15, 60}, {1017, 681}}"; }; }; - 8E7DAB540867424400615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E297908083D891500F2C55A /* TrackingCell.m */; - name = "TrackingCell.m: 26"; - rLen = 0; - rLoc = 520; - rType = 0; - vrLen = 526; - vrLoc = 0; - }; 8E7DAB550867424400615930 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8E7DAB4D0867423900615930 /* ClickField.h */; @@ -1571,26 +1453,6 @@ vrLen = 57; vrLoc = 0; }; - 8E7DAB570867424400615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E7DAB4D0867423900615930 /* ClickField.h */; - name = "ClickField.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 88; - vrLoc = 0; - }; - 8E7DAB580867424400615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E7DAB4E0867423900615930 /* ClickField.m */; - name = "ClickField.m: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 57; - vrLoc = 0; - }; 8E7DAB78086742EB00615930 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8E652A00083D93EB00A7AF1B /* TrackingSlider.m */; @@ -1611,116 +1473,6 @@ vrLen = 501; vrLoc = 25; }; - 8E7DAB7A086742EB00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E7DAB4D0867423900615930 /* ClickField.h */; - name = "ClickField.h: 4"; - rLen = 0; - rLoc = 69; - rType = 0; - vrLen = 160; - vrLoc = 0; - }; - 8E7DAB7C086742EB00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E7DAB4D0867423900615930 /* ClickField.h */; - name = "ClickField.h: 7"; - rLen = 0; - rLoc = 152; - rType = 0; - vrLen = 90; - vrLoc = 0; - }; - 8E7DAB7D086742EB00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E7DAB4E0867423900615930 /* ClickField.m */; - name = "ClickField.m: 17"; - rLen = 0; - rLoc = 254; - rType = 0; - vrLen = 353; - vrLoc = 0; - }; - 8E7DAB7E086742EB00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E7DAB4D0867423900615930 /* ClickField.h */; - name = "ClickField.h: 9"; - rLen = 0; - rLoc = 159; - rType = 0; - vrLen = 90; - vrLoc = 0; - }; - 8E7DAB7F086742EB00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E652A00083D93EB00A7AF1B /* TrackingSlider.m */; - name = "TrackingSlider.m: 35"; - rLen = 0; - rLoc = 664; - rType = 0; - vrLen = 448; - vrLoc = 236; - }; - 8E7DAB80086742EB00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E7DAB4D0867423900615930 /* ClickField.h */; - name = "ClickField.h: 9"; - rLen = 0; - rLoc = 159; - rType = 0; - vrLen = 90; - vrLoc = 0; - }; - 8E7DAB81086742EB00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E7DAB4E0867423900615930 /* ClickField.m */; - name = "ClickField.m: 17"; - rLen = 0; - rLoc = 254; - rType = 0; - vrLen = 353; - vrLoc = 0; - }; - 8E7DAB82086742EB00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E652A00083D93EB00A7AF1B /* TrackingSlider.m */; - name = "TrackingSlider.m: 35"; - rLen = 0; - rLoc = 664; - rType = 0; - vrLen = 571; - vrLoc = 0; - }; - 8E7DAB83086742EB00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E297908083D891500F2C55A /* TrackingCell.m */; - name = "TrackingCell.m: 26"; - rLen = 0; - rLoc = 520; - rType = 0; - vrLen = 501; - vrLoc = 25; - }; - 8E7DAB84086742EB00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E7DAB4E0867423900615930 /* ClickField.m */; - name = "ClickField.m: 4"; - rLen = 0; - rLoc = 51; - rType = 0; - vrLen = 260; - vrLoc = 0; - }; - 8E7DAB85086742EB00615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E7DAB4D0867423900615930 /* ClickField.h */; - name = "ClickField.h: 4"; - rLen = 0; - rLoc = 69; - rType = 0; - vrLen = 160; - vrLoc = 0; - }; 8E7DAB9D0867470600615930 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8E7DAB4E0867423900615930 /* ClickField.m */; @@ -1731,113 +1483,50 @@ vrLen = 260; vrLoc = 0; }; - 8E7DAB9E0867470600615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E4721D4083192C2001F89FA /* SoundController.h */; - name = "SoundController.h: toggleShowTimeRemaining:"; - rLen = 0; - rLoc = 709; - rType = 0; - vrLen = 594; - vrLoc = 66; + 8E847F72086DEBD600162B93 /* TODO */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {775, 375}}"; + sepNavSelRange = "{89, 0}"; + sepNavVisRect = "{{0, 0}, {775, 375}}"; + }; }; - 8E7DAB9F0867470600615930 /* PBXTextBookmark */ = { + 8E847F76086DEC0A00162B93 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8E4721D5083192C2001F89FA /* SoundController.m */; - name = "SoundController.m: 229"; + fRef = 8E47218808318D7A001F89FA /* PlaylistController.m */; + name = "PlaylistController.m: 126"; rLen = 0; - rLoc = 5035; + rLoc = 2636; rType = 0; - vrLen = 632; - vrLoc = 4461; - }; - 8E7DABA00867470600615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E5A90B0084CBC2F00AE6D62 /* Changelog */; - name = "Changelog: 8"; - rLen = 0; - rLoc = 245; - rType = 0; - vrLen = 594; - vrLoc = 0; - }; - 8E7DABA10867470600615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E7DAB4E0867423900615930 /* ClickField.m */; - name = "ClickField.m: 15"; - rLen = 0; - rLoc = 253; - rType = 0; - vrLen = 260; - vrLoc = 0; - }; - 8E7DABA20867470600615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E4721D5083192C2001F89FA /* SoundController.m */; - name = "SoundController.m: 228"; - rLen = 0; - rLoc = 5006; - rType = 0; - vrLen = 568; - vrLoc = 4461; - }; - 8E7DABA30867470600615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E4721D4083192C2001F89FA /* SoundController.h */; - name = "SoundController.h: toggleShowTimeRemaining:"; - rLen = 0; - rLoc = 709; - rType = 0; - vrLen = 594; - vrLoc = 66; - }; - 8E7DABA40867470600615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E4721D5083192C2001F89FA /* SoundController.m */; - name = "SoundController.m: 229"; - rLen = 0; - rLoc = 5035; - rType = 0; - vrLen = 632; - vrLoc = 4461; - }; - 8E7DABA50867470600615930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E5A90B0084CBC2F00AE6D62 /* Changelog */; - name = "Changelog: 21"; - rLen = 0; - rLoc = 709; - rType = 0; - vrLen = 709; - vrLoc = 0; + vrLen = 487; + vrLoc = 2330; }; 8E8BAE5108548BD500E9F14D /* WavPackFile.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 372}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 375}}"; sepNavSelRange = "{214, 0}"; - sepNavVisRect = "{{0, 0}, {775, 372}}"; + sepNavVisRect = "{{0, 0}, {775, 375}}"; }; }; 8E8BAE5208548BD500E9F14D /* WavPackFile.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 1120}}"; - sepNavSelRange = "{735, 0}"; - sepNavVisRect = "{{0, 353}, {775, 372}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 1176}}"; + sepNavSelRange = "{1416, 0}"; + sepNavVisRect = "{{0, 717}, {775, 375}}"; sepNavWindowFrame = "{{15, 60}, {1017, 681}}"; }; }; 8E8BAE5508548BE800E9F14D /* ShnFile.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 372}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 375}}"; sepNavSelRange = "{345, 0}"; - sepNavVisRect = "{{0, 0}, {775, 372}}"; + sepNavVisRect = "{{0, 0}, {775, 375}}"; }; }; 8E8BAE5608548BE800E9F14D /* ShnFile.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {983, 1666}}"; - sepNavSelRange = "{1600, 49}"; - sepNavVisRect = "{{0, 1028}, {983, 310}}"; + sepNavIntBoundsRect = "{{0, 0}, {983, 1638}}"; + sepNavSelRange = "{1588, 49}"; + sepNavVisRect = "{{0, 1000}, {983, 310}}"; }; }; 8E8BAEB208548C9600E9F14D /* PBXTextBookmark */ = { @@ -1870,29 +1559,6 @@ vrLen = 187; vrLoc = 0; }; - 8E8BAEFB08548F8600E9F14D /* WavPackFile.m:27 */ = { - isa = PBXFileBreakpoint; - actions = ( - ); - continueAfterActions = 0; - delayBeforeContinue = 0; - fileReference = 8E8BAE5208548BD500E9F14D /* WavPackFile.m */; - functionName = "-open:"; - hitCount = 0; - lineNumber = 27; - modificationTime = 139882046.224034; - state = 1; - }; - 8E8BAF10085494E000E9F14D /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8EF6FA66082DA526006F7BE6 /* FlacFile.m */; - name = "FlacFile.m: 166"; - rLen = 0; - rLoc = 4219; - rType = 0; - vrLen = 367; - vrLoc = 3928; - }; 8E8BAF17085494E000E9F14D /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8E8BAE5208548BD500E9F14D /* WavPackFile.m */; @@ -2106,31 +1772,11 @@ vrLen = 253; vrLoc = 0; }; - 8E8F3F59085546B300BCF803 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E47218708318D7A001F89FA /* PlaylistController.h */; - name = "PlaylistController.h: 43"; - rLen = 0; - rLoc = 990; - rType = 0; - vrLen = 936; - vrLoc = 143; - }; - 8E8F3F780855483300BCF803 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E47218C08318D7A001F89FA /* PlaylistView.m */; - name = "PlaylistView.m: 59"; - rLen = 0; - rLoc = 951; - rType = 0; - vrLen = 502; - vrLoc = 496; - }; 8E8F3F9B0855499500BCF803 /* README */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 546}}"; - sepNavSelRange = "{105, 0}"; - sepNavVisRect = "{{0, 0}, {775, 546}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 406}}"; + sepNavSelRange = "{443, 0}"; + sepNavVisRect = "{{0, 0}, {775, 375}}"; sepNavWindowFrame = "{{15, 60}, {1017, 681}}"; }; }; @@ -2139,7 +1785,7 @@ fRef = 8E8F3F9B0855499500BCF803 /* README */; name = "README: 2"; rLen = 0; - rLoc = 105; + rLoc = 76; rType = 0; vrLen = 1509; vrLoc = 0; @@ -2275,127 +1921,10 @@ isa = PBXBookmark; fRef = 8EAFD27408465E5600107BA5 /* pause_blue.png */; }; - 8EABE7C508562FF3004DF882 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E4721D108319294001F89FA /* AppController.h */; - name = ""; - rLen = 1; - rLoc = 392; - rType = 0; - vrLen = 1103; - vrLoc = 0; - }; 8EABE7CA08562FF3004DF882 /* PBXBookmark */ = { isa = PBXBookmark; fRef = 8EAFD27408465E5600107BA5 /* pause_blue.png */; }; - 8EB30D4F0854BDDD009EA87F /* shn.h */ = { - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - name = shn.h; - path = /Users/xugg/Projects/Cog/Libraries/Shorten/build/Shorten.framework/Versions/A/Headers/shn.h; - sourceTree = ""; - }; - 8EB30D8A0854BEF1009EA87F /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8EB30D4F0854BDDD009EA87F /* shn.h */; - name = "shn.h: sys_errlist"; - rLen = 0; - rLoc = 1183; - rType = 0; - vrLen = 532; - vrLoc = 961; - }; - 8EB30D990854BEF1009EA87F /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8EB30D4F0854BDDD009EA87F /* shn.h */; - name = "shn.h: sys_errlist"; - rLen = 0; - rLoc = 1183; - rType = 0; - vrLen = 532; - vrLoc = 961; - }; - 8EB30DAE0854BFEE009EA87F /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8EF6FA72082DA526006F7BE6 /* WaveFile.m */; - name = "WaveFile.m: close"; - rLen = 0; - rLoc = 2003; - rType = 0; - vrLen = 418; - vrLoc = 1717; - }; - 8EB30DDB0854C261009EA87F /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8EF6FA70082DA526006F7BE6 /* VorbisFile.m */; - name = "VorbisFile.m: 50"; - rLen = 333; - rLoc = 868; - rType = 0; - vrLen = 593; - vrLoc = 657; - }; - 8EB30DDC0854C261009EA87F /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E8BAE5508548BE800E9F14D /* ShnFile.h */; - name = "ShnFile.h: bufferSize"; - rLen = 0; - rLoc = 345; - rType = 0; - vrLen = 410; - vrLoc = 0; - }; - 8EB30DDD0854C261009EA87F /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8EF6FA67082DA526006F7BE6 /* MonkeysFile.h */; - name = "MonkeysFile.h: 15"; - rLen = 0; - rLoc = 267; - rType = 0; - vrLen = 308; - vrLoc = 0; - }; - 8EB30DDE0854C261009EA87F /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8EF6FA68082DA526006F7BE6 /* MonkeysFile.m */; - name = "MonkeysFile.m: close"; - rLen = 0; - rLoc = 1738; - rType = 0; - vrLen = 475; - vrLoc = 1471; - }; - 8EB30DDF0854C261009EA87F /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8EF6FA6C082DA526006F7BE6 /* MusepackFile.m */; - name = "MusepackFile.m: 115"; - rLen = 0; - rLoc = 2381; - rType = 0; - vrLen = 685; - vrLoc = 1881; - }; - 8EB30DE00854C261009EA87F /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8E14E47A084CF1A200246BCC /* AACFile.m */; - name = "AACFile.m: 76"; - rLen = 1694; - rLoc = 1761; - rType = 0; - vrLen = 792; - vrLoc = 1708; - }; - 8EB30E1F0854C36A009EA87F /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8EF6FA6A082DA526006F7BE6 /* MPEGFile.m */; - name = "MPEGFile.m: 106"; - rLen = 0; - rLoc = 2304; - rType = 0; - vrLen = 386; - vrLoc = 1947; - }; 8EB77455082DA3EB005891CA /* Cog */ = { isa = PBXExecutable; activeArgIndex = 2147483647; @@ -2435,6 +1964,16 @@ isa = PBXCodeSenseManager; indexTemplatePath = ""; }; + 8EB911C208676353008538A7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EDCBDCC0840618900F5C7E3 /* Cog.scriptSuite */; + name = "Cog.scriptSuite: 70"; + rLen = 0; + rLoc = 1667; + rType = 0; + vrLen = 692; + vrLoc = 0; + }; 8EC156F9084FEB8900BB24E8 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8E267D0A0837F7A6004ACBC5 /* MacPADSocket.m */; @@ -2445,17 +1984,792 @@ vrLen = 957; vrLoc = 6740; }; - 8ED833CD08457E6B0033CDBD /* PBXTextBookmark */ = { + 8EC4BB750872E2FB00ACF986 /* ClickField.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {775, 375}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRect = "{{0, 0}, {775, 375}}"; + }; + }; + 8EC4BB770872E2FB00ACF986 /* InfoView.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {775, 375}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRect = "{{0, 0}, {775, 375}}"; + }; + }; + 8EC4BBCF0872EA1E00ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E47218808318D7A001F89FA /* PlaylistController.m */; + rLen = 19; + rLoc = 854; + rType = 0; + }; + 8EC4BBD00872EA1E00ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E47218808318D7A001F89FA /* PlaylistController.m */; + name = "PlaylistController.m: 39"; + rLen = 0; + rLoc = 931; + rType = 0; + vrLen = 569; + vrLoc = 720; + }; + 8EC4BBD60872EA3200ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E47218808318D7A001F89FA /* PlaylistController.m */; + name = "PlaylistController.m: 39"; + rLen = 0; + rLoc = 931; + rType = 0; + vrLen = 569; + vrLoc = 720; + }; + 8EC4BBD90872EA5200ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E47218808318D7A001F89FA /* PlaylistController.m */; + name = "PlaylistController.m: 39"; + rLen = 0; + rLoc = 931; + rType = 0; + vrLen = 569; + vrLoc = 720; + }; + 8EC4BBDC0872EA7100ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E47218808318D7A001F89FA /* PlaylistController.m */; + name = "PlaylistController.m: 39"; + rLen = 0; + rLoc = 931; + rType = 0; + vrLen = 569; + vrLoc = 720; + }; + 8EC4BBDF0872EA8100ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E47218808318D7A001F89FA /* PlaylistController.m */; + name = "PlaylistController.m: 39"; + rLen = 0; + rLoc = 931; + rType = 0; + vrLen = 569; + vrLoc = 720; + }; + 8EC4BC3B0872EDD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EC8221E086CE2D50088347D /* shn.h */; + name = "#define\tmin(a,b)\t\t\t(((a)<(b))?(a):(b))"; + rLen = 39; + rLoc = 1361; + rType = 0; + vrLen = 529; + vrLoc = 1135; + }; + 8EC4BC3C0872EDD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + comments = "warning: this is the location of the previous definition"; + fRef = 8EC4BC3D0872EDD900ACF986 /* NoWindows.h */; + rLen = 1; + rLoc = 38; + rType = 1; + }; + 8EC4BC3D0872EDD900ACF986 /* NoWindows.h */ = { + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = NoWindows.h; + path = /Users/xugg/Projects/Cog/Libraries/MAC/build/Deployment/MAC.framework/Headers/NoWindows.h; + sourceTree = ""; + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {983, 994}}"; + sepNavSelRange = "{1212, 0}"; + sepNavVisRect = "{{0, 384}, {983, 310}}"; + }; + }; + 8EC4BC3E0872EDD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EC8221E086CE2D50088347D /* shn.h */; + name = "#define\tmin(a,b)\t\t\t(((a)<(b))?(a):(b))"; + rLen = 39; + rLoc = 1361; + rType = 0; + vrLen = 529; + vrLoc = 1135; + }; + 8EC4BC3F0872EDD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EC4BC400872EDD900ACF986 /* NoWindows.h */; + name = "#define min(a,b) (((a) < (b)) ? (a) : (b))"; + rLen = 47; + rLoc = 1064; + rType = 0; + vrLen = 651; + vrLoc = 655; + }; + 8EC4BC400872EDD900ACF986 /* NoWindows.h */ = { + isa = PBXFileReference; + name = NoWindows.h; + path = /Users/xugg/Projects/Cog/Libraries/MAC/build/Deployment/MAC.framework/Versions/A/Headers/NoWindows.h; + sourceTree = ""; + }; + 8EC4BC410872EDD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E47218808318D7A001F89FA /* PlaylistController.m */; + name = "PlaylistController.m: 39"; + rLen = 0; + rLoc = 931; + rType = 0; + vrLen = 569; + vrLoc = 720; + }; + 8EC4BC440872EE4400ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EC4BC3D0872EDD900ACF986 /* NoWindows.h */; + name = "NoWindows.h: 46"; + rLen = 0; + rLoc = 1212; + rType = 0; + vrLen = 651; + vrLoc = 655; + }; + 8EC4BC450872EE4400ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + comments = "warning: dereferencing `void *' pointer"; + fRef = 8E8BAE5608548BE800E9F14D /* ShnFile.m */; + rLen = 1; + rLoc = 82; + rType = 1; + }; + 8EC4BC460872EE4400ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EC4BC3D0872EDD900ACF986 /* NoWindows.h */; + name = "NoWindows.h: 46"; + rLen = 0; + rLoc = 1212; + rType = 0; + vrLen = 651; + vrLoc = 655; + }; + 8EC4BC470872EE4400ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E8BAE5608548BE800E9F14D /* ShnFile.m */; + name = "memmove(buffer, &buffer[count], bufferAmount);"; + rLen = 49; + rLoc = 1588; + rType = 0; + vrLen = 395; + vrLoc = 1435; + }; + 8EC4BC480872EE4400ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E47218808318D7A001F89FA /* PlaylistController.m */; + name = "PlaylistController.m: 39"; + rLen = 0; + rLoc = 931; + rType = 0; + vrLen = 569; + vrLoc = 720; + }; + 8EC4BC4B0872EE9600ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E8BAE5608548BE800E9F14D /* ShnFile.m */; + name = "memmove(buffer, &buffer[count], bufferAmount);"; + rLen = 49; + rLoc = 1588; + rType = 0; + vrLen = 395; + vrLoc = 1435; + }; + 8EC4BC4C0872EE9600ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + comments = "FLAC/all.h: No such file or directory"; + fRef = 8EF6FA65082DA526006F7BE6 /* FlacFile.h */; + rLen = 1; + rLoc = 9; + rType = 1; + }; + 8EC4BC4D0872EE9600ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E8BAE5608548BE800E9F14D /* ShnFile.m */; + name = "memmove(buffer, &buffer[count], bufferAmount);"; + rLen = 49; + rLoc = 1588; + rType = 0; + vrLen = 395; + vrLoc = 1435; + }; + 8EC4BC4E0872EE9600ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EF6FA65082DA526006F7BE6 /* FlacFile.h */; + name = "#import \"FLAC/all.h\""; + rLen = 21; + rLoc = 163; + rType = 0; + vrLen = 540; + vrLoc = 0; + }; + 8EC4BC4F0872EE9600ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E47218808318D7A001F89FA /* PlaylistController.m */; + name = "PlaylistController.m: 39"; + rLen = 0; + rLoc = 931; + rType = 0; + vrLen = 569; + vrLoc = 720; + }; + 8EC4BD440872EFD700ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EF6FA65082DA526006F7BE6 /* FlacFile.h */; + name = "#import \"FLAC/all.h\""; + rLen = 21; + rLoc = 163; + rType = 0; + vrLen = 540; + vrLoc = 0; + }; + 8EC4BD450872EFD700ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E47218808318D7A001F89FA /* PlaylistController.m */; + name = "PlaylistController.m: 39"; + rLen = 0; + rLoc = 931; + rType = 0; + vrLen = 569; + vrLoc = 720; + }; + 8EC4BD460872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E45227B0832898A00F8BA7C /* Sound.m */; + name = "Sound.m: 73"; + rLen = 0; + rLoc = 2357; + rType = 0; + vrLen = 979; + vrLoc = 2157; + }; + 8EC4BD470872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EF6FA6E082DA526006F7BE6 /* SoundFile.m */; + name = "SoundFile.m: 69"; + rLen = 0; + rLoc = 1210; + rType = 0; + vrLen = 918; + vrLoc = 1546; + }; + 8EC4BD480872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E47218808318D7A001F89FA /* PlaylistController.m */; + name = "PlaylistController.m: 36"; + rLen = 0; + rLoc = 787; + rType = 0; + vrLen = 624; + vrLoc = 670; + }; + 8EC4BD490872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EC4BB770872E2FB00ACF986 /* InfoView.h */; + name = "InfoView.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 79; + vrLoc = 0; + }; + 8EC4BD4A0872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EC4BB750872E2FB00ACF986 /* ClickField.h */; + name = "ClickField.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 160; + vrLoc = 0; + }; + 8EC4BD4B0872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EF6FA67082DA526006F7BE6 /* MonkeysFile.h */; + name = "MonkeysFile.h: 14"; + rLen = 0; + rLoc = 232; + rType = 0; + vrLen = 308; + vrLoc = 0; + }; + 8EC4BD4C0872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E5A90B0084CBC2F00AE6D62 /* Changelog */; + name = "Changelog: 9"; + rLen = 0; + rLoc = 308; + rType = 0; + vrLen = 990; + vrLoc = 0; + }; + 8EC4BD4D0872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EC8221E086CE2D50088347D /* shn.h */; + name = "#define\tmin(a,b)\t\t\t(((a)<(b))?(a):(b))"; + rLen = 39; + rLoc = 1361; + rType = 0; + vrLen = 565; + vrLoc = 1127; + }; + 8EC4BD4E0872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EF6FA65082DA526006F7BE6 /* FlacFile.h */; + name = "#import \"FLAC/all.h\""; + rLen = 21; + rLoc = 163; + rType = 0; + vrLen = 617; + vrLoc = 0; + }; + 8EC4BD4F0872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E8F3F9B0855499500BCF803 /* README */; + name = "README: 10"; + rLen = 0; + rLoc = 443; + rType = 0; + vrLen = 1142; + vrLoc = 0; + }; + 8EC4BD500872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E847F72086DEBD600162B93 /* TODO */; + name = "TODO: 5"; + rLen = 0; + rLoc = 89; + rType = 0; + vrLen = 89; + vrLoc = 0; + }; + 8EC4BD510872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E847F72086DEBD600162B93 /* TODO */; + name = "TODO: 1"; + rLen = 0; + rLoc = 89; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 8EC4BD520872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E45227B0832898A00F8BA7C /* Sound.m */; + name = "Sound.m: 73"; + rLen = 0; + rLoc = 2357; + rType = 0; + vrLen = 979; + vrLoc = 2157; + }; + 8EC4BD530872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E847F72086DEBD600162B93 /* TODO */; + name = "TODO: 1"; + rLen = 0; + rLoc = 89; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 8EC4BD540872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E8F3F9B0855499500BCF803 /* README */; + name = "README: 10"; + rLen = 0; + rLoc = 76; + rType = 0; + vrLen = 1276; + vrLoc = 233; + }; + 8EC4BD550872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E5A90B0084CBC2F00AE6D62 /* Changelog */; + name = "Changelog: 9"; + rLen = 0; + rLoc = 308; + rType = 0; + vrLen = 990; + vrLoc = 0; + }; + 8EC4BD560872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EF6FA6E082DA526006F7BE6 /* SoundFile.m */; + name = "SoundFile.m: 69"; + rLen = 0; + rLoc = 1210; + rType = 0; + vrLen = 918; + vrLoc = 1546; + }; + 8EC4BD570872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E47218808318D7A001F89FA /* PlaylistController.m */; + name = "PlaylistController.m: 36"; + rLen = 0; + rLoc = 787; + rType = 0; + vrLen = 624; + vrLoc = 670; + }; + 8EC4BD580872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EC4BB770872E2FB00ACF986 /* InfoView.h */; + name = "InfoView.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 79; + vrLoc = 0; + }; + 8EC4BD590872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EC4BB750872E2FB00ACF986 /* ClickField.h */; + name = "ClickField.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 160; + vrLoc = 0; + }; + 8EC4BD5A0872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EF6FA67082DA526006F7BE6 /* MonkeysFile.h */; + name = "MonkeysFile.h: 14"; + rLen = 0; + rLoc = 232; + rType = 0; + vrLen = 308; + vrLoc = 0; + }; + 8EC4BD5B0872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E8F3F9B0855499500BCF803 /* README */; + name = "README: 10"; + rLen = 0; + rLoc = 76; + rType = 0; + vrLen = 1276; + vrLoc = 233; + }; + 8EC4BD5C0872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E5A90B0084CBC2F00AE6D62 /* Changelog */; + name = "Changelog: 4"; + rLen = 0; + rLoc = 97; + rType = 0; + vrLen = 990; + vrLoc = 0; + }; + 8EC4BD5D0872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E8F3F9B0855499500BCF803 /* README */; + name = "README: 7"; + rLen = 0; + rLoc = 366; + rType = 0; + vrLen = 1216; + vrLoc = 0; + }; + 8EC4BD5E0872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E5A90B0084CBC2F00AE6D62 /* Changelog */; + name = "Changelog: 4"; + rLen = 0; + rLoc = 97; + rType = 0; + vrLen = 990; + vrLoc = 0; + }; + 8EC4BD5F0872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E8F3F9B0855499500BCF803 /* README */; + name = "README: 3"; + rLen = 0; + rLoc = 90; + rType = 0; + vrLen = 1177; + vrLoc = 0; + }; + 8EC4BD600872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E5A90B0084CBC2F00AE6D62 /* Changelog */; + name = "Changelog: 9"; + rLen = 0; + rLoc = 308; + rType = 0; + vrLen = 990; + vrLoc = 0; + }; + 8EC4BD610872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E847F72086DEBD600162B93 /* TODO */; + name = "TODO: 3"; + rLen = 0; + rLoc = 89; + rType = 0; + vrLen = 43; + vrLoc = 0; + }; + 8EC4BD620872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E8F3F9B0855499500BCF803 /* README */; + name = "README: 3"; + rLen = 0; + rLoc = 90; + rType = 0; + vrLen = 1177; + vrLoc = 0; + }; + 8EC4BD630872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E5A90B0084CBC2F00AE6D62 /* Changelog */; + name = "Changelog: 9"; + rLen = 0; + rLoc = 308; + rType = 0; + vrLen = 990; + vrLoc = 0; + }; + 8EC4BD640872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E8F3F9B0855499500BCF803 /* README */; + name = "README: 3"; + rLen = 0; + rLoc = 90; + rType = 0; + vrLen = 1177; + vrLoc = 0; + }; + 8EC4BD650872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E847F72086DEBD600162B93 /* TODO */; + name = "TODO: 5"; + rLen = 0; + rLoc = 89; + rType = 0; + vrLen = 89; + vrLoc = 0; + }; + 8EC4BD660872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E5A90B0084CBC2F00AE6D62 /* Changelog */; + name = "Changelog: 9"; + rLen = 0; + rLoc = 308; + rType = 0; + vrLen = 990; + vrLoc = 0; + }; + 8EC4BD670872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E8F3F9B0855499500BCF803 /* README */; + name = "README: 14"; + rLen = 0; + rLoc = 585; + rType = 0; + vrLen = 1142; + vrLoc = 0; + }; + 8EC4BD680872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EC8221E086CE2D50088347D /* shn.h */; + name = "#define\tmin(a,b)\t\t\t(((a)<(b))?(a):(b))"; + rLen = 39; + rLoc = 1361; + rType = 0; + vrLen = 565; + vrLoc = 1127; + }; + 8EC4BD690872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EF6FA65082DA526006F7BE6 /* FlacFile.h */; + name = "#import \"FLAC/all.h\""; + rLen = 21; + rLoc = 163; + rType = 0; + vrLen = 617; + vrLoc = 0; + }; + 8EC4BD6A0872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E8F3F9B0855499500BCF803 /* README */; + name = "README: 10"; + rLen = 0; + rLoc = 443; + rType = 0; + vrLen = 1142; + vrLoc = 0; + }; + 8EC4BD6B0872EFD900ACF986 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E847F72086DEBD600162B93 /* TODO */; + name = "TODO: 5"; + rLen = 0; + rLoc = 89; + rType = 0; + vrLen = 89; + vrLoc = 0; + }; + 8EC82088086CD56B0088347D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E4721D208319294001F89FA /* AppController.m */; + name = "AppController.m: 16"; + rLen = 0; + rLoc = 624; + rType = 0; + vrLen = 947; + vrLoc = 1452; + }; + 8EC8208A086CD56B0088347D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E287E480855F2EC00562C66 /* InfoView.h */; + name = "InfoView.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 79; + vrLoc = 0; + }; + 8EC820C1086CD8890088347D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E7DAB4D0867423900615930 /* ClickField.h */; + name = "ClickField.h: 5"; + rLen = 0; + rLoc = 70; + rType = 0; + vrLen = 160; + vrLoc = 0; + }; + 8EC820C2086CD8890088347D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8D1107310486CEB800E47090 /* Info.plist */; + name = "Info.plist: 96"; + rLen = 0; + rLoc = 2289; + rType = 0; + vrLen = 679; + vrLoc = 1806; + }; + 8EC82204086CE2330088347D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EF6FA67082DA526006F7BE6 /* MonkeysFile.h */; + name = "MonkeysFile.h: 14"; + rLen = 0; + rLoc = 232; + rType = 0; + vrLen = 308; + vrLoc = 0; + }; + 8EC8221E086CE2D50088347D /* shn.h */ = { + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = shn.h; + path = /Users/xugg/Projects/Cog/Libraries/Shorten/build/Deployment/Shorten.framework/Headers/shn.h; + sourceTree = ""; + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {775, 3990}}"; + sepNavSelRange = "{1361, 39}"; + sepNavVisRect = "{{0, 506}, {775, 375}}"; + }; + }; + 8EC822A2086CE76C0088347D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E47218B08318D7A001F89FA /* PlaylistView.h */; + name = "PlaylistView.h: 12"; + rLen = 0; + rLoc = 206; + rType = 0; + vrLen = 369; + vrLoc = 0; + }; + 8EC822A3086CE76C0088347D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E47218908318D7A001F89FA /* PlaylistEntry.h */; + name = "PlaylistEntry.h: track"; + rLen = 0; + rLoc = 374; + rType = 0; + vrLen = 410; + vrLoc = 266; + }; + 8EC822A5086CE76C0088347D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E47218A08318D7A001F89FA /* PlaylistEntry.m */; + name = "PlaylistEntry.m: 181"; + rLen = 0; + rLoc = 2662; + rType = 0; + vrLen = 563; + vrLoc = 2262; + }; + 8EC822B1086CE76C0088347D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EC8221E086CE2D50088347D /* shn.h */; + name = "shn.h: 39"; + rLen = 0; + rLoc = 1156; + rType = 0; + vrLen = 565; + vrLoc = 1127; + }; + 8ECDC919086DDDCD007D9727 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EF6FA6E082DA526006F7BE6 /* SoundFile.m */; + name = "SoundFile.m: 82"; + rLen = 0; + rLoc = 1900; + rType = 0; + vrLen = 918; + vrLoc = 1575; + }; + 8ECDC91A086DDDCD007D9727 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EF6FA68082DA526006F7BE6 /* MonkeysFile.m */; + name = "MonkeysFile.m: 39"; + rLen = 0; + rLoc = 825; + rType = 0; + vrLen = 493; + vrLoc = 735; + }; + 8EDA5C650869FCFD004E4A55 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E47218C08318D7A001F89FA /* PlaylistView.m */; + name = "PlaylistView.m: 59"; + rLen = 0; + rLoc = 951; + rType = 0; + vrLen = 338; + vrLoc = 252; + }; + 8EDA5C660869FCFD004E4A55 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8E47218608318D7A001F89FA /* DNDArrayController.m */; name = "DNDArrayController.m: 131"; rLen = 0; rLoc = 3343; rType = 0; - vrLen = 625; - vrLoc = 3014; + vrLen = 840; + vrLoc = 1633; }; - 8EDC87BA0842F2A4007D1532 /* SoundFile.m:124 */ = { + 8EDA5C670869FCFD004E4A55 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E47218708318D7A001F89FA /* PlaylistController.h */; + name = "PlaylistController.h: 43"; + rLen = 0; + rLoc = 990; + rType = 0; + vrLen = 645; + vrLoc = 434; + }; + 8EDC87BA0842F2A4007D1532 /* SoundFile.m:135 */ = { isa = PBXFileBreakpoint; actions = ( ); @@ -2464,8 +2778,8 @@ fileReference = 8EF6FA6E082DA526006F7BE6 /* SoundFile.m */; functionName = "+readInfo:"; hitCount = 0; - lineNumber = 124; - modificationTime = 139882034.259393; + lineNumber = 135; + modificationTime = 141441159.809556; state = 2; }; 8EDC88A90842F8DE007D1532 /* PBXTextBookmark */ = { @@ -2478,16 +2792,6 @@ vrLen = 668; vrLoc = 947; }; - 8EDC88B50842F936007D1532 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8EDCBDCC0840618900F5C7E3 /* Cog.scriptSuite */; - name = "Cog.scriptSuite: 68"; - rLen = 0; - rLoc = 1627; - rType = 0; - vrLen = 643; - vrLoc = 1228; - }; 8EDCBDCA0840617B00F5C7E3 /* Cog.scriptTerminology */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 1414}}"; @@ -2498,8 +2802,8 @@ 8EDCBDCC0840618900F5C7E3 /* Cog.scriptSuite */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {775, 1610}}"; - sepNavSelRange = "{1627, 0}"; - sepNavVisRect = "{{0, 717}, {775, 373}}"; + sepNavSelRange = "{1667, 0}"; + sepNavVisRect = "{{0, 0}, {775, 373}}"; }; }; 8EDCBDDB084061E500F5C7E3 /* PBXTextBookmark */ = { @@ -2572,17 +2876,75 @@ vrLen = 761; vrLoc = 0; }; - 8EE558070866A24B009E7F50 /* PBXTextBookmark */ = { + 8EEF9CAF0872390300FCD68F /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 8E287E480855F2EC00562C66 /* InfoView.h */; - name = "InfoView.h: 1"; + fRef = 8E45227B0832898A00F8BA7C /* Sound.m */; + name = "Sound.m: 73"; + rLen = 0; + rLoc = 2357; + rType = 0; + vrLen = 979; + vrLoc = 2157; + }; + 8EEF9CB00872390300FCD68F /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8E45227B0832898A00F8BA7C /* Sound.m */; + name = "Sound.m: 73"; + rLen = 0; + rLoc = 2357; + rType = 0; + vrLen = 979; + vrLoc = 2157; + }; + 8EEF9CDD0872398D00FCD68F /* all.h */ = { + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = all.h; + path = "/Users/xugg/Projects/Cog copy/Libraries/FLAC/build/Deployment/FLAC.framework/Versions/A/Headers/all.h"; + sourceTree = ""; + }; + 8EEF9D0D08723A4D00FCD68F /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EF6FA65082DA526006F7BE6 /* FlacFile.h */; + name = "FlacFile.h: 10"; + rLen = 0; + rLoc = 176; + rType = 0; + vrLen = 617; + vrLoc = 0; + }; + 8EEF9D0E08723A4D00FCD68F /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = 8EEF9CDD0872398D00FCD68F /* all.h */; + }; + 8EEF9D0F08723A4D00FCD68F /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EF6FA65082DA526006F7BE6 /* FlacFile.h */; + name = "FlacFile.h: 10"; + rLen = 0; + rLoc = 176; + rType = 0; + vrLen = 617; + vrLoc = 0; + }; + 8EEF9D1008723A4D00FCD68F /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8EEF9D1108723A4D00FCD68F /* all.h */; + name = "(null): 1"; rLen = 0; rLoc = 0; rType = 0; - vrLen = 79; + vrLen = 1476; vrLoc = 0; }; - 8EEFDF8808410C00008BB533 /* SoundController.m:296 */ = { + 8EEF9D1108723A4D00FCD68F /* all.h */ = { + isa = PBXFileReference; + lastKnownFileType = file; + name = all.h; + path = "/Users/xugg/Projects/Cog copy/Libraries/FLAC/build/Deployment/FLAC.framework/Versions/A/Headers/all.h"; + sourceTree = ""; + }; + 8EEFDF8808410C00008BB533 /* SoundController.m:302 */ = { isa = PBXFileBreakpoint; actions = ( ); @@ -2591,11 +2953,11 @@ fileReference = 8E4721D5083192C2001F89FA /* SoundController.m */; functionName = "-handlePortMessage:"; hitCount = 0; - lineNumber = 296; - modificationTime = 139882034.259246; + lineNumber = 302; + modificationTime = 141441159.809542; state = 2; }; - 8EF1B97C083A49980095B236 /* PlaylistController.m:386 */ = { + 8EF1B97C083A49980095B236 /* PlaylistController.m:391 */ = { isa = PBXFileBreakpoint; actions = ( ); @@ -2604,8 +2966,8 @@ fileReference = 8E47218808318D7A001F89FA /* PlaylistController.m */; functionName = "-currentEntry"; hitCount = 0; - lineNumber = 386; - modificationTime = 139882034.217395; + lineNumber = 391; + modificationTime = 141441159.809464; state = 2; }; 8EF45A7A08557C4D00D2D5D0 /* PBXTextBookmark */ = { @@ -2620,44 +2982,44 @@ }; 8EF6FA65082DA526006F7BE6 /* FlacFile.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 406}}"; - sepNavSelRange = "{342, 0}"; - sepNavVisRect = "{{0, 0}, {775, 372}}"; + sepNavIntBoundsRect = "{{0, 0}, {983, 406}}"; + sepNavSelRange = "{163, 21}"; + sepNavVisRect = "{{0, 0}, {983, 310}}"; }; }; 8EF6FA66082DA526006F7BE6 /* FlacFile.m */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1130, 2646}}"; - sepNavSelRange = "{4219, 0}"; - sepNavVisRect = "{{0, 2078}, {775, 372}}"; + sepNavSelRange = "{139, 21}"; + sepNavVisRect = "{{0, 0}, {983, 310}}"; }; }; 8EF6FA67082DA526006F7BE6 /* MonkeysFile.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 372}}"; - sepNavSelRange = "{267, 0}"; - sepNavVisRect = "{{0, 0}, {775, 372}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 375}}"; + sepNavSelRange = "{232, 0}"; + sepNavVisRect = "{{0, 0}, {775, 375}}"; }; }; 8EF6FA68082DA526006F7BE6 /* MonkeysFile.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 1246}}"; - sepNavSelRange = "{1738, 0}"; - sepNavVisRect = "{{0, 832}, {775, 372}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 1078}}"; + sepNavSelRange = "{822, 0}"; + sepNavVisRect = "{{0, 436}, {775, 375}}"; }; }; 8EF6FA69082DA526006F7BE6 /* MPEGFile.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 372}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 375}}"; sepNavSelRange = "{245, 0}"; - sepNavVisRect = "{{0, 0}, {775, 372}}"; + sepNavVisRect = "{{0, 0}, {775, 375}}"; }; }; 8EF6FA6A082DA526006F7BE6 /* MPEGFile.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 1540}}"; - sepNavSelRange = "{2304, 0}"; - sepNavVisRect = "{{0, 1154}, {775, 372}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 1568}}"; + sepNavSelRange = "{1941, 0}"; + sepNavVisRect = "{{0, 1066}, {775, 375}}"; }; }; 8EF6FA6B082DA526006F7BE6 /* MusepackFile.h */ = { @@ -2669,24 +3031,24 @@ }; 8EF6FA6C082DA526006F7BE6 /* MusepackFile.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 2982}}"; - sepNavSelRange = "{2381, 0}"; - sepNavVisRect = "{{0, 1358}, {775, 372}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 2996}}"; + sepNavSelRange = "{1887, 0}"; + sepNavVisRect = "{{0, 1071}, {775, 375}}"; }; }; 8EF6FA6D082DA526006F7BE6 /* SoundFile.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 826}}"; - sepNavSelRange = "{859, 0}"; - sepNavVisRect = "{{0, 280}, {775, 546}}"; + sepNavIntBoundsRect = "{{0, 0}, {983, 826}}"; + sepNavSelRange = "{928, 51}"; + sepNavVisRect = "{{0, 468}, {983, 310}}"; sepNavWindowFrame = "{{15, 61}, {1016, 680}}"; }; }; 8EF6FA6E082DA526006F7BE6 /* SoundFile.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1010, 3066}}"; - sepNavSelRange = "{3471, 0}"; - sepNavVisRect = "{{0, 134}, {983, 310}}"; + sepNavIntBoundsRect = "{{0, 0}, {1478, 3276}}"; + sepNavSelRange = "{1210, 0}"; + sepNavVisRect = "{{0, 1036}, {775, 375}}"; sepNavWindowFrame = "{{15, 61}, {750, 680}}"; }; }; @@ -2699,9 +3061,9 @@ }; 8EF6FA70082DA526006F7BE6 /* VorbisFile.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {775, 1120}}"; - sepNavSelRange = "{868, 333}"; - sepNavVisRect = "{{0, 510}, {775, 372}}"; + sepNavIntBoundsRect = "{{0, 0}, {775, 1148}}"; + sepNavSelRange = "{808, 0}"; + sepNavVisRect = "{{0, 504}, {775, 375}}"; }; }; 8EF6FA71082DA526006F7BE6 /* WaveFile.h */ = { @@ -2713,9 +3075,9 @@ }; 8EF6FA72082DA526006F7BE6 /* WaveFile.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {782, 1736}}"; - sepNavSelRange = "{2003, 0}"; - sepNavVisRect = "{{0, 1326}, {775, 372}}"; + sepNavIntBoundsRect = "{{0, 0}, {983, 1764}}"; + sepNavSelRange = "{1824, 6}"; + sepNavVisRect = "{{0, 1266}, {983, 310}}"; }; }; 8EF6FACD082DAA2B006F7BE6 /* PBXTextBookmark */ = { @@ -2886,16 +3248,6 @@ path = /Users/xugg/Projects/zyGora/FlacFile.m; sourceTree = ""; }; - 8EFC6D18085376D100C67D06 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8EF6FA69082DA526006F7BE6 /* MPEGFile.h */; - name = "MPEGFile.h: 14"; - rLen = 0; - rLoc = 245; - rType = 0; - vrLen = 272; - vrLoc = 0; - }; 8EFC6DE8085380B800C67D06 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 8EF6FA6B082DA526006F7BE6 /* MusepackFile.h */; @@ -2916,14 +3268,4 @@ vrLen = 309; vrLoc = 0; }; - 8EFC6E29085386CE00C67D06 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 8EF6FA65082DA526006F7BE6 /* FlacFile.h */; - name = "FlacFile.h: SAMPLE_BUFFER_SIZE"; - rLen = 0; - rLoc = 342; - rType = 0; - vrLen = 617; - vrLoc = 0; - }; } diff --git a/English.lproj/MainMenu.nib/classes.nib b/English.lproj/MainMenu.nib/classes.nib index d6154bd27..685e28de3 100644 --- a/English.lproj/MainMenu.nib/classes.nib +++ b/English.lproj/MainMenu.nib/classes.nib @@ -69,6 +69,7 @@ }, { ACTIONS = { + changeVolume = id; next = id; pause = id; pauseResume = id; diff --git a/English.lproj/MainMenu.nib/info.nib b/English.lproj/MainMenu.nib/info.nib index 16efa9003..dad8186b9 100644 --- a/English.lproj/MainMenu.nib/info.nib +++ b/English.lproj/MainMenu.nib/info.nib @@ -19,9 +19,9 @@ IBOpenObjects - 463 21 29 + 463 IBSystem Version 8B15 diff --git a/English.lproj/MainMenu.nib/keyedobjects.nib b/English.lproj/MainMenu.nib/keyedobjects.nib index 89998e01cde03eec70c6b67ddcedf5a18dfc472d..48e5c3f217fdadc1ffd213b9c43feb61013f4756 100644 GIT binary patch literal 43273 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 S|L+|6|Ih#Ls$ahz?f(H!Ed|2> diff --git a/Info.plist b/Info.plist index 6b5a5988f..fa13cd478 100644 --- a/Info.plist +++ b/Info.plist @@ -93,7 +93,7 @@ CFBundleSignature ???? CFBundleVersion - 0.01 + 0.04 NSAppleScriptEnabled YES NSMainNibFile diff --git a/Libraries/FLAC/Files/src/libFLAC/format.c b/Libraries/FLAC/Files/src/libFLAC/format.c index 25ec7d98b..6ca78b639 100644 --- a/Libraries/FLAC/Files/src/libFLAC/format.c +++ b/Libraries/FLAC/Files/src/libFLAC/format.c @@ -51,6 +51,8 @@ #define FLAC__U64L(x) x##LLU #endif +#define VERSION "1.1.2" + /* VERSION should come from configure */ FLAC_API const char *FLAC__VERSION_STRING = VERSION; diff --git a/Libraries/MAC/.DS_Store b/Libraries/MAC/.DS_Store index 0ce1f6eeaead47d1014f372f4dd2d0c3f9b9c2e5..a65b922e89ee726368743843ed7646caeb4d5995 100644 GIT binary patch delta 105 zcmZoMXfc@J&&atkU^gQp=VTtHo0E4laf@Uor{^c-vOFmM1d2(V0k#FVMe#o)`} w$l%PN$56qL%#hEJ!jQ^Pz)%EaWqIc0CqwlJ0M$nUvEpV2=4_VD>>Pjj0Z#)M82|tP delta 35 rcmZoMXfc@J&&a+pU^gQp`(z%bo0Hj@(>5<>PGFhX5VM(`<1aq|$}|g( diff --git a/Libraries/MAC/Files/Source/MACLib/NNFilter.cpp b/Libraries/MAC/Files/Source/MACLib/NNFilter.cpp index ed909c2b3..7aad4e689 100755 --- a/Libraries/MAC/Files/Source/MACLib/NNFilter.cpp +++ b/Libraries/MAC/Files/Source/MACLib/NNFilter.cpp @@ -12,7 +12,7 @@ CNNFilter::CNNFilter(int nOrder, int nShift, int nVersion) //m_bMMXAvailable = GetMMXAvailable(); m_AltiVecAvailable = IsAltiVecAvailable(); - + m_rbInput.Create(NN_WINDOW_ELEMENTS, m_nOrder); m_rbDeltaM.Create(NN_WINDOW_ELEMENTS, m_nOrder); m_paryM = new short [m_nOrder]; diff --git a/Libraries/TagLib/Files/taglib/mpeg/id3v1/id3v1tag.cpp b/Libraries/TagLib/Files/taglib/mpeg/id3v1/id3v1tag.cpp index 624f56b89..2e7233eb2 100644 --- a/Libraries/TagLib/Files/taglib/mpeg/id3v1/id3v1tag.cpp +++ b/Libraries/TagLib/Files/taglib/mpeg/id3v1/id3v1tag.cpp @@ -55,7 +55,7 @@ const ID3v1::StringHandler *ID3v1::Tag::TagPrivate::stringHandler = new StringHa String ID3v1::StringHandler::parse(const ByteVector &data) const { - return String(data, String::Latin1); + return clean(String(data, String::Latin1)); } ByteVector ID3v1::StringHandler::render(const String &s) const @@ -63,6 +63,23 @@ ByteVector ID3v1::StringHandler::render(const String &s) const return s.data(String::Latin1); } +String ID3v1::StringHandler::clean(const String &s) const +{ + String newString; + int i; + + newString = s; + + i = newString.size() - 1; + while (s[i] == ' ' && i >= 0) + { + newString[i] = '\0'; + i--; + } + + return newString; +} + //////////////////////////////////////////////////////////////////////////////// // public methods //////////////////////////////////////////////////////////////////////////////// diff --git a/Libraries/TagLib/Files/taglib/mpeg/id3v1/id3v1tag.h b/Libraries/TagLib/Files/taglib/mpeg/id3v1/id3v1tag.h index 37b7c5a09..3c474dcb5 100644 --- a/Libraries/TagLib/Files/taglib/mpeg/id3v1/id3v1tag.h +++ b/Libraries/TagLib/Files/taglib/mpeg/id3v1/id3v1tag.h @@ -70,6 +70,10 @@ namespace TagLib { * ISO-8859-1. */ virtual ByteVector render(const String &s) const; + + + //Fixes buggy taggers which do spaces instead of 0s. + String ID3v1::StringHandler::clean(const String &s) const; }; //! The main class in the ID3v1 implementation diff --git a/Playlist/PlaylistController.m b/Playlist/PlaylistController.m index 0c59678ac..d824ede07 100644 --- a/Playlist/PlaylistController.m +++ b/Playlist/PlaylistController.m @@ -36,7 +36,7 @@ - (int)insertFile:(NSString *)filename atIndex:(int)index { - if ([acceptableFileTypes containsObject:[filename pathExtension]] && [[NSFileManager defaultManager] fileExistsAtPath:filename]) + if ([acceptableFileTypes containsObject:[[filename pathExtension] lowercaseString]] && [[NSFileManager defaultManager] fileExistsAtPath:filename]) { PlaylistEntry *pe = [[PlaylistEntry alloc] init]; @@ -101,9 +101,14 @@ count = 0; if (sort == YES) + { sortedFiles = [paths sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)]; + [paths release]; + } else + { sortedFiles = paths; + } for(i=0; i < [sortedFiles count]; i++) { @@ -391,7 +396,7 @@ [currentEntry setCurrent:NO]; [pe setCurrent:YES]; - [tableView scrollRowToVisible:[pe index]]; + [tableView scrollRowToVisible:[(PlaylistEntry *)pe index]]; [pe retain]; [currentEntry release]; diff --git a/Playlist/PlaylistEntry.m b/Playlist/PlaylistEntry.m index ca6f3a5a2..44f289070 100644 --- a/Playlist/PlaylistEntry.m +++ b/Playlist/PlaylistEntry.m @@ -165,7 +165,9 @@ - (void)readInfo { + SoundFile *sp; SoundFile *sf = [SoundFile readInfo:filename]; + sp= sf; length = [sf length]; bitRate = [sf bitRate]; @@ -176,7 +178,8 @@ [self setLengthString:length]; // DBLog(@"Length: %f bitRate: %i channels: %i bps: %i samplerate: %f", length, bitRate, channels, bitsPerSample, sampleRate); - [sf close]; + //[(SoundFile *)sf close]; +// [sp close]; } - (NSString *)lengthString diff --git a/README b/README index 4a862a0a6..bb2e80cc7 100644 --- a/README +++ b/README @@ -1,14 +1,11 @@ --------------------------------------------------------------------------- - 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, whether you like this behaviour or not! +10.3 USERS!!! + +If you are using 10.3.8 or below, I'd like to hear from you. I'm trying to +support all 10.3 systems, as I heard some people have had troubles with +10.3.9, and won't upgrade to it. +I can only fix this if people who actually run those systems wish to help +me debug Cog. Thanks! --------------------------------------------------------------------------- Cog is released under the GPL. See COPYING for details. @@ -24,7 +21,7 @@ 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 + 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. diff --git a/Sound.h b/Sound.h index 28417e74d..19dec99ce 100644 --- a/Sound.h +++ b/Sound.h @@ -27,6 +27,7 @@ enum kCogStopMessage, kCogSeekMessage, kCogEndOfPlaylistMessage, + kCogSetVolumeMessage, //sound to controller kCogCheckinMessage, @@ -127,6 +128,7 @@ enum - (double)calculateTime:(unsigned long) pos; - (unsigned long)calculatePos:(double) time; +- (void)setVolume:(float)v; @end \ No newline at end of file diff --git a/Sound.m b/Sound.m index 463194694..20dae2073 100644 --- a/Sound.m +++ b/Sound.m @@ -59,6 +59,9 @@ static OSStatus Sound_ACInputProc(AudioConverterRef inAudioConverter, UInt32* io Sound *sound = (Sound *)inUserData; OSStatus err = noErr; + DBLog(@"Convert input proc"); + DBLog(@"Numpackets: %i %i", *ioNumberDataPackets, ioData->mNumberBuffers); + int amountToWrite; int amountWritten; void *sourceBuf; @@ -67,6 +70,7 @@ static OSStatus Sound_ACInputProc(AudioConverterRef inAudioConverter, UInt32* io sourceBuf = malloc(amountToWrite); sound->conversionBuffer = sourceBuf; + DBLog(@"Requesting: %i", amountToWrite); amountWritten = [sound->soundFile fillBuffer:sourceBuf ofSize:amountToWrite]; // DBLog(@"PACKET NUMBER RECEIVED: %i", *ioNumberDataPackets); @@ -74,7 +78,9 @@ static OSStatus Sound_ACInputProc(AudioConverterRef inAudioConverter, UInt32* io ioData->mBuffers[0].mDataByteSize = amountWritten; ioData->mBuffers[0].mNumberChannels = sound->sourceStreamFormat.mChannelsPerFrame; ioData->mNumberBuffers = 1; - + + DBLog(@"Input complete"); + return err; } @@ -145,8 +151,8 @@ static OSStatus Sound_Renderer(void *inRefCon, AudioUnitRenderActionFlags *ioAc readLock = [[NSLock alloc] init]; writeLock = [[NSLock alloc] init]; - ringBuffer = [[VirtualRingBuffer alloc] initWithLength:RING_BUFFER_SIZE]; - auxRingBuffer = [[VirtualRingBuffer alloc] initWithLength:RING_BUFFER_SIZE]; + ringBuffer = [(VirtualRingBuffer *)[VirtualRingBuffer alloc] initWithLength:RING_BUFFER_SIZE]; + auxRingBuffer = [(VirtualRingBuffer *)[VirtualRingBuffer alloc] initWithLength:RING_BUFFER_SIZE]; readRingBuffer = ringBuffer; writeRingBuffer = ringBuffer; @@ -256,8 +262,7 @@ static OSStatus Sound_Renderer(void *inRefCon, AudioUnitRenderActionFlags *ioAc NS_DURING [portMessage sendBeforeDate:date]; NS_HANDLER - NSRunAlertPanel(@"Error Panel", @"%@", @"OK", nil, nil, - localException); + NSRunAlertPanel(@"Error Panel", @"%@", @"OK", nil, nil, localException); NS_ENDHANDLER [date release]; @@ -352,6 +357,16 @@ static OSStatus Sound_Renderer(void *inRefCon, AudioUnitRenderActionFlags *ioAc { [self setPlaybackStatus:kCogStatusEndOfPlaylist]; } + else if (msgid == kCogSetVolumeMessage) + { + NSArray* components = [portMessage components]; + NSData *data = [components objectAtIndex:0]; + float vol; + + vol = (*(float *)[data bytes]); + + [self setVolume:vol]; + } } - (void)startPositionTimer @@ -750,5 +765,19 @@ static OSStatus Sound_Renderer(void *inRefCon, AudioUnitRenderActionFlags *ioAc return YES; } +- (void)setVolume:(float)v +{ + DBLog(@"Setting volume to: %f", v); + //Get the current stream format of the output + OSStatus err = AudioUnitSetParameter (outputUnit, + kHALOutputParam_Volume, + kAudioUnitScope_Global, + 0, + v * 0.01f, + 0); + + DBLog(@"Error: %lu", err); +} + @end diff --git a/SoundController.h b/SoundController.h index 9368f0d33..922aecb41 100644 --- a/SoundController.h +++ b/SoundController.h @@ -33,6 +33,7 @@ } - (IBAction)toggleShowTimeRemaining:(id)sender; +- (IBAction)changeVolume:(id)sender; - (IBAction)playPauseResume:(id)sender; - (IBAction)pauseResume:(id)sender; diff --git a/SoundController.m b/SoundController.m index 1b204e0cf..ba78a83e4 100644 --- a/SoundController.m +++ b/SoundController.m @@ -209,6 +209,12 @@ [playButton setAlternateImage:alt]; } +- (IBAction)changeVolume:(id)sender +{ + float v = (float)[sender floatValue]; + [self sendPortMessage:kCogSetVolumeMessage withData:&v ofSize:sizeof(float)]; +} + - (IBAction)toggleShowTimeRemaining:(id)sender { NSString *text; diff --git a/SoundFile/AACFile.m b/SoundFile/AACFile.m index 0e788ef9e..d7a6fb7fe 100644 --- a/SoundFile/AACFile.m +++ b/SoundFile/AACFile.m @@ -68,7 +68,9 @@ - (BOOL)readInfo:(const char *)filename { - return [self open:filename]; //they both would do the same damn thing + [self open:filename]; + + return YES; } - (int)fillBuffer:(void *)buf ofSize:(UInt32)size diff --git a/SoundFile/FlacFile.h b/SoundFile/FlacFile.h index 2e639cd48..b067b1c33 100644 --- a/SoundFile/FlacFile.h +++ b/SoundFile/FlacFile.h @@ -7,7 +7,7 @@ // #import -#import "flac/all.h" +#import "FLAC/all.h" #import "SoundFile.h" #define SAMPLES_PER_WRITE 512 diff --git a/SoundFile/MPEGFile.m b/SoundFile/MPEGFile.m index 6a5136930..f23a7b962 100644 --- a/SoundFile/MPEGFile.m +++ b/SoundFile/MPEGFile.m @@ -66,7 +66,9 @@ - (BOOL)readInfo:(const char *)filename { - return [self open:filename]; //does the same damn thing + [self open:filename]; + + return YES; } - (int)fillBuffer:(void *)buf ofSize:(UInt32)size diff --git a/SoundFile/MonkeysFile.m b/SoundFile/MonkeysFile.m index 491236da6..4ca3dee52 100644 --- a/SoundFile/MonkeysFile.m +++ b/SoundFile/MonkeysFile.m @@ -34,19 +34,7 @@ - (BOOL)readInfo:(const char *)filename { - int err; - CAPEInfo apeInfo(&err, filename, NULL); - - frequency = apeInfo.GetInfo(APE_INFO_SAMPLE_RATE); - bitsPerSample = apeInfo.GetInfo(APE_INFO_BITS_PER_SAMPLE); - channels = apeInfo.GetInfo(APE_INFO_CHANNELS); - - totalSize = apeInfo.GetInfo(APE_INFO_TOTAL_BLOCKS)*bitsPerSample/8*channels; - bitRate = apeInfo.GetInfo(APE_INFO_AVERAGE_BITRATE); - - DBLog(@"INFO READ: %i %i %i %i", frequency, bitsPerSample, channels, totalSize); - - return YES; + return [self open:filename]; } - (int)fillBuffer:(void *)buf ofSize:(UInt32)size diff --git a/SoundFile/MusepackFile.m b/SoundFile/MusepackFile.m index 08653c9b8..1b3062749 100644 --- a/SoundFile/MusepackFile.m +++ b/SoundFile/MusepackFile.m @@ -54,7 +54,8 @@ BOOL CanSeekProc(void *data) //real ish - (BOOL)open:(const char *)filename { - [self readInfo:filename]; + if ([self readInfo:filename] == NO) + return NO; /* instantiate a decoder with our file reader */ mpc_decoder_setup(&decoder, &reader); @@ -91,7 +92,7 @@ BOOL CanSeekProc(void *data) channels = 2; totalSize = mpc_streaminfo_get_length_samples(&info)*channels*bitsPerSample/8; - + return YES; } diff --git a/SoundFile/ShnFile.m b/SoundFile/ShnFile.m index e2eae7bab..f0858a6f9 100644 --- a/SoundFile/ShnFile.m +++ b/SoundFile/ShnFile.m @@ -13,10 +13,7 @@ - (BOOL)open:(const char *)filename { - BOOL r; - - r = [self readInfo:filename]; - if (!r) + if ([self readInfo:filename] == NO) return NO; bufferSize = shn_get_buffer_block_size(handle, 512); @@ -54,6 +51,7 @@ bitRate = (int)((double)totalSize/((double)length/1000.0)); DBLog(@"Bitrate; %i", bitRate); + return YES; } diff --git a/SoundFile/SoundFile.h b/SoundFile/SoundFile.h index 8d9c34cf0..1ba193ab4 100644 --- a/SoundFile/SoundFile.h +++ b/SoundFile/SoundFile.h @@ -42,7 +42,7 @@ - (BOOL)readInfo:(const char *)filename; //for getting information -- (UInt32)fillBuffer:(void *)buf ofSize:(UInt32)size; +- (int)fillBuffer:(void *)buf ofSize:(UInt32)size; //- (BOOL)seek:(unsigned long)position; - (double)seekToTime:(double)milliseconds; diff --git a/SoundFile/SoundFile.m b/SoundFile/SoundFile.m index 2637e5c82..5d4ea73c5 100644 --- a/SoundFile/SoundFile.m +++ b/SoundFile/SoundFile.m @@ -8,6 +8,15 @@ #import "SoundFile.h" +#import "FlacFile.h" +#import "AACFile.h" +#import "MonkeysFile.h" +#import "MPEGFile.h" +#import "MusepackFile.h" +#import "VorbisFile.h" +#import "WaveFile.h" +#import "WavPackFile.h" +#import "ShnFile.h" @implementation SoundFile @@ -38,10 +47,11 @@ //this should be done by the soundfile....not seek... - (double)seekToTime:(double)milliseconds { + return -1.0; } - +/* @class FlacFile; @class MonkeysFile; @class MPEGFile; @@ -51,44 +61,46 @@ @class AACFile; @class WavPackFile; @class ShnFile; - +*/ + (SoundFile *)soundFileFromFilename:(NSString *)filename { SoundFile *soundFile; - if ([[filename pathExtension] isEqualToString:@"wav"] || [[filename pathExtension] isEqualToString:@"aiff"] || [[filename pathExtension] isEqualToString:@"aif"]) + DBLog(@"FILENAME: %@", [filename pathExtension]); + + if (([[filename pathExtension] caseInsensitiveCompare:@"wav"] == NSOrderedSame) || ([[filename pathExtension] caseInsensitiveCompare:@"aiff"] == NSOrderedSame) || ([[filename pathExtension] caseInsensitiveCompare:@"aif"] == NSOrderedSame)) { soundFile = [[WaveFile alloc] init]; } - else if ([[filename pathExtension] isEqualToString:@"ogg"]) + else if ([[filename pathExtension] caseInsensitiveCompare:@"ogg"] == NSOrderedSame) { soundFile = [[VorbisFile alloc] init]; } - else if ([[filename pathExtension] isEqualToString:@"mpc"]) + else if ([[filename pathExtension] caseInsensitiveCompare:@"mpc"] == NSOrderedSame) { soundFile = [[MusepackFile alloc] init]; } - else if ([[filename pathExtension] isEqualToString:@"flac"]) + else if ([[filename pathExtension] caseInsensitiveCompare:@"flac"] == NSOrderedSame) { soundFile = [[FlacFile alloc] init]; } - else if ([[filename pathExtension] isEqualToString:@"ape"]) + else if ([[filename pathExtension] caseInsensitiveCompare:@"ape"] == NSOrderedSame) { soundFile = [[MonkeysFile alloc] init]; } - else if ([[filename pathExtension] isEqualToString:@"mp3"]) + else if ([[filename pathExtension] caseInsensitiveCompare:@"mp3"] == NSOrderedSame) { soundFile = [[MPEGFile alloc] init]; } - else if ([[filename pathExtension] isEqualToString:@"aac"]) + else if ([[filename pathExtension] caseInsensitiveCompare:@"aac"] == NSOrderedSame) { soundFile = [[AACFile alloc] init]; } - else if ([[filename pathExtension] isEqualToString:@"wv"]) + else if ([[filename pathExtension] caseInsensitiveCompare:@"wv"] == NSOrderedSame) { soundFile = [[WavPackFile alloc] init]; } - else if ([[filename pathExtension] isEqualToString:@"shn"]) + else if ([[filename pathExtension] caseInsensitiveCompare:@"shn"] == NSOrderedSame) { soundFile = [[ShnFile alloc] init]; } @@ -122,6 +134,9 @@ soundFile = [SoundFile soundFileFromFilename:filename]; b = [soundFile readInfo:[filename UTF8String]]; + + [soundFile close]; + if (b == YES) return soundFile; @@ -165,7 +180,7 @@ { } -- (UInt32)fillBuffer:(void *)buf ofSize:(UInt32)size +- (int)fillBuffer:(void *)buf ofSize:(UInt32)size { return 0; } diff --git a/SoundFile/VorbisFile.m b/SoundFile/VorbisFile.m index 8a1f0ea11..9460f269c 100644 --- a/SoundFile/VorbisFile.m +++ b/SoundFile/VorbisFile.m @@ -42,7 +42,9 @@ - (BOOL)readInfo:(const char *)filename { - return [self open:filename]; //automatically invokes readInfo + [self open:filename]; //automatically invokes readInfo + + return YES; } - (int)fillBuffer:(void *)buf ofSize:(UInt32)size diff --git a/SoundFile/WavPackFile.m b/SoundFile/WavPackFile.m index e6c0e6760..c05979def 100644 --- a/SoundFile/WavPackFile.m +++ b/SoundFile/WavPackFile.m @@ -11,12 +11,6 @@ @implementation WavPackFile -- (UInt32)frequency -{ - //HACK ALERT - return frequency/2; -} - - (BOOL)open:(const char *)filename { int open_flags = 0; @@ -27,8 +21,10 @@ return NO; channels = WavpackGetNumChannels(wpc); - bitsPerSample = WavpackGetBitsPerSample(wpc); - frequency = WavpackGetSampleRate(wpc)*2; +// bitsPerSample = WavpackGetBitsPerSample(wpc); + bitsPerSample = 32; + + frequency = WavpackGetSampleRate(wpc); int samples; samples = WavpackGetNumSamples(wpc); @@ -36,14 +32,16 @@ bitRate = (int)(WavpackGetAverageBitrate(wpc, TRUE)/1000.0); - isBigEndian = YES; + //isBigEndian = YES; return YES; } - (BOOL)readInfo:(const char *)filename { - return [self open:filename]; //does the same damn thing + [self open:filename]; //does the same damn thing + + return YES; } - (int)fillBuffer:(void *)buf ofSize:(UInt32)size @@ -56,8 +54,14 @@ n = WavpackUnpackSamples(wpc, buf, numsamples); n *= 4*channels; -// DBLog(@"Read: %i", n); + int i; + for (i = 0; i < n/2; i++) + { +// ((UInt32 *)buf)[i] = CFSwapInt32LittleToHost(((UInt32 *)buf)[i]); + ((UInt16 *)buf)[i] = CFSwapInt16LittleToHost(((UInt16 *)buf)[i]); + } + return n; } diff --git a/SoundFile/WaveFile.m b/SoundFile/WaveFile.m index aaa9134ab..43d9106e5 100644 --- a/SoundFile/WaveFile.m +++ b/SoundFile/WaveFile.m @@ -83,7 +83,9 @@ - (BOOL)readInfo:(const char *)filename { - return [self open:filename]; + [self open:filename]; + + return YES; } - (int)fillBuffer:(void *)buf ofSize:(UInt32)size