RandomDump
Jump to navigation
Jump to search
shelf
function e(s){ //debugger var today = new Date(); var time = today.toLocaleTimeString(); ; //writeLn(time+' '+string(s)); writeLn(time + ' ' + s.toString()); //$.writeln(s) } // [buttonlaber, effect name or preset name, "fx" or "preset", var simpleEffects = [ [ "Fst blur" , "Fast Blur" , "fx" , [ "Blurriness" , 9 ] , [ "Repeat Edge Pixels" , 1 ] ], [ "Ramp V" , "Ramp" , "fx" ], [ "Ramp H" , "Ramp" , "fx" , [ "Start of Ramp" , [0 , 0] ] , [ "End of Ramp" , "Expression", "[thisComp.width,0]"] ], [ "Lvls" , "ADBE Easy Levels2" , "fx" ], [ "Huesat" , "ADBE HUE SATURATION" , "fx" ], [ "Curves" , "ADBE CurvesCustom" , "fx" ], [ "Invert" , "ADBE Invert" , "fx" ] ]; { var panel; function bernieShelf(thisObj) { panel = (thisObj instanceof Panel) ? thisObj : new Window("palette", "bernieShelf", [100, 100, 300, 300],{resizeable:true}); var res = "group { \ alignment: ['fill','fill'], \ alignChildren: ['fill','top'], \ }"; group = panel.add(res); addButtons(group); resfreshUI(panel); return panel; } function addButtons(src){ for( i = 0 ; i < simpleEffects.length; i++){ e(simpleEffects[i][0]); btn = src.add("button", undefined, simpleEffects[i][0]); //src.add ("statictext", [5,5,5,5], '_'); btn.onClick = function(){ alert(simpleEffects[i][0].toString()); //e( 'Btn' + simpleEffects[i][0].toString() ); //e( (ScriptUI.environment.keyboardState == shiftKey)?'shift On':'shift Off'); //alert(simpleEffects[i][0]); } } } function resfreshUI(src){ src.layout.layout(true); src.layout.resize(); src.onResizing = src.onResize = function () { g = src.children[0]; e(g.orientation); if(src.size[0]>src.size[1]){ src.orientation = 'column'; g.orientation = 'row'; }else{ src.orientation = 'row'; g.orientation = 'column'; } src.layout.layout(true); this.layout.resize(); } } bernieShelf(this); }
h264
# the h264.py file # # windows, save into sendto folder so you can access with right click > send to # to access the folder, write shell:sendto in Win-R (run) menu debug = True fps = '24' codec = 'libx264' #mjpeg -qscale:v 1 -vendor ap10 -pix_fmt yuvj422p bitrate = '40000' loglevel = 'panic' if debug else 'warning' rawcommand = '-r {} -start_number {} -i "{}" -c:v {} -b:v {}k -pix_fmt yuv420p -hide_banner -loglevel {} -stats "{}"' ffmpegcommand = '-r 24 -start_number {} -i "{}" -c:v libx264 -b:v 40000k -pix_fmt yuv420p -hide_banner -loglevel panic -stats "{}"' if debug: ffmpegcommand = '-r 24 -start_number {} -i "{}" -c:v libx264 -b:v 40000k -pix_fmt yuv420p -hide_banner -loglevel warning -stats "{}"' extension = '.mp4' reg = r'^(.+?)([0-9]+)\.(png|exr|jpg)$' import sys, os, pickle, subprocess try: import Tkinter as tk import tkFileDialog as tkfg import tkMessageBox as tkmb except ImportError: import tkinter as tk import tkinter.filedialog as tkfg import tkinter.messagebox as tkmb from os.path import expanduser import re target = sys.argv[1] #get ffmpeg exe, nor error checking, save in a pickle in home folder if found picklefp = expanduser('~')+'/.ffmpegpref.pckl' pickle_data = '' try: with open(picklefp, 'rb') as f: pickle_data = pickle.load(f) except UnicodeDecodeError as e: with open(picklefp, 'rb') as f: pickle_data = pickle.load(f, encoding='latin1') except Exception as e: print('No ffmpeg encoder found: ', e) if not pickle_data: root = tk.Tk() root.withdraw() tkmb.showinfo("missing ffmpeg", "No ffmpeg executable found, please point to it") file_path = tkfg.askopenfilename() f = open(picklefp,'wb') file_path = '"'+file_path+'"' pickle.dump(file_path, f) pickle_data = file_path f.close() #figure out image sequence(s) from file or folder, expect path/to/file/(whatever)(digits).(jpg/png/exr) filelist = [] if os.path.isdir(target): for f in sorted(os.listdir(target)): match = re.match(reg, f,re.IGNORECASE) if match: filelist.append(match.groups()) if os.path.isfile(target): match = re.match(reg, target,re.IGNORECASE) if match: target = os.path.dirname(target) newReg = '('+os.path.basename(match.groups()[0])+')(\d*)\.('+match.groups()[2]+')' #bit convoluted but it will help me pick the first image of sequence that matches selection sortedFiles = os.listdir(target) sortedFiles.sort() for f in sortedFiles: match = re.match(newReg, f,re.IGNORECASE) if match: filelist.append(match.groups()) sequences = [] imagename = '' for image in filelist: #grab only first image, if you have multiple sequences in a single folder if image[0] != imagename: sequences.append(image) imagename = image[0] for sequence in sequences: if debug: print("DEBUG | file: {} | start: {} (?) | ext: {}".format(sequence[0],sequence[1],sequence[2])) #a pesky ffmpeg 'bug', if you use non padded digits in your sequence you can have %d but if you have padded numbers you _need_ %##d if len(sequence[1]) > 1: imagePath = target+'/'+sequence[0]+'%0'+str(len(sequence[1]))+'d.'+sequence[2] else: imagePath = target+'/'+sequence[0]+'%d.'+sequence[2] startFrame = int(sequence[1]) videoPath = target+'/'+sequence[0].rstrip('._-')+extension if sequence[2].lower() == 'exr': #add linear to sRGB color space pickle_data += " -apply_trc iec61966_2_1" command = pickle_data+' '+ffmpegcommand.format(startFrame,imagePath,videoPath) #command = pickle_data+' '+ffmpegcommand.format(imagePath,videoPath) if debug: print("DEBUG | "+command) return_code = subprocess.call(command, shell=True) if debug: print(rawcommand.format(fps,startFrame,imagePath,codec,bitrate,loglevel,videoPath)) print('\007') #play sound print("DEBUG | paused. Press a key to quit") try: raw_input() except: input()
import tkinter as tk import tkinter.font as tkFont class App: def __init__(self, root): #setting title root.title("ffmpeg encoder option") #setting window size width=300 height=300 screenwidth = root.winfo_screenwidth() screenheight = root.winfo_screenheight() alignstr = '%dx%d+%d+%d' % (width, height, (screenwidth - width) / 2, (screenheight - height) / 2) root.geometry(alignstr) root.resizable(width=False, height=False) fpsLabel=tk.Label(root) fpsLabel["text"] = "fps" fpsLabel.place(x=10,y=10,width=70,height=25) fpsEntry=tk.Entry(root) fpsEntry.insert(0, "24") fpsEntry.place(x=90,y=10,width=70,height=25) bitRateLabel=tk.Label(root) bitRateLabel["text"] = "bitrate" bitRateLabel.place(x=10,y=40,width=70,height=25) bitRateEntry=tk.Entry(root) bitRateEntry.insert(0, "40") bitRateEntry.place(x=90,y=40,width=70,height=25) bitRatembsLabel=tk.Message(root) bitRatembsLabel["text"] = "mb/s" bitRatembsLabel.place(x=170,y=40,width=100,height=25) cboxDebug=tk.Checkbutton(root) cboxDebug.place(x=90,y=70,width=207,height=30) cboxDebug["offvalue"] = "0" cboxDebug["onvalue"] = "1" cboxDebug["command"] = self.cboxDebug_command def cboxDebug_command(self): print("command") if __name__ == "__main__": root = tk.Tk() app = App(root) root.mainloop()
idk
global string $currentFrameFile; global int $frameN; global int $originalFrame; global string $error; global int $playblastActive; global int $tick; $playblastActive = 0; $currentFrameFile = $error = ""; $originalFrame = `currentTime -q`; $frameN = 1; global proc firePlayblast(){ firePlayblastUI; } proc string findLayout( string $windowUI,string $name ) {//from bryan ewert string $controls[] = `lsUI -l -controlLayouts`; string $pattern = $windowUI + "*"; string $layout = ""; for ( $ui in $controls ) { if ( `gmatch $ui $pattern` ) { string $tokens[]; int $numTokens = `tokenize $ui "|" $tokens`; if ( $numTokens > 1 ) { $layout = $tokens[0] + "|" + $tokens[1]; string $ca[] = `layout -q -ca $layout`; for ( $c in $ca ) { return ($layout + "|" + $c); break; } break; } } } return false; } global proc string pad(float $n){return ($n<1000)? ( ($n<100 )?( ($n<10 )?"000"+$n:"00"+$n ):"0"+$n ) : $n+"";} global proc string getImagePath(string $extraPath,int $extension){ setAttr "defaultRenderGlobals.outFormatControl" 0; setAttr "defaultRenderGlobals.animation" 1; setAttr "defaultRenderGlobals.putFrameBeforeExt" 1; setAttr "defaultRenderGlobals.extensionPadding" 4; string $image = pad(`currentTime -q`); string $tof[] = `renderSettings -gin $image -fp`; string $dir = `match "^.*/" $tof[0]`; string $filepart = `match "[^/\\]*$" $tof[0]`; $filepart = (!$extension)?`match "(.*)[^\.a-z]" $filepart`:$filepart; return $dir+$extraPath+$filepart; } global proc string saveFireImage(){ global string $error; global string $currentFrameFile; // "+`date -f "MMDD_hhmmss"`+"/ $filePath = getImagePath("maxwellFirePlayblasts/",0)+".png"; $mkdir = `sysFile -makeDir (match("^.*/",$filePath))`; string $vp = findLayout("MaxwellFIRE","maxwellViewport" ); if($mkdir && $vp != "0"){ evalDeferred(`maxwellViewport -e -saveIRImg ($filePath) $vp`); $currentFrameFile = $filePath; }else{ $error = "No maxwell FIRE window found"; firePBrefreshUI; } return ""; } global proc firePlayblastUI(){ global int $frameN; int $e = `playbackOptions -query -maxTime`; int $s = `playbackOptions -query -minTime`; $frameN = $s; if (`window -exists playblastFireWindow`) deleteUI playblastFireWindow; if (`windowPref -exists playblastFireWindow`) windowPref -remove playblastFireWindow; string $window = `window -menuBar true -title "Playblast Fire" playblastFireWindow`; string $vp = findLayout("MaxwellFIRE","maxwellViewport" ); paneLayout -vis ($vp!="0"); columnLayout -adjustableColumn true; progressBar -maxValue 100 -width 300 -vis 1 -en 0 UI_progress; textField -text "'Seconds per frame' includes voxelisation" -en 0 -editable false UI_textfield; separator -h 18 -en 0; int $timeperframe = `optionVar -q "firePB_secondsperframe"`; $timeperframe = ($timeperframe!=0)?$timeperframe:15; intFieldGrp -numberOfFields 1 -label "Seconds per frame" -cc "firePBrefreshUI" -value1 $timeperframe UI_timePerF; separator -h 12 -en 0; intFieldGrp -numberOfFields 1 -label "Start frame" -cc "firePBrefreshUI" -value1 $s UI_startF; intFieldGrp -numberOfFields 1 -label "End frame" -cc "firePBrefreshUI" -value1 $e UI_endF; intFieldGrp -numberOfFields 1 -label "Frame increment" -cc "firePBrefreshUI" -value1 1 UI_incrF; int $firePBlaunchfcheck = (`optionVar -q "firePB_fcheck"`=="yes")?1:0; checkBoxGrp -numberOfCheckBoxes 1 -cat 1 "both" 90 -label1 "Launch fcheck" -cc "firePBrefreshUI" -value1 $firePBlaunchfcheck UI_fcheck; separator -h 12 -en 0; button -label "Playblast!" -command "firePythonThread(0)" -h 40 UI_playblast; separator -h 3 -en 1 -st "none"; button -label "Explore" -command "firePBOpenSequence(0)" UI_explore; separator -h 16 -en 1 -st "none"; button -label "Close" -command "firePythonThread(1);deleteUI playblastFireWindow "; separator -h 5 -en 1 -st "none"; setParent..;setParent..; paneLayout -vis ($vp=="0"); columnLayout -adjustableColumn true; button -label "Launch maxwell FIRE first" -command "firePlayblastUI"; showWindow $window; } global proc firePBTic(int $incr){ global int $tick; global int $frameN; firePBrefreshUI; if(!$incr){ $tick++; }else{ int $incrF = `intFieldGrp -q -value1 UI_incrF`; saveFireImage; currentTime -u 1 -e (`currentTime -q`+$incrF); if($frameN = `intFieldGrp -q -value1 UI_endF`){ firePythonThread(1); } $frameN = `currentTime -q`; } } global proc firePythonThread(int $kill){ global int $originalFrame; global int $playblastActive; global string $error; python( "import threadProc;from threadProc import Timer;import maya.mel as mm" ); if(!$kill){ int $timePerF = `intFieldGrp -q -value1 UI_timePerF`; $playblastActive = 1; currentTime -u 1 -e (`intFieldGrp -q -value1 UI_startF`); python( "def tic():mm.eval('firePBTic(0)')"); python( "def toc():mm.eval('firePBTic(1)')"); python( "timerTic = Timer(1, tic, repeat=True);timerTic.start()"); python( "timerToc = Timer("+$timePerF+", toc, repeat=True);timerToc.start()"); }else{ string $vp = findLayout("MaxwellFIRE","maxwellViewport" ); maxwellViewport -e -irPause 1 $vp; $playblastActive = 0; $error = "Playblasting stopped"; python( "timerTic.stop();timerToc.stop()"); currentTime -e $originalFrame; $launchFcheck = `checkBoxGrp -q -value1 UI_fcheck`; if($launchFcheck){ firePBOpenSequence(1); } firePBrefreshUI; } } global proc firePBrefreshUI(){ global string $error; global string $currentFrameFile; global int $playblastActive; global int $tick; int $startF = `intFieldGrp -q -value1 UI_startF`; int $endF = `intFieldGrp -q -value1 UI_endF`; int $incrF = `intFieldGrp -q -value1 UI_incrF`; int $timePerF = `intFieldGrp -q -value1 UI_timePerF`; string $textfieldText =""; if($playblastActive){ $cur = `currentTime -q`; $progress = (($endF-$startF)/$incrF)*$timePerF; progressBar -edit -step ($tick/$progress*100) UI_progress; $textfieldText = "Playblasting ("+$cur+"/"+$endF+")"; //textField -e -text ( $text) -en 0 -editable false UI_textfield; button -e -label "Stop playblast" -command "firePythonThread(1)" -h 40 UI_playblast; }else{ button -e -label "Playblast!" -command "firePythonThread(0)" -h 40 UI_playblast; $incrF = ($incrF < 1)?1:$incrF; if($timePerF<4){ $timePerF = 4; $error += "WARNING: short wait time = possible crash"; } intFieldGrp -e -value1 $timePerF UI_timePerF; optionVar -iv "firePB_secondsperframe" $timePerF; $launchFcheck = `checkBoxGrp -q -value1 UI_fcheck`; optionVar -sv "firePB_fcheck" (($launchFcheck)?"yes":"no"); if($endF<$startF){ intFieldGrp -e -value1 ($startF+1) UI_endF; } float $tte = (($endF-$startF)*1.0*$timePerF)/$incrF*1.0; string $seconds = pad(($tte%60.0)); $textfieldText = floor($tte/60.0)+"'"+substring($seconds,3,4)+"\" necessary for playblast"; } $textfieldText = ($error!="")?$error+"!":$textfieldText; textField -e -text ( $textfieldText) -en 0 -editable false UI_textfield; intFieldGrp -e -value1 ($incrF) UI_incrF; $error = ""; } global proc firePBOpenSequence(int $fcheck){ global string $currentFrameFile; global int $frameN; if($fcheck){ int $startF = `intFieldGrp -q -value1 UI_startF`; int $endF = `intFieldGrp -q -value1 UI_endF`; int $incrF = `intFieldGrp -q -value1 UI_incrF`; fcheck -F -n $startF ($frameN-1) $incrF (`substitute "[.*]([0-9]{4})[\.a-Z]" $currentFrameFile ".#."`); }else{ string $dir = `match "^.*/" $currentFrameFile`; if(`about -win`){ system("start explorer " + toNativePath($dir)); } } }
var xmlFile = new File("~/Desktop/test.xml"); xmlFile.open("r","TEXT","????"); var content = xmlFile.read(); var xml = new XML(content); var elements = xml.elements(); alert(elements);
<?xml version="1.0"?> <collections> <expression id="position">ddd</expression> <date>2012-10-30</date> <icon>thumb2032.png</icon> </collections>
http://www.programmingforums.org/post168124.html
<html> <head> <style type="text/css"> body{ height:100% } div.fullscreen{ display:block; background-color: #dda; /*set the div in the top-left corner of the screen*/ position:absolute; top:0; left:0; float:left; /*set the width and height to 100% of the screen*/ /*width:100%;*/ height:100%; } #leftCol {float:left;} #rightCol {width:200px; float:right} /*#rightCol div {float:left; clear:left;}*/ /*table, table * {white-space: no-wrap}*/ #nav { white-space:nowrap; padding: 4px 6px; margin: 3px; border: 1px solid #ccc; text-decoration: none; background-color: #add; height: 80%;} #nav img.a1{height: 100%;} #nav img.b1{height: 50%;} #nav img.c1{height: 33%;} #plop {white-space:nowrap; float:left;height: 33%;background-color: #dad;} </style> </head> <body> <div class="fullscreen"> <div id="nav"> <div id="leftCol"> <a href='http://etudedeforme.fr/blog/wp-content/uploads/2012/02/fun7_04-120209_1645_0.png'><img class='a1' src='http://etudedeforme.fr/blog/wp- content/uploads/2012/02/fun7_04-120209_1645_0.png'></a> <a href='http://etudedeforme.fr/blog/wp-content/uploads/2012/02/fun7_04-120209_1645_0.png'><img class="a1" src='http://etudedeforme.fr/blog/wp- content/uploads/2012/02/fun7_04-120209_1645_0.png'></a> <a href='http://etudedeforme.fr/blog/wp-content/uploads/2012/02/fun7_04-120209_1645_0.png'><img class="a1" src='http://etudedeforme.fr/blog/wp- content/uploads/2012/02/fun7_04-120209_1645_0.png'></a> </div> <div id="rightCol"> <a href='http://etudedeforme.fr/blog/wp-content/uploads/2012/02/fun7_04-120209_1645_0.png'><img class='b1' src='http://etudedeforme.fr/blog/wp- content/uploads/2012/02/fun7_04-120209_1645_0.png'></a> <a href='http://etudedeforme.fr/blog/wp-content/uploads/2012/02/fun7_04-120209_1645_0.png'><img class="b1" src='http://etudedeforme.fr/blog/wp- content/uploads/2012/02/fun7_04-120209_1645_0.png'></a> <a href='http://etudedeforme.fr/blog/wp-content/uploads/2012/02/fun7_04-120209_1645_0.png'><img class="b1" src='http://etudedeforme.fr/blog/wp- content/uploads/2012/02/fun7_04-120209_1645_0.png'></a> </div> </div> </div> </body> </html>