Awesome, thanks.
What I did was make the new entry as a DWORD, and use a decimal value of 3600.
That should make my pause buffer 6 hours or so, right?
Yes, decimal value of 3600 should make it 6 hours. Never tried more than one hour myself, for me that is enough.
Please let us know if it works well using a 6 hours buffer.
Ok, the 6 hours didn't work.
Do I need the other registry entries in there or just the one BackingFileDuration?
I have to get this fixed today, my wife is going to kill me. (I just moved her off of ReplayTV with "unlimited" pause time)
Thanks,
JAKE
You don't have to change anything else, it may be that 6 hours is too much, dunno.
I assume that you rebooted the PC after you made the registry change, if not this may be the problem.
I you make changes to the BackingFileDuration value, then reboot, and then you can verify that the change is accepted by checking the BackingStoreEachFileDurationSeconds value below the DVR key.
This value should be automatically be set to the same value as the BackingFileDuration if everything works. If it isn't, then there's trouble.
Ok, so it seems to top out at 2 hours.
I tried the 6 hours, it left the BackingFileDuration at 3600, but the BackingStoreEachFileDurationSeconds stayed at 300.
So I made it 900 (1.5 hours) rebooted and it retained the value both places.
Decided to try 1800 (3 hours) rebooted and BackingStoreEachFileDurationSeconds was back to 300.
So Tried 1200 (2 hours) rebooted and it retained the value both places.
Decided to try one more time at 1500 and BackingStoreEachFileDurationSeconds went back to 300.
So from what I can tell, 2 hours is the maximum pause buffer you can have. It's not quite enough for us, but much better than 30 minutes. If anyone knows a way to increase it more, I would love to hear it!
Thanks for all the help
jakeabby, good to know. I'm nearly done with the GUI for making these changes for registry novices. I'll limit the options to 2 hours or less.
Thanks for the testing! The GUI should be ready on Tuesday. If it works correctly, anyone know how to get things posted into the downloads section of this forum?
MCE 2005 rollup 2P4 3.2GHz - 512MBATI Theatre 550 Pro
I did a quick/ugly updater in vbscript/hta...
Simply paste this code into a text file and save as .hta It lets you choose # of files and total size:
<html><head><HTA:APPLICATION ID="Group Lister" APPLICATION="YES" APPLICATIONNAME="Windows MCE Pause Buffer Settings" SCROLL="no" maximizeButton="no" version="1.0" SINGLEINSTANCE="yes" WINDOWSTATE="normal"><title>Windows MCE Pause Buffer Settings</title><style>BODY{background-color: buttonface;font-family: Helvetica;font-size: 8pt;margin-top: 10px;margin-left: 10px; margin-right: 10px; margin-bottom: 10px;}.button{ font-family: Helvetica; font-size: 8pt;}.button_strings{ font-family: Helvetica; font-size: 8pt; width: 75px;}select{font-family: arial; font-size: 10pt; width: 150px; margin-left: 0px;}TABLE { xfont-family:"Arial"; xfont-size:8pt; font:menu; padding:0pt; border:0pt; }IFrame { height:expression(document.body.clientHeight-MenuTable.clientHeight); width:100%; }</style><script language="vbscript"></script></head><body><form id="inputform" name="inputform"> </table><Table border="0" Width="100%"> <input id=quit button class="button" type="button" value="Quit" name="quit_button" onClick="Window_Onclose()" title="Quit program"><HR><div ID=Choosegroup></div><div ID=pausetime></div></td></form></body></html><script language="vbscript">'=========================================================================='' VBScript Source File -- Windows MCE Pause Buffer Settings'' ' Copyright© 2006. TeleData Consulting, Inc. All rights reserved' You are welcome to distribute this freely - use at your own risk!'' AUTHOR: Paul Drangeid, http://www.tdonline.com' DATE : 1/16/06''==========================================================================' *********** Declare Variables, and Set default values
dim objRegistry,strvalueConst HKEY_CURRENT_USER = &H80000001Const HKEY_LOCAL_MACHINE = &H80000002StrComputer = "."Set objRegistry = GetObject("winmgmts:\\" & _ strComputer & "\root\default:StdRegProv")
Sub Window_OnClose() Self.close()End Sub
Sub Window_Onload targetWidth = 300 targetHeight = 230 'self.ResizeTo 1,1 'self.MoveTo window.screen.availWidth - targetWidth, 0 'self.ResizeTo window.screen.availWidth - targetWidth, 0 self.ResizeTo targetWidth,targetHeight self.Focus()End Sub
strhtm=strhtm+"  BackingFileDuration:     <select id="&qc&"chduration"&qc&" name="&qc&"chduration"&qc&" Onchange="&qc&"Updatetime"&qc&">" 'strhtm=strhtm+"<option value=300>"& "300k (default)"strhtm=strhtm+"<option value=600>"& "600k"strhtm=strhtm+"<option value=900>"& "900k"strhtm=strhtm+"<option value=1200>"& "1200k"strhtm=strhtm+"</select> <BR>"
strhtm=strhtm+"  BackingFileCountHigh:  <select id="&qc&"chcount"&qc&" name="&qc&"chcount"&qc&" Onchange="&qc&"Updatetime"&qc&">" 'strhtm=strhtm+"<option value=6>"& "6 (default)"strhtm=strhtm+"<option value=8>"& "8"strhtm=strhtm+"<option value=10>"& "10"strhtm=strhtm+"<option value=12>"& "12"strhtm=strhtm+"<option value=14>"& "14"strhtm=strhtm+"<option value=16>"& "16"strhtm=strhtm+"</select> <BR>"strhtm=strhtm+"<input value='Save' type="&qc&"button"&qc&" id='GO' onclick="&qc&"setpause"&qc&">"choosegroup.innerhtml=strhtm
if not isKey("HKEY_LOCAL_MACHINE","Software\Microsoft\Windows\CurrentVersion\Media Center") thenmsgbox "This utility is only for Windows XP: Media Center Edition",0,"Media Center Edition not found."self.closeend if
if isvalue("HKEY_LOCAL_MACHINE","Software\Microsoft\Windows\CurrentVersion\Media Center\Service\Video\Tuners","BackingFileDuration") thenset objtmp=document.all("chduration")objtmp.value=strvalue'msgbox strvalue,0,"BackingFileDuration"end if
if isvalue("HKEY_LOCAL_MACHINE","Software\Microsoft\Windows\CurrentVersion\Media Center\Service\Video\Tuners","BackingFileCountHigh") thenset objtmp=document.all("chcount")objtmp.value=strvalue'msgbox strvalue,0,"BackingFileCountHigh"end if
call updatetime
Sub Updatetime()strsize=document.all("chduration").valuestrcount=document.all("chcount").valuestrtotal=strsize*strcountstrhtm="Pause Buffer Time: "&strtotal/60&"min ("&int((strtotal/60)/60)&"hrs "
strhtm=strhtm& ((strtotal/60) - (int((strtotal/60)/60))*60) &" mins)"pausetime.innerhtml=strhtmEnd Sub
Function Iskey(strhive,strkeypath)strhive=ucase(strhive)if strhive<>"HKEY_CURRENT_USER" and strhive <> "HKEY_LOCAL_MACHINE" then IsKey="False":exit functionIsKey="False"intx=InstrRev(strkeypath,"\")if intx=0 then exit functionstrkey=mid(strkeypath,intx+1,len(strkeypath)-intx)strrootkey=left(strkeypath,intx-1)if strhive="HKEY_CURRENT_USER" then objRegistry.EnumKey HKEY_CURRENT_USER, strrootKey, arrSubKeysif strhive="HKEY_LOCAL_MACHINE" then objRegistry.EnumKey HKEY_LOCAL_MACHINE, strrootKey, arrSubKeysif isarray(arrSubkeys) thenfor x =lbound(arrSubkeys) to ubound(arrSubkeys)if ucase(arrSubKeys(x))=ucase(strkey) then IsKey="True"next 'xelseif instr(ucase(arrSubkeys),ucase(strkey))<>0 then IsKey="True"end ifend function
Function IsValue(strhive,key,valname)strvalue=""strhive=ucase(strhive)if strhive<>"HKEY_CURRENT_USER" and strhive <> "HKEY_LOCAL_MACHINE" then Isvalue="False":exit functionif strhive="HKEY_CURRENT_USER" then objRegistry.GetdwordValue HKEY_CURRENT_USER,Key,ValName,strValueif strhive="HKEY_LOCAL_MACHINE" then objRegistry.GetdwordValue HKEY_LOCAL_MACHINE,Key,ValName,strValue'msgbox "Get HKLM "&","&key&","&valname&","&strvalueIf IsNull(strValue) Then IsValue=False Else IsValue=TrueEnd Function
Sub CreateRegKeys(strKeyPath,strvaluename,strvalue)objRegistry.CreateKey HKEY_LOCAL_MACHINE,strKeyPathif err.number <> 0 thenmsgbox "Error Write: " & cstr(err.number) & "(" & err.Description & ")"end if
if strvaluename<>"" and strvalue<>"" thenif instr(strValue,"dword:")=0 thenobjRegistry.SetStringValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, strValueelsestrvalue=right(strvalue,len(strvalue)-6)'msgbox strvaluename&"="&strvalueobjRegistry.SetdwordValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, strValueend ifend ifEnd Sub
sub SetPausestrsize=document.all("chduration").valuestrcount=document.all("chcount").valuecall CreateRegKeys("Software\Microsoft\Windows\CurrentVersion\Media Center\Service\Video\Tuners","BackingFileDuration","dword:"&strsize)call CreateRegKeys("Software\Microsoft\Windows\CurrentVersion\Media Center\Service\Video\Tuners","BackingFileCountHigh","dword:"&strcount)msgbox "Pause Buffer Updated"&vbcrlf& "You must reboot for Changes to take affect.",0,"Success!"end sub
</script>
OK, folks. Got a little GUI right here to make the changes easily.
I've tested it and it seems to be fine, but as with any free app... use at your own risk.
Comments welcomed!
Thanks man!
This is needed for those of us uneasy with regediting.
Anxious to try it... Good work!
Will let you know of any issues, without holding you responsible for problems.
Thanks again!!
Thanks man!!!
this is one of the best utilities than they have been made in the last time for MCE.but still it is something that maybe can be solved,when changing of channel, stop empty the buffer?this can be solved?maybe some registry keys exists that forces the buffer to empty ?
Thx
. Thanks very much. That worked very well.
Cheers, Banjo
Downloaded the GUI and it worked like a champ. Highly recommended tool.
Thank you!
It still works. Read Schmecky's post eight above this one (http://thegreenbutton.com/forums/permalink/85967/90784/ShowThread.aspx#90784)...
You have to copy the script into a txt file using notepad and then save the file with a .hta extension.
It worked like a champ for me.
Great work Schmecky - thanks.