DFBE7FFD15F7D1A100D7D102 /* PltProtocolInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFBE7FFA15F7D1A100D7D102 /* PltProtocolInfo.cpp */; };
DFBE7FFF15F7D1B900D7D102 /* NptAppleAutoreleasePool.mm in Sources */ = {isa = PBXBuildFile; fileRef = DFBE7FFE15F7D1B900D7D102 /* NptAppleAutoreleasePool.mm */; };
DFBE800215F7D1EE00D7D102 /* NptCocoaEnviroment.mm in Sources */ = {isa = PBXBuildFile; fileRef = DFBE800115F7D1EE00D7D102 /* NptCocoaEnviroment.mm */; };
- DFC0F8F51613A1960066D598 /* XLCDproc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC0F8F31613A1960066D598 /* XLCDproc.cpp */; };
- DFC0F91C1613A3A00066D598 /* LCDFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC0F91A1613A3A00066D598 /* LCDFactory.cpp */; };
DFC5393A1526659D00D5FD5C /* AppIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = DFC539391526659D00D5FD5C /* AppIcon.png */; };
DFCA6B0C15224684000BFAAE /* HTTPJsonRpcHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFCA6B0015224684000BFAAE /* HTTPJsonRpcHandler.cpp */; };
DFCA6B0D15224684000BFAAE /* HTTPVfsHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFCA6B0215224684000BFAAE /* HTTPVfsHandler.cpp */; };
F56C7B2C131EC155000AD0F6 /* InfoLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F56C7741131EC154000AD0F6 /* InfoLoader.cpp */; };
F56C7B2D131EC155000AD0F6 /* LabelFormatter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F56C7743131EC154000AD0F6 /* LabelFormatter.cpp */; };
F56C7B2E131EC155000AD0F6 /* JobManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F56C7745131EC154000AD0F6 /* JobManager.cpp */; };
- F56C7B2F131EC155000AD0F6 /* LCD.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F56C7748131EC154000AD0F6 /* LCD.cpp */; };
F56C7B30131EC155000AD0F6 /* log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F56C774A131EC154000AD0F6 /* log.cpp */; };
F56C7B31131EC155000AD0F6 /* md5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F56C774C131EC154000AD0F6 /* md5.cpp */; };
F56C7B34131EC155000AD0F6 /* PerformanceSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F56C7752131EC154000AD0F6 /* PerformanceSample.cpp */; };
DFBE800015F7D1D100D7D102 /* NptAutoreleasePool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NptAutoreleasePool.h; path = lib/libUPnP/Neptune/Source/Core/NptAutoreleasePool.h; sourceTree = SOURCE_ROOT; };
DFBE800115F7D1EE00D7D102 /* NptCocoaEnviroment.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = NptCocoaEnviroment.mm; path = lib/libUPnP/Neptune/Source/System/Cocoa/NptCocoaEnviroment.mm; sourceTree = SOURCE_ROOT; };
DFBE800C15F7D2B000D7D102 /* PltUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PltUtilities.h; sourceTree = "<group>"; };
- DFC0F8F31613A1960066D598 /* XLCDproc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XLCDproc.cpp; sourceTree = "<group>"; };
- DFC0F8F41613A1960066D598 /* XLCDproc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLCDproc.h; sourceTree = "<group>"; };
- DFC0F91A1613A3A00066D598 /* LCDFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LCDFactory.cpp; sourceTree = "<group>"; };
- DFC0F91B1613A3A00066D598 /* LCDFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LCDFactory.h; sourceTree = "<group>"; };
DFC539391526659D00D5FD5C /* AppIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = AppIcon.png; path = media/AppIcon.png; sourceTree = "<group>"; };
DFCA6B0015224684000BFAAE /* HTTPJsonRpcHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTTPJsonRpcHandler.cpp; sourceTree = "<group>"; };
DFCA6B0115224684000BFAAE /* HTTPJsonRpcHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPJsonRpcHandler.h; sourceTree = "<group>"; };
F56C7745131EC154000AD0F6 /* JobManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JobManager.cpp; sourceTree = "<group>"; };
F56C7746131EC154000AD0F6 /* JobManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JobManager.h; sourceTree = "<group>"; };
F56C7747131EC154000AD0F6 /* Job.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Job.h; sourceTree = "<group>"; };
- F56C7748131EC154000AD0F6 /* LCD.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LCD.cpp; sourceTree = "<group>"; };
- F56C7749131EC154000AD0F6 /* LCD.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LCD.h; sourceTree = "<group>"; };
F56C774A131EC154000AD0F6 /* log.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = log.cpp; sourceTree = "<group>"; };
F56C774B131EC154000AD0F6 /* log.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = log.h; sourceTree = "<group>"; };
F56C774C131EC154000AD0F6 /* md5.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = md5.cpp; sourceTree = "<group>"; };
F56C75BA131EC153000AD0F6 /* XFileUtils.h */,
F56C75BB131EC153000AD0F6 /* XHandle.cpp */,
F56C75BC131EC153000AD0F6 /* XHandle.h */,
- DFC0F8F31613A1960066D598 /* XLCDproc.cpp */,
- DFC0F8F41613A1960066D598 /* XLCDproc.h */,
F56C75BD131EC153000AD0F6 /* XMemUtils.cpp */,
F56C75BE131EC153000AD0F6 /* XMemUtils.h */,
F56C75C3131EC153000AD0F6 /* XTimeUtils.cpp */,
F56C7744131EC154000AD0F6 /* LabelFormatter.h */,
F56C771D131EC154000AD0F6 /* LangCodeExpander.cpp */,
F56C771E131EC154000AD0F6 /* LangCodeExpander.h */,
- F56C7748131EC154000AD0F6 /* LCD.cpp */,
- F56C7749131EC154000AD0F6 /* LCD.h */,
- DFC0F91A1613A3A00066D598 /* LCDFactory.cpp */,
- DFC0F91B1613A3A00066D598 /* LCDFactory.h */,
F56C774A131EC154000AD0F6 /* log.cpp */,
F56C774B131EC154000AD0F6 /* log.h */,
F56C770F131EC153000AD0F6 /* MathUtils.h */,
F56C7B2C131EC155000AD0F6 /* InfoLoader.cpp in Sources */,
F56C7B2D131EC155000AD0F6 /* LabelFormatter.cpp in Sources */,
F56C7B2E131EC155000AD0F6 /* JobManager.cpp in Sources */,
- F56C7B2F131EC155000AD0F6 /* LCD.cpp in Sources */,
F56C7B30131EC155000AD0F6 /* log.cpp in Sources */,
F56C7B31131EC155000AD0F6 /* md5.cpp in Sources */,
F56C7B34131EC155000AD0F6 /* PerformanceSample.cpp in Sources */,
DF23461315FA671900A934F6 /* UPnPServer.cpp in Sources */,
DFAB4C0F15FCCB4300E1BAF6 /* TagLibVFSStream.cpp in Sources */,
DFAB4C1015FCCB4300E1BAF6 /* TagLoaderTagLib.cpp in Sources */,
- DFC0F8F51613A1960066D598 /* XLCDproc.cpp in Sources */,
- DFC0F91C1613A3A00066D598 /* LCDFactory.cpp in Sources */,
DFA0F9551618E1CD00611CBB /* DVDOverlayCodec.cpp in Sources */,
DF91D899161B759B004E6637 /* AddonsOperations.cpp in Sources */,
7C4458DB161E209100A905F6 /* Screenshot.cpp in Sources */,
DFBE7F4615F7CCBD00D7D102 /* PltRingBufferStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFBE7F2715F7CCBD00D7D102 /* PltRingBufferStream.cpp */; };
DFBE7F4715F7CCBD00D7D102 /* PltStreamPump.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFBE7F2915F7CCBD00D7D102 /* PltStreamPump.cpp */; };
DFBE7F5E15F7CE8200D7D102 /* NptFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFBE7F5C15F7CE8200D7D102 /* NptFile.cpp */; };
- DFC0F8E71613A16F0066D598 /* XLCDproc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC0F8E51613A16F0066D598 /* XLCDproc.cpp */; };
- DFC0F90F1613A3810066D598 /* LCDFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC0F90D1613A3810066D598 /* LCDFactory.cpp */; };
DFC3867E158296EC008AE277 /* Exception.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC3867C158296EC008AE277 /* Exception.cpp */; };
DFCA6AEC15224671000BFAAE /* HTTPJsonRpcHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFCA6AE015224671000BFAAE /* HTTPJsonRpcHandler.cpp */; };
DFCA6AED15224671000BFAAE /* HTTPVfsHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFCA6AE215224671000BFAAE /* HTTPVfsHandler.cpp */; };
F56C8B1B131F42ED000AD0F6 /* InfoLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F56C8730131F42EC000AD0F6 /* InfoLoader.cpp */; };
F56C8B1C131F42ED000AD0F6 /* LabelFormatter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F56C8732131F42EC000AD0F6 /* LabelFormatter.cpp */; };
F56C8B1D131F42ED000AD0F6 /* JobManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F56C8734131F42EC000AD0F6 /* JobManager.cpp */; };
- F56C8B1E131F42ED000AD0F6 /* LCD.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F56C8737131F42EC000AD0F6 /* LCD.cpp */; };
F56C8B1F131F42ED000AD0F6 /* log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F56C8739131F42EC000AD0F6 /* log.cpp */; };
F56C8B20131F42ED000AD0F6 /* md5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F56C873B131F42EC000AD0F6 /* md5.cpp */; };
F56C8B23131F42ED000AD0F6 /* PerformanceSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F56C8741131F42EC000AD0F6 /* PerformanceSample.cpp */; };
DFBE7F2A15F7CCBD00D7D102 /* PltStreamPump.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PltStreamPump.h; sourceTree = "<group>"; };
DFBE7F5C15F7CE8200D7D102 /* NptFile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NptFile.cpp; path = lib/libUPnP/Neptune/Source/Core/NptFile.cpp; sourceTree = SOURCE_ROOT; };
DFBE7F5D15F7CE8200D7D102 /* NptFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NptFile.h; path = lib/libUPnP/Neptune/Source/Core/NptFile.h; sourceTree = SOURCE_ROOT; };
- DFC0F8E51613A16F0066D598 /* XLCDproc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XLCDproc.cpp; sourceTree = "<group>"; };
- DFC0F8E61613A16F0066D598 /* XLCDproc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLCDproc.h; sourceTree = "<group>"; };
- DFC0F90D1613A3810066D598 /* LCDFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LCDFactory.cpp; sourceTree = "<group>"; };
- DFC0F90E1613A3810066D598 /* LCDFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LCDFactory.h; sourceTree = "<group>"; };
DFC3867C158296EC008AE277 /* Exception.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Exception.cpp; sourceTree = "<group>"; };
DFC3867D158296EC008AE277 /* Exception.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Exception.h; sourceTree = "<group>"; };
DFCA6AE015224671000BFAAE /* HTTPJsonRpcHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTTPJsonRpcHandler.cpp; sourceTree = "<group>"; };
F56C8734131F42EC000AD0F6 /* JobManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JobManager.cpp; sourceTree = "<group>"; };
F56C8735131F42EC000AD0F6 /* JobManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JobManager.h; sourceTree = "<group>"; };
F56C8736131F42EC000AD0F6 /* Job.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Job.h; sourceTree = "<group>"; };
- F56C8737131F42EC000AD0F6 /* LCD.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LCD.cpp; sourceTree = "<group>"; };
- F56C8738131F42EC000AD0F6 /* LCD.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LCD.h; sourceTree = "<group>"; };
F56C8739131F42EC000AD0F6 /* log.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = log.cpp; sourceTree = "<group>"; };
F56C873A131F42EC000AD0F6 /* log.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = log.h; sourceTree = "<group>"; };
F56C873B131F42EC000AD0F6 /* md5.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = md5.cpp; sourceTree = "<group>"; };
F56C859D131F42EA000AD0F6 /* XFileUtils.h */,
F56C859E131F42EA000AD0F6 /* XHandle.cpp */,
F56C859F131F42EA000AD0F6 /* XHandle.h */,
- DFC0F8E51613A16F0066D598 /* XLCDproc.cpp */,
- DFC0F8E61613A16F0066D598 /* XLCDproc.h */,
F56C85A0131F42EA000AD0F6 /* XMemUtils.cpp */,
F56C85A1131F42EA000AD0F6 /* XMemUtils.h */,
F56C85A6131F42EA000AD0F6 /* XTimeUtils.cpp */,
F56C8733131F42EC000AD0F6 /* LabelFormatter.h */,
F56C870C131F42EB000AD0F6 /* LangCodeExpander.cpp */,
F56C870D131F42EB000AD0F6 /* LangCodeExpander.h */,
- F56C8737131F42EC000AD0F6 /* LCD.cpp */,
- F56C8738131F42EC000AD0F6 /* LCD.h */,
- DFC0F90D1613A3810066D598 /* LCDFactory.cpp */,
- DFC0F90E1613A3810066D598 /* LCDFactory.h */,
F56C8739131F42EC000AD0F6 /* log.cpp */,
F56C873A131F42EC000AD0F6 /* log.h */,
F56C86FE131F42EB000AD0F6 /* MathUtils.h */,
F56C8B1B131F42ED000AD0F6 /* InfoLoader.cpp in Sources */,
F56C8B1C131F42ED000AD0F6 /* LabelFormatter.cpp in Sources */,
F56C8B1D131F42ED000AD0F6 /* JobManager.cpp in Sources */,
- F56C8B1E131F42ED000AD0F6 /* LCD.cpp in Sources */,
F56C8B1F131F42ED000AD0F6 /* log.cpp in Sources */,
F56C8B20131F42ED000AD0F6 /* md5.cpp in Sources */,
F56C8B23131F42ED000AD0F6 /* PerformanceSample.cpp in Sources */,
DF23462515FA675200A934F6 /* UPnPServer.cpp in Sources */,
DFAB4BE615FCCA5000E1BAF6 /* TagLibVFSStream.cpp in Sources */,
DFAB4BE715FCCA5000E1BAF6 /* TagLoaderTagLib.cpp in Sources */,
- DFC0F8E71613A16F0066D598 /* XLCDproc.cpp in Sources */,
- DFC0F90F1613A3810066D598 /* LCDFactory.cpp in Sources */,
DFA0F9291618E18A00611CBB /* DVDOverlayCodec.cpp in Sources */,
DF91D88A161B7581004E6637 /* AddonsOperations.cpp in Sources */,
7C4458C8161E206100A905F6 /* Screenshot.cpp in Sources */,
DFB65FD415373AE7006B8FF1 /* AEWAVLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB65FB315373AE7006B8FF1 /* AEWAVLoader.cpp */; };
DFB6610915374E80006B8FF1 /* DVDAudioCodecPassthrough.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFB6610615374E80006B8FF1 /* DVDAudioCodecPassthrough.cpp */; };
DFBE805115F7D75700D7D102 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DFBE803D15F7D72100D7D102 /* SystemConfiguration.framework */; };
- DFC0F8CB16139DF10066D598 /* XLCDproc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC0F8C916139DF10066D598 /* XLCDproc.cpp */; };
- DFC0F9021613A35E0066D598 /* LCDFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFC0F9001613A35E0066D598 /* LCDFactory.cpp */; };
DFCA6AC7152245CD000BFAAE /* HTTPJsonRpcHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFCA6ABB152245CD000BFAAE /* HTTPJsonRpcHandler.cpp */; };
DFCA6AC8152245CD000BFAAE /* HTTPVfsHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFCA6ABD152245CD000BFAAE /* HTTPVfsHandler.cpp */; };
DFCA6AC9152245CD000BFAAE /* HTTPWebinterfaceAddonsHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DFCA6ABF152245CD000BFAAE /* HTTPWebinterfaceAddonsHandler.cpp */; };
E38E22D70D25F9FE00618676 /* VideoInfoDownloader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E1E4A0D25F9FD00618676 /* VideoInfoDownloader.cpp */; };
E38E22D80D25F9FE00618676 /* InfoLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E1E4C0D25F9FD00618676 /* InfoLoader.cpp */; };
E38E22DB0D25F9FE00618676 /* LabelFormatter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E1E530D25F9FD00618676 /* LabelFormatter.cpp */; };
- E38E22DC0D25F9FE00618676 /* LCD.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E1E550D25F9FD00618676 /* LCD.cpp */; };
E38E22DF0D25F9FE00618676 /* log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E1E5B0D25F9FD00618676 /* log.cpp */; };
E38E22E40D25F9FE00618676 /* MusicAlbumInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E1E650D25F9FD00618676 /* MusicAlbumInfo.cpp */; };
E38E22E50D25F9FE00618676 /* MusicInfoScraper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38E1E670D25F9FD00618676 /* MusicInfoScraper.cpp */; };
DFB6610615374E80006B8FF1 /* DVDAudioCodecPassthrough.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DVDAudioCodecPassthrough.cpp; sourceTree = "<group>"; };
DFB6610715374E80006B8FF1 /* DVDAudioCodecPassthrough.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DVDAudioCodecPassthrough.h; sourceTree = "<group>"; };
DFBE803D15F7D72100D7D102 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
- DFC0F8C916139DF10066D598 /* XLCDproc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XLCDproc.cpp; sourceTree = "<group>"; };
- DFC0F8CA16139DF10066D598 /* XLCDproc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XLCDproc.h; sourceTree = "<group>"; };
- DFC0F9001613A35E0066D598 /* LCDFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LCDFactory.cpp; sourceTree = "<group>"; };
- DFC0F9011613A35E0066D598 /* LCDFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LCDFactory.h; sourceTree = "<group>"; };
DFCA6ABB152245CD000BFAAE /* HTTPJsonRpcHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTTPJsonRpcHandler.cpp; sourceTree = "<group>"; };
DFCA6ABC152245CD000BFAAE /* HTTPJsonRpcHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPJsonRpcHandler.h; sourceTree = "<group>"; };
DFCA6ABD152245CD000BFAAE /* HTTPVfsHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTTPVfsHandler.cpp; sourceTree = "<group>"; };
E38E1E4D0D25F9FD00618676 /* InfoLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InfoLoader.h; sourceTree = "<group>"; };
E38E1E530D25F9FD00618676 /* LabelFormatter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LabelFormatter.cpp; sourceTree = "<group>"; };
E38E1E540D25F9FD00618676 /* LabelFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LabelFormatter.h; sourceTree = "<group>"; };
- E38E1E550D25F9FD00618676 /* LCD.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LCD.cpp; sourceTree = "<group>"; };
- E38E1E560D25F9FD00618676 /* LCD.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LCD.h; sourceTree = "<group>"; };
E38E1E5B0D25F9FD00618676 /* log.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = log.cpp; sourceTree = "<group>"; };
E38E1E5C0D25F9FD00618676 /* log.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = log.h; sourceTree = "<group>"; };
E38E1E650D25F9FD00618676 /* MusicAlbumInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MusicAlbumInfo.cpp; sourceTree = "<group>"; };
E38E1D7E0D25F9FD00618676 /* XFileUtils.h */,
E38E1D7F0D25F9FD00618676 /* XHandle.cpp */,
E38E1D800D25F9FD00618676 /* XHandle.h */,
- DFC0F8C916139DF10066D598 /* XLCDproc.cpp */,
- DFC0F8CA16139DF10066D598 /* XLCDproc.h */,
E38E1D810D25F9FD00618676 /* XMemUtils.cpp */,
E38E1D820D25F9FD00618676 /* XMemUtils.h */,
E38E1D870D25F9FD00618676 /* XTimeUtils.cpp */,
E38E1E540D25F9FD00618676 /* LabelFormatter.h */,
E38E18560D25F9FA00618676 /* LangCodeExpander.cpp */,
E38E18570D25F9FA00618676 /* LangCodeExpander.h */,
- E38E1E550D25F9FD00618676 /* LCD.cpp */,
- E38E1E560D25F9FD00618676 /* LCD.h */,
- DFC0F9001613A35E0066D598 /* LCDFactory.cpp */,
- DFC0F9011613A35E0066D598 /* LCDFactory.h */,
E38E1E5B0D25F9FD00618676 /* log.cpp */,
E38E1E5C0D25F9FD00618676 /* log.h */,
18B7C9E7129447B9009E7A26 /* MathUtils.h */,
E38E22D70D25F9FE00618676 /* VideoInfoDownloader.cpp in Sources */,
E38E22D80D25F9FE00618676 /* InfoLoader.cpp in Sources */,
E38E22DB0D25F9FE00618676 /* LabelFormatter.cpp in Sources */,
- E38E22DC0D25F9FE00618676 /* LCD.cpp in Sources */,
E38E22DF0D25F9FE00618676 /* log.cpp in Sources */,
E38E22E40D25F9FE00618676 /* MusicAlbumInfo.cpp in Sources */,
E38E22E50D25F9FE00618676 /* MusicInfoScraper.cpp in Sources */,
DF2345E415FA639500A934F6 /* UPnPServer.cpp in Sources */,
AE84CB5A15A5B8A600A3810E /* TagLibVFSStream.cpp in Sources */,
AEC0083115ACAC6E0099888C /* TagLoaderTagLib.cpp in Sources */,
- DFC0F8CB16139DF10066D598 /* XLCDproc.cpp in Sources */,
- DFC0F9021613A35E0066D598 /* LCDFactory.cpp in Sources */,
DFDA3153160E34230047A626 /* DVDOverlayCodec.cpp in Sources */,
DFB0F472161B747500D744F4 /* AddonsOperations.cpp in Sources */,
7C4458BD161E203800A905F6 /* Screenshot.cpp in Sources */,
<ClCompile Include="..\..\xbmc\utils\JSONVariantWriter.cpp" />
<ClCompile Include="..\..\xbmc\utils\LabelFormatter.cpp" />
<ClCompile Include="..\..\xbmc\utils\LangCodeExpander.cpp" />
- <ClCompile Include="..\..\xbmc\utils\LCD.cpp" />
<ClCompile Include="..\..\xbmc\utils\log.cpp" />
<ClCompile Include="..\..\xbmc\utils\md5.cpp" />
<ClCompile Include="..\..\xbmc\utils\Observer.cpp" />
<ClInclude Include="..\..\xbmc\utils\JSONVariantWriter.h" />
<ClInclude Include="..\..\xbmc\utils\LabelFormatter.h" />
<ClInclude Include="..\..\xbmc\utils\LangCodeExpander.h" />
- <ClInclude Include="..\..\xbmc\utils\LCD.h" />
<ClInclude Include="..\..\xbmc\utils\log.h" />
<ClInclude Include="..\..\xbmc\utils\MathUtils.h" />
<ClInclude Include="..\..\xbmc\utils\md5.h" />
<ClCompile Include="..\..\xbmc\utils\LabelFormatter.cpp">
<Filter>utils</Filter>
</ClCompile>
- <ClCompile Include="..\..\xbmc\utils\LCD.cpp">
- <Filter>utils</Filter>
- </ClCompile>
<ClCompile Include="..\..\xbmc\utils\log.cpp">
<Filter>utils</Filter>
</ClCompile>
<ClInclude Include="..\..\xbmc\utils\LabelFormatter.h">
<Filter>utils</Filter>
</ClInclude>
- <ClInclude Include="..\..\xbmc\utils\LCD.h">
- <Filter>utils</Filter>
- </ClInclude>
<ClInclude Include="..\..\xbmc\utils\log.h">
<Filter>utils</Filter>
</ClInclude>
+++ /dev/null
-<lcd>
- <!-- set this to video,music to disable the LCD on playback of music and video-->
- <disableonplay>video</disableonplay>
- <navigation>
- <line>$INFO[System.CurrentWindow]</line>
- <line>$INFO[System.CurrentControl]</line>
- <line>Freemem: $INFO[System.FreeMemory]</line>
- <line>$INFO[System.ScreenWidth]x$INFO[System.ScreenHeight] $INFO[System.ScreenMode]</line>
- </navigation>
- <music>
- <line>$INFO[LCD.PlayIcon] $INFO[Player.Time]/$INFO[Player.Duration]</line>
- <line>$INFO[MusicPlayer.Title]</line>
- <line>$INFO[MusicPlayer.Artist]</line>
- <line>$INFO[MusicPlayer.Album] ($INFO[MusicPlayer.Year])</line>
- </music>
- <video>
- <line>$INFO[LCD.PlayIcon] $INFO[Player.Time]/$INFO[Player.Duration]</line>
- <line>$INFO[VideoPlayer.Title]</line>
- <line>$INFO[VideoPlayer.Genre]</line>
- <line>$INFO[LCD.ProgressBar]</line>
- <line>Freemem: $INFO[System.FreeMemory]</line>
- </video>
- <general>
- <line>XBMC running...</line>
- <line>$INFO[System.Time] $INFO[System.Date]</line>
- <line>Freemem: $INFO[System.FreeMemory]</line>
- <line>$INFO[System.ScreenWidth]x$INFO[System.ScreenHeight] $INFO[System.ScreenMode]</line>
- </general>
- <screensaver>
- <line>$INFO[System.CurrentWindow]</line>
- <line>$INFO[LCD.TimeWide21]</line>
- <line>$INFO[LCD.TimeWide22]</line>
- <line>Freemem: $INFO[System.FreeMemory]</line>
- </screensaver>
- <xbelaunch>
- <line></line>
- <line>Playing</line>
- <line>$INFO[System.LaunchXBE]</line>
- </xbelaunch>
- <pvrtv>
- <line>$INFO[VideoPlayer.ChannelName]</line>
- <line>$INFO[VideoPlayer.Title]</line>
- <line>$INFO[LCD.PlayIcon] $INFO[Player.Time]/$INFO[Player.Duration]</line>
- <line>$INFO[LCD.ProgressBar]</line>
- </pvrtv>
- <pvrradio>
- <line>$INFO[MusicPlayer.ChannelName]</line>
- <line>$INFO[MusicPlayer.Title]</line>
- <line>$INFO[LCD.PlayIcon] $INFO[Player.Time]/$INFO[Player.Duration]</line>
- <line>$INFO[LCD.ProgressBar]</line>
- </pvrradio>
-</lcd>
#include "network/httprequesthandler/HTTPWebinterfaceAddonsHandler.h"
#endif
#endif
-#ifdef HAS_LCD
-#include "utils/LCDFactory.h"
-#endif
#include "guilib/GUIControlProfiler.h"
#include "utils/LangCodeExpander.h"
#include "GUIInfoManager.h"
XInitThreads();
#endif
- //true while we in IsPaused mode! Workaround for OnPaused, which must be add. after v2.0
- m_bIsPaused = false;
-
/* for now always keep this around */
#ifdef HAS_KARAOKE
m_pKaraokeMgr = new CKaraokeLyricsManager();
CopyUserDataIfNeeded("special://masterprofile/", "RssFeeds.xml");
CopyUserDataIfNeeded("special://masterprofile/", "favourites.xml");
CopyUserDataIfNeeded("special://masterprofile/", "Lircmap.xml");
- CopyUserDataIfNeeded("special://masterprofile/", "LCD.xml");
if (!CLog::Init(CSpecialProtocol::TranslatePath(g_settings.m_logFolder).c_str()))
{
g_EpgContainer.Stop();
}
-void CApplication::DimLCDOnPlayback(bool dim)
-{
-#ifdef HAS_LCD
- if (g_lcd)
- {
- if (dim)
- g_lcd->DisableOnPlayback(IsPlayingVideo(), IsPlayingAudio());
- else
- g_lcd->SetBackLight(1);
- }
-#endif
-}
-
void CApplication::StartServices()
{
#if !defined(_WIN32) && defined(HAS_DVD_DRIVE)
g_playlistPlayer.SetRepeat(PLAYLIST_VIDEO, g_settings.m_bMyVideoPlaylistRepeat ? PLAYLIST::REPEAT_ALL : PLAYLIST::REPEAT_NONE);
g_playlistPlayer.SetShuffle(PLAYLIST_VIDEO, g_settings.m_bMyVideoPlaylistShuffle);
CLog::Log(LOGNOTICE, "DONE initializing playlistplayer");
-
-#ifdef HAS_LCD
- CLCDFactory factory;
- g_lcd = factory.Create();
- if (g_lcd)
- {
- g_lcd->Initialize();
- }
-#endif
}
void CApplication::StopServices()
return false;
}
-void CApplication::UpdateLCD()
-{
-#ifdef HAS_LCD
- static unsigned int lTickCount = 0;
-
- if (!g_lcd || !g_guiSettings.GetBool("videoscreen.haslcd"))
- return ;
- unsigned int lTimeOut = 1000;
- if ( m_iPlaySpeed != 1)
- lTimeOut = 0;
- if ( (XbmcThreads::SystemClockMillis() - lTickCount) >= lTimeOut)
- {
- if (g_application.NavigationIdleTime() < 5)
- g_lcd->Render(ILCD::LCD_MODE_NAVIGATION);
- else if (g_PVRManager.IsPlayingTV())
- g_lcd->Render(ILCD::LCD_MODE_PVRTV);
- else if (g_PVRManager.IsPlayingRadio())
- g_lcd->Render(ILCD::LCD_MODE_PVRRADIO);
- else if (IsPlayingVideo())
- g_lcd->Render(ILCD::LCD_MODE_VIDEO);
- else if (IsPlayingAudio())
- g_lcd->Render(ILCD::LCD_MODE_MUSIC);
- else if (IsInScreenSaver())
- g_lcd->Render(ILCD::LCD_MODE_SCREENSAVER);
- else
- g_lcd->Render(ILCD::LCD_MODE_GENERAL);
-
- // reset tick count
- lTickCount = XbmcThreads::SystemClockMillis();
- }
-#endif
-}
-
void CApplication::FrameMove(bool processEvents, bool processGUI)
{
MEASURE_FUNCTION;
CWinEvents::MessagePump();
}
- UpdateLCD();
-
#if defined(HAS_LIRC) || defined(HAS_IRSERVERSUITE)
// Read the input from a remote
g_RemoteControl.Update();
CLog::Log(LOGNOTICE, "stop python");
g_pythonParser.FreeResources();
#endif
-#ifdef HAS_LCD
- if (g_lcd)
- {
- g_lcd->Stop();
- delete g_lcd;
- g_lcd=NULL;
- }
-#endif
-
g_Windowing.DestroyRenderSystem();
g_Windowing.DestroyWindow();
g_Windowing.DestroyWindowSystem();
{
bool result;
-#ifdef HAS_LCD
- // turn on lcd backlight
- if (g_lcd && g_advancedSettings.m_lcdDimOnScreenSave)
- g_lcd->SetBackLight(1);
-#endif
-
// First reset DPMS, if active
if (m_dpmsIsActive)
{
if (!CAddonMgr::Get().GetAddon(g_guiSettings.GetString("screensaver.mode"), m_screenSaver))
m_screenSaver.reset(new CScreenSaver(""));
-#ifdef HAS_LCD
- // turn off lcd backlight if requested
- if (g_lcd && g_advancedSettings.m_lcdDimOnScreenSave)
- g_lcd->SetBackLight(0);
-#endif
-
CAnnouncementManager::Announce(GUI, "xbmc", "OnScreensaverActivated");
// disable screensaver lock from the login screen
param["player"]["playerid"] = g_playlistPlayer.GetCurrentPlaylist();
CAnnouncementManager::Announce(Player, "xbmc", "OnPlay", m_itemCurrentFile, param);
- DimLCDOnPlayback(true);
-
if (IsPlayingAudio())
{
// Start our cdg parser as appropriate
if (!IsPlaying())
{
g_audioManager.Enable(true);
- DimLCDOnPlayback(false);
}
if (!IsPlayingVideo())
m_pKaraokeMgr->ProcessSlow();
#endif
- // LED - LCD SwitchOn On Paused! m_bIsPaused=TRUE -> LED/LCD is ON!
- if(IsPaused() != m_bIsPaused)
- {
-#ifdef HAS_LCD
- DimLCDOnPlayback(m_bIsPaused);
-#endif
- m_bIsPaused = IsPaused();
- }
-
if (!IsPlayingVideo())
g_largeTextureManager.CleanupUnusedImages();
g_RemoteControl.Initialize();
#endif
-#ifdef HAS_LCD
- // attempt to reinitialize the LCD (e.g. after resuming from sleep)
- if (!IsPlayingVideo())
- {
- if (g_lcd && !g_lcd->IsConnected())
- {
- g_lcd->Stop();
- g_lcd->Initialize();
- }
- }
-#endif
-
if (!IsPlayingVideo())
CAddonInstaller::Get().UpdateRepos();
void RefreshEventServer();
void StartZeroconf();
void StopZeroconf();
- void DimLCDOnPlayback(bool dim);
bool IsCurrentThread() const;
void Stop(int exitCode);
void RestartApp();
inline bool IsInScreenSaver() { return m_bScreenSave; };
int m_iScreenSaveLock; // spiff: are we checking for a lock? if so, ignore the screensaver state, if -1 we have failed to input locks
- bool m_bIsPaused;
bool m_bPlaybackStarting;
CKaraokeLyricsManager* m_pKaraokeMgr;
void UnMute();
void SetHardwareVolume(float hardwareVolume);
- void UpdateLCD();
void VolumeChanged() const;
#include "addons/Visualisation.h"
#include "input/ButtonTranslator.h"
#include "utils/AlarmClock.h"
-#ifdef HAS_LCD
-#include "utils/LCD.h"
-#endif
#include "LangInfo.h"
#include "utils/SystemInfo.h"
#include "guilib/GUITextBox.h"
{ "hasaddon", SYSTEM_HAS_ADDON },
{ "coreusage", SYSTEM_GET_CORE_USAGE }};
-const infomap lcd_labels[] = {{ "playicon", LCD_PLAY_ICON },
- { "progressbar", LCD_PROGRESS_BAR },
- { "cputemperature", LCD_CPU_TEMPERATURE },
- { "gputemperature", LCD_GPU_TEMPERATURE },
- { "hddtemperature", LCD_HDD_TEMPERATURE },
- { "fanspeed", LCD_FAN_SPEED },
- { "date", LCD_DATE },
- { "time21", LCD_TIME_21 },
- { "time22", LCD_TIME_22 },
- { "timewide21", LCD_TIME_W21 },
- { "timewide22", LCD_TIME_W22 },
- { "time41", LCD_TIME_41 },
- { "time42", LCD_TIME_42 },
- { "time43", LCD_TIME_43 },
- { "time44", LCD_TIME_44 }};
-
const infomap network_labels[] = {{ "isdhcp", NETWORK_IS_DHCP },
{ "ipaddress", NETWORK_IP_ADDRESS }, //labels from here
{ "linkstate", NETWORK_LINK_STATE },
return weather[i].val;
}
}
- else if (cat.name == "lcd")
- {
- for (size_t i = 0; i < sizeof(lcd_labels) / sizeof(infomap); i++)
- {
- if (prop.name == lcd_labels[i].str)
- return lcd_labels[i].val;
- }
- }
else if (cat.name == "network")
{
for (size_t i = 0; i < sizeof(network_labels) / sizeof(infomap); i++)
case SYSTEM_DATE:
strLabel = GetDate();
break;
- case LCD_DATE:
- strLabel = GetDate(true);
- break;
case SYSTEM_FPS:
strLabel.Format("%02.2f", m_fps);
break;
case SYSTEM_CPU_TEMPERATURE:
case SYSTEM_GPU_TEMPERATURE:
case SYSTEM_FAN_SPEED:
- case LCD_CPU_TEMPERATURE:
- case LCD_GPU_TEMPERATURE:
- case LCD_FAN_SPEED:
case SYSTEM_CPU_USAGE:
return GetSystemHeatInfo(info);
break;
strLabel = friendlyName;
}
break;
- case LCD_PLAY_ICON:
- {
- int iPlaySpeed = g_application.GetPlaySpeed();
- if (g_application.IsPaused())
- strLabel.Format("\7");
- else if (iPlaySpeed < 1)
- strLabel.Format("\3:%ix", iPlaySpeed);
- else if (iPlaySpeed > 1)
- strLabel.Format("\4:%ix", iPlaySpeed);
- else
- strLabel.Format("\5");
- }
- break;
-
- case LCD_TIME_21:
- case LCD_TIME_22:
- case LCD_TIME_W21:
- case LCD_TIME_W22:
- case LCD_TIME_41:
- case LCD_TIME_42:
- case LCD_TIME_43:
- case LCD_TIME_44:
- //alternatively, set strLabel
- return GetLcdTime( info );
- break;
case SKIN_THEME:
strLabel = g_guiSettings.GetString("lookandfeel.skintheme");
if (g_SkinInfo)
strLabel = g_SkinInfo->GetCurrentAspect();
break;
-#ifdef HAS_LCD
- case LCD_PROGRESS_BAR:
- if (g_lcd && g_lcd->IsConnected()) strLabel = g_lcd->GetProgressBar(g_application.GetTime(), g_application.GetTotalTime());
- break;
-#endif
case NETWORK_IP_ADDRESS:
{
CNetworkInterface* iface = g_application.getNetwork().GetFirstConnectedInterface();
return LocalizeTime(time, format);
}
-CStdString CGUIInfoManager::GetLcdTime( int _eInfo ) const
-{
- CDateTime time=CDateTime::GetCurrentDateTime();
- CStdString strLcdTime;
-
-#ifdef HAS_LCD
-
- UINT nCharset;
- UINT nLine;
- CStdString strTimeMarker;
-
- nCharset = 0;
- nLine = 0;
-
- switch ( _eInfo )
- {
- case LCD_TIME_21:
- nCharset = 1; // CUSTOM_CHARSET_SMALLCHAR;
- nLine = 0;
- strTimeMarker = ".";
- break;
- case LCD_TIME_22:
- nCharset = 1; // CUSTOM_CHARSET_SMALLCHAR;
- nLine = 1;
- strTimeMarker = ".";
- break;
-
- case LCD_TIME_W21:
- nCharset = 2; // CUSTOM_CHARSET_MEDIUMCHAR;
- nLine = 0;
- strTimeMarker = ".";
- break;
- case LCD_TIME_W22:
- nCharset = 2; // CUSTOM_CHARSET_MEDIUMCHAR;
- nLine = 1;
- strTimeMarker = ".";
- break;
-
- case LCD_TIME_41:
- nCharset = 3; // CUSTOM_CHARSET_BIGCHAR;
- nLine = 0;
- strTimeMarker = " ";
- break;
- case LCD_TIME_42:
- nCharset = 3; // CUSTOM_CHARSET_BIGCHAR;
- nLine = 1;
- strTimeMarker = "o";
- break;
- case LCD_TIME_43:
- nCharset = 3; // CUSTOM_CHARSET_BIGCHAR;
- nLine = 2;
- strTimeMarker = "o";
- break;
- case LCD_TIME_44:
- nCharset = 3; // CUSTOM_CHARSET_BIGCHAR;
- nLine = 3;
- strTimeMarker = " ";
- break;
- }
-
- strLcdTime += g_lcd->GetBigDigit( nCharset, time.GetHour() , nLine, 2, 2, true );
- strLcdTime += strTimeMarker;
- strLcdTime += g_lcd->GetBigDigit( nCharset, time.GetMinute(), nLine, 2, 2, false );
- strLcdTime += strTimeMarker;
- strLcdTime += g_lcd->GetBigDigit( nCharset, time.GetSecond(), nLine, 2, 2, false );
-
-#endif
-
- return strLcdTime;
-}
-
CStdString CGUIInfoManager::LocalizeTime(const CDateTime &time, TIME_FORMAT format) const
{
const CStdString timeFormat = g_langInfo.GetTimeFormat();
CStdString text;
switch(info)
{
- case LCD_CPU_TEMPERATURE:
case SYSTEM_CPU_TEMPERATURE:
return m_cpuTemp.IsValid() ? m_cpuTemp.ToString() : "?";
break;
- case LCD_GPU_TEMPERATURE:
case SYSTEM_GPU_TEMPERATURE:
return m_gpuTemp.IsValid() ? m_gpuTemp.ToString() : "?";
break;
- case LCD_FAN_SPEED:
case SYSTEM_FAN_SPEED:
text.Format("%i%%", m_fanSpeed * 2);
break;
#define SYSTEM_HDD_LOCKSTATE 157
#define SYSTEM_HDD_LOCKKEY 158
#define SYSTEM_INTERNET_STATE 159
-#define LCD_PLAY_ICON 160
-#define LCD_PROGRESS_BAR 161
-#define LCD_CPU_TEMPERATURE 162
-#define LCD_GPU_TEMPERATURE 163
-#define LCD_HDD_TEMPERATURE 164
-#define LCD_FAN_SPEED 165
-#define LCD_DATE 166
-#define LCD_TIME_21 172 // Small bigfont
-#define LCD_TIME_22 173
-#define LCD_TIME_W21 174 // Medum bigfont
-#define LCD_TIME_W22 175
-#define LCD_TIME_41 176 // Big bigfont
-#define LCD_TIME_42 177
-#define LCD_TIME_43 178
-#define LCD_TIME_44 179
#define SYSTEM_ALARM_LESS_OR_EQUAL 180
#define SYSTEM_PROFILECOUNT 181
#define SYSTEM_ISFULLSCREEN 182
CStdString GetImage(int info, int contextWindow, CStdString *fallback = NULL);
CStdString GetTime(TIME_FORMAT format = TIME_FORMAT_GUESS) const;
- CStdString GetLcdTime( int _eInfo ) const;
CStdString GetDate(bool bNumbersOnly = false);
CStdString GetDuration(TIME_FORMAT format = TIME_FORMAT_GUESS) const;
#include "addons/AddonManager.h"
#include "addons/PluginSource.h"
#include "music/LastFmManager.h"
-#include "utils/LCD.h"
#include "utils/log.h"
#include "storage/MediaManager.h"
#include "utils/RssReader.h"
{ "LIRC.Start", false, "Adds XBMC as LIRC client" },
{ "LIRC.Send", true, "Sends a command to LIRC" },
#endif
-#ifdef HAS_LCD
- { "LCD.Suspend", false, "Suspends LCDproc" },
- { "LCD.Resume", false, "Resumes LCDproc" },
-#endif
{ "VideoLibrary.Search", false, "Brings up a search dialog which will search the library" },
{ "ToggleDebug", false, "Enables/disables debug mode" },
{ "StartPVRManager", false, "(Re)Starts the PVR manager" },
g_RemoteControl.AddSendCommand(command);
}
#endif
-#ifdef HAS_LCD
- else if (execute.Equals("lcd.suspend"))
- {
- g_lcd->Suspend();
- }
- else if (execute.Equals("lcd.resume"))
- {
- g_lcd->Resume();
- }
-#endif
else if (execute.Equals("weather.locationset"))
{
int loc = atoi(params[0]);
SRCS += PosixMountProvider.cpp
SRCS += XFileUtils.cpp
SRCS += XHandle.cpp
-SRCS += XLCDproc.cpp
SRCS += XMemUtils.cpp
SRCS += XTimeUtils.cpp
+++ /dev/null
-/*
- * Copyright (C) 2005-2012 Team XBMC
- * http://www.xbmc.org
- *
- * This Program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This Program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with XBMC; see the file COPYING. If not, see
- * <http://www.gnu.org/licenses/>.
- *
- */
-
-#include "threads/SystemClock.h"
-#include "PlatformInclude.h"
-#include "XLCDproc.h"
-#include "../utils/log.h"
-#include "../utils/TimeUtils.h"
-#include "settings/AdvancedSettings.h"
-#include "settings/GUISettings.h"
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-
-#define SCROLL_SPEED_IN_MSEC 250
-
-
-XLCDproc::XLCDproc()
-{
- m_iActualpos = 0;
- m_iBackLight = 32;
- m_iLCDContrast = 50;
- m_iColumns = 0;
- m_iRows = 0;
- m_bStop = true;
- m_sockfd = -1;
- m_lastInitAttempt = 0;
- m_initRetryInterval = INIT_RETRY_INTERVAL;
- m_used = true;
-}
-
-XLCDproc::~XLCDproc()
-{
-}
-
-void XLCDproc::ReadAndFlushSocket()
-{
- char recvtmp[1024];
-
- if (read(m_sockfd, recvtmp, 1024) < 0)
- {
- // only spam xbmc.log when something serious happened,
- // EAGAIN literally means "nothing to read", this is fine for us.
- if(errno != EAGAIN)
- CLog::Log(LOGERROR, "XLCDproc::ReadAndFlushSocket - Cannot read/clear response");
- }
-}
-
-bool XLCDproc::SendLCDd(const CStdString &command)
-{
- if (m_sockfd == -1)
- return false;
-
- if (write(m_sockfd, command.c_str(), command.size()) < 0)
- {
- CLog::Log(LOGERROR, "XLCDproc::SendLCDd - Cannot send command '%s'.",
- command.c_str());
- return false;
- }
-
- ReadAndFlushSocket();
-
- return true;
-}
-
-void XLCDproc::Initialize()
-{
- int sockfdopt;
-
- if (!m_used || !g_guiSettings.GetBool("videoscreen.haslcd"))
- return ;//nothing to do
-
- // don't try to initialize too often
- int now = XbmcThreads::SystemClockMillis();
- if ((now - m_lastInitAttempt) < m_initRetryInterval)
- return;
- m_lastInitAttempt = now;
-
- ILCD::Initialize();
-
- if (Connect())
- {
- // reset the retry interval after a successful connect
- m_initRetryInterval = INIT_RETRY_INTERVAL;
-
- m_bStop = false;
-
- if ((sockfdopt = fcntl(m_sockfd, F_GETFL)) == -1)
- {
- CLog::Log(LOGERROR,
- "XLCDproc::%s - Cannot read socket flags, stopping LCD",
- __FUNCTION__);
-
- CloseSocket();
- m_bStop = true;
- }
- else
- {
- if (fcntl(m_sockfd, F_SETFL, sockfdopt | O_NONBLOCK) == -1)
- {
- CLog::Log(LOGERROR,
- "XLCDproc::%s - Cannot set socket to nonblocking mode, stopping LCD",
- __FUNCTION__);
-
- CloseSocket();
- m_bStop = true;
- }
- }
- }
- else
- {
- CloseSocket();
-
- // give up after 60 seconds
- if (m_initRetryInterval > INIT_RETRY_INTERVAL_MAX)
- {
- m_used = false;
- CLog::Log(LOGERROR, "XLCDproc::%s - Connect failed. Giving up.", __FUNCTION__);
- }
- else
- {
- m_initRetryInterval *= 2;
- CLog::Log(LOGERROR, "XLCDproc::%s - Connect failed. Retry in %d seconds.", __FUNCTION__,
- m_initRetryInterval/1000);
- }
- }
-}
-
-bool XLCDproc::Connect()
-{
- CloseSocket();
-
- struct hostent *server;
- server = gethostbyname(g_advancedSettings.m_lcdHostName);
- if (server == NULL)
- {
- CLog::Log(LOGERROR, "XLCDproc::%s - Unable to resolve LCDd host.", __FUNCTION__);
- return false;
- }
-
- m_sockfd = socket(AF_INET, SOCK_STREAM, 0);
- if (m_sockfd == -1)
- {
- CLog::Log(LOGERROR, "XLCDproc::%s - Unable to create socket.", __FUNCTION__);
- return false;
- }
-
- struct sockaddr_in serv_addr = {};
- serv_addr.sin_family = AF_INET;
- memmove(&serv_addr.sin_addr, server->h_addr_list[0], server->h_length);
- //Connect to default LCDd port, hard coded for now.
- serv_addr.sin_port = htons(13666);
-
- if (connect(m_sockfd,(struct sockaddr*)&serv_addr,sizeof(serv_addr)) == -1)
- {
- CLog::Log(LOGERROR, "XLCDproc::%s - Unable to connect to host, LCDd not running?", __FUNCTION__);
- return false;
- }
-
- // Start a new session
- CStdString hello;
- hello = "hello\n";
-
- if (write(m_sockfd,hello.c_str(),hello.size()) == -1)
- {
- CLog::Log(LOGERROR, "XLCDproc::%s - Unable to write to socket", __FUNCTION__);
- return false;
- }
-
- // Receive LCDproc data to determine row and column information
- char reply[1024] = {};
- if (read(m_sockfd,reply,sizeof(reply) - 1) == -1)
- {
- CLog::Log(LOGERROR, "XLCDproc::%s - Unable to read from socket", __FUNCTION__);
- return false;
- }
-
- unsigned int i=0;
- while ((strncmp("lcd",reply + i,3) != 0 ) && (i < (strlen(reply) - 5))) i++;
- if(sscanf(reply+i,"lcd wid %u hgt %u", &m_iColumns, &m_iRows))
- CLog::Log(LOGDEBUG, "XLCDproc::%s - LCDproc data: Columns %i - Rows %i.", __FUNCTION__, m_iColumns, m_iRows);
-
- //Build command to setup screen
- CStdString cmd;
- cmd = "screen_add xbmc\n";
- if (!g_advancedSettings.m_lcdHeartbeat)
- cmd.append("screen_set xbmc -heartbeat off\n");
- if (g_advancedSettings.m_lcdScrolldelay != 0)
- {
- cmd.append("widget_add xbmc line1 scroller\n");
- cmd.append("widget_add xbmc line2 scroller\n");
- cmd.append("widget_add xbmc line3 scroller\n");
- cmd.append("widget_add xbmc line4 scroller\n");
- }
- else
- {
- cmd.append("widget_add xbmc line1 string\n");
- cmd.append("widget_add xbmc line2 string\n");
- cmd.append("widget_add xbmc line3 string\n");
- cmd.append("widget_add xbmc line4 string\n");
- }
-
- //Send to server
- if (!SendLCDd(cmd))
- {
- return false;
- }
-
- return true;
-}
-
-void XLCDproc::CloseSocket()
-{
- if (m_sockfd != -1)
- {
- shutdown(m_sockfd, SHUT_RDWR);
- close(m_sockfd);
- m_sockfd = -1;
- }
-}
-
-bool XLCDproc::IsConnected()
-{
- if (m_sockfd == -1)
- return false;
-
- CStdString cmd;
- cmd = "noop\n";
-
- if (!SendLCDd(cmd))
- {
- CloseSocket();
- return false;
- }
-
- return true;
-}
-
-void XLCDproc::SetBackLight(int iLight)
-{
- if (m_sockfd == -1)
- return;
-
- //Build command
- CStdString cmd;
-
- if (iLight == 0)
- {
- m_bStop = true;
- cmd = "screen_set xbmc -backlight off\n";
- cmd.append("widget_del xbmc line1\n");
- cmd.append("widget_del xbmc line2\n");
- cmd.append("widget_del xbmc line3\n");
- cmd.append("widget_del xbmc line4\n");
-
- for(int i=0; i<4; i++)
- m_strLine[i] = "";
- }
- else if (iLight > 0)
- {
- m_bStop = false;
- cmd = "screen_set xbmc -backlight on\n";
- if (g_advancedSettings.m_lcdScrolldelay != 0)
- {
- cmd.append("widget_add xbmc line1 scroller\n");
- cmd.append("widget_add xbmc line2 scroller\n");
- cmd.append("widget_add xbmc line3 scroller\n");
- cmd.append("widget_add xbmc line4 scroller\n");
- }
- else
- {
- cmd.append("widget_add xbmc line1 string\n");
- cmd.append("widget_add xbmc line2 string\n");
- cmd.append("widget_add xbmc line3 string\n");
- cmd.append("widget_add xbmc line4 string\n");
- }
- }
-
- //Send to server
- if (!SendLCDd(cmd))
- {
- CLog::Log(LOGERROR, "XLCDproc::%s - Unable to write to socket", __FUNCTION__);
- CloseSocket();
- }
-}
-
-void XLCDproc::SetContrast(int iContrast)
-{
- //TODO: Not sure if you can control contrast from client
-}
-
-void XLCDproc::Stop()
-{
- CloseSocket();
- m_bStop = true;
-}
-
-void XLCDproc::Suspend()
-{
- if (m_bStop || m_sockfd == -1)
- return;
-
- //Build command to suspend screen
- CStdString cmd;
- cmd = "screen_set xbmc -priority hidden\n";
-
- //Send to server
- if (!SendLCDd(cmd))
- {
- CloseSocket();
- }
-}
-
-void XLCDproc::Resume()
-{
- if (m_bStop || m_sockfd == -1)
- return;
-
- //Build command to resume screen
- CStdString cmd;
- cmd = "screen_set xbmc -priority info\n";
-
- //Send to server
- if (!SendLCDd(cmd))
- {
- CloseSocket();
- }
-}
-
-int XLCDproc::GetColumns()
-{
- return m_iColumns;
-}
-
-int XLCDproc::GetRows()
-{
- return m_iRows;
-}
-
-void XLCDproc::SetLine(int iLine, const CStdString& strLine)
-{
- if (m_bStop || m_sockfd == -1)
- return;
-
- if (iLine < 0 || iLine >= (int)m_iRows)
- return;
-
- CStdString strLineLong = strLine;
- strLineLong.Trim();
- StringToLCDCharSet(strLineLong);
-
- //make string fit the display if it's smaller than the width
- if (strLineLong.size() < m_iColumns)
- strLineLong.append(m_iColumns - strLineLong.size(), ' ');
- //else if the string doesn't fit the display, lcdproc will scroll it, so we need a space
- else if (strLineLong.size() > m_iColumns)
- strLineLong += " ";
-
- if (strLineLong != m_strLine[iLine])
- {
- CStdString cmd;
- int ln = iLine + 1;
-
- if (g_advancedSettings.m_lcdScrolldelay != 0)
- cmd.Format("widget_set xbmc line%i 1 %i %i %i m %i \"%s\"\n", ln, ln, m_iColumns, ln, g_advancedSettings.m_lcdScrolldelay, strLineLong.c_str());
- else
- cmd.Format("widget_set xbmc line%i 1 %i \"%s\"\n", ln, ln, strLineLong.c_str());
-
- if (!SendLCDd(cmd))
- {
- CloseSocket();
- return;
- }
- m_bUpdate[iLine] = true;
- m_strLine[iLine] = strLineLong;
- m_event.Set();
- }
-}
-
-void XLCDproc::Process()
-{
-}
+++ /dev/null
-#ifndef __XLCDPROC_H__
-#define __XLCDPROC_H__
-
-/*
- * Copyright (C) 2005-2012 Team XBMC
- * http://www.xbmc.org
- *
- * This Program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This Program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with XBMC; see the file COPYING. If not, see
- * <http://www.gnu.org/licenses/>.
- *
- */
-
-#include "../utils/LCD.h"
-
-#define MAX_ROWS 20
-#define INIT_RETRY_INTERVAL 2000
-#define INIT_RETRY_INTERVAL_MAX 60000
-
-class XLCDproc : public ILCD
-{
-public:
- XLCDproc();
- virtual ~XLCDproc(void);
- virtual void Initialize();
- virtual bool IsConnected();
- virtual void Stop();
- virtual void Suspend();
- virtual void Resume();
- virtual void SetBackLight(int iLight);
- virtual void SetContrast(int iContrast);
- virtual int GetColumns();
- virtual int GetRows();
-
- bool SendLCDd(const CStdString &command);
- void ReadAndFlushSocket();
-
-protected:
- virtual void Process();
- virtual void SetLine(int iLine, const CStdString& strLine);
- bool Connect();
- void CloseSocket();
- unsigned int m_iColumns; // display columns for each line
- unsigned int m_iRows; // total number of rows
- unsigned int m_iActualpos; // actual cursor possition
- int m_iBackLight;
- int m_iLCDContrast;
- bool m_bUpdate[MAX_ROWS];
- CStdString m_strLine[MAX_ROWS];
- int m_iPos[MAX_ROWS];
- DWORD m_dwSleep[MAX_ROWS];
- CEvent m_event;
- int m_sockfd;
-
-private:
- int m_lastInitAttempt;
- int m_initRetryInterval;
- bool m_used; //set to false when trying to connect has failed
-};
-
-#endif
#include "guilib/GraphicContext.h"
#include "dialogs/GUIDialogKaiToast.h"
-#ifdef HAS_LCD
-#include "utils/LCDFactory.h"
-#endif
-
#if defined(TARGET_DARWIN)
#include "osx/CocoaPowerSyscall.h"
#elif defined(TARGET_ANDROID)
CAnnouncementManager::Announce(System, "xbmc", "OnSleep");
CLog::Log(LOGNOTICE, "%s: Running sleep jobs", __FUNCTION__);
-#ifdef HAS_LCD
- g_lcd->SetBackLight(0);
-#endif
-
// stop lirc
#if defined(HAS_LIRC) || defined(HAS_IRSERVERSUITE)
CLog::Log(LOGNOTICE, "%s: Stopping lirc", __FUNCTION__);
CBuiltins::Execute("LIRC.Start");
#endif
- // restart and undim lcd
-#ifdef HAS_LCD
- CLog::Log(LOGNOTICE, "%s: Restarting lcd", __FUNCTION__);
- g_lcd->SetBackLight(1);
- g_lcd->Stop();
- g_lcd->Initialize();
-#endif
-
CAEFactory::Resume();
g_application.UpdateLibraries();
g_weatherManager.Refresh();
m_slideshowZoomAmount = 5.0f;
m_slideshowBlackBarCompensation = 20.0f;
- m_lcdHeartbeat = false;
- m_lcdDimOnScreenSave = false;
- m_lcdScrolldelay = 1;
- m_lcdHostName = "localhost";
-
m_songInfoDuration = 10;
m_cddbAddress = "freedb.freedb.org";
XMLUtils::GetFloat(pElement, "blackbarcompensation", m_slideshowBlackBarCompensation, 0.0f, 50.0f);
}
- pElement = pRootElement->FirstChildElement("lcd");
- if (pElement)
- {
- XMLUtils::GetBoolean(pElement, "heartbeat", m_lcdHeartbeat);
- XMLUtils::GetBoolean(pElement, "dimonscreensave", m_lcdDimOnScreenSave);
- XMLUtils::GetInt(pElement, "scrolldelay", m_lcdScrolldelay, -8, 8);
- XMLUtils::GetString(pElement, "hostname", m_lcdHostName);
- }
pElement = pRootElement->FirstChildElement("network");
if (pElement)
{
float m_slideshowZoomAmount;
float m_slideshowPanAmount;
- bool m_lcdHeartbeat;
- bool m_lcdDimOnScreenSave;
- int m_lcdScrolldelay;
- CStdString m_lcdHostName;
-
int m_songInfoDuration;
int m_logLevel;
int m_logLevelHint;
// Todo: Implement test pattern for DX
AddString(vs, "videoscreen.testpattern",226,"", BUTTON_CONTROL_STANDARD);
#endif
-#if defined(HAS_LCD)
- AddBool(vs, "videoscreen.haslcd", 4501, false);
-#endif
CSettingsCategory* ao = AddCategory(SETTINGS_SYSTEM, "audiooutput", 772);
#define VIDEO_LETTERBOX 1
#define VIDEO_WIDESCREEN 2
-// LCD settings
-#define LCD_TYPE_NONE 0
-#define LCD_TYPE_LCD_HD44780 1
-#define LCD_TYPE_LCD_KS0073 2
-#define LCD_TYPE_VFD 3
-#define LCD_TYPE_LCDPROC 4
-
#define MODCHIP_SMARTXX 0
#define MODCHIP_XENIUM 1
#define MODCHIP_XECUTER3 2
#include "music/MusicDatabase.h"
#include "video/VideoDatabase.h"
#include "view/ViewDatabase.h"
-#ifdef HAS_LCD
-#include "utils/LCDFactory.h"
-#endif
#include "PlayListPlayer.h"
#include "addons/Skin.h"
#include "guilib/GUIAudioManager.h"
g_guiSettings.m_replayGain.iNoGainPreAmp = g_guiSettings.GetInt("musicplayer.replaygainnogainpreamp");
g_guiSettings.m_replayGain.bAvoidClipping = g_guiSettings.GetBool("musicplayer.replaygainavoidclipping");
}
-#ifdef HAS_LCD
- else if (strSetting.Equals("videoscreen.haslcd"))
- {
- g_lcd->Stop();
- CLCDFactory factory;
- delete g_lcd;
- g_lcd = factory.Create();
- g_lcd->Initialize();
- }
-#endif
#ifdef HAS_WEB_SERVER
else if ( strSetting.Equals("services.webserver") || strSetting.Equals("services.webserverport"))
{
#endif
#define HAS_ZEROCONF
#define HAS_LINUX_NETWORK
- #define HAS_LCD
#endif
/*****************
#define HAS_ZEROCONF
#define HAS_AVAHI
#endif
-#define HAS_LCD
#ifdef HAVE_DBUS
#define HAS_DBUS
#endif
#if defined(TARGET_ANDROID)
#undef HAS_LINUX_EVENTS
#undef HAS_LIRC
-#undef HAS_LCD
#endif
// EGL detected. Dont use GLX!
+++ /dev/null
-/*
- * Copyright (C) 2005-2012 Team XBMC
- * http://www.xbmc.org
- *
- * This Program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This Program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with XBMC; see the file COPYING. If not, see
- * <http://www.gnu.org/licenses/>.
- *
- */
-
-#include "LCD.h"
-#include "settings/AdvancedSettings.h"
-#include "settings/Settings.h"
-#include "CharsetConverter.h"
-#include "log.h"
-#include "XMLUtils.h"
-
-using namespace std;
-
-void ILCD::StringToLCDCharSet(CStdString& strText)
-{
-
- //0 = HD44780, 1=KS0073
- unsigned int iLCDContr = 0;
- //the timeline is using blocks
- //a block is used at address 0xA0, smallBlocks at address 0xAC-0xAF
-
- unsigned char LCD[2][256] = {
- { //HD44780 charset ROM code A00
- 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
- 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
- 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
- 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
- 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0xa4, 0x5d, 0x5e, 0x5f,
- 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
- 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0xb0, 0x20,
- 0x20, 0x20, 0x2c, 0x20, 0x22, 0x20, 0x20, 0x20, 0x5e, 0x20, 0x53, 0x3c, 0x20, 0x20, 0x5a, 0x20,
- 0x20, 0x27, 0x27, 0x22, 0x22, 0xa5, 0xb0, 0xb0, 0xb0, 0x20, 0x73, 0x3e, 0x20, 0x20, 0x7a, 0x59,
- 0xff, 0x21, 0x20, 0x20, 0x20, 0x5c, 0x7c, 0x20, 0x22, 0x20, 0x20, 0xff, 0x0E, 0x0A, 0x09, 0x08, // Custom characters
- 0xdf, 0x20, 0x20, 0x20, 0x27, 0xe4, 0x20, 0xa5, 0x20, 0x20, 0xdf, 0x3e, 0x20, 0x20, 0x20, 0x3f,
- 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x20, 0x43, 0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,
- 0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78, 0x30, 0x55, 0x55, 0x55, 0x55, 0x59, 0x20, 0xe2,
- 0x61, 0x61, 0x61, 0x61, 0xe1, 0x61, 0x20, 0x63, 0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,
- 0x6f, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0xfd, 0x6f, 0x75, 0x75, 0xfb, 0xf5, 0x79, 0x20, 0x79
- },
-
- { //KS0073
- 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
- 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
- 0x20, 0x21, 0x22, 0x23, 0xa2, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
- 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
- 0xa0, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
- 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0xfa, 0xfb, 0xfc, 0x1d, 0xc4,
- 0x27, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
- 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0xfd, 0xfe, 0xff, 0xce, 0x20,
- 0x20, 0x20, 0x2c, 0xd5, 0x22, 0x20, 0x20, 0x20, 0x1d, 0x20, 0xf3, 0x3c, 0x20, 0x20, 0xf4, 0x20,
- 0x20, 0x27, 0x27, 0x22, 0x22, 0xdd, 0x2d, 0x2d, 0xce, 0x20, 0xf8, 0x3e, 0x20, 0x20, 0xf9, 0x59,
- 0x1f, 0x40, 0xb1, 0xa1, 0x24, 0xa3, 0xfe, 0x5f, 0x20, 0x20, 0x20, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, // Custom characters
- 0x80, 0x8c, 0x82, 0x83, 0x27, 0x8f, 0x20, 0xdd, 0x20, 0x81, 0x80, 0x15, 0x8b, 0x8a, 0xbe, 0x60,
- 0xae, 0xe2, 0xae, 0xae, 0x5b, 0xae, 0xbc, 0xa9, 0xc5, 0xbf, 0xc6, 0x45, 0xcc, 0xe3, 0xcc, 0x49,
- 0x44, 0x5d, 0x4f, 0xe0, 0xec, 0x4f, 0x5c, 0x78, 0xab, 0xee, 0xe5, 0xee, 0x5e, 0xe6, 0x20, 0xbe,
- 0x7f, 0xe7, 0xaf, 0xaf, 0x7b, 0xaf, 0xbd, 0xc8, 0xa4, 0xa5, 0xc7, 0x65, 0xa7, 0xe8, 0x69, 0x69,
- 0x6f, 0x7d, 0xa8, 0xe9, 0xed, 0x6f, 0x7c, 0x25, 0xac, 0xa6, 0xea, 0xef, 0x7e, 0xeb, 0x70, 0x79
- }
- };
-
- unsigned char cLCD;
- int iSize = (int)strText.size();
-
- for (int i = 0; i < iSize; ++i)
- {
- cLCD = strText.at(i);
- cLCD = LCD[iLCDContr][cLCD];
- strText.SetAt(i, cLCD);
- }
-}
-
-/* TEMPLATE: TRANSLATION-TABLE FOR FUTURE LCD-TYPE-CHARSETS
-{
-0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
-0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
-0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
-0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
-0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
-0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
-0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
-0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
-0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
-0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
-0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
-0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
-0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
-0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
-0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
-0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff
-}
-*/
-
-unsigned char ILCD::GetLCDCharsetCharacter( UINT _nCharacter, int _nCharset )
-{
- unsigned char arrCharsets[CUSTOM_CHARSET_MAX][8][8] = { { // Xbmc default, currently implemented elsewhere
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
- },
- { // Small Char
- {0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01}, // | _
- {0x1f, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x1f}, // _ _|
- {0x1f, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11}, // | |
- {0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x1f}, // _|
- {0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x1f}, // |_| _
- {0x1f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1f}, // _ |_
- {0x1f, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01}, // | _
- {0x1f, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x1f}, // |_|
- },
- { // Medium Char // _
- {0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, //
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f}, // _
- {0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x1f}, // |_ _
- {0x1f, 0x1f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18}, // _ |
- {0x1f, 0x1f, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x1f}, // |_ _
- {0x1f, 0x1f, 0x03, 0x03, 0x03, 0x03, 0x1f, 0x1f}, // _ _|
- {0x1f, 0x1f, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03}, // |
- {0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x1f, 0x1f}, // _|
- },
- { // Big Char
- {0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x1f}, // topleft corner
- {0x10, 0x18, 0x18, 0x1c, 0x1c, 0x1e, 0x1e, 0x1f}, // topright corner
- {0x1f, 0x1e, 0x1e, 0x1c, 0x1c, 0x18, 0x18, 0x10}, // bottomright corner
- {0x1f, 0x0f, 0x0f, 0x07, 0x07, 0x03, 0x03, 0x01}, // bottomleft corner
- {0x1f, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00}, // upper half block
- // Free to use
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
- } };
- if ( _nCharset == -1 )
- _nCharset = m_eCurrentCharset;
-
-
- if ( ( _nCharacter >= 64 ) || ( _nCharset >= CUSTOM_CHARSET_MAX ) )
- return 0;
-
- return arrCharsets[_nCharset][_nCharacter/8][_nCharacter%8];
-
-}
-
-
-CStdString ILCD::GetProgressBar(double tCurrent, double tTotal)
-{
- unsigned char cLCDsmallBlocks = 0xb0; //this char (0xAC-0xAF) will be translated in LCD.cpp to the smallBlock
- unsigned char cLCDbigBlock = 0xab; //this char will be translated in LCD.cpp to the right bigBlock
- int iBigBlock = 5; // a big block is a combination of 5 small blocks
- int iColumns = GetColumns()-2;
-
- if (iColumns > 0)
- {
- double dBlockSize = tTotal * 0.99 / iColumns / iBigBlock; // mult with 0.99 to show the last bar
-
- CStdString strProgressBar = "[";
- for (int i = 1;i <= iColumns;i++)
- {
- //set full blocks
- if (tCurrent >= i * iBigBlock * dBlockSize)
- {
- strProgressBar += char(cLCDbigBlock);
- }
- //set a part of a block at the end, when needed
- else if (tCurrent > (i - 1) * iBigBlock * dBlockSize + dBlockSize)
- {
- double tmpTest = tCurrent - ((int)(tCurrent / (iBigBlock * dBlockSize)) * iBigBlock * dBlockSize );
- tmpTest = (tmpTest / dBlockSize);
- if (tmpTest >= iBigBlock) tmpTest = iBigBlock - 1;
- strProgressBar += char(cLCDsmallBlocks - (int)tmpTest);
- }
- //fill up the rest with blanks
- else
- {
- strProgressBar += " ";
- }
- }
- strProgressBar += "]";
- g_charsetConverter.unknownToUTF8(strProgressBar);
- return strProgressBar;
- }
- else return "";
-}
-
-void ILCD::SetCharset( UINT _nCharset )
-{
- if ( _nCharset < CUSTOM_CHARSET_MAX )
- m_eCurrentCharset = _nCharset;
-}
-
-
-CStdString ILCD::GetBigDigit( UINT _nCharset, int _nDigit, UINT _nLine, UINT _nMinSize, UINT _nMaxSize, bool _bSpacePadding )
- // Get the partial digit(s) for the given line
- // that is needed to build a big character
-{
- UINT nCurrentSize;
- UINT nCurrentValue;
- UINT nValue;
- CStdString strDigits;
- CStdString strCurrentDigit;
-
-
-
- // If the charset doesn't match our
- // custom chars, return with nothing
- if ( ( _nCharset == CUSTOM_CHARSET_DEFAULT ) // The XBMC 'icon' charset
- || ( _nCharset >= CUSTOM_CHARSET_MAX ) )
- return "";
-
-
- unsigned int arrSizes[CUSTOM_CHARSET_MAX][2] = { { 1, 1 },
- { 1, 2 },
- { 2, 2 },
- { 3, 4 },
- };
-
- // Return with nothing if the linenumber falls outside our char 'height'
- if ( _nLine > arrSizes[ _nCharset ][1] )
- return "";
-
- // Define the 2x1 line characters
- unsigned char arrMedNumbers[10][2][1] = { {{0x0a}, {0x0c}}, // 0
- {{0x08}, {0x08}}, // 1 // 0xaf
- {{0x0e}, {0x0d}}, // 2
- {{0x09}, {0x0b}}, // 3
- {{0x0c}, {0x08}}, // 4
- {{0x0d}, {0x0b}}, // 5
- {{0x0d}, {0x0c}}, // 6
- {{0x0e}, {0x08}}, // 7
- {{0x0f}, {0x0c}}, // 8
- {{0x0f}, {0x0b}}, // 9
- };
-
- // Define the 2x2 bold line characters
- unsigned char arrMedBoldNumbers[10][2][2] = { { {0x0b, 0x0e}, // 0
- {0x0a, 0x0f}, }, // 0
- { {0x0e, 0x20}, // 1
- {0x0f, 0x09}, }, // 1
- { {0x08, 0x0d}, // 2
- {0x0c, 0x09}, }, // 2
- { {0x08, 0x0d}, // 3
- {0x09, 0x0f}, }, // 3
- { {0x0a, 0x0f}, // 4
- {0x20, 0x0e}, }, // 4
- { {0x0c, 0x08}, // 5
- {0x09, 0x0d}, }, // 5
- { {0x0b, 0x08}, // 6
- {0x0c, 0x0d}, }, // 6
- { {0x08, 0x0e}, // 7
- {0x20, 0x0e}, }, // 7
- { {0x0c, 0x0d}, // 8
- {0x0a, 0x0f}, }, // 8
- { {0x0c, 0x0d}, // 9
- {0x09, 0x0f}, }, // 9
- };
-
- // Define the 4 line characters (this could be more readable, but that may take up to 3 screens)
- unsigned char arrBigNumbers[10][4][3] = { { {0x08, 0xa0, 0x09}, // 0
- {0xa0, 0x20, 0xa0}, // 0
- {0xa0, 0x20, 0xa0}, // 0
- {0x0b, 0xa0, 0x0a}, }, // 0
- { {0x08, 0xa0, 0x20}, // 1
- {0x20, 0xa0, 0x20}, // 1
- {0x20, 0xa0, 0x20}, // 1
- {0xa0, 0xa0, 0xa0}, }, // 1
- { {0x08, 0xa0, 0x09}, // 2
- {0x20, 0x08, 0x0a}, // 2
- {0x08, 0x0a, 0x20}, // 2
- {0xa0, 0xa0, 0xa0}, }, // 2
- { {0x08, 0xa0, 0x09}, // 3
- {0x20, 0x20, 0xa0}, // 3
- {0x20, 0x0c, 0xa0}, // 3
- {0x0b, 0xa0, 0x0a}, }, // 3
- { {0xa0, 0x20, 0xa0}, // 4
- {0xa0, 0xa0, 0xa0}, // 4
- {0x20, 0x20, 0xa0}, // 4
- {0x20, 0x20, 0xa0}, }, // 4
- { {0xa0, 0xa0, 0xa0}, // 5
- {0xa0, 0x20, 0x20}, // 5
- {0x20, 0x0c, 0xa0}, // 5
- {0xa0, 0xa0, 0x0a}, }, // 5
- { {0x08, 0xa0, 0x09}, // 6
- {0xa0, 0x20, 0x20}, // 6
- {0xa0, 0x0c, 0xa0}, // 6
- {0x0b, 0xa0, 0x0a}, }, // 6
- { {0xa0, 0xa0, 0xa0}, // 7
- {0x20, 0x20, 0xa0}, // 7
- {0x20, 0x20, 0xa0}, // 7
- {0x20, 0x20, 0xa0}, }, // 7
- { {0x08, 0xa0, 0x09}, // 8
- {0xa0, 0x20, 0xa0}, // 8
- {0xa0, 0x0c, 0xa0}, // 8
- {0x0b, 0xa0, 0x0a}, }, // 8
- { {0x08, 0xa0, 0x09}, // 9
- {0xa0, 0x20, 0xa0}, // 9
- {0x20, 0x0c, 0xa0}, // 9
- {0x0b, 0xa0, 0x0a}, }, // 9
- };
-
-
- if ( _nDigit < 0 )
- {
- // TODO: Add a '-' sign
-
- _nDigit = -_nDigit;
- }
-
- // Set the current size, and value (base numer)
- nCurrentSize = 1;
- nCurrentValue = 10;
-
- // Build the characters
- strDigits = "";
-
- while ( ( nCurrentSize <= _nMinSize ) || ( (UINT)_nDigit >= nCurrentValue && (nCurrentSize <= _nMaxSize || _nMaxSize == 0) ) )
- {
- // Determine current value
- nValue = ( _nDigit % nCurrentValue ) / ( nCurrentValue / 10 );
-
- // Reset current digit
- strCurrentDigit = "";
- for ( UINT nX = 0; nX < arrSizes[ _nCharset ][0]; nX++ )
- {
- // Add a space if we have more than one digit, and the given
- // digit is smaller than the current value (base numer) we are dealing with
- if ( _bSpacePadding && ((nCurrentValue / 10) > (UINT)_nDigit ) && ( nCurrentSize > 1 ) )
- {
- strCurrentDigit += " ";
- }
- // TODO: make sure this is not hardcoded
- else
- {
- switch ( _nCharset )
- {
- case CUSTOM_CHARSET_SMALLCHAR:
- strCurrentDigit += arrMedNumbers[ nValue ][ _nLine ][ nX ];
- break;
- case CUSTOM_CHARSET_MEDIUMCHAR:
- strCurrentDigit += arrMedBoldNumbers[ nValue ][ _nLine ][ nX ];
- break;
- case CUSTOM_CHARSET_BIGCHAR:
- strCurrentDigit += arrBigNumbers[ nValue ][ _nLine ][ nX ];
- break;
- }
- }
-
- }
- // Add as partial string
- // Note that is it reversed, I.E. 'LSB' is added first
- strDigits = strCurrentDigit + strDigits;
-
- // Increase the size and base number
- nCurrentSize++;
- nCurrentValue *= 10;
- }
-
- // Update the character mode
- m_eCurrentCharset = _nCharset;
-
- // Return the created digit part
- return strDigits;
-}
-
-void ILCD::Initialize()
-{
- CStdString lcdPath;
- lcdPath = g_settings.GetUserDataItem("LCD.xml");
- LoadSkin(lcdPath);
- m_eCurrentCharset = CUSTOM_CHARSET_DEFAULT;
- m_disableOnPlay = DISABLE_ON_PLAY_NONE;
- m_eCurrentCharset = CUSTOM_CHARSET_DEFAULT;
-
- // Big number blocks, used for screensaver clock
- // Note, the big block isn't here, it's in the LCD's ROM
-}
-
-bool ILCD::IsConnected()
-{
- return true;
-}
-
-void ILCD::LoadSkin(const CStdString &xmlFile)
-{
- Reset();
-
- bool condensed = TiXmlBase::IsWhiteSpaceCondensed();
- TiXmlBase::SetCondenseWhiteSpace(false);
- CXBMCTinyXML doc;
- if (!doc.LoadFile(xmlFile.c_str()))
- {
- CLog::Log(LOGERROR, "Unable to load LCD skin file %s", xmlFile.c_str());
- TiXmlBase::SetCondenseWhiteSpace(condensed);
- return;
- }
-
- TiXmlElement *element = doc.RootElement();
- if (!element || strcmp(element->Value(), "lcd") != 0)
- {
- TiXmlBase::SetCondenseWhiteSpace(condensed);
- return;
- }
-
- // load our settings
- CStdString disableOnPlay;
- XMLUtils::GetString(element, "disableonplay", disableOnPlay);
- if (disableOnPlay.Find("video") != -1)
- m_disableOnPlay |= DISABLE_ON_PLAY_VIDEO;
- if (disableOnPlay.Find("music") != -1)
- m_disableOnPlay |= DISABLE_ON_PLAY_MUSIC;
-
- TiXmlElement *mode = element->FirstChildElement();
- while (mode)
- {
- if (strcmpi(mode->Value(), "music") == 0)
- { // music mode
- LoadMode(mode, LCD_MODE_MUSIC);
- }
- else if (strcmpi(mode->Value(), "video") == 0)
- { // video mode
- LoadMode(mode, LCD_MODE_VIDEO);
- }
- else if (strcmpi(mode->Value(), "general") == 0)
- { // general mode
- LoadMode(mode, LCD_MODE_GENERAL);
- }
- else if (strcmpi(mode->Value(), "navigation") == 0)
- { // navigation mode
- LoadMode(mode, LCD_MODE_NAVIGATION);
- }
- else if (strcmpi(mode->Value(), "screensaver") == 0)
- { // screensaver mode
- LoadMode(mode, LCD_MODE_SCREENSAVER);
- }
- else if (strcmpi(mode->Value(), "xbelaunch") == 0)
- { // xbe launch mode
- LoadMode(mode, LCD_MODE_XBE_LAUNCH);
- }
- else if (strcmpi(mode->Value(), "pvrtv") == 0)
- { // pvr tv mode
- LoadMode(mode, LCD_MODE_PVRTV);
- }
- else if (strcmpi(mode->Value(), "pvrradio") == 0)
- { // pvr radio mode
- LoadMode(mode, LCD_MODE_PVRRADIO);
- }
- mode = mode->NextSiblingElement();
- }
- TiXmlBase::SetCondenseWhiteSpace(condensed);
-}
-
-void ILCD::LoadMode(TiXmlNode *node, LCD_MODE mode)
-{
- if (!node) return;
- TiXmlNode *line = node->FirstChild("line");
- while (line)
- {
- if (line->FirstChild())
- m_lcdMode[mode].push_back(CGUIInfoLabel(line->FirstChild()->Value()));
- line = line->NextSibling("line");
- }
-}
-
-void ILCD::Reset()
-{
- m_disableOnPlay = DISABLE_ON_PLAY_NONE;
- for (unsigned int i = 0; i < LCD_MODE_MAX; i++)
- m_lcdMode[i].clear();
-}
-
-void ILCD::Render(LCD_MODE mode)
-{
- unsigned int outLine = 0;
- unsigned int inLine = 0;
- while (outLine < 4 && inLine < m_lcdMode[mode].size())
- {
- CStdString line = m_lcdMode[mode][inLine++].GetLabel(0);
- CGUITextLayout::Filter(line);
- if (!line.IsEmpty())
- {
- g_charsetConverter.utf8ToStringCharset(line);
- SetLine(outLine++, line);
- }
- }
- // fill remainder with empty space
- while (outLine < 4)
- SetLine(outLine++, "");
-}
-
-void ILCD::DisableOnPlayback(bool playingVideo, bool playingAudio)
-{
- if ((playingVideo && (m_disableOnPlay & DISABLE_ON_PLAY_VIDEO)) ||
- (playingAudio && (m_disableOnPlay & DISABLE_ON_PLAY_MUSIC)))
- SetBackLight(0);
-}
+++ /dev/null
-#pragma once
-
-/*
- * Copyright (C) 2005-2012 Team XBMC
- * http://www.xbmc.org
- *
- * This Program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This Program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with XBMC; see the file COPYING. If not, see
- * <http://www.gnu.org/licenses/>.
- *
- */
-
-#include "threads/Thread.h"
-#include "utils/XBMCTinyXML.h"
-#include "guilib/GUILabelControl.h" // for CInfoPortion
-
-class TiXmlNode;
-
-#define MAX_ROWS 20
-
-class ILCD : public CThread
-{
-private:
- enum DISABLE_ON_PLAY { DISABLE_ON_PLAY_NONE = 0, DISABLE_ON_PLAY_VIDEO = 1, DISABLE_ON_PLAY_MUSIC = 2 };
-
-public:
- enum LCD_MODE {
- LCD_MODE_GENERAL = 0,
- LCD_MODE_MUSIC,
- LCD_MODE_VIDEO,
- LCD_MODE_NAVIGATION,
- LCD_MODE_SCREENSAVER,
- LCD_MODE_XBE_LAUNCH,
- LCD_MODE_PVRTV,
- LCD_MODE_PVRRADIO,
- LCD_MODE_MAX
- };
- enum CUSTOM_CHARSET {
- CUSTOM_CHARSET_DEFAULT = 0,
- CUSTOM_CHARSET_SMALLCHAR,
- CUSTOM_CHARSET_MEDIUMCHAR,
- CUSTOM_CHARSET_BIGCHAR,
- CUSTOM_CHARSET_MAX
- };
- virtual void Initialize();
- virtual bool IsConnected();
- virtual void Stop() = 0;
- virtual void Suspend() = 0;
- virtual void Resume() = 0;
- virtual void SetBackLight(int iLight) = 0;
- virtual void SetContrast(int iContrast) = 0;
- virtual int GetColumns() = 0;
- virtual int GetRows() = 0;
- virtual void SetLine(int iLine, const CStdString& strLine) = 0;
- virtual void DisableOnPlayback(bool playingVideo, bool playingMusic);
- CStdString GetProgressBar(double tCurrent, double tTotal);
- void SetCharset( UINT nCharset );
- CStdString GetBigDigit( UINT _nCharset, int _nDigit, UINT _nLine, UINT _nMinSize, UINT _nMaxSize, bool _bSpacePadding );
- void LoadSkin(const CStdString &xmlFile);
- void Reset();
- void Render(LCD_MODE mode);
- ILCD() : CThread("ILCD"),
- m_disableOnPlay(DISABLE_ON_PLAY_NONE),
- m_eCurrentCharset(CUSTOM_CHARSET_DEFAULT) {}
-protected:
- virtual void Process() = 0;
- void StringToLCDCharSet(CStdString& strText);
- unsigned char GetLCDCharsetCharacter( UINT _nCharacter, int _nCharset=-1);
- void LoadMode(TiXmlNode *node, LCD_MODE mode);
-
-private:
- int m_disableOnPlay;
-
- std::vector<CGUIInfoLabel> m_lcdMode[LCD_MODE_MAX];
- UINT m_eCurrentCharset;
-};
-extern ILCD* g_lcd;
+++ /dev/null
-/*
- * Copyright (C) 2005-2012 Team XBMC
- * http://www.xbmc.org
- *
- * This Program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This Program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with XBMC; see the file COPYING. If not, see
- * <http://www.gnu.org/licenses/>.
- *
- */
-
-#include "LCDFactory.h"
-#include "../linux/XLCDproc.h"
-
-ILCD* g_lcd = NULL;
-CLCDFactory::CLCDFactory(void)
-{}
-
-CLCDFactory::~CLCDFactory(void)
-{}
-
-ILCD* CLCDFactory::Create()
-{
-#ifdef _LINUX
- return new XLCDproc();
-#endif
-}
+++ /dev/null
-#pragma once
-
-/*
- * Copyright (C) 2005-2012 Team XBMC
- * http://www.xbmc.org
- *
- * This Program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This Program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with XBMC; see the file COPYING. If not, see
- * <http://www.gnu.org/licenses/>.
- *
- */
-
-#include "LCD.h"
-class CLCDFactory
-{
-public:
- CLCDFactory(void);
- virtual ~CLCDFactory(void);
- ILCD* Create();
-};
-
JSONVariantWriter.cpp \
LabelFormatter.cpp \
LangCodeExpander.cpp \
- LCD.cpp \
- LCDFactory.cpp \
log.cpp \
md5.cpp \
Observer.cpp \