guys,
Can you maybe help me out? I got the file 'SetDisplayFrequency.exe' from some forum and put it in my Program Files (x86)\ReClock folder. I enabled the .vbs option in ReClock and made the runevent.vbs script look like this:
When I run MPC-HC with ReClock and the .vbs script option enabled MPC-HC seems to do SOMETHING (screen seems to change) but not how I want it. When I ran a 25fps source it does not switch to my ati 1920@1080@50Hz profile and when I run a 29,970fps source it does not switch to my ati 1920@1080@59Hz profile.
What could I be doing wrong here?
Can you maybe help me out? I got the file 'SetDisplayFrequency.exe' from some forum and put it in my Program Files (x86)\ReClock folder. I enabled the .vbs option in ReClock and made the runevent.vbs script look like this:
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
'
' -------------------------------------------------------------------------
' SetDisplayFrequency Version - Sets refresh rate using SetDisplayFrequency
' -------------------------------------------------------------------------
' 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"
Set wshShell = CreateObject("WScript.Shell")
' We will put new refresh rate here if necessary.
newRefreshRate = currentRefreshRate
' Obviously we have something to do only if the icon is yellow.
If eventName = "YELLOW" Then
If currentRefreshRate <> originalPlaybackSpeed Then
Select Case mediaType
Case "CINEMA"
newRefreshRate = "23"
Case "PAL"
newRefreshRate = "50"
Case "NTSC"
newRefreshRate = "59"
End Select
End If
End If
' We quit the player, restore our favorite refresh rate.
If eventName = "QUIT" Then
newRefreshRate = "60"
End If
' Do we have new refresh rate to apply ?
If currentRefreshRate <> newRefreshRate Then
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(&H26&)
Set objFolderItem = objFolder.Self
' Now run SetDisplayFrequency command and wait for it to finish its job.
WshShell.Run """" & objFolderItem.Path & _
"\ReClock\SetDisplayFrequency.exe"" " & newRefreshRate, 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
When I run MPC-HC with ReClock and the .vbs script option enabled MPC-HC seems to do SOMETHING (screen seems to change) but not how I want it. When I ran a 25fps source it does not switch to my ati 1920@1080@50Hz profile and when I run a 29,970fps source it does not switch to my ati 1920@1080@59Hz profile.
What could I be doing wrong here?