Has gmic -help
<some command> been any use for you? There is also the Command Listings in the technical reference.
If a custom command (not built-in) has been hashed on startup, then: gmic echo $${
<some custom command>}
will substitute the custom command name with its pipeline definition and print out the pipeline.
For example:
$ gmic echo '$${fx_simulate_film}'
[gmic]-0./ Start G'MIC interpreter (v.3.2.7).
category=${arg0 $1,bw,instant_consumer,instant_pro,fujixtransiii,negative_color,negative_new,negative_old,print,colorslide} presets=${-_fx_cluts_$category} index={arg(1+$1,${2-10})} thumbsize,strength,brightness,contrast,gamma,hue,saturation,normalize=${11-18} if $normalize==1" || "$normalize==3 foreach { split_opacity balance_gamma[0] , a c } fi if $index>=2 path_clut=${-path_cache} name=${arg0 $index-2,$presets} clut $name,{0$_is_preview" && "!isfile(['{/${path_clut}clut_$name.cimgz}'])?17:48} repeat $!-1 { if $strength<100 +map_clut[$>] . j[$>] .,0,0,0,0,{$strength%} rm. else map_clut[$>] . fi } rm. adjust_colors $brightness,$contrast,$gamma,$hue,$saturation,0,255 if $normalize==2" || "$normalize==3 foreach { split_opacity n[0] 0,255 a c } fi elif $index==1 adjust_colors $brightness,$contrast,$gamma,$hue,$saturation,0,255 if $normalize==2" || "$normalize==3 foreach { split_opacity n[0] 0,255 a c } fi else foreach { if max(w,h)>$thumbsize rr2d $thumbsize,$thumbsize,0,2 fi } N=$! +to "Original",1%,1%,7.5%,2,0.5 Np={narg($presets)} repeat $Np { clut_name=${arg0 $>,$presets} clut $clut_name mv. $N repeat $N { if $strength<100 [$>] +map_clut. [$N] j.. .,0,0,0,0,{$strength%} rm. else +map_clut[$>] [$N] fi adjust_colors. $brightness,$contrast,$gamma,$hue,$saturation,0,255 if $normalize==2" || "$normalize==3 l. { split_opacity n[0] 0,255 a c } fi strcapitalize $clut_name clut_name=${} to. $clut_name,1%,1%,7.5%,2,0.5 } rm[$N] progress {$>*100/($Np-1)} } k[$N--1] frame 1,1,0,0,0,255 - 128 append_tiles {s=floor(sqrt($!));w>h?[s,0]:[0,s]} + 128 fi
[gmic]-0./ End G'MIC interpreter.
You can then cut-and-paste from the shell to your favorite text editor and spelunk around.
Observe that what my gmic
may hash is not what your gmic
may hash — much depends on what has been placed in the places where gmic
looks for custom command definitions. I am never quite sure what is available to Mac users, but this last technique can give you an immediate heads up if a given custom command under discussion is available to your particular installation. The help
command is not quite as definitive: it depends on whether a specially-formatted “help comment” has been written for the command. That is not usually the case for fx_…
and their ilk: these are usually undocumented adapters between a gmic_qt
and gmic
proper.
Hope this helps.