[gmic]-0./ Start G'MIC interpreter (in debug mode). -0./ Initial command line: 'cli_start -debug -w -apply_video BigBuckBunny_320x180.mp4,"-fx_highlight_bloom 0,255,30,0,0",0,-1,1,output.mp4'. ./ Decompose command line into 5 items: ./ item[0] = 'cli_start' ./ item[1] = '-debug' ./ item[2] = '-w' ./ item[3] = '-apply_video' ./ item[4] = 'BigBuckBunny_320x180.mp4,-fx_highlight_bloom 0\,255\,30\,0\,0,0,-1,1,output.mp4' -0./ Enter scope './'. -0./ Item 'cli_start', selection []. -0./ Found custom command 'cli_start: ' (takes no arguments). -0./ Expand command line for command 'cli_start' to: ''. -0./cli_start/ Return from empty function 'cli_start/'. -0./ Item '-debug' -> 'debug', selection []. -0./ Item '-w' -> 'w', selection []. -0./ Command 'window': arguments = '-apply_video'. [gmic]-0./ Display image [] in 256x256 display window [0], with auto-normalization, no fullscreen and title '[G'MIC] Window #0'. -0./ Item '-apply_video' -> 'apply_video', selection []. -0./ Found custom command 'apply_video: check "isint(${3=0}) && $3>=0 && isint(${4=-1}) && ($4>=0 || $4==-1) && ${5=1}>=1" skip "${2=},${6=}" e[^-1] "Apply command '$2'(...)t frame $3, last frame $4, frame step $5 and output filename '$6'.\n" v - _N= _apply_stream[] "\"$1\",$frame","$2",${3-5},"$6" v +' (takes arguments). -0./ Command 'apply_video': arguments = 'BigBuckBunny_320x180.mp4,-fx_highlight_bloom 0\,255\,30\,0\,0,0,-1,1,output.mp4'. -0./ Found 6 given arguments for command 'apply_video': -0./ $1 = 'BigBuckBunny_320x180.mp4' -0./ $2 = '-fx_highlight_bloom 0\,255\,30\,0\,0' -0./ $3 = '0' -0./ $4 = '-1' -0./ $5 = '1' -0./ $6 = 'output.mp4' -0./ Expand command line for command 'apply_video' to: 'check "isint(0) && 0>=0 && isint(-1) && (-1>=0 || -1==-1) && 1>=1" skip "-fx_highlight_bloom 0\,255\,30\,0\,0,output.mp4" e[^-1] "Ap(...).mp4'.\n" v - _N= _apply_stream[] "\"BigBuckBunny_320x180.mp4\",$frame","-fx_highlight_bloom 0\,255\,30\,0\,0",0,-1,1,"output.mp4" v +'. ./ Decompose command line into 13 items: ./ item[0] = 'check' ./ item[1] = 'isint(0) && 0>=0 && isint(-1) && (-1>=0 || -1==-1) && 1>=1' ./ item[2] = 'skip' ./ item[3] = '-fx_highlight_bloom 0\,255\,30\,0\,0\,output.mp4' ./ item[4] = 'e[^-1]' ./ item[5] = 'Apply command '-fx_highlight_bloom 0\,255\,30\,0\,0' on input video file 'BigBuckBunny_320x180.mp4'\, with first frame 0\, last frame -1\, frame step 1 and output filename 'output.mp4'.\n' ./ item[6] = 'v' ./ item[7] = '-' ./ item[8] = '_N=' ./ item[9] = '_apply_stream[]' ./ item[10] = '\"BigBuckBunny_320x180.mp4\"\,\$frame,-fx_highlight_bloom 0\,255\,30\,0\,0,0,-1,1,output.mp4' ./ item[11] = 'v' ./ item[12] = '+' -0./apply_video/ Enter scope 'apply_video/'. -0./apply_video/ Item 'check', selection []. -0./apply_video/ Command 'check': arguments = 'isint(0) && 0>=0 && isint(-1) && (-1>=0 || -1==-1) && 1>=1'. [gmic]-0./apply_video/ Check expression 'isint(0) && 0>=0 && isint(-1) && (-1>=0 || -1==-1) && 1>=1' -> true. -0./apply_video/ Item 'skip', selection []. -0./apply_video/ Command 'skip': arguments = '-fx_highlight_bloom 0\,255\,30\,0\,0\,output.mp4'. [gmic]-0./apply_video/ Skip argument '-fx_highlight_bloom 0,255,30,0,0,output.mp4'. -0./apply_video/ Item 'e[^-1]', selection [0]. -0./apply_video/ Command 'echo': arguments = 'Apply command '-fx_highlight_bloom 0\,255\,30\,0\,0' on input video file 'BigBuckBunny_320x180.mp4'\, with first frame 0\, last frame -1\, frame step 1 and output filename 'output.mp4'.\n'. [gmic]-0./ Apply command '-fx_highlight_bloom 0,255,30,0,0' on input video file 'BigBuckBunny_320x180.mp4', with first frame 0, last frame -1, frame step 1 and output filename 'output.mp4'. -0./apply_video/ Item 'v', selection []. [gmic]-0./apply_video/ Decrement verbosity level (set to -1). -0./apply_video/ Item '_N=', selection []. [gmic]-0./apply_video/ Set global variable '_N='. -0./apply_video/ Item '_apply_stream[]', selection []. -0./apply_video/ Found custom command '_apply_stream: skip "${2=},${6=}" is_ext "$6",avi is_outavi=${} frame=$3 i=0 go_on=1 do l[] $1 onfail go_on=0 endl if $go_on v + e[] "\r > Fra(...) w[] {0,w},{0,h} wait -1 endif endif rm. endif while {$go_on" && "($4==-1" || "$frame<=$4)} if $is_outavi o[] "$6",25,mp4v,0 endif' (takes arguments). -0./apply_video/ Command '_apply_stream': arguments = '\"BigBuckBunny_320x180.mp4\"\,\$frame,-fx_highlight_bloom 0\,255\,30\,0\,0,0,-1,1,output.mp4'. -0./apply_video/ Found 6 given arguments for command '_apply_stream': -0./apply_video/ $1 = '\"BigBuckBunny_320x180.mp4\"\,\$frame' -0./apply_video/ $2 = '-fx_highlight_bloom 0\,255\,30\,0\,0' -0./apply_video/ $3 = '0' -0./apply_video/ $4 = '-1' -0./apply_video/ $5 = '1' -0./apply_video/ $6 = 'output.mp4' -0./apply_video/ Expand command line for command '_apply_stream' to: 'skip "-fx_highlight_bloom 0\,255\,30\,0\,0,output.mp4" is_ext "output.mp4",avi is_outavi=${} frame=0 i=0 go_on=1 do l[] "BigBuckBunn(...)w},{0,h} wait -1 endif endif rm. endif while {$go_on" && "(-1==-1" || "$frame<=-1)} if $is_outavi o[] "output.mp4",25,mp4v,0 endif'. ./apply_video/ Decompose command line into 91 items: ./apply_video/ item[0] = 'skip' ./apply_video/ item[1] = '-fx_highlight_bloom 0\,255\,30\,0\,0\,output.mp4' ./apply_video/ item[2] = 'is_ext' ./apply_video/ item[3] = 'output.mp4,avi' ./apply_video/ item[4] = 'is_outavi=${}' ./apply_video/ item[5] = 'frame=0' ./apply_video/ item[6] = 'i=0' ./apply_video/ item[7] = 'go_on=1' ./apply_video/ item[8] = 'do' ./apply_video/ item[9] = 'l[]' ./apply_video/ item[10] = 'BigBuckBunny_320x180.mp4,$frame' ./apply_video/ item[11] = 'onfail' ./apply_video/ item[12] = 'go_on=0' ./apply_video/ item[13] = 'endl' ./apply_video/ item[14] = 'if' ./apply_video/ item[15] = '$go_on' ./apply_video/ item[16] = 'v' ./apply_video/ item[17] = '+' ./apply_video/ item[18] = 'e[]' ./apply_video/ item[19] = '\r > Frame #$frame$_N ' ./apply_video/ item[20] = 'v' ./apply_video/ item[21] = '-' ./apply_video/ item[22] = 'frame+=1' ./apply_video/ item[23] = 'l' ./apply_video/ item[24] = '-fx_highlight_bloom' ./apply_video/ item[25] = '0,255,30,0,0' ./apply_video/ item[26] = 'onfail' ./apply_video/ item[27] = 'error[0--5]' ./apply_video/ item[28] = 'Command 'apply_stream': Specified command errored: ${}' ./apply_video/ item[29] = 'endl' ./apply_video/ item[30] = 'if' ./apply_video/ item[31] = '{!$!}' ./apply_video/ item[32] = 'continue' ./apply_video/ item[33] = 'endif' ./apply_video/ item[34] = 'if' ./apply_video/ item[35] = '{narg(output.mp4)}' ./apply_video/ item[36] = 'if' ./apply_video/ item[37] = '$is_outavi' ./apply_video/ item[38] = 'z.' ./apply_video/ item[39] = '0,{w-(w%8)-1}' ./apply_video/ item[40] = 'o.' ./apply_video/ item[41] = 'output.mp4,25,mp4v,1' ./apply_video/ item[42] = 'else' ./apply_video/ item[43] = 'o.' ./apply_video/ item[44] = '${filename output.mp4,$i}' ./apply_video/ item[45] = 'i+=1' ./apply_video/ item[46] = 'endif' ./apply_video/ item[47] = 'endif' ./apply_video/ item[48] = 'if' ./apply_video/ item[49] = '{*}' ./apply_video/ item[50] = 'title=[G'MIC] Frame #$frame' ./apply_video/ item[51] = 'if' ./apply_video/ item[52] = '{!narg($wh)}' ./apply_video/ item[53] = 'wh=${fitscreen[] {w},{h}}' ./apply_video/ item[54] = 'w.' ./apply_video/ item[55] = '$wh,0,$title' ./apply_video/ item[56] = 'else' ./apply_video/ item[57] = 'w.' ./apply_video/ item[58] = '-1,-1,0,$title' ./apply_video/ item[59] = 'endif' ./apply_video/ item[60] = 'if' ./apply_video/ item[61] = '{({*,CTRLLEFT} || {*,CTRLRIGHT}) && {*,D}}' ./apply_video/ item[62] = 'w[]' ./apply_video/ item[63] = '{{*,w}*1.5},{{*,h}*1.5}' ./apply_video/ item[64] = 'wait' ./apply_video/ item[65] = '-1' ./apply_video/ item[66] = 'endif' ./apply_video/ item[67] = 'if' ./apply_video/ item[68] = '{({*,CTRLLEFT} || {*,CTRLRIGHT}) && {*,C}}' ./apply_video/ item[69] = 'w[]' ./apply_video/ item[70] = '{{*,w}/1.5},{{*,h}/1.5}' ./apply_video/ item[71] = 'wait' ./apply_video/ item[72] = '-1' ./apply_video/ item[73] = 'endif' ./apply_video/ item[74] = 'if' ./apply_video/ item[75] = '{({*,CTRLLEFT} || {*,CTRLRIGHT}) && {*,R}}' ./apply_video/ item[76] = 'w[]' ./apply_video/ item[77] = '{0,w},{0,h}' ./apply_video/ item[78] = 'wait' ./apply_video/ item[79] = '-1' ./apply_video/ item[80] = 'endif' ./apply_video/ item[81] = 'endif' ./apply_video/ item[82] = 'rm.' ./apply_video/ item[83] = 'endif' ./apply_video/ item[84] = 'while' ./apply_video/ item[85] = '{$go_on && (-1==-1 || $frame<=-1)}' ./apply_video/ item[86] = 'if' ./apply_video/ item[87] = '$is_outavi' ./apply_video/ item[88] = 'o[]' ./apply_video/ item[89] = 'output.mp4,25,mp4v,0' ./apply_video/ item[90] = 'endif' -0./apply_video/_apply_stream/ Enter scope '_apply_stream/'. -0./apply_video/_apply_stream/ Item 'skip', selection []. -0./apply_video/_apply_stream/ Command 'skip': arguments = '-fx_highlight_bloom 0\,255\,30\,0\,0\,output.mp4'. [gmic]-0./apply_video/_apply_stream/ Skip argument '-fx_highlight_bloom 0,255,30,0,0,output.mp4'. -0./apply_video/_apply_stream/ Item 'is_ext', selection []. -0./apply_video/_apply_stream/ Found custom command 'is_ext: skip "${1=}" v - 0 nm. "_$1" u {"lowercase(['"{x}"'])==lowercase(['$2'])"} rm. v +' (takes arguments). -0./apply_video/_apply_stream/ Command 'is_ext': arguments = 'output.mp4,avi'. -0./apply_video/_apply_stream/ Found 2 given arguments for command 'is_ext': -0./apply_video/_apply_stream/ $1 = 'output.mp4' -0./apply_video/_apply_stream/ $2 = 'avi' -0./apply_video/_apply_stream/ Expand command line for command 'is_ext' to: 'skip "output.mp4" v - 0 nm. "_output.mp4" u {"lowercase(['"{x}"'])==lowercase(['avi'])"} rm. v +'. ./apply_video/_apply_stream/ Decompose command line into 12 items: ./apply_video/_apply_stream/ item[0] = 'skip' ./apply_video/_apply_stream/ item[1] = 'output.mp4' ./apply_video/_apply_stream/ item[2] = 'v' ./apply_video/_apply_stream/ item[3] = '-' ./apply_video/_apply_stream/ item[4] = '0' ./apply_video/_apply_stream/ item[5] = 'nm.' ./apply_video/_apply_stream/ item[6] = '_output.mp4' ./apply_video/_apply_stream/ item[7] = 'u' ./apply_video/_apply_stream/ item[8] = '{lowercase(['{x}'])==lowercase(['avi'])}' ./apply_video/_apply_stream/ item[9] = 'rm.' ./apply_video/_apply_stream/ item[10] = 'v' ./apply_video/_apply_stream/ item[11] = '+' -0./apply_video/_apply_stream/is_ext/ Enter scope 'is_ext/'. -0./apply_video/_apply_stream/is_ext/ Item 'skip', selection []. -0./apply_video/_apply_stream/is_ext/ Command 'skip': arguments = 'output.mp4'. [gmic]-0./apply_video/_apply_stream/is_ext/ Skip argument 'output.mp4'. -0./apply_video/_apply_stream/is_ext/ Item 'v', selection []. [gmic]-0./apply_video/_apply_stream/is_ext/ Decrement verbosity level (set to -2). -0./apply_video/_apply_stream/is_ext/ Item '0', selection []. -0./apply_video/_apply_stream/is_ext/ Command 'input': arguments = '0'. [gmic]-0./apply_video/_apply_stream/is_ext/ Input empty image at position 0 (1 image 0x0x0x0). -1./apply_video/_apply_stream/is_ext/ Item 'nm.', selection [0]. -1./apply_video/_apply_stream/is_ext/ Command 'name': arguments = '_output.mp4'. [gmic]-1./apply_video/_apply_stream/is_ext/ Set name of image [0] to '_output.mp4'. -1./apply_video/_apply_stream/is_ext/ Item 'u', selection [0]. -1./apply_video/_apply_stream/is_ext/ Command 'status': arguments = '{lowercase(['{x}'])==lowercase(['avi'])}' -> '0'. [gmic]-1./apply_video/_apply_stream/is_ext/ Set status to '0'. -1./apply_video/_apply_stream/is_ext/ Item 'rm.', selection [0]. [gmic]-1./apply_video/_apply_stream/is_ext/ Remove image [0] (0 images left). -0./apply_video/_apply_stream/is_ext/ Item 'v', selection []. [gmic]-0./apply_video/_apply_stream/is_ext/ Increment verbosity level (set to -1). -0./apply_video/_apply_stream/is_ext/ Exit scope 'is_ext/'. -0./apply_video/_apply_stream/ Item 'is_outavi=${}' -> 'is_outavi=0', selection []. [gmic]-0./apply_video/_apply_stream/ Set local variable 'is_outavi=0'. -0./apply_video/_apply_stream/ Item 'frame=0', selection []. [gmic]-0./apply_video/_apply_stream/ Set local variable 'frame=0'. -0./apply_video/_apply_stream/ Item 'i=0', selection []. [gmic]-0./apply_video/_apply_stream/ Set local variable 'i=0'. -0./apply_video/_apply_stream/ Item 'go_on=1', selection []. [gmic]-0./apply_video/_apply_stream/ Set local variable 'go_on=1'. -0./apply_video/_apply_stream/ Item 'do', selection []. [gmic]-0./apply_video/_apply_stream/*do/ Start 'do...while' block. -0./apply_video/_apply_stream/*do/ Item 'l[]', selection []. [gmic]-0./apply_video/_apply_stream/*do/*local/ Start 'local...endlocal' block, with selected image []. -0./apply_video/_apply_stream/*do/*local/ Enter scope '*local/'. -0./apply_video/_apply_stream/*do/*local/ Item 'BigBuckBunny_320x180.mp4,$frame' -> 'BigBuckBunny_320x180.mp4,0', selection []. -0./apply_video/_apply_stream/*do/*local/ Command 'input': arguments = 'BigBuckBunny_320x180.mp4,0'. [gmic]-0./apply_video/_apply_stream/*do/*local/ Input frame 0 of file 'BigBuckBunny_320x180.mp4' at position 0 [gmic]-0./apply_video/_apply_stream/*do/*local/ *** Error *** [instance(0,0,0000000000000000)] CImgList::load_video(): File 'BigBuckBunny_320x180.mp4', unable to detect format of video file. [gmic]-0./apply_video/_apply_stream/*do/*local/ Reach 'onfail' block. -0./apply_video/_apply_stream/*do/*local/ Enter scope '*local/'. -0./apply_video/_apply_stream/*do/*local/ Item 'go_on=0', selection []. [gmic]-0./apply_video/_apply_stream/*do/*local/ Set local variable 'go_on=0'. -0./apply_video/_apply_stream/*do/*local/ Item 'endl', selection []. [gmic]-0./apply_video/_apply_stream/*do/*local/ End 'local...endlocal' block. -0./apply_video/_apply_stream/*do/*local/ Exit scope '*local/'. -0./apply_video/_apply_stream/*do/ Item 'if', selection []. -0./apply_video/_apply_stream/*do/ Command 'if': arguments = '$go_on' -> '0'. [gmic]-0./apply_video/_apply_stream/*do/*if/ Start 'if...endif' block -> condition '0' does not hold. -0./apply_video/_apply_stream/*do/*if/ Item 'endif', selection []. [gmic]-0./apply_video/_apply_stream/*do/*if/ End 'if...endif' block. -0./apply_video/_apply_stream/*do/ Item 'while', selection []. -0./apply_video/_apply_stream/*do/ Command 'while': arguments = '{$go_on && (-1==-1 || $frame<=-1)}' -> '0'. [gmic]-0./apply_video/_apply_stream/*do/ Reach 'while' command -> condition '0' does not hold. [gmic]-0./apply_video/_apply_stream/*do/ End 'do...while' block. -0./apply_video/_apply_stream/ Item 'if', selection []. -0./apply_video/_apply_stream/ Command 'if': arguments = '$is_outavi' -> '0'. [gmic]-0./apply_video/_apply_stream/*if/ Start 'if...endif' block -> condition '0' does not hold. -0./apply_video/_apply_stream/*if/ Item 'endif', selection []. [gmic]-0./apply_video/_apply_stream/*if/ End 'if...endif' block. -0./apply_video/_apply_stream/ Exit scope '_apply_stream/'. -0./apply_video/ Item 'v', selection []. [gmic]-0./apply_video/ Increment verbosity level (set to 0). -0./apply_video/ Exit scope 'apply_video/'. -0./ Exit scope './'. [gmic]-0./ End G'MIC interpreter.