111FALSEFALSEFALSETRUEFALSEFALSEFALSE11181c-1FALSEFALSEFALSE111FALSEFALSEFALSETRUEFALSEFALSEFALSE11181 Welcome to the Media Server#-1FALSEFALSEFALSE111FALSE111FALSEFALSEFALSETRUEFALSEFALSEFALSE1122115000FALSEFALSEFALSE42984297111FALSEG0x1YUABBAQEIAYJCBLmW6GwubJBCAAAAD0obm9uZSkAAAAAAAAAAAAAAgAAAAAAAAAAAAAALwAA AAgAAABBYnNEYXRlAAgAAABDYWxZZWFyAAkAAABDYWxNb250aAAHAAAAQ2FsRGF5AAgAAABDYWxI b3VyAAcAAABDYWxNaW4ABwAAAENhbFNlYwALAAAASnVsaWFuRGF0ZQANAAAARGF5T2ZXZWVrTnVt AA0AAABMZWFwWWVhckZsYWcADQAAAEVycm9yTWVzc2FnZQALAAAATWluQWJzRGF0ZQARAAAARGF5 c0luT3JkaW5hcnlZcgARAAAARGF5c0luMDA0WXJHcm91cAARAAAARGF5c0luMTAwWXJHcm91cAAR AAAARGF5c0luNDAwWXJHcm91cAALAAAATWF4QWJzRGF0ZQAIAAAASkFOZGF5cwAJAAAARkVCc2hv cnQACAAAAE1BUmRheXMACAAAAEFQUmRheXMACAAAAE1BWWRheXMACAAAAEpVTmRheXMACAAAAEpV TGRheXMACAAAAEFVR2RheXMACAAAAFNFUGRheXMACAAAAE9DVGRheXMACAAAAE5PVmRheXMACAAA AERFQ2RheXMACAAAAEZFQmRheXMADwAAAE51bTQwMFlyR3JvdXBzAA8AAABOdW00MDBZck1vZFly cwAPAAAATnVtMTAwWXJHcm91cHMADwAAAE51bTEwMFlyTW9kWXJzAA8AAABOdW0wMDRZckdyb3Vw cwAPAAAATnVtMDA0WXJNb2RZcnMADwAAAE51bTAwMVlyR3JvdXBzAA8AAABOdW0wMDFZck1vZFly cwAGAAAAc3RyaXAACgAAAElzX0xlYXBZcgAHAAAARG9XbnVtAAoAAABCdW1wTW9udGgAEAAAAEFi c0RhdGUyQ2FsRGF0ZQAQAAAAQ2FsRGF0ZTJBYnNEYXRlABAAAABBYnNEYXRlMkFic1NlY3MAEAAA AENhbFRpbWUyQWJzU2VjcwAQAAAAQWJzU2VjczJDYWxUaW1lAAAAAAAJAAAACAAAAD0obm9uZSkA JwAAAAEAAAAABwAAAAAAAAAAAAAAAwAAAAgAAABzdHJmaW5kAAIAAAAuAAcAAABzdHJzdWIAAAAA AAAAAAAUAAAARAAAAAwAAAALAAAARwAAAAYAAIAGAACAQgABAFIAAABLAAAApwEAgIwAAAALAAAA BgAAgEsAAACY//9/QgABABIAAAALAAAAgQAAAAAAAAAIAAAAPShub25lKQAwAAAAAQAAAAAJAAAA AAAAAAAAAAADAAAABgAAAHN0cmlwAAQAAABtb2QACQAAAElzTGVhcFlyAAAAAAAAAAAAMAAAAMb/ /3/G//9/xv//f8b//38MAAAATAAAAAsAAADGYwCAwj8DAEKAAgBSAAAASwAAAMb//3+gAACABgAA gJMAAADqBgCADAAAAEwAAABLAAAAxhgAgMI/AwBCgAIAkgAAAIsAAADG//9/oAAAgMb//3+TAAAA qgMAgAwAAABMAAAAiwAAAMYAAIDCPwMAQoACANIAAADLAAAAxv//f6AAAIAGAACAkwAAAGoAAIDG //9/kwAAAIwAAABBAQAAAAAAAAgAAAA9KG5vbmUpAEIAAAABAAAAAAUAAAAAAAAAAAAAAAMAAAAI AAAAZkRvV251bQAGAAAAc3RyaXAABAAAAG1vZAAAAAAAAAAAAA0AAABMAAAAjAAAAAsAAACGAQCA wj8BAEKAAAATAAAADAAAABgAAIATAAAADAAAAEEAAAAAAAAACAAAAD0obm9uZSkASwAAAAEAAAAA AwAAAAAAAAAAAAAAAgAAAAkAAABDYWxNb250aAAHAAAAQ2FsRGF5AAAAAAAAAAAACAAAAAwAAAAY AACAEwAAAEwAAAALAAAAGQAAAFMAAAAAAAAACAAAAD0obm9uZSkAUAAAAAAAAAAABAAAAAAAAAAA AAAAIwAAAA0AAABFcnJvck1lc3NhZ2UADwAAAE51bTQwMFlyR3JvdXBzAAYAAABzdHJpcAAIAAAA QWJzRGF0ZQARAAAARGF5c0luNDAwWXJHcm91cAAPAAAATnVtNDAwWXJNb2RZcnMABAAAAG1vZAAL AAAASnVsaWFuRGF0ZQAIAAAAQ2FsWWVhcgAPAAAATnVtMTAwWXJHcm91cHMAEQAAAERheXNJbjEw MFlyR3JvdXAADwAAAE51bTEwMFlyTW9kWXJzAA8AAABOdW0wMDRZckdyb3VwcwARAAAARGF5c0lu MDA0WXJHcm91cAAPAAAATnVtMDA0WXJNb2RZcnMADwAAAE51bTAwMVlyR3JvdXBzABEAAABEYXlz SW5PcmRpbmFyeVlyAA8AAABOdW0wMDFZck1vZFlycwANAAAATGVhcFllYXJGbGFnAAoAAABJc19M ZWFwWXIACAAAAEZFQmRheXMACQAAAEZFQnNob3J0AAkAAABDYWxNb250aAAHAAAAQ2FsRGF5AAgA AABKQU5kYXlzAAoAAABCdW1wTW9udGgACAAAAE1BUmRheXMACAAAAEFQUmRheXMACAAAAE1BWWRh eXMACAAAAEpVTmRheXMACAAAAEpVTGRheXMACAAAAEFVR2RheXMACAAAAFNFUGRheXMACAAAAE9D VGRheXMACAAAAE5PVmRheXMAAAAAAAAAAADYAAAARAAAABMAAACMAAAAzAAAAAwBAAAbAAAAQgAA AFMAAACMAAAAjAEAAMwAAAAMAQAAwr8AAEIAAABTAQAATAEAAMb//3+gAQCARlsAgNMBAADGYwCA TAAAABoAAAATAgAA6hsAgIwAAABMAQAAjAIAABsAAABCAAAAUwIAAIwAAACMAQAATAEAAIwCAADC vwAAQgAAANMCAADMAgAAxv//f6ACAIAGWwCA0wEAAMZjAIBMAAAAGgAAAMYYAIBMAgAAGgAAABcA AAATAgAAKhUAgIwAAADMAgAATAMAABsAAABCAAAAEwMAAIwAAACMAQAAzAIAAEwDAADCvwAAQgAA AJMDAACMAwAAxv//f6ADAIBGWwCA0wEAAMZjAIBMAAAAGgAAAMYYAIBMAgAAGgAAABcAAADGAACA DAMAABoAAAAXAAAAEwIAAGoNAICMAAAAjAMAAAwEAAAbAAAAQgAAANMDAACMAAAAjAEAAIwDAAAM BAAAwr8AAEIAAABTBAAATAQAAMb//3+gBACABlsAgNMBAADGYwCATAAAABoAAADGGACATAIAABoA AAAXAAAAxgAAgAwDAAAaAAAAFwAAAAYAAIDMAwAAGgAAABcAAAATAgAAqgQAgEwEAADTAQAAxmMA gEwAAAAaAAAAxhgAgEwCAAAaAAAAFwAAAMYAAIAMAwAAGgAAABcAAAAGAACAzAMAABoAAAAXAAAA GAAAgBMCAADMBAAADAIAAEIAAACTBAAATAUAAIwEAAAXAAAAEwUAAAYAAICTBQAAzAEAANMFAADM BQAADAYAAKMPAIBMBgAADAYAAAIAAADMBQAADAUAACMOAIBMBgAADAUAAAIAAADMBQAAjAYAAKMM AIBMBgAAjAYAAAIAAADMBQAAzAYAACMLAIBMBgAAzAYAAAIAAADMBQAADAcAAKMJAIBMBgAADAcA AAIAAADMBQAATAcAACMIAIBMBgAATAcAAAIAAADMBQAAjAcAAKMGAIBMBgAAjAcAAAIAAADMBQAA zAcAACMFAIBMBgAAzAcAAAIAAADMBQAADAgAAKMDAIBMBgAADAgAAAIAAADMBQAATAgAACMCAIBM BgAATAgAAAIAAADMBQAAjAgAAKMAAIBMBgAAjAgAAAIAAAAAAAAACAAAAD0obm9uZSkApAAAAAAA AAAABQAAAAAAAAAAAAAAJQAAAA0AAABFcnJvck1lc3NhZ2UACQAAAENhbE1vbnRoAB0AAABNb250 aCBudW1iZXIgaXMgbGVzcyB0aGFuIDAxAB0AAABNb250aCBudW1iZXIgZ3JlYXRlciB0aGFuIDEy AAgAAABDYWxZZWFyAA8AAABOdW00MDBZckdyb3VwcwAGAAAAc3RyaXAADwAAAE51bTQwMFlyTW9k WXJzAAQAAABtb2QADwAAAE51bTEwMFlyR3JvdXBzAA8AAABOdW0xMDBZck1vZFlycwAPAAAATnVt MDA0WXJHcm91cHMADwAAAE51bTAwNFlyTW9kWXJzAA8AAABOdW0wMDFZckdyb3VwcwAIAAAAQWJz RGF0ZQARAAAARGF5c0luNDAwWXJHcm91cAARAAAARGF5c0luMTAwWXJHcm91cAARAAAARGF5c0lu MDA0WXJHcm91cAARAAAARGF5c0luT3JkaW5hcnlZcgANAAAATGVhcFllYXJGbGFnAAoAAABJc19M ZWFwWXIACAAAAEZFQmRheXMACQAAAEZFQnNob3J0AAsAAABKdWxpYW5EYXRlAAcAAABDYWxEYXkA CAAAAEpBTmRheXMACAAAAE1BUmRheXMACAAAAEFQUmRheXMACAAAAE1BWWRheXMACAAAAEpVTmRh eXMACAAAAEpVTGRheXMACAAAAEFVR2RheXMACAAAAFNFUGRheXMACAAAAE9DVGRheXMACAAAAE5P VmRheXMACwAAAE1heEFic0RhdGUAFwAAAERhdGUgcmVzdWx0IGlzIGludmFsaWQAAAAAAAAAAACx AAAARAAAABMAAABEAAAATAAAAAYAAIDlAACAhwAAABMAAABBAAAAagEAgEwAAADGAgCAowAAgMcA AAATAAAAQQAAAAwBAACY//9/EgAAAIwBAAALAAAAxmMAgBsAAABCgAAAUwEAAIwBAAAMAgAACwAA AMZjAIDCPwEAQoAAANMBAACMAQAAzAEAAMYYAIAbAAAAQoAAAFMCAACMAQAADAIAAMwBAADGGACA wj8BAEKAAACTAgAAjAEAAIwCAADGAACAGwAAAEKAAADTAgAAjAEAAAwCAACMAgAAxgAAgMI/AQBC gAAAEwMAAIwBAAAMAwAABgAAgBsAAABCgAAAUwMAAEwBAADMAwAAGgAAAEwCAAAMBAAAGgAAABcA AADMAgAATAQAABoAAAAXAAAATAMAAIwEAAAaAAAAFwAAAJMDAAAMBQAADAEAAEKAAADTBAAAjAUA AMwEAAAXAAAAUwUAAAwGAADTBQAATAAAAAYAAIDjAACAzAUAAEwGAAAXAAAA0wUAAEwAAABGAACA 4wAAgMwFAABMBQAAFwAAANMFAABMAAAAhgAAgOMAAIDMBQAAjAYAABcAAADTBQAATAAAAMYAAIDj AACAzAUAAMwGAAAXAAAA0wUAAEwAAAAGAQCA4wAAgMwFAAAMBwAAFwAAANMFAABMAAAARgEAgOMA AIDMBQAATAcAABcAAADTBQAATAAAAIYBAIDjAACAzAUAAIwHAAAXAAAA0wUAAEwAAADGAQCA4wAA gMwFAADMBwAAFwAAANMFAABMAAAABgIAgOMAAIDMBQAADAgAABcAAADTBQAATAAAAEYCAIDjAACA zAUAAEwIAAAXAAAA0wUAAEwAAACGAgCA4wAAgMwFAACMCAAAFwAAANMFAACMAwAAzAUAABcAAACT AwAAjAMAAMwIAABjAACABwkAABMAAAAAAAAACAAAAD0obm9uZSkA2QAAAAAAAAAAAgAAAAAAAAAA AAAAAgAAAAkAAABmQWJzU2VjcwAIAAAAQWJzRGF0ZQAAAAAAAAAAAAsAAABMAAAAxgUAgBoAAADG DgCAGgAAAMYOAIAaAAAAEwAAAAwAAAABAAAAAAAAAAgAAAA9KG5vbmUpAN4AAAADAAAAAAYAAAAA AAAAAAAAAAEAAAAJAAAAZkFic1NlY3MAAAAAAAAAAAANAAAAiwAAAEsAAADGDgCAGgAAABcAAAAL AAAAxoMDgBoAAAAXAAAAEwAAAAwAAADBAAAAAAAAAAgAAAA9KG5vbmUpAOMAAAABAAAAAAkAAAAA AAAAAAAAAAMAAAAGAAAAc3RyaXAACAAAAENhbFRpbWUAAgAAADoAAAAAAAAAAAArAAAAxv//f8b/ /3/G//9/DAAAAAsAAADGX1SAGwAAAEIAAgBSAAAADAAAAAsAAABLAAAAxl9UgBoAAAAZAAAAxoMD gBsAAABCAAIAkgAAAAwAAAALAAAASwAAAMZfVIAaAAAAiwAAAMaDA4AaAAAAFwAAABkAAADGDgCA GwAAAEIAAgDSAAAASwAAAIcAAACLAAAAhwAAAMsAAABdAQAAUwAAAEwAAAABAQAAAAAAAF8AAADG //9/EwAAAMb//39TAAAAxv//f5MAAADG//9/0wAAAMb//38TAQAAxv//f1MBAADG//9/kwEAAMb/ /3/TAQAAxv//fxMCAADG//9/UwIAAEQAAACTAgAABgAAgNMCAAAGWwCAEwMAAAZtAYBTAwAAxqoj gJMDAAAGrI6A0wMAAIZ27o0TBAAAhgcAgFMEAADGBgCAkwQAAIYHAIDTBAAARgcAgBMFAACGBwCA UwUAAEYHAICTBQAAhgcAgNMFAACGBwCAEwYAAEYHAIBTBgAAhgcAgJMGAABGBwCA0wYAAIYHAIAT BwAAxv//f1MHAADG//9/xv//f9MHAACTBwAAxv//f8b//39TCAAAEwgAAMb//3/G//9/0wgAAJMI AADG//9/xv//f1MJAAATCQAAMAAAAJMJAAAwgAAA0wkAADAAAQATCgAAMIABAFMKAAAwAAIAkwoA ADCAAgDTCgAAMAADABMLAAAwgAMAUwsAADAABACTCwAAAAAAAA==FALSEFALSETRUEFALSEFALSEFALSE1434AbsDate = 0 CalYear = 0 CalMonth = 0 CalDay = 0 CalHour = 0 CalMin = 0 CalSec = 0 JulianDate = 0 DayOfWeekNum = 0 LeapYearFlag = 0 ErrorMessage = nil -- MinAbsDate = 1 DaysInOrdinaryYr = 365 DaysIn004YrGroup = 1461 -- DaysInOrdinaryYr * 4) + 1} DaysIn100YrGroup = 36524 -- DaysIn004YrGroup * 25) - 1} DaysIn400YrGroup = 146097 -- DaysIn100YrGroup * 4) + 1} MaxAbsDate = 3652059 -- DECEMBER 31, 9999 } -- JANdays = 31 FEBshort = 28 MARdays = 31 APRdays = 30 MAYdays = 31 JUNdays = 30 JULdays = 31 AUGdays = 31 SEPdays = 30 OCTdays = 31 NOVdays = 30 DECdays = 31 -- FEBdays = 0 Num400YrGroups , Num400YrModYrs = 0 , 0 Num100YrGroups , Num100YrModYrs = 0 , 0 Num004YrGroups , Num004YrModYrs = 0 , 0 Num001YrGroups , Num001YrModYrs = 0 , 0 -- function strip(x) local y = nil y = strfind(x, ".",1,1) if y ~= nil then x = strsub(x,1,y - 1) end return(x) end -- function Is_LeapYr(fCalYear) local Mod400 , Mod100 , Mod004 , Mod001 = 0 , 0 , 0 , 0 Mod400 = strip(mod(fCalYear, 400)) if Mod400 == 0 then IsLeapYr = 1 else Mod100 = strip(mod(Mod400,100)) if Mod100 == 0 then IsLeapYr = 0 else Mod004 = strip(mod(Mod100 ,4)) if Mod004 == 0 then IsLeapYr = 1 else IsLeapYr = 0 end end end return(IsLeapYr) end -- function DoWnum (fAbsDate) -- {Calculate the day of the week from the absolute date} -- {add 1, so that DoWnum is in range 1..7 rather than 0..6} -- {DoWnum 1 is Sunday, DoWnum 2 is Monday ... DoWnum 7 is Saturday} fDoWnum = strip(mod(fAbsDate,7)) fDoWnum = fDoWnum + 1 return(fDoWnum) end -- function BumpMonth (fMonthdays) CalMonth = CalMonth + 1 CalDay = CalDay - fMonthdays end -- function AbsDate2CalDate() --{ Convert an absolute date into a calendar date } ErrorMessage = nil Num400YrGroups = strip(AbsDate / DaysIn400YrGroup) Num400YrModYrs = strip(mod(AbsDate ,DaysIn400YrGroup)) if Num400YrModYrs == 0 then --{absolute date fits exactly into a 400-year group} JulianDate = 366 CalYear = (400 * Num400YrGroups) else Num100YrGroups = strip(Num400YrModYrs / DaysIn100YrGroup) Num100YrModYrs = strip(mod(Num400YrModYrs,DaysIn100YrGroup)) if Num100YrModYrs == 0 then -- {absolute date fits exactly into a 100-year group} JulianDate = 365 CalYear = (400 * Num400YrGroups) + (100 * Num100YrGroups) else Num004YrGroups = strip(Num100YrModYrs / DaysIn004YrGroup) Num004YrModYrs = strip(mod(Num100YrModYrs,DaysIn004YrGroup)) if Num004YrModYrs == 0 then -- {absolute date fits exactly into a 4-year group} JulianDate = 366 CalYear = (400 * Num400YrGroups) + (100 * Num100YrGroups) + ( 4 * Num004YrGroups) else Num001YrGroups = strip(Num004YrModYrs / DaysInOrdinaryYr) Num001YrModYrs = strip(mod(Num004YrModYrs, DaysInOrdinaryYr)) if Num001YrModYrs == 0 then -- {absolute date fits exactly into a 1-year group} JulianDate = 365 CalYear = (400 * Num400YrGroups) + (100 * Num100YrGroups) + ( 4 * Num004YrGroups) + ( 1 * Num001YrGroups) else -- {absolute date doesn't fit exactly into any group} JulianDate = Num001YrModYrs -- {Add 1 to convert a year count into an ordinal year} -- {E.g. Absolute day 5 is Jan. 5 of year 1, not year 0} CalYear = (400 * Num400YrGroups) + (100 * Num100YrGroups) + ( 4 * Num004YrGroups) + ( 1 * Num001YrGroups) + 1 end end end end -- {determine number of days in February in this year} LeapYearFlag = Is_LeapYr(CalYear) FEBdays = FEBshort + LeapYearFlag -- {Initialize month number to month #1 } CalMonth = 1 -- {Initialize day-of-month to Julian date} CalDay = JulianDate -- {Subtract days of elapsed months from day-of-month to get final day-of-month. -- At the same time, increment month-number for each elapsed month.} if CalDay > JANdays then BumpMonth(JANdays) if CalDay > FEBdays then BumpMonth(FEBdays) if CalDay > MARdays then BumpMonth(MARdays) if CalDay > APRdays then BumpMonth(APRdays) if CalDay > MAYdays then BumpMonth(MAYdays) if CalDay > JUNdays then BumpMonth(JUNdays) if CalDay > JULdays then BumpMonth(JULdays) if CalDay > AUGdays then BumpMonth(AUGdays) if CalDay > SEPdays then BumpMonth(SEPdays) if CalDay > OCTdays then BumpMonth(OCTdays) if CalDay > NOVdays then BumpMonth(NOVdays) end end end end end end end end end end end end -- function CalDate2AbsDate() -- { Convert a calendar date into an absolute date } ErrorMessage = nil local CalYearx = nil -- {check input calendar date for an invalid month number} if CalMonth < 1 then ErrorMessage = "Month number is less than 01" return elseif CalMonth > 12 then ErrorMessage = "Month number greater than 12" return end -- Subtract 1 to convert an ordinal year number into a count of years -- elapsed since "the start of time". Examples: -- During year ONE, ZERO years have actually elapsed from day one. -- During year TWO, ONE year has actually elapsed from day one. -- CalYearx = CalYear - 1 Num400YrGroups = strip(CalYearx / 400) Num400YrModYrs = strip(mod(CalYearx,400)) Num100YrGroups = strip(Num400YrModYrs / 100) Num100YrModYrs = strip(mod(Num400YrModYrs,100)) Num004YrGroups = strip(Num100YrModYrs / 4) Num004YrModYrs = strip(mod(Num100YrModYrs,4)) Num001YrGroups = strip(Num004YrModYrs / 1) --{Initialize absolute date to number of days elapsed in previous years} AbsDate = ( Num400YrGroups * DaysIn400YrGroup ) + ( Num100YrGroups * DaysIn100YrGroup ) + ( Num004YrGroups * DaysIn004YrGroup ) + ( Num001YrGroups * DaysInOrdinaryYr ) -- {determine number of days in February in this year} LeapYearFlag = Is_LeapYr(CalYear) FEBdays = FEBshort + LeapYearFlag -- {Initialize Julian date to days elapsed in this month} JulianDate = CalDay -- {add days of previous months in this year to get final Julian date} if CalMonth > 1 then JulianDate = JulianDate + JANdays end if CalMonth > 2 then JulianDate = JulianDate + FEBdays end if CalMonth > 3 then JulianDate = JulianDate + MARdays end if CalMonth > 4 then JulianDate = JulianDate + APRdays end if CalMonth > 5 then JulianDate = JulianDate + MAYdays end if CalMonth > 6 then JulianDate = JulianDate + JUNdays end if CalMonth > 7 then JulianDate = JulianDate + JULdays end if CalMonth > 8 then JulianDate = JulianDate + AUGdays end if CalMonth > 9 then JulianDate = JulianDate + SEPdays end if CalMonth > 10 then JulianDate = JulianDate + OCTdays end if CalMonth > 11 then JulianDate = JulianDate + NOVdays end -- {add Julian date to days of previous years to get final absolute date} AbsDate = AbsDate + JulianDate if AbsDate > MaxAbsDate then ErrorMessage = "Date result is invalid" end end function AbsDate2AbsSecs() fAbsSecs = AbsDate * 24 * 60 * 60 return (fAbsSecs) end -- function CalTime2AbsSecs(fCalHour, fCalMin, fCalSec) fAbsSecs = fCalSec + (fCalMin * 60) + (fCalHour * 3600) return(fAbsSecs) end -- function AbsSecs2CalTime(fAbsSecs) local NumOfDays, NumOfHours, NumOfMin = 0 , 0 , 0 NumOfDays = strip(fAbsSecs / 86400) NumOfHours = strip((fAbsSecs - (NumOfDays * 86400)) / 3600) NumOfMin = strip((fAbsSecs - ((NumOfDays * 86400) + (NumOfHours * 3600))) / 60) CalTime = NumOfDays..":"..NumOfHours..":"..NumOfMin return(CalTime) end FALSEFALSEFALSE111FALSE111FALSEFALSEFALSETRUEFALSEFALSEFALSE1430E:\Program Files\Frey Technologies\SageTV\sched.csvFALSEFALSEFALSE4361222FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE7FALSEFALSEFALSE1413FALSEFALSEFALSE4413111FALSE111FALSEG0x1YUABBAQEIAYJCBLmW6GwubJBCAAAAD0obm9uZSkAAAAAAAAAAAAADQAAAAAAAAAAAAAARgAA AAgAAABDYWxZZWFyAAkAAAB0b251bWJlcgAFAAAAZGF0ZQADAAAAJVkACQAAAENhbE1vbnRoAAMA AAAlbQAHAAAAQ2FsRGF5AAMAAAAlZAAIAAAAQ2FsSG91cgADAAAAJUgABwAAAENhbE1pbgADAAAA JU0ACAAAAEFic0RhdGUAEAAAAENhbERhdGUyQWJzRGF0ZQALAAAAQ2FsQWJzRGF0ZQAIAAAAY2Fs c2VjcwAQAAAAQWJzRGF0ZTJBYnNTZWNzAAsAAABSZWNvcmRpbmcxAAsAAABSZWNvcmRpbmcyAAkA AABzYWdlcGF0aAArAAAARTpcUHJvZ3JhbSBGaWxlc1xGcmV5IFRlY2hub2xvZ2llc1xTYWdldHZc AAoAAABzY2hlZGZpbGUACgAAAHNjaGVkLmNzdgANAAAAc2NoZWRmaWxlbG9jAAoAAABzY2hlZGhk bGUACQAAAG9wZW5maWxlAAIAAAByAAoAAABzY2hlZGxpbmUABQAAAHJlYWQABAAAAGZsZAAIAAAA ZW5jb2RlcgAGAAAAc3RhcnQABQAAAHN0b3AABwAAAGxlbmd0aAAHAAAAY2huYW1lAAYAAABjaG51 bQAGAAAAdGl0bGUABAAAAG1hbgAEAAAAZmF2AAIAAAB5AAcAAABpbmRleDAABwAAAGluZGV4MQAK AAAAUmVjQ2huYW1lAAIAAAAgAAkAAABSZWNUaXRsZQAPAAAASW50ZW50aW9uYWxSZWMACAAAAHN0 cmZpbmQAAwAAACUJAAcAAABzdHJsZW4ABwAAAHN0cnN1YgAIAAAAUmVjWWVhcgAFAAAAJWQrLwAJ AAAAUmVjTW9udGgABQAAAC8lZCsABwAAAFJlY0RheQAFAAAAJWQrOgAIAAAAUmVjSG91cgAFAAAA OiVkKwAHAAAAUmVjTWluAAsAAABSZWNBYnNEYXRlAAgAAAByZWNzZWNzAAsAAABsZW5ndGhzZWNz ABAAAABDYWxUaW1lMkFic1NlY3MABQAAAHRydWUACQAAAFJlY0NobnVtAA0AAABUcmlnZ2VyRXZl bnQADQAAAEVyYXNlRGlzcGxheQANAAAAUmVjb3JkaW5nIG9uABEAAABUaW1lLXNoaWZ0aW5nIG9u AAoAAABjbG9zZWZpbGUAAAAAAAAAAABRAQAATAAAAIwAAADHAAAAwr8AAEIAAAATAAAATAAAAIwA AABHAQAAwr8AAEIAAAATAQAATAAAAIwAAADHAQAAwr8AAEIAAACTAQAATAAAAIwAAABHAgAAwr8A AEIAAAATAgAATAAAAIwAAADHAgAAwr8AAEIAAACTAgAAxv//fxMDAABMAwAAAgAAAAwDAACTAwAA DAQAAEIAAADTAwAARAAAAFMEAABEAAAAkwQAAAcFAADTBAAAhwUAAFMFAADMBAAATAUAAJ0AAADT BQAATAYAAMwFAACHBgAAQgAAABMGAAAMBwAADAYAAEIAAADTBgAAxv//f8b//3/G//9/UQIAAIcH AADHBwAABwgAAEcIAACHCAAAxwgAAAcJAABHCQAAhwkAAFUCAABTBwAATAcAAC4BAIBMBwAAxwkA ABEAAADUgAEAr/7/f8wGAAAnPgCADAcAAAwGAABCgAEA0wYAAMwGAAAmAACAajwAgAsAAAAYAACA EgAAAAYAAIATCgAABgAAgFMKAADHCgAAkwoAAMcKAAATCwAARAAAAFMLAABMBwAA7vn/f4wLAADM BgAAxwsAAAwKAABCAAMAUwoAAEwKAAAmAQCADAwAAMwGAABCAAMAGAAAgFMKAABMBwAAzgkAAAsA AABMDAAAzAYAAAwKAABMCgAAmP//f0IABADUgAEATAoAABgAAIATCgAACwAAAAYAAIDgGQCASwEA AMcHAAAgGQCADAAAAJMMAACMCwAATAcAAM4JAAAPAAAAxwwAAIIAAwCSAAAAUgAAAEwMAABMBwAA zgkAAA8AAABLAAAAiwAAAJj//39CAAMAEw0AAIwLAABMBwAAzgkAAA8AAABHDQAAggADAJIAAABS AAAATAwAAEwHAADOCQAADwAAAEsAAAAYAACAiwAAAEIAAwCTDQAAjAsAAEwHAADOCQAADwAAAMcN AACCAAMAkgAAAFIAAABMAAAATAwAAEwHAADOCQAADwAAAEsAAACLAAAAmP//f8K/AwBCAAMAEw4A AIwLAABMBwAAzgkAAA8AAABHDgAAggADAJIAAABSAAAATAAAAEwMAABMBwAAzgkAAA8AAABLAAAA GAAAgIsAAADCvwMAQgADAJMOAABMAAAAjAwAAEIAAwATAAAATAAAAAwNAABCAAMAEwEAAEwAAACM DQAAQgADAJMBAADG//9/EwMAAEwDAAACAAMADAMAANMOAAAMBAAAQgADABMPAACMDwAADA4AAIwO AADG//9/QgADAFMPAAALAAAABgAAgKABAIBLAQAAhwgAAOAAAIBMBwAAzgkAAA8AAACTCgAACwAA AAYAAICgAQCASwEAAAcJAADgAACATAcAAM4JAAAPAAAAEwsAAAsAAAAGAACAIAMAgEsBAABHCQAA oQAAgEsBAACHCQAAoAEAgEwHAADOCQAADwAAAMcPAABgAACAxw8AAFMLAAALAAAABgAAgKABAIBL AQAAxwgAAOAAAIBMBwAAzgkAAA8AAAATEAAACwAAAAYAAICgCACASwEAAIcJAADgBwCAzAMAAAwP AAAiBwCAzAMAAAwPAABMDwAAFwAAAOQFAIBMCwAAxw8AAKACAIBMEAAAhxAAAAIAAwDHEAAAUwQA AIwKAADHCgAADBAAAN0AAACTBAAAagIAgEwQAACHEAAAAgADAAcRAABTBAAAjAoAAMcKAAAMEAAA 3QAAAJMEAAAMCgAADAwAAMwGAABCgAMAogAAgMUAAADqwf9/xAAAAG/H/38qwf9/TBEAAAwGAAAC gAEAAAAAAA==FALSEFALSETRUEFALSEFALSEFALSE1434CalYear = tonumber(date("%Y")) CalMonth = tonumber(date("%m")) CalDay = tonumber(date("%d")) CalHour = tonumber(date("%H")) CalMin = tonumber(date("%M")) AbsDate = 0 CalDate2AbsDate() CalAbsDate = AbsDate calsecs = AbsDate2AbsSecs() Recording1 = nil Recording2 = nil sagepath = "E:\\Program Files\\Frey Technologies\\Sagetv\\" schedfile = "sched.csv" schedfileloc = sagepath..schedfile schedhdle = openfile (schedfileloc, "r") schedline = read(schedhdle) local line = 0 local begstr, endstr = 0, 0 fld = {"encoder","start","stop","length","chname","chnum","title","man","fav"} for x,y in fld do fld.y = {} end while schedline do schedline = read(schedhdle) if schedline == nil then break end line = line + 1 index0 = 1 index1 = 1 RecChname = " " RecTitle = " " IntentionalRec = nil for x,y in fld do index1 = strfind(schedline,"%\t", index0) if index1 == nil then index1 = strlen(schedline) + 1 end fld.y[line] = strsub(schedline,index0,index1 - 1) index0 = index1 + 1 if line == 1 and y == "start" then RecYear = CalYear begstr, endstr = strfind(fld.y[line],"%d+/") RecMonth = strsub(fld.y[line],begstr,endstr - 1) begstr, endstr = strfind(fld.y[line],"/%d+") RecDay = strsub(fld.y[line],begstr + 1,endstr) begstr, endstr = strfind(fld.y[line],"%d+:") RecHour = tonumber(strsub(fld.y[line],begstr,endstr - 1)) begstr, endstr = strfind(fld.y[line],":%d+") RecMin = tonumber(strsub(fld.y[line],begstr + 1,endstr)) CalYear = tonumber(RecYear) CalMonth = tonumber(RecMonth) CalDay = tonumber(RecDay) AbsDate = 0 CalDate2AbsDate() RecAbsDate = AbsDate recsecs = AbsDate2AbsSecs() lengthsecs = CalTime2AbsSecs(RecHour,RecMin,0) end if line == 1 and y == "chname" then RecChname = fld.y[line] end if line == 1 and y == "title" then RecTitle = fld.y[line] end if line == 1 and ( y == "man" or y == "fav") and fld.y[line] == "true" then IntentionalRec = "true" end if line == 1 and y == "chnum" then RecChnum = fld.y[line] end if line == 1 and y == "fav" and (calsecs >= recsecs and calsecs <= (recsecs + lengthsecs)) then if IntentionalRec == "true" then TriggerEvent("EraseDisplay") Recording1 = "Recording on" Recording2 = RecChname.." "..RecChnum else TriggerEvent("EraseDisplay") Recording1 = "Time-shifting on" Recording2 = RecChname.." "..RecChnum end end if index0 >= strlen(schedline) then break end end end closefile(schedhdle) FALSEFALSEFALSE111FALSEFALSEFALSETRUEFALSEFALSEFALSE11181Recording1v-1FALSEFALSEFALSE111FALSEFALSEFALSETRUEFALSEFALSEFALSE11181Recording2v1-1FALSEFALSEFALSE111FALSEFALSEFALSETRUEFALSEFALSEFALSE1214E:\Program Files\Frey Technologies\SageTV\SageTV.exe3FALSEFALSEFALSE111FALSEFALSEFALSETRUEFALSEFALSEFALSE1122115000FALSEFALSEFALSE4305111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE5FALSEFALSETRUE161FALSE37FALSEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE5FALSEFALSETRUE161FALSE39FALSEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE5FALSEFALSETRUE161FALSE38FALSEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE5FALSEFALSETRUE161FALSE40FALSEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE161SFALSETRUEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE161DFALSETRUEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE161FFALSETRUEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE161AFALSETRUEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE161GFALSETRUEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE161FALSE33FALSEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE161FALSE34FALSEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE161XFALSETRUEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE161FALSE13FALSEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE161IFALSETRUEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE161YFALSETRUEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE161MFALSETRUETRUEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE161FALSE36FALSEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE161FFALSETRUETRUEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE161OFALSETRUEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE161FALSE96FALSEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE161FALSE97FALSEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE161FALSE98FALSEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE161FALSE99FALSEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE161FALSE100FALSEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE161FALSE101FALSEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE161FALSE102FALSEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE161FALSE103FALSEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE161FALSE104FALSEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE161FALSE105FALSEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE161PFALSEFALSETRUEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE161VFALSETRUEFALSEFALSE111FALSEFALSESageTVsage.aeSageTV.exeFALSEFALSE4FALSEFALSEFALSE1613ZFALSETRUEFALSEFALSE111FALSEFALSESageTVsage.dSageTV.exeFALSEFALSE4FALSEFALSEFALSE161FALSE119FALSEFALSEFALSE111FALSEFALSESageTVsage.dSageTV.exeFALSEFALSE4FALSEFALSEFALSE161FALSE118FALSEFALSEFALSE111FALSEFALSESageTVsage.dSageTV.exeFALSEFALSE4FALSEFALSEFALSE161RFALSEFALSETRUEFALSE111FALSEFALSESageTVsage.dSageTV.exeFALSEFALSE4FALSEFALSEFALSE161NFALSEFALSETRUEFALSE111FALSEFALSESageTVsage.dSageTV.exeFALSEFALSE4FALSEFALSEFALSE161BFALSEFALSETRUEFALSE111FALSEFALSESageTVsage.dSageTV.exeFALSEFALSE4FALSEFALSEFALSE161MFALSEFALSETRUEFALSE111FALSEFALSESageTVsage.dSageTV.exeFALSEFALSE4FALSEFALSEFALSE161TFALSEFALSETRUEFALSE111FALSEFALSESageTVsage.dSageTV.exeFALSEFALSE4FALSEFALSEFALSE161SFALSEFALSETRUEFALSE111FALSEFALSEFALSETRUEFALSEFALSEFALSE1214E:\Program Files\CyberLink\PowerDVD\PowerDVD.exe10FALSEFALSEFALSE111FALSEFALSEPowerDVDCyberLink Video Window ClassPowerDVD.exeOSD WindowOSD Window ClassFALSEFALSE68FALSEFALSEFALSE161XFALSETRUEFALSEFALSE111FALSEFALSEPowerDVDCyberLink Video Window ClassPowerDVD.exeOSD WindowOSD Window ClassFALSEFALSE68FALSEFALSEFALSE161ZFALSEFALSEFALSEFALSE111FALSEFALSEPowerDVDCyberLink Video Window ClassPowerDVD.exeOSD WindowOSD Window ClassFALSEFALSE68FALSEFALSEFALSE161LFALSEFALSEFALSEFALSE111FALSEFALSEPowerDVDCyberLink Video Window ClassPowerDVD.exeOSD WindowOSD Window ClassFALSEFALSE68FALSEFALSEFALSE161FALSE9FALSEFALSEFALSE111FALSEFALSEPowerDVDCyberLink Video Window ClassPowerDVD.exeOSD WindowOSD Window ClassFALSEFALSE68FALSEFALSEFALSE161FALSE9FALSETRUEFALSE111FALSEFALSEPowerDVDCyberLink Video Window ClassPowerDVD.exeOSD WindowOSD Window ClassFALSEFALSE68FALSEFALSEFALSE161FALSE38FALSEFALSEFALSE111FALSEFALSEPowerDVDCyberLink Video Window ClassPowerDVD.exeOSD WindowOSD Window ClassFALSEFALSE68FALSEFALSEFALSE161FALSE40FALSEFALSEFALSE111FALSEFALSEPowerDVDCyberLink Video Window ClassPowerDVD.exeOSD WindowOSD Window ClassFALSEFALSE68FALSEFALSEFALSE161FALSE13FALSEFALSEFALSE111FALSEFALSEPowerDVDCyberLink Video Window ClassPowerDVD.exeOSD WindowOSD Window ClassFALSEFALSE68FALSEFALSEFALSE161FALSE39FALSEFALSEFALSE111FALSEFALSEPowerDVDCyberLink Video Window ClassPowerDVD.exeOSD WindowOSD Window ClassFALSEFALSE68FALSEFALSEFALSE161FALSE37FALSEFALSEFALSE111FALSEFALSEPowerDVDCyberLink Video Window ClassPowerDVD.exeOSD WindowOSD Window ClassFALSEFALSE68FALSEFALSEFALSE161+FALSEFALSEFALSEFALSE111FALSEFALSEPowerDVDCyberLink Video Window ClassPowerDVD.exeOSD WindowOSD Window ClassFALSEFALSE68FALSEFALSEFALSE161-FALSEFALSEFALSEFALSE111FALSEFALSEPowerDVDCyberLink Video Window ClassPowerDVD.exeOSD WindowOSD Window ClassFALSEFALSE68FALSEFALSEFALSE161NFALSEFALSEFALSEFALSE111FALSEFALSEPowerDVDCyberLink Video Window ClassPowerDVD.exeOSD WindowOSD Window ClassFALSEFALSE68FALSEFALSEFALSE161PFALSEFALSEFALSEFALSE111FALSEFALSEPowerDVDCyberLink Video Window ClassPowerDVD.exeOSD WindowOSD Window ClassFALSEFALSE68FALSEFALSEFALSE161FFALSEFALSEFALSEFALSE111FALSEFALSEPowerDVDCyberLink Video Window ClassPowerDVD.exeOSD WindowOSD Window ClassFALSEFALSE68FALSEFALSEFALSE161BFALSEFALSEFALSEFALSE111FALSEFALSEPowerDVDCyberLink Video Window ClassPowerDVD.exeOSD WindowOSD Window ClassFALSEFALSE68FALSEFALSEFALSE161FALSE32FALSEFALSEFALSE111FALSEFALSEPowerDVDCyberLink Video Window ClassPowerDVD.exeOSD WindowOSD Window ClassFALSEFALSE68FALSEFALSEFALSE161FALSE27FALSEFALSEFALSE111FALSEFALSEPowerDVDCyberLink Video Window ClassPowerDVD.exeOSD WindowOSD Window ClassFALSEFALSE68FALSEFALSEFALSE161QFALSEFALSEFALSEFALSE111FALSEFALSEPowerDVDCyberLink Video Window ClassPowerDVD.exeOSD WindowOSD Window ClassFALSEFALSE68FALSEFALSEFALSE161SFALSEFALSEFALSEFALSE111FALSEFALSEPowerDVDCyberLink Video Window ClassPowerDVD.exeOSD WindowOSD Window ClassFALSEFALSE68FALSEFALSEFALSE161OFALSETRUEFALSEFALSE