def __init__(self): nukescripts.PythonPanel.__init__(self, 'DiskCache', 'uk.co.thefoundry.DiskCache') # CREATE KNOBS self.diskCachePrefText = nuke.Text_Knob('disk_cache_pref_GB', 'Disk cache limit:') self.addKnob(self.diskCachePrefText) self.diskCachePrefText.setValue('?GB') self.diskCachePercUsed = nuke.Double_Knob('disk_cache_pref_GB', '% used:') self.addKnob(self.diskCachePercUsed) self.diskCachePercUsed.setValue(50) self.diskCachePercUsed.setRange(0, 100) self.diskCachePercUsed.setEnabled(False) totalCacheGB = nuke.toNode('preferences').knob('diskCacheGB').value() self.diskCachePrefText.setValue(str(totalCacheGB) + 'GB') # Check if Major Version is 6 or later... if nuke.env['NukeVersionMajor'] >= 6: self.paintCachePrefText = nuke.Text_Knob('paint_cache_pref_GB', 'Paint cache limit:') self.addKnob(self.paintCachePrefText) self.paintCachePrefText.setValue('?GB') self.paintCachePercUsed = nuke.Double_Knob('paint_cache_pref_GB', '% used:') self.addKnob(self.paintCachePercUsed) self.paintCachePercUsed.setValue(50) self.paintCachePercUsed.setRange(0, 100) self.paintCachePercUsed.setEnabled(False) self.paintCachePercUsed.setFlag(0x00002000) paintCacheGB = nuke.toNode('preferences').knob( 'PaintCacheGB').value() self.paintCachePrefText.setValue(str(paintCacheGB) + 'GB') # Update Cache usage button self.updateButton = nuke.Script_Knob('update', 'Update') self.addKnob(self.updateButton) # Clear DiskCacheButton self.clearCacheButton = nuke.Script_Knob('clearCache', 'Clear Disk Cache') self.addKnob(self.clearCacheButton) self.addKnob(nuke.Text_Knob('', '')) # Clear Buffer Button self.clearBuffers = nuke.Script_Knob('clearBuffers', 'Clear Buffers') self.addKnob(self.clearBuffers) self.bufferReport = nuke.nuke.Multiline_Eval_String_Knob( "bufferReport", "Buffer Report") self.addKnob(self.bufferReport) self.bufferReport.setValue(str(nukescripts.cache_report(str()))) # Initially populate the Sliders... updateSliders(self)
def updateSliders(self): self.bufferReport.setValue(str(nukescripts.cache_report(str()))) if nuke.env['NukeVersionMajor'] == 5: percs = getDiskCachePerc5() self.diskCachePercUsed.setValue(percs) else: percs = getDiskCachePerc6() self.diskCachePercUsed.setValue(percs[0]) self.paintCachePercUsed.setValue(percs[1])
def updateSliders(self): self.bufferReport.setValue(str(nukescripts.cache_report(str()))) if nuke.env['NukeVersionMajor']==5: percs = getDiskCachePerc5() self.diskCachePercUsed.setValue(percs) else: percs = getDiskCachePerc6() self.diskCachePercUsed.setValue(percs[0]) self.paintCachePercUsed.setValue(percs[1])
def __init__(self): nukescripts.PythonPanel.__init__( self, 'DiskCache', 'uk.co.thefoundry.DiskCache') # CREATE KNOBS self.diskCachePrefText = nuke.Text_Knob('disk_cache_pref_GB','Disk cache limit:') self.addKnob( self.diskCachePrefText) self.diskCachePrefText.setValue('?GB') self.diskCachePercUsed = nuke.Double_Knob('disk_cache_pref_GB','% used:') self.addKnob( self.diskCachePercUsed) self.diskCachePercUsed.setValue(50) self.diskCachePercUsed.setRange(0,100) self.diskCachePercUsed.setEnabled(False) totalCacheGB = nuke.toNode('preferences').knob('diskCacheGB').value() self.diskCachePrefText.setValue(str(totalCacheGB) + 'GB') # Check if Major Version is 6 or later... if nuke.env['NukeVersionMajor'] >= 6: self.paintCachePrefText = nuke.Text_Knob('paint_cache_pref_GB','Paint cache limit:') self.addKnob( self.paintCachePrefText) self.paintCachePrefText.setValue('?GB') self.paintCachePercUsed = nuke.Double_Knob('paint_cache_pref_GB','% used:') self.addKnob( self.paintCachePercUsed) self.paintCachePercUsed.setValue(50) self.paintCachePercUsed.setRange(0,100) self.paintCachePercUsed.setEnabled(False) self.paintCachePercUsed.setFlag(0x00002000) paintCacheGB = nuke.toNode('preferences').knob('PaintCacheGB').value() self.paintCachePrefText.setValue(str(paintCacheGB) + 'GB') # Update Cache usage button self.updateButton = nuke.Script_Knob('update','Update') self.addKnob(self.updateButton) # Clear DiskCacheButton self.clearCacheButton = nuke.Script_Knob('clearCache','Clear Disk Cache') self.addKnob(self.clearCacheButton) self.addKnob(nuke.Text_Knob('','')) # Clear Buffer Button self.clearBuffers = nuke.Script_Knob('clearBuffers','Clear Buffers') self.addKnob(self.clearBuffers) self.bufferReport = nuke.nuke.Multiline_Eval_String_Knob( "bufferReport", "Buffer Report" ) self.addKnob(self.bufferReport) self.bufferReport.setValue(str(nukescripts.cache_report(str()))) # Initially populate the Sliders... updateSliders(self)
def knobChanged(self, knob): if knob == self.updateButton: updateSliders(self) elif knob == self.clearCacheButton: nuke.clearDiskCache() # Re-populate the Sliders... updateSliders(self) print 'Disk cache cleared.' elif knob == self.clearBuffers: nukescripts.cache_clear("") self.bufferReport.setValue(str(nukescripts.cache_report(str()))) print 'Buffers cleared.'
def knobChanged(self,knob): if knob == self.updateButton: updateSliders(self) elif knob == self.clearCacheButton: nuke.clearDiskCache() # Re-populate the Sliders... updateSliders(self) print 'Disk cache cleared.' elif knob == self.clearBuffers: nukescripts.cache_clear("") self.bufferReport.setValue(str(nukescripts.cache_report(str()))) print 'Buffers cleared.'
def updateSliders(self): self.bufferReport.setValue(str(nukescripts.cache_report(str()))) if nuke.env['NukeVersionMajor'] == 5: percs = getDiskCachePerc5() self.diskCachePercUsed.setValue(percs) else: percs = getDiskCachePerc6() self.diskCachePercUsed.setValue(percs[0]) self.paintCachePercUsed.setValue(percs[1]) #menu = nuke.menu('Pane') #menu.addCommand('DiskCache',addPanel) #nukescripts.registerPanel('uk.co.thefoundry.DiskCache', addPanel) #nuke.menu('Pane').addCommand('DiskCache', addPanel) #nukescripts.registerPanel('uk.co.thefoundry.DiskCache', addPanel)