diff --git a/Application/PlaybackController.m b/Application/PlaybackController.m index 4072de69d..8fbe9f216 100644 --- a/Application/PlaybackController.m +++ b/Application/PlaybackController.m @@ -300,7 +300,9 @@ } if (pe == nil) + { [player setNextStream:nil]; + } else { DBLog(@"NEXT SONG: %@", [pe url]); diff --git a/Audio/AudioPlayer.m b/Audio/AudioPlayer.m index 3737d23b4..1c709aa1b 100644 --- a/Audio/AudioPlayer.m +++ b/Audio/AudioPlayer.m @@ -73,12 +73,14 @@ while (![bufferChain open:url withOutputFormat:[output format]]) { [bufferChain release]; - + bufferChain = nil; + [self requestNextStream: userInfo]; url = nextStream; if (url == nil) { + NSLog(@"End of playlist? Nothing left."); return; } diff --git a/Cog.xcodeproj/project.pbxproj b/Cog.xcodeproj/project.pbxproj index d5ae4b29b..b29779656 100644 --- a/Cog.xcodeproj/project.pbxproj +++ b/Cog.xcodeproj/project.pbxproj @@ -11,10 +11,7 @@ 170680630B950158006BA573 /* Growl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 170680620B950158006BA573 /* Growl.framework */; }; 170680840B950164006BA573 /* Growl.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 170680620B950158006BA573 /* Growl.framework */; }; 171678C00AC8C39E00C28CF3 /* SmartFolderNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 171678BE0AC8C39E00C28CF3 /* SmartFolderNode.m */; }; - 1755E1F80BA0D2B600CA3560 /* PlaylistLoader.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1755E1F60BA0D2B600CA3560 /* PlaylistLoader.h */; }; 1755E1F90BA0D2B600CA3560 /* PlaylistLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = 1755E1F70BA0D2B600CA3560 /* PlaylistLoader.m */; }; - 175D8B640B9A514C005B3CD9 /* CogAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 175D8B630B9A514C005B3CD9 /* CogAudio.framework */; }; - 175D8B670B9A5153005B3CD9 /* CogAudio.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 175D8B630B9A514C005B3CD9 /* CogAudio.framework */; }; 1766C6930B911DF1004A7AE4 /* AudioScrobbler.m in Sources */ = {isa = PBXBuildFile; fileRef = 1766C68F0B911DF1004A7AE4 /* AudioScrobbler.m */; }; 1766C6950B911DF1004A7AE4 /* AudioScrobblerClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 1766C6910B911DF1004A7AE4 /* AudioScrobblerClient.m */; }; 1766C8920B912FB4004A7AE4 /* files_off.png in Resources */ = {isa = PBXBuildFile; fileRef = 1766C88A0B912FB4004A7AE4 /* files_off.png */; }; @@ -72,6 +69,8 @@ 17BB5CFA0B8A86350009ACB1 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 17BB5CF70B8A86350009ACB1 /* CoreAudio.framework */; }; 17BB5CFB0B8A86350009ACB1 /* CoreAudioKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 17BB5CF80B8A86350009ACB1 /* CoreAudioKit.framework */; }; 17BB5EA60B8A87850009ACB1 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 17BB5EA50B8A87850009ACB1 /* IOKit.framework */; }; + 17E94E530C03B09500D92B9B /* CogAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 17E94E520C03B09500D92B9B /* CogAudio.framework */; }; + 17E94E560C03B09A00D92B9B /* CogAudio.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 17E94E520C03B09500D92B9B /* CogAudio.framework */; }; 17F94CC20B8D08FB00A34E87 /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 17F94CC10B8D08FB00A34E87 /* Sparkle.framework */; }; 17F94CCD0B8D090800A34E87 /* Sparkle.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 17F94CC10B8D08FB00A34E87 /* Sparkle.framework */; }; 8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 29B97318FDCFA39411CA2CEA /* MainMenu.nib */; }; @@ -100,11 +99,8 @@ 8E7575D009F31DCA0080F1EE /* Credits.html in Resources */ = {isa = PBXBuildFile; fileRef = 8E7575C809F31DCA0080F1EE /* Credits.html */; }; 8E7575D109F31DCA0080F1EE /* README in Resources */ = {isa = PBXBuildFile; fileRef = 8E7575C909F31DCA0080F1EE /* README */; }; 8E7575DB09F31E930080F1EE /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8E7575D909F31E930080F1EE /* Localizable.strings */; }; - 8E9A2E850BA78B500091081B /* SecondsFormatter.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8E9A2E830BA78B500091081B /* SecondsFormatter.h */; }; 8E9A2E860BA78B500091081B /* SecondsFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E9A2E840BA78B500091081B /* SecondsFormatter.m */; }; - 8E9A2ED90BA78D9D0091081B /* IndexFormatter.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8E9A2ED70BA78D9D0091081B /* IndexFormatter.h */; }; 8E9A2EDA0BA78D9D0091081B /* IndexFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E9A2ED80BA78D9D0091081B /* IndexFormatter.m */; }; - 8E9A30150BA792DC0091081B /* NSFileHandle+CreateFile.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8E9A30130BA792DC0091081B /* NSFileHandle+CreateFile.h */; }; 8E9A30160BA792DC0091081B /* NSFileHandle+CreateFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E9A30140BA792DC0091081B /* NSFileHandle+CreateFile.m */; }; 8EFFCD5F0AA093AF00C458A5 /* DirectoryNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EFFCD430AA093AF00C458A5 /* DirectoryNode.m */; }; 8EFFCD610AA093AF00C458A5 /* FileIconCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EFFCD450AA093AF00C458A5 /* FileIconCell.m */; }; @@ -143,13 +139,9 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 175D8B670B9A5153005B3CD9 /* CogAudio.framework in CopyFiles */, + 17E94E560C03B09A00D92B9B /* CogAudio.framework in CopyFiles */, 170680840B950164006BA573 /* Growl.framework in CopyFiles */, 17F94CCD0B8D090800A34E87 /* Sparkle.framework in CopyFiles */, - 1755E1F80BA0D2B600CA3560 /* PlaylistLoader.h in CopyFiles */, - 8E9A2E850BA78B500091081B /* SecondsFormatter.h in CopyFiles */, - 8E9A2ED90BA78D9D0091081B /* IndexFormatter.h in CopyFiles */, - 8E9A30150BA792DC0091081B /* NSFileHandle+CreateFile.h in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -164,7 +156,6 @@ 171678BE0AC8C39E00C28CF3 /* SmartFolderNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SmartFolderNode.m; sourceTree = ""; }; 1755E1F60BA0D2B600CA3560 /* PlaylistLoader.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PlaylistLoader.h; sourceTree = ""; }; 1755E1F70BA0D2B600CA3560 /* PlaylistLoader.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = PlaylistLoader.m; sourceTree = ""; }; - 175D8B630B9A514C005B3CD9 /* CogAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CogAudio.framework; path = Audio/build/Release/CogAudio.framework; sourceTree = ""; }; 1766C68E0B911DF1004A7AE4 /* AudioScrobbler.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AudioScrobbler.h; sourceTree = ""; }; 1766C68F0B911DF1004A7AE4 /* AudioScrobbler.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = AudioScrobbler.m; sourceTree = ""; }; 1766C6900B911DF1004A7AE4 /* AudioScrobblerClient.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AudioScrobblerClient.h; sourceTree = ""; }; @@ -244,6 +235,7 @@ 17BB5CF70B8A86350009ACB1 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; 17BB5CF80B8A86350009ACB1 /* CoreAudioKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = /System/Library/Frameworks/CoreAudioKit.framework; sourceTree = ""; }; 17BB5EA50B8A87850009ACB1 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = ""; }; + 17E94E520C03B09500D92B9B /* CogAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CogAudio.framework; path = Audio/build/Release/CogAudio.framework; sourceTree = ""; }; 17F94CC10B8D08FB00A34E87 /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Sparkle.framework; path = ThirdParty/Frameworks/Sparkle.framework; sourceTree = ""; }; 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 29B97319FDCFA39411CA2CEA /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; sourceTree = ""; }; @@ -323,7 +315,7 @@ 17BB5EA60B8A87850009ACB1 /* IOKit.framework in Frameworks */, 17F94CC20B8D08FB00A34E87 /* Sparkle.framework in Frameworks */, 170680630B950158006BA573 /* Growl.framework in Frameworks */, - 175D8B640B9A514C005B3CD9 /* CogAudio.framework in Frameworks */, + 17E94E530C03B09500D92B9B /* CogAudio.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -348,7 +340,7 @@ 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { isa = PBXGroup; children = ( - 175D8B630B9A514C005B3CD9 /* CogAudio.framework */, + 17E94E520C03B09500D92B9B /* CogAudio.framework */, 170680620B950158006BA573 /* Growl.framework */, 17F94CC10B8D08FB00A34E87 /* Sparkle.framework */, 8E6889230AAA403C00AD3950 /* Carbon.framework */, @@ -860,7 +852,9 @@ FRAMEWORK_SEARCH_PATHS = ( "$(SRCROOT)/Audio/build/Release", "$(SRCROOT)/ThirdParty/Frameworks/", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)", ); + FRAMEWORK_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/Audio/build/Debug\""; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_ENABLE_OBJC_EXCEPTIONS = YES; @@ -893,7 +887,9 @@ FRAMEWORK_SEARCH_PATHS = ( "$(SRCROOT)/Audio/build/Release", "$(SRCROOT)/ThirdParty/Frameworks/", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)", ); + FRAMEWORK_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/Audio/build/Debug\""; GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_MODEL_TUNING = G5;