# initialize modules # optional things. this presents a convenient 'load-' syntax to # load other modules, and makes sure they are loaded only once. # consider these the 'boot words' for any code additions provided in # the main distribution. # the words behave like loaded scripts: after execution the dictionary # will contain the new code & data. Some implementations might override # some polywords in their setup scripts. : slurp-current-if-found try find drop # FIXME: doesn't work with lists input-stack top slurp drop recover e_undef or-throw 2drop endtry ; : provide read slurp-current-if-found ; : load-xv "xv.pf" load ; "load Xvideo support" doc : load-image "ip.pf" load ; "Load image processing support." doc : load-x11 "x11.pf" load ; "Load X window support" doc : load-v4l "v4l.pf" load ; "Load Video4Linux support" doc : load-sdl "sdl.pf" load ; "Load SDL support" doc : load-lqt "lqt.pf" load ; "Load quicktime movie support" doc : load-codecs "video.pf" load ; "Load external codec player/recorders" doc : load-matrix "matrix.pf" load ; "Load matrix processing functions" doc : load-opengl "opengl.pf" load ; "Load opengl extensions" doc : load-daemon "daemon.pf" load ; "Load daemon support." doc : load-puredata "pd.pf" load ; "Load puredata support." doc : load-rtc "rtc.pf" load ; "Load real time clock support." doc : load-osc "osc.pf" load ; "Load open sound control (udp) support." doc : load-opengl-x11 "opengl-x11.pf" load ; "Load X11 opengl support." doc : load-opengl-sdl "opengl-sdl.pf" load ; "Load SDL opengl support." doc : load-freetype "freetype.pf" load ; "Load font rendering support" doc : load-ftgl "ftgl.pf" load ; "Load opengl font rendering support" doc : load-png "png.pf" load ; "Load png import/export functions" doc : load-jpeg "jpeg.pf" load ; "Load jpeg import/export functions" doc : load-ascii "ascii.pf" load ; "Load ascii packet support" doc : load-scaf "scaf.pf" load ; "Load scaf support (cellular automata)" doc # emacs : load-emacs "emacs.pf" load ; "Load emacs support" doc : load-grab "grab.pf" load ; "Load frame grabber support." doc : load-record "record.pf" load ; "Load frame recorder support." doc # display system defer load-opengl-sys defer load-blit-sys : load-blit-sdl "sdl.pf" load ; : load-blit-xv "xv.pf" load ; : config-sdl ' load-opengl-sdl is load-opengl-sys ' load-blit-sdl is load-blit-sys ; : config-x11 ' load-opengl-x11 is load-opengl-sys ' load-blit-xv is load-blit-sys ; : load-blit load-blit-sys ( create-default-blitter ) interpret-list ; "Load blitter support." doc # default is sdl, since this should be cross-platform -- put a # 'config-x11' in your .pfrc if you need the extra control the x11 # output objects give config-sdl # CONSOLE : load-scheduler "scheduler.pf" load ; # main event loop without console attached : daemon ( load-console finish ) interpret-list ; "Load and start PF daemon." doc # main event loop with console attached : interactive ( load-daemon start-daemon spawn-tick : interactive ; start-console-client finish ) interpret-list ; "Load and start interactive interpreter." doc # see libpf/test/Makefile : test-interactive (load-daemon : interactive 1000. sleep bye ;) interpret-list load ; # FIXME : load-fbcon "framebuffer.pf" load ; "Load linux FB and VT support." doc : load-guile "guile.pf" load ; "load scheme interpreter extensions" doc : load-evilwm "evilwm.pf" load ; "load evil window manager support" doc