FreeJ version 0.8 USAGE NOTES
===============================

FreeJ offers you various interfaces to interact with.
in fact, it's a completely asynchronous rendering engine which can even
process javascripts.

to have a tour of the capabilities, you can use the gtk-2 interface
which is the user friendly clicky thing.

FreeJ as a performance instrument can be lively used with the keyboard:
in the web documentation there is a map of the hotkeys.
Good manuality is fundamental. Manu Virtus.

the console controller is shaped on hotkeys coming from the Emacs and Vi
approach to a text editor. in fact FreeJ is using S-Lang to control the
console, an excellent library developed as part of the Jed editor.

the paragraph above recalls familiarity among unix hackers, but don't
worry if you don't get it, you can still find FreeJ interesting.

the text console gives you status information, listing all the layers
and the filters under them, scrolling all status messages and of course
letting you interact thru commands.

press ctrl-h to have a quick list of them.

here is a longer list:

LIST OF HOTKEYS, remember:
^ means CTRL key pressed
% means SHIFT key pressed

S-LANG CONSOLE 

 arrow keys browse selection thru layers and effects
 - and - move filters and effects up and down thru chains
 HOME de/activate layer, INS de/activates filter
 TAB to move the selected layer around the screen
 ! = switch on/off OSD   @ = switch on/off screen cleanup

 ctrl-c  = quit FreeJ (asks confirmation)
 ctrl-f  = go to Fullscreen
 ctrl-l  = cleanup and redraw the console
 ctrk-x  = execute a script

 ctrl-a  = move, rotate, zoom and spin the selected layer
 ctrl-o  = Open new layer (will prompt for path to file)
 ctrl-e  = add a new Effect to the selected layer (press TAB for list)
 ctrl-b  = change the Blit for the selected layer (press TAB for list)
 ctrl-v  = change the blit Value for the selected layer
 ctrl-j  = enter Jazz mode to pulse layers with keys
 ctrl-t  = create a text layer (will prompt for text)
 ctrl-y  = insert a new word in the selected text layer
 ctrl-g  = create a particle generator layer
 ctrl-w  = start streaming to the online server
           and encoding to a local file in Ogg/Theora
           (server and filename are configured at commandline)

LAYER COMMANDS

 HOME     = hide/show layer         BACKSP   = turn matte off
 %BACKSP  = white matte             ^BACKSP  = black matte
 ctrl-+ zoom in (minus and plus on the keypad)
 ctrl-- zoom out
 
VIDEO 4 LINUX LAYER COMMANDS:
 k/m      = switch up/down input channel
 j/n      = (if TV tuner is present) switch up/down frequency tables
 h/b      = (if TV tuner is present) cycle up/down frequencies


PNG LAYER COMMANDS:
 k        = switch blinking on/off
 o        = control subliminal image
 p        = stop subliminal


MOVIE LAYER COMMANDS (AVIFILE):
 j/k   = rewind and fast forward
 p     = pause (still can seek)
 i     = set/clear loop mark_in
 o     = set/clear loop mark_out
 l     = clear all loop markers


TXT LAYER COMMANDS:
 l/r
 arrows   = go to previous/next word in text
 o,p      = -/+ font size, hold ctrl for bigger increase
 u,i      = cycle thru available fonts
 b        = blink cycling thru words in file, loop at end
 m,k      = -/+ time on screen while blinking
 n,j      = -/+ time off screen while blinking


FILTER COMMANDS:

 DelayGrab filter
 q/w      = browse the 4 delay maps
 a/s      = -/+ blocksize

 Vertigo filter
 q/w      = -/+ phase
 a/s      = -/+ zoom speed
 z/x      = -/+ weirdness

 Simura filter:
 the square of keys on the left:
 |q|w|e|
 |a|s|d|
 |z|x|c|
 switch thru various mirrors, being z normal state

 QuadTrans filter
 q/w      = -/+ frames of the screen

 SquareTrans filter
 q/w      = -/+ blocksize

 Water filter
 q/w      = -/+ water density
 e        = big splash in the center
 r        = randomly placed splash
 t        = rain
 y        = whirpool in the center
 u        = surfer
 d        = distort surface (USE WITH CAUTION)
 f        = calm water

 Cartoon filter
 q/w      = -/+ blending
 a/s      = -/+ border outline

 Nervous filter
 q        = switch between the 2 modes



VeeJay over Ethernet TIP:

if you connect thru ssh you need to
$ export DISPLAY=localhost:0
and be sure to have the right permission on the X server
$ xhost +localhost





SDL SCREEN (doesn't work in VJoE remote network control)

 ^f   = switch fullscreen mode
 SPACE    = freeze the whole engine
 ESC      = quits (without confirm)
 TAB      = on/off OSD
 ^TAB     = on/off calibration guidelines
 PRINTSCR = display nice and lovely credits
 ctrl-s  = save to file

 NUMPAD PLUS  = increase overall speed
 NUMPAD MINUS = decrease overall speed

 PGUP/PGDOWN   = select layers up and down thru the chain
 ^PGUP/^PGDOWN  = move layers up and down thru the chain

 1 = select NORMAL BLIT             2 = select BLU BLIT
 3 = select GREEN BLIT              4 = select RED BLIT
 5 = select ADD BLIT                6 = select SUB BLIT
 7 = select AND BLIT                8 = select OR BLIT
 9 = SWITCH ALPHA blend on/off      0 = SWITCH BLANK screen on/off
 with ALPHA blend you can fade thru values pressing ctrl-v and
 then moving the mouse up and down.

 %ARROWS  = move layers around thru the screen
 mouse-l  = drag layers around, slowly and smoothly
 
 F1 - F12 = select an available filter (enter to create it)
            you can browse thru loaded plugins with this

 ^F1-^F12 = select the filter bank from which browse filters
            filters are stored in 12 banks, containing 12 filters each

 UP/DOWN  = select created filters up and down thru the chain
 ^UP/DOWN = move created filters up and down thru the chain

 DELETE   = remove selected filter
 ^DELETE  = remove ALL filters

 INSERT   = activate/deactivate filter
 (filters may have their own keys to change specific parameters)


SDL TIP:

 if you set the environmental variable SDL_VIDEODRIVER to have different
 rendering backends:
$ export SDL_VIDEODRIVER=aalib


 happy hacking

 get in touch with the mailinglist <freej@dyne.org>
 subscribe with a mail to <freej-subscribe@dyne.org>