bilbonvidia
Member
Thread Starter
- Joined
- Aug 21, 2009
- Messages
- 9
- Likes
- 0
Hi I am completely new to reclock, I see that you can use it in conjunction with display changer in order to automatically change the refresh rate of your screen to match the fps of the video playing. I am running a nvidia 9300IGPU and windows 7 but I am using mpc-hc to play my files which are mostly 24p and PDVD7 for blu ray. I have reclock and display changer installed and came across the below runevent.vbs on avsforums and would like to set this up. I am in the UK PAL region and my tv supports 50/60/24 Hz.
I have put this script in the reclock folder and under advanced options ticked ""Enable event notifications to VBS script when display mode is changing"
I have the latest NVIDIA drivers. Reclock loads up and goes green when playing an 24fps mkv but it does not change the refresh rate, it speeds up the fps of the video to 25. This is smoother and almost eliminates the judder but I want the refresh rate to be changed to match the fps. Is there something else that I need to do? Thanks
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
'
' -----------------------------------------------------------------
' Display Changer Version - Sets refresh rate using Display changer
' -----------------------------------------------------------------
' 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 currentPlaybackSpeed <> originalPlaybackSpeed Then
Select Case mediaType
Case "CINEMA"
newRefreshRate = "24"
Case "PAL"
newRefreshRate = "50"
Case "NTSC"
newRefreshRate = "60"
End Select
End If
End If
' We quit the player, restore our favorite refresh rate.
If eventName = "QUIT" Then
newRefreshRate = "50"
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 DisplayChanger command and wait for it to finish its job.
WshShell.Run """" & objFolderItem.Path & _
"\12noon Display Changer\dc.exe"" -refresh=" & newRefreshRate & _
" -quiet", 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 have put this script in the reclock folder and under advanced options ticked ""Enable event notifications to VBS script when display mode is changing"
I have the latest NVIDIA drivers. Reclock loads up and goes green when playing an 24fps mkv but it does not change the refresh rate, it speeds up the fps of the video to 25. This is smoother and almost eliminates the judder but I want the refresh rate to be changed to match the fps. Is there something else that I need to do? Thanks
Last edited by a moderator: