• AnyStream is having some DRM issues currently, Netflix is not available in HD for the time being.
    Situations like this will always happen with AnyStream: streaming providers are continuously improving their countermeasures while we try to catch up, it's an ongoing cat-and-mouse game. Please be patient and don't flood our support or forum with requests, we are working on it 24/7 to get it resolved. Thank you.

My modified ReClock script to automatically change refresh rate without PowerStrip

I created my runevent.vbs,
Code:
' -------------------------------------
' Event notification script for ReClock
' -------------------------------------
'
' This script will be called when ReClock change the media adaptation of a played file
' either automatically or after some manual change made in the properties panel
' It is called only for media file which contain a video stream, and when frame rate of this file is known
'
' ---------------------------------------------------------------------------------------------
' The 7 parameters received by this script are explained below:
'
' (1) contains the event name that just occurred:
'    - "GREEN"  : tray icon just got green (all is fine). Parameter
'    - "YELLOW" : tray icon just got yellow. We should make what is necessary
'                 to change the monitor refresh rate 
'    - "STOP"   : playback just stopped
'    - "QUIT"   : ReClock is about to quit
'
' Parameters (2), (3), (8) and (9) apply only with "GREEN" and "YELLOW" events. Otherwise they contain "-"
'
' (2) contains the type of media file currently played :
'    - "CINEMA" : frame rate of source file is around 24 fps
'    - "PAL"    : frame rate of source file is around 25 fps
'    - "NTSC"   : frame rate of source file is around 30 fps
'    - "CUSTOM" : frame rate of source file does not fall in previous categories
'
' (3) contains the current sound playback mode (apply only with GREEN/YELLOW event):
'    - "PCM"    : PCM mode
'    - "SPDIF"  : AC3 passthrough SPDIF
'
' (4) contains the current monitor selected for playback (1=primary, 2=secondary, etc...)
'
' (5) contains the total monitor count detected in the system
'
' (6) contains the current resolution of your monitor (WIDTHxHEIGHT)
'
' (7) contains the current refresh rate of your monitor (in Hz)
'
' (8) contains the original playback rate of the file (in fps multiplied by 1000)
'
' (9) contains the current playback rate of the file (in fps multiplied by 1000)
'
' (10) contains the filename of the current media file
'
' ---------------------------------------------------------------------------------------------
' Notifications examples:
'   - GREEN CINEMA PCM 1 1 1024x768 72 23976 24000 c:\test.avi : all is good
'   - GREEN NTSC PCM 1 1 1024x768 60 29970 30000  c:\test.avi : all is good
'   - YELLOW PAL SPDIF 1 1 1024x768 72 25000 25000 c:\test.avi : please switch to a multiple of 25 hz since PAL wants 25 fps
'   - YELLOW CINEMA SPDIF 1 1 1024x768 75 23976 23976 c:\test.avi : please switch to 71.928 hz
'
' ---------------------------------------------------------------------------------------------
' Here is a sample in VbScript that will call Powerstrip to change the monitor refresh rate
' using the /T parameter (to obtain the timings parameters go to the timings setup in powerstrip and copy
' them to the clipboard)
' There is a VERY important thing to note. Powerstrip change the timings directly in the hardware, but
' forget to notify Windows applications it did that (including ReClock). So this script MUST exit with
' an exit code of 0 if it did change the configuration with powerstrip. Otherwise the script should
' return 1

' Decode the parameters
Set objArgs = WScript.Arguments
If objArgs.Count < 10 Then
    MsgBox "Bad argument count !",  MB_OK, "ReClock Event Notification"
    
    ' We have done nothing. Return 1 to indicate ReClock that
    ' the configuration has not changed
    WScript.Quit 1
End If

eventName = objArgs(0)
mediaType = objArgs(1)
soundMode = objArgs(2)
currentMonitor = objArgs(3)
totalMonitorCount = objArgs(4)
currentResolution = objArgs(5)
currentRefreshRate = objArgs(6)
originalPlaybackSpeed = objArgs(7)
currentPlaybackSpeed = objArgs(8)
currentMediaFile = objArgs(9)

' If you need to debug, replace false with true in the following line
if false Then MsgBox _
    eventName & " " & _
    mediaType & " " & _
    soundMode & " " & _
    currentMonitor & " " & _
    totalMonitorCount & " " & _
    currentResolution & " " & _
    currentRefreshRate & " " & _
    originalPlaybackSpeed & " " & _
    currentPlaybackSpeed, _
    MB_OK, "ReClock Event Notification"

' Here is a sample of what can be done with PowerStrip
Set wshShell = CreateObject("WScript.Shell") 

' We will put new timings here if necessary
newTimings = ""

' Obviously we have something to do only if the icon is yellow
If eventName = "YELLOW" Then

    If soundMode  = "PCM" Then

        ' Call the profile that match best what we need in PCM mode
        Select Case mediaType & ":" & currentResolution 
            Case "CINEMA:1920x1080"
                If currentRefreshRate <> "24" Then WshShell.Run ("""rundll32.exe""nvcpl.dll,dtcfg setmode 1 1920 1080 32 24")

            Case "PAL:1920x1080"
                If currentRefreshRate <> "50" Then WshShell.Run ("""rundll32.exe""nvcpl.dll,dtcfg setmode 1 1920 1080 32 50")

            Case "NTSC:1920x1080"
                If currentRefreshRate <> "60" Then WshShell.Run ("""rundll32.exe""nvcpl.dll,dtcfg setmode 1 1920 1080 32 60")

        End Select
    
    ElseIf soundMode  = "SPDIF" Then

       ' In SPDIF mode we need an exact multiple to minimize the drops/repeats
       ' Note: be careful in NTSC mode, because if "currentRefreshRate" is already "60"
       ' when we go here then we won't switch but it may be 60 "bad" hz instead of 59.94 "wanted" hz
       ' The same problem exists for NTSC film (23.976fps)
       ' A solution is to force settings in the GREEN icon notification, but that would mean a pause
       ' each time we play a file with SPDIF ...
       ' That's why we use 59.94 hz and 71.928 hz for PCM too so we will never user 60 and 72 hz
       Select Case currentResolution & "x" & originalPlaybackSpeed 
           Case "1920x1080x23976"
               If currentRefreshRate <> "24" Then WshShell.Run ("""rundll32.exe""nvcpl.dll,dtcfg setmode 1 1920 1080 32 24")


           Case "1024x768x25000"
               If currentRefreshRate <> "50" Then WshShell.Run ("""rundll32.exe""nvcpl.dll,dtcfg setmode 1 1920 1080 32 50")

           Case "1024x768x29970"
               If currentRefreshRate <> "60" Then WshShell.Run ("""rundll32.exe""nvcpl.dll,dtcfg setmode 1 1920 1080 32 60")

       End Select

    End if

End If

' We quit the player, restore our favorite refresh rate and/or resolution
If eventName = "QUIT" Then

    Select Case currentResolution
        Case "1920x1080"
            If currentRefreshRate <> "50" Then WshShell.Run ("""rundll32.exe""nvcpl.dll,dtcfg setmode 1 1920 1080 32 50")

    End Select

End If


' We have done nothing. Return 1 to indicate ReClock that
' the configuration has not changed
WScript.Quit 1
but when run KMPlayer, frequency is setting correctly but the screen appears black.
Sorry my bad English.
fil
 
RunEvent improvement

I have recently realized how useful the RunEvent.vbs can be - thanks for the great work so far! After experimenting a lot I have a proposal for improvement:
Please add a parameter to RunEvent.vbs to indicate if the OriginalPlaybackSpeed is a "final" value given by the built-in estimator!

I play a lot of .mkv files, and often receive an incorrect early yellow event. With the improvement above it would be possible to avoid initiating a refresh rate change upon the incorrect event.

Thanks!
BR,
May
 
Tried pretty much all solutions. Powerstrip, Display Changer, Catalyst Control Center's profiles.

I'm on MPC-HC (latest official release), using its own filters. Windows 7 RTM, Radeon 4890 with latest official drivers. Video renderer is EVR custom. Sound card X-Fi Extreme Music, analog multichannel out.

In a way or another all the script I've tried fail at providing a seamless experience. Some manage to handle the first switch but if you open a second file the frame rate goes to single digit figures. Others handle one switch and on the second switch keep on playing back at the previous refresh rate (as an example, let's say I have the desktop at 50Hz. If I play a 60Hz video, Reclock switches correctly to 60Hz; if later I open a 24Hz video, the screen switches but Reclock plays back the file at 24Hz on a 60Hz screen. Yes, it's a mess I know).

Anyone with a seamlessly working script in a similar configuration (Win7, Radeon 4xxx, MPC-HC, EVR Custom, analog out)?
 
Tried pretty much all solutions. Powerstrip, Display Changer, Catalyst Control Center's profiles.

I'm on MPC-HC (latest official release), using its own filters. Windows 7 RTM, Radeon 4890 with latest official drivers. Video renderer is EVR custom. Sound card X-Fi Extreme Music, analog multichannel out.

In a way or another all the script I've tried fail at providing a seamless experience. Some manage to handle the first switch but if you open a second file the frame rate goes to single digit figures. Others handle one switch and on the second switch keep on playing back at the previous refresh rate (as an example, let's say I have the desktop at 50Hz. If I play a 60Hz video, Reclock switches correctly to 60Hz; if later I open a 24Hz video, the screen switches but Reclock plays back the file at 24Hz on a 60Hz screen. Yes, it's a mess I know).

Anyone with a seamlessly working script in a similar configuration (Win7, Radeon 4xxx, MPC-HC, EVR Custom, analog out)?

The API (or the ATI driver? Unlikely) for switching refresh rates is broken under Windows 7. Shame on you, Microsoft. Try to execute the refresh rate switch twice in your script, e.g. when using SetDisplayFrequency.exe which ships with AnyDVD. You can try this easily from a command prompt.
 
Actually was returning 0 at the end of the script, which is something I've found out it's needed only for Powerstrip (http://forum.slysoft.com/showpost.php?p=148462&postcount=2078). Returning 1 seems to make things a lot better.

They're pretty much perfect as long as I open a new instance of MPC-HC. If I try to open a file while another file is playing... it's a bit more hit-and-miss.
 
OK I only found this thread today, and it seems that it's exactly what I've been looking for. I'm trying to get the script to run and change profiles via ATI CCC. The refresh rates set by ATI are already as accurate as anything I could get in powerstrip anyway, so I figure why not skip the middleman.

Code:
'ATI Profile Version - Sets refresh rate using profile interface (CLI).

' Check for args/call
Set objArgs = WScript.Arguments
If objArgs.Count < 10 Then
    MsgBox "Bad argument count !",  MB_OK, "ReClock Event Notification"
    WScript.Quit 1
End If

' Get Parms
eventName = objArgs(0)
mediaType = objArgs(1)
soundMode = objArgs(2)
currentMonitor = objArgs(3)
totalMonitorCount = objArgs(4)
currentResolution = objArgs(5)
currentRefreshRate = objArgs(6)
originalPlaybackSpeed = objArgs(7)
currentPlaybackSpeed = objArgs(8)
currentMediaFile = objArgs(9)

' If you need to debug, replace false with true in the following line
if false Then MsgBox _
    eventName & " " & _
    mediaType & " " & _
    soundMode & " " & _
    currentMonitor & " " & _
    totalMonitorCount & " " & _
    currentResolution & " " & _
    currentRefreshRate & " " & _
    originalPlaybackSpeed & " " & _
    currentPlaybackSpeed, _
    MB_OK, "ReClock Event Notification"

newTimings = ""

If eventName = "YELLOW" Then

    If soundMode  = "PCM" Then

        ' Call the profile that match best what we need in PCM mode
        Select Case mediaType & ":" & currentResolution 
            Case "CINEMA:1920x1080"
                If currentRefreshRate <> "23" Then newtimings = "24Hz"

            Case "PAL:1920x1080"
                If currentRefreshRate <> "50" Then newtimings = "25Hz"

            Case "NTSC:1920x1080"
                If currentRefreshRate <> "59" Then newTimings = "30Hz"
        End Select
    
    ElseIf soundMode  = "SPDIF" Then

       ' In SPDIF mode we need an exact multiple to minimize the drops/repeats
       ' Note: be careful in NTSC mode, because if "currentRefreshRate" is already "60"
       ' when we go here then we won't switch but it may be 60 "bad" hz instead of 59.94 "wanted" hz
       ' The same problem exists for NTSC film (23.976fps)
       ' A solution is to force settings in the GREEN icon notification, but that would mean a pause
       ' each time we play a file with SPDIF ...
       ' That's why we use 59.94 hz and 71.928 hz for PCM too so we will never user 60 and 72 hz
       Select Case currentResolution & "x" & originalPlaybackSpeed 
           Case "1920x1080x23976"
                If currentRefreshRate <> "23" Then newtimings = "24Hz"

           Case "1920x1080x25000"
                If currentRefreshRate <> "50" Then newtimings = "25Hz"

           Case "1920x1080x29970"
                If currentRefreshRate <> "59" Then newTimings = "30Hz"
       End Select

    End if

End If

If newTimings <> "" Then

    Set wshShell = CreateObject("WScript.Shell") 
    WshShell.Run """" & "C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static\CLI.exe"" Start Load profilename=" & _
    """" & newTimings & """" , 0, true

    ' In case we did a configuration change we MUST return 0 to 
    ' indicate ReClock it need to recalibrate itself.
    WScript.Quit 0

End If

' We have done nothing. Return 1 to indicate ReClock that
' the configuration has not changed
WScript.Quit 1

I keep returning the error Bad argument count !. But I can't see any reason why. I guess I'd just like another set of eyes.

Thanks for any help in advance.

Running Win7 x64 with MPC-HC and reclock 1.8.4.9 if that helps.
 
Last edited:
How are you running the script? If you try to run it from the command line it will always give that error - because you are not passing any arguments! It wiill only work if Reclock calls the script automatically.
 
How are you running the script? If you try to run it from the command line it will always give that error - because you are not passing any arguments! It wiill only work if Reclock calls the script automatically.

Thanks, that did it, knew it would be something completely noob.

Now I'm stuck with another problem. I guess CCC isn't changing the refreshrate fast enough on startup or something, because when i go from say PAL to NTSC reclock reports the displayrefreshrate as which ever refresh was loaded previously, this can lead to funky stuff.

Eg. Load up PAL material, changes refresh to 50Hz.
Close Player
Load up NTSC material, changes refresh to 60Hz, but still reports 50Hz in reclock.

If I can get this running then I'll be a happy man.
 
Last edited:
I use pstrip, which in my environment is more reliable, so I cannot help here I'm afraid.
 
Thanks, that did it, knew it would be something completely noob.

Now I'm stuck with another problem. I guess CCC isn't changing the refreshrate fast enough on startup or something, because when i go from say PAL to NTSC reclock reports the displayrefreshrate as which ever refresh was loaded previously, this can lead to funky stuff.

Eg. Load up PAL material, changes refresh to 50Hz.
Close Player
Load up NTSC material, changes refresh to 60Hz, but still reports 50Hz in reclock.

If I can get this running then I'll be a happy man.

Try to always return '1' when you exit the script.

EDIT: Do you still have PowerStrip installed / running?
 
OK so I gave up using ATI CCC and started using powerstip instead. Now i've got another problem :S

I'm using HDMI audio in exclusive mode to set the channels/sample rate with reclock.

My new script works, changes the refresh rate perfectly however. If I change the refreshrate using powerstip to anything other than what is set in CCC I get no sound.

Eg 24Hz is set in CCC.
Load up PAL material, script activates changes refreshrate in powerstrip to 50Hz
CCC still reads as 24Hz, actual refresh is 50Hz
No sound until CCC is set to 50Hz as well.

Has anyone encountered a similar problem?

Code:
'If you wish to use standard timings then just switch to each refresh rate using CCC, then go to Powerstrip's advanced timing options window and "copy timings to clipboard". Then paste them into notepad and extract the required timing string.
' -------------------------------------
' Event notification script for ReClock
' -------------------------------------
'
' This script will be called when ReClock change the media adaptation of a played file
' either automatically or after some manual change made in the properties panel
' It is called only for media file which contain a video stream, and when frame rate of this file is known
'
'10 ---------------------------------------------------------------------------------------------
' The 7 parameters received by this script are explained below:
'
' (1) contains the event name that just occurred:
'    - "GREEN"  : tray icon just got green (all is fine). Parameter
'    - "YELLOW" : tray icon just got yellow. We should make what is necessary
'                 to change the monitor refresh rate 
'    - "STOP"   : playback just stopped
'    - "QUIT"   : ReClock is about to quit
'
'20 Parameters (2), (3), (8) and (9) apply only with "GREEN" and "YELLOW" events. Otherwise they contain "-"
'
' (2) contains the type of media file currently played :
'    - "CINEMA" : frame rate of source file is around 24 fps
'    - "PAL"    : frame rate of source file is around 25 fps
'    - "NTSC"   : frame rate of source file is around 30 fps
'    - "CUSTOM" : frame rate of source file does not fall in previous categories
'
' (3) contains the current sound playback mode (apply only with GREEN/YELLOW event):
'    - "PCM"    : PCM mode
'30    - "SPDIF"  : AC3 passthrough SPDIF
'
' (4) contains the current monitor selected for playback (1=primary, 2=secondary, etc...)
'
' (5) contains the total monitor count detected in the system
'
' (6) contains the current resolution of your monitor (WIDTHxHEIGHT)
'
' (7) contains the current refresh rate of your monitor (in Hz)
'
'40 (8) contains the original playback rate of the file (in fps multiplied by 1000)
'
' (9) contains the current playback rate of the file (in fps multiplied by 1000)
'
' (10) contains the filename of the current media file
'
' ---------------------------------------------------------------------------------------------
' Notifications examples:
'   - GREEN CINEMA PCM 1 1 1024x768 72 23976 24000 c:\test.avi : all is good
'   - GREEN NTSC PCM 1 1 1024x768 60 29970 30000  c:\test.avi : all is good
'50   - YELLOW PAL SPDIF 1 1 1024x768 72 25000 25000 c:\test.avi : please switch to a multiple of 25 hz since PAL wants 25 fps
'   - YELLOW CINEMA SPDIF 1 1 1024x768 75 23976 23976 c:\test.avi : please switch to 71.928 hz
'
' ---------------------------------------------------------------------------------------------
' Here is a VbScript script that will call Powerstrip to change the monitor refresh rate
' using the /T parameter (to obtain the timings parameters go to the timings setup in powerstrip and copy
' them to the clipboard)
' There is a VERY important thing to note. Powerstrip change the timings directly in the hardware, but
' forget to notify Windows applications it did that (including ReClock). So this script MUST exit with
' an exit code of 0 if it did change the configuration with powerstrip. Otherwise the script should
'60 return 1

' Decode the parameters
Set objArgs = WScript.Arguments
If objArgs.Count < 10 Then
    MsgBox "Bad argument count !",  MB_OK, "ReClock Event Notification"
    
    ' We have done nothing. Return 1 to indicate ReClock that
    ' the configuration has not changed
    WScript.Quit 1
End If '70

eventName = objArgs(0)
mediaType = objArgs(1)
soundMode = objArgs(2)
currentMonitor = objArgs(3)
totalMonitorCount = objArgs(4)
currentResolution = objArgs(5)
currentRefreshRate = objArgs(6)
originalPlaybackSpeed = objArgs(7)
currentPlaybackSpeed = objArgs(8) '80
currentMediaFile = objArgs(9)

' If you need to debug, replace false with true in the following line
if false Then MsgBox _
    eventName & " " & _
    mediaType & " " & _
    soundMode & " " & _
    currentMonitor & " " & _
    totalMonitorCount & " " & _
    currentResolution & " " & _
    currentRefreshRate & " " & _
    originalPlaybackSpeed & " " & _
    currentPlaybackSpeed, _
    MB_OK, "ReClock Event Notification"

Set wshShell = CreateObject("WScript.Shell") 

' We will put new timings here if necessary
newTimings = ""
'100
' Obviously we have something to do only if the icon is yellow
If eventName = "YELLOW"  Then

        ' Call the profile that match best what we need in PCM mode
        Select Case mediaType
            Case "CINEMA"
                If currentRefreshRate <> "24" Then newTimings= "1920,638,44,148,1080,4,5,36,74176,528" ' 24Hz

            Case "PAL" 
                If currentRefreshRate <> "50" Then newTimings= "1920,528,44,148,1080,4,5,36,148500,528" ' 50Hz '110

            Case "NTSC"
                If currentRefreshRate <> "59" Then newTimings= "1920,88,44,148,1080,4,5,36,148350,528" ' 59Hz

            Case "CUSTOM"   ' may no longer be needed. At one time some video was being reported atit's field rate, e.g. 59.94Hz
                            ' for NTSC interlaced content  
                If originalPlaybackSpeed > 58000 AND originalPlaybackSpeed < 62000 Then
                      If currentRefreshRate <> "59" Then newTimings= "1920,88,44,148,1080,4,5,36,148346,528" ' 59Hz
                
                ElseIf originalPlaybackSpeed > 48000 AND originalPlaybackSpeed < 52000 Then '120
                      If currentRefreshRate <> "50" Then newTimings= "1920,528,44,148,1080,4,5,36,148500,528" ' 50Hz
                
                End if              

        End Select

End If

' When we quit the player, we can restore our favorite refresh rate and/or resolution '130
' Using "QUIT" instead of "STOP" as "STOP" causes too many refresh rate changes when playing NTSC/Blu-ray discs
' NB: Some players may not trigger a QUIT e.g. TheaterTek, so will not change back to default refresh rate
' Remove comments on the next three lines if you wish to restore a default refresh rate 
'If eventName = "QUIT" Then

'                If currentRefreshRate <> "50" Then newTimings= "1920,528,44,148,1080,4,5,36,148500,528" ' 50Hz 

'End If

'140 Do we have new timings to apply ?
If newTimings <> "" Then

    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.Namespace(&H26&) 
    Set objFolderItem = objFolder.Self
    Set locator = CreateObject("WbemScripting.SWbemLocator")
    Set service = locator.ConnectServer()
    Set props = service.ExecQuery("select name, description from Win32_Process where name = 'pstrip.exe'")
   

    ' We will call Powerstrip 2 times
    ' In the second call, we will ask Powerstrip to change refresh rate/resolution 
    ' and wait for it to finish the job. If Powerstrip would not be launched before, it would not
    ' return from this call leaving this VBS script stuck. That's why we make this first call to 
    ' make sure that it is actually available (but we launch it only if it's not already running)

    ' NB. This is a different method to that used in the Ogo sample script, which, in some environments at least,
    ' causes D3D exclusive playback to be minimised to the taskbar.
    Do While props.Count = 0  ' if so pstrip not running
        WshShell.Run """" & objFolderItem.Path  & _
                     "\PowerStrip\pstrip.exe"""
        WScript.Sleep(2000)
        Set props = service.ExecQuery("select name, description from Win32_Process where name = 'pstrip.exe'")
    Loop

    ' Now run Powerstrip command and wait for it to finish its job

    WScript.Sleep 0

    WshShell.Run """" & objFolderItem.Path  & _
                 "\PowerStrip\pstrip.exe"" /TARGET:" & currentMonitor & _
                 " /T:" & newTimings, 0, true

    WScript.Sleep 500

    ' In case we did a configuration change we MUST return 0 to 
    ' indicate ReClock it need to recalibrate itself.
    ' However, I found no way to check that Powerstrip did the job correctly ...
    WScript.Quit 0

End If

' We have done nothing. Return 1 to indicate ReClock that
' the configuration has not changed
WScript.Quit 1
 
Last edited:
You will need to use CCC if you want audio over HDMI.

When using CCC did you change the quit code to "1" as James suggested ("0" is only needed for pstrip)? Did you have pstrip installed?
 
OK thanks for all your help guys. Went back to the CCC script, changed the 0 to a 1 and it works.

There's only one little annoyance left now.
Going from
NTSC->Cinema is fine
NTSC->PAL is fine
Cinema->NTSC is fine
Cinema->PAL is fine
PAL -> NTSC is fine

The problem is going from PAL -> Cinema. Reclock shows as green because it's adapting the Cinema 23.976fps to 25fps, so the script dosn't kick in. Is there a way to stop reclock from adapting Cinema to PAL?
 
That's easy to fix!

You just need to change the "acceptable speedup of media speed in PCM mode", on the "video settings" tab of Reclock config, to 1%.
 
That's easy to fix!

You just need to change the "acceptable speedup of media speed in PCM mode", on the "video settings" tab of Reclock config, to 1%.

Awesome!!! It all works now. Thanks so much for your help.
 
Code:
 Do While Not wshShell.AppActivate ("pstrip") ' it has a hidden window called with this name
        WshShell.Run """" & objFolderItem.Path  & _
                     "C:\Program Files\PowerStrip\pstrip.exe"""
        WScript.Sleep(2000)
    Loop

This just gives me in win7 64 bit an error saying:
Windows Script Host blablabla, line blabla
Error: The system cannot find the file specified.
Code: 80070002

And yes, the location is correct :p Using just \PowerStrip\pstrip.exe doesn't help, and both reclock and powerstrip is in C:\Program Files\

I've also made some shortcuts using displaychanger, any easy way of launching them with the script?
 
Last edited:
Auto refesh rate change

Tried pretty much all solutions. Powerstrip, Display Changer, Catalyst Control Center's profiles.

I'm on MPC-HC (latest official release), using its own filters. Windows 7 RTM, Radeon 4890 with latest official drivers. Video renderer is EVR custom. Sound card X-Fi Extreme Music, analog multichannel out.

In a way or another all the script I've tried fail at providing a seamless experience. Some manage to handle the first switch but if you open a second file the frame rate goes to single digit figures. Others handle one switch and on the second switch keep on playing back at the previous refresh rate (as an example, let's say I have the desktop at 50Hz. If I play a 60Hz video, Reclock switches correctly to 60Hz; if later I open a 24Hz video, the screen switches but Reclock plays back the file at 24Hz on a 60Hz screen. Yes, it's a mess I know).

Anyone can help me to post the RunEvent. Vb script that can work in win7
 
Can someone give me some help please.

I'm on Vista SP2 32-Bit, ATI 9.12 drivers, no powerstrip installed.

I use 1920x1080i @ 25Hz for FILM and PAL DVDs. I want to implement this script to switch to 30Hz when NTSC content is detected (Extra features on my Blu-Rays).

I'm using the following code, I stripped the SPDIF out because I use PCM/AC3 Encoder:

Code:
'ATI Profile Version - Sets refresh rate using profile interface (CLI).

' Check for args/call
Set objArgs = WScript.Arguments
If objArgs.Count < 10 Then
    MsgBox "Bad argument count !",  MB_OK, "ReClock Event Notification"
    WScript.Quit 1
End If

' Get Parms
eventName = objArgs(0)
mediaType = objArgs(1)
soundMode = objArgs(2)
currentMonitor = objArgs(3)
totalMonitorCount = objArgs(4)
currentResolution = objArgs(5)
currentRefreshRate = objArgs(6)
originalPlaybackSpeed = objArgs(7)
currentPlaybackSpeed = objArgs(8)
currentMediaFile = objArgs(9)

' If you need to debug, replace false with true in the following line
if false Then MsgBox _
    eventName & " " & _
    mediaType & " " & _
    soundMode & " " & _
    currentMonitor & " " & _
    totalMonitorCount & " " & _
    currentResolution & " " & _
    currentRefreshRate & " " & _
    originalPlaybackSpeed & " " & _
    currentPlaybackSpeed, _
    MB_OK, "ReClock Event Notification"

newTimings = ""

If eventName = "YELLOW" Then

        ' Call the profile that match best what we need in PCM mode
        Select Case mediaType & ":" & currentResolution 
            Case "CINEMA:1920x1080"
                If currentRefreshRate <> "50" Then newtimings = "25Hz"

            Case "PAL:1920x1080"
                If currentRefreshRate <> "50" Then newtimings = "25Hz"

            Case "NTSC:1920x1080"
                If currentRefreshRate <> "60" Then newTimings = "30Hz"
        End Select


End If

If newTimings <> "" Then

    Set wshShell = CreateObject("WScript.Shell") 
    WshShell.Run """" & "C:\Program Files\ATI Technologies\ATI.ACE\Core-Static\CLI.exe"" Start Load profilename=" & _
    """" & newTimings & """" , 0, true

    ' In case we did a configuration change we MUST return 0 to 
    ' indicate ReClock it need to recalibrate itself.
    WScript.Quit 0

End If

' We have done nothing. Return 1 to indicate ReClock that
' the configuration has not changed
WScript.Quit 1

The problem is that nothing is happening, I've tested both sides of the coin and there is no change.

30hz, watch a FILM video, no switch to 25hz.
25hz, watch a NTSC video, no switch to 30hz.

Not getting any error messages or anything either.

My profiles are created, and named 25hz and 30hz.
 
Last edited:
It takes me more than a minute until the resolution changes and the movie starts playing (on a core i7 system).
Is it just me, or is that "normal"?
 
Back
Top