X-Git-Url: http://cgit.babelmonkeys.de/?p=mpdbot.git;a=blobdiff_plain;f=src%2FPEPThread.m;h=cd13eb382ca57452cf979da8426fc777f83c4131;hp=e00db9d8597aebcfc6ada79fa3c27af2b49e3742;hb=3bfc0d740c800ee4d5ef71acb6fd55998d7a0aad;hpb=811f94951f504cabc7f12091bd0f0fdca6ab6240 diff --git a/src/PEPThread.m b/src/PEPThread.m index e00db9d..cd13eb3 100644 --- a/src/PEPThread.m +++ b/src/PEPThread.m @@ -43,12 +43,12 @@ @try { [sock release]; sock = [[OFTCPSocket alloc] init]; - [sock connectToHost: @"localhost" - port: 6600]; + [sock connectToHost: mpd_host + port: mpd_port]; return; } @catch (id e) { [of_stderr writeFormat: @"Connection failed, retrying" - " in %" PRIi64 " seconds\n", pause]; + @" in %" PRIi64 @" seconds\n", pause]; [OFThread sleepForTimeInterval: pause]; if (pause < 120) pause *= 2; @@ -57,11 +57,11 @@ } } -- (OFMutableDictionary*)MPD_responseFromSocket: (OFTCPSocket*)sock +- (OFMutableDictionary*)MPD_responseFromSocket: (OFTCPSocket*)sock_ { OFString *answer; OFMutableDictionary *response = [OFMutableDictionary dictionary]; - while ((answer = [sock readLine]) && ![answer hasPrefix: @"OK"]) { + while ((answer = [sock_ readLine]) && ![answer hasPrefix: @"OK"]) { size_t index; index = [answer indexOfFirstOccurrenceOfString: @":"]; if (index == OF_INVALID_INDEX) @@ -77,6 +77,16 @@ - (id)main { + OFDictionary *environment = [OFApplication environment]; + OFString *mpd_port_string; + mpd_host = [environment objectForKey: @"MPD_HOST"]; + if (mpd_host == nil) + mpd_host = @"localhost"; + mpd_port_string = [environment objectForKey: @"MPD_PORT"]; + if (mpd_port_string && [mpd_port_string decimalValue] <= UINT16_MAX) + mpd_port = (uint16_t) [mpd_port_string decimalValue]; + else + mpd_port = 6600; [self MPD_connect]; [self MPD_responseFromSocket: sock]; while (1) {