ARexx: (address is DDR)

F1.ddr through F10.ddr (S1.ddr - S10.ddr = Shift+FKey) can be run from the F-keys.

Note: All examples assume current address is "DDR" (Address DDR), and result
option is set (Options results).  The SAY command is only for programs run
from a shell.  You won't see anything if it's run from PAR.
[] = optional argument
<> = required argument

Command Args			Results
-------------------------------------------------------------
APPEND	[ OFF | ON ]		OFF | ON
	Turn append on/off


 /* enable append mode */
 Append On
 if result~='ON' then say 'Append enable failed.  Select an anim first.'

-------------------------------------------------------------
CAV	[ MII | BETA ]		MII | BETACAM
	Set output mode.

 /* Switch CAV output gain to Betacam */
 CAV Betacam

-------------------------------------------------------------
CHECK <no arg>			OPEN | CLOSED number

Returns DOS anim build window status, and current frame.

-------------------------------------------------------------
CLEANUP <no arg>
	Optimize the disk.

 /* Optimize the PAR disk */
 Cleanup

-------------------------------------------------------------
COLORS <hex numbers>

 Colors 555 000 999 500 /* Set the screen color palette */

-------------------------------------------------------------
COPY	<source> <destination> [start] [end]	1 = success
	Copies source anim/still to destination
	If destination project does not exist, it is created.

 Copy 'DD0:Anims/Test' 'DD1:Anims'		/* copy entire anim */
 Copy 'DD0:Anims/Test' 'DD1:Anims' 20 199	/* copy 180 frames  */

-------------------------------------------------------------
DELETE	[file] [start] [end]
	delete cuurently selected file or specified file
	or frames in an animation

 /* Select the file named "test" in project "Project1", and delete it */
 Project 'Project1'
 File 'test'
 Delete
 -or-
 Delete 'DDR:Project1/test'

 Delete 'DDR:Project1/test' 10 20  /* delete frames 10,11...20 */

See also: Project, File
-------------------------------------------------------------
DONE	[name]
	Same as hitting done in the DOS animation build status requester.
	name is the optional name to save it as.
	(This command is also used for manual record, without the filename)

 /* Set convert mode to anim, convert all framestores, complete the anim */
 Mode Anim
 Address command 'Copy DH1:FrameStore/#? 'DDR:Project1/TestAnim'
 Done

See also: Mode
-------------------------------------------------------------
DOSSELECT [stem]
	returns all selected files in DOS requester.

	stem.0 => number of selected files
	stem.1 => first selected file (filenames, without path)

 DosSelect files
 if files.0~=0 then do i=1 to files.0
	req files.i 'is selected'
 end

-------------------------------------------------------------
EMODE	[FRAME | 1 | 2 | BOTH ] [DOUBLE]    FRAME|1|2|BOTH  DOUBLE
	Set current export mode

EMode FRAME	/* saves full 480 line frame. */
EMode 1 	/* saves field 1 as a 240 line file. */
EMode BOTH	/* saves both 240 line fields as separate files. */
EMode 1 DOUBLE	/* saves field 1 as a 480 line file. (every 2 lines are the same) */

See also: Export, Exporter
-------------------------------------------------------------
EMULATE [ OFF | ON ]		OFF | ON
	Turn emulation off or on.

  EMULATE ON

-------------------------------------------------------------
ENDFRAME <number>
	Set playback endframe (0 or OFF to turn off)

 ENDFRAME 200

See also: StartFrame, Loop, Play
-------------------------------------------------------------
ETOE	[ OFF | ON ]		OFF | ON

 /* Check the status of E/E */
 ETOE
 Say 'E/E is:' result

-------------------------------------------------------------
EXPORT	[output_name] [start] [end] [start_ext]
	Save frames to curent DOS path as IFF24 or PAR images.
	OUTPUT_NAME changes the name of the output files (do not specify path).
	START and END are the range of frame for an anim.
	START_EXT is the starting number to use as the extension.

 Export		  /* Export still or current frame of anim */
 Export 10	  /* Export frame 10 of anim */
 Export 1 30	  /* Export frames 1 to 30 */
 Export test 1 10 /* Export any name as test.0001, test.0002, ....
 Export test 120 130 400 /*Exports frame 120-130 as test.0400, test.0401, ....

See also: EMode, Path, Exporter
-------------------------------------------------------------
EXPORTER [name]
	Set export format

 Exporter IFF
 EMode    FRAME
 Export   1 30

-------------------------------------------------------------
FILE	[name]			current file name
	Set file selection/play still or first frame of anim.

 /* Switch to the "TestPatterns" project, show the still named "SMPTE_Bars" */
 Project 'TestPatterns'
 if result='' then say 'That project does not exist.'
 File 'SMPTE_Bars'
 if result='' then say 'That file does not exist.'
 -or-
 File 'DD1:Anims/Test1' /* optionally, the full path may be given */

See also: Project, Unit
-------------------------------------------------------------
FILTER	[ OFF | ON ]		OFF | ON
	Set IFF conversion filter mode.

 /* Turn filter on */
 Filter On

-------------------------------------------------------------
FIELD	[ 1 | 2 ]		1 | 2
	Set field to display.


 Stunt On	/* enable field display */
 Field 2	/* show field 2 */

See also: Stunt
-------------------------------------------------------------
FILM	[ OFF | ON ]		OFF | ON
	Turn film mode (24 fps) on or off.

 /* Turn on film mode */
 Film On

-------------------------------------------------------------
FPS	[number]		number
	Set frames per second playback, or record FPS.
	SLOW must be set to activate variable playback.

 /* Play an anim at 7.5 frames per second, and wait for end. */
 FPS 7.5
 Slow ON
 Loop OFF
 Play 'TestAnim'
 Wait
 Slow OFF

-------------------------------------------------------------
FRAMES	<no arg>		number of frames
	Get number of frames in currently loaded anim.

 File 'DD0:Anims/TestAnim'
 Frames
 n=result
 if n=0 then Say 'Not an anim.'
 else Say 'Anim has' n 'frames.'

-------------------------------------------------------------
FREE	<no arg>		number of blocks

 Free
 say 'The largest freespace is' result
-------------------------------------------------------------
GENLOCK [ INT | EXT ]		INT | EXT
	Set sync reference mode.

-------------------------------------------------------------
GPI	[ ON | OFF ]		ON | OFF

	Turn GPI trigger on or off.

-------------------------------------------------------------
GRAB	[filename]
	Grab a live frame.  Will request a name if not given.

 /* grab 8 frames from video source named "Test.1" thru "Test.8"
 do i=1 to 8
	Grab 'Test.'i
 end

-------------------------------------------------------------
HORIZ	[number]		number

 /* Set genlock horizontal to .28 deg. */
 Horiz 0.28

-------------------------------------------------------------
JOIN	<name> <name> [name] ...
	Join a list of anim files together.
	The first name will be used as the joined name.

 /* Join the files "test" and "test2" in the project "main" */
 Join 'DD0:main/test' 'DD0:main/test2' 'DD1:Anims/endanim'


-------------------------------------------------------------
JUMP	[frame] 		frame
	Jump to frame number in anim/get current frame number (0=no anim)

 /* Load "TestAnim" and show frame 30 if it's an anim */
 File 'TestAnim'
 Jump
 if result=0 then say 'This is not an anim'
 else Jump 30

-------------------------------------------------------------
LAPSE	OFF | ON | seconds
	Set record time lapse speed, and turn on/off

 /* Record time-lapse, and play it. Always set Lapse, QFactor, and RecFrames */
 Lapse On
 Lapse 4
 QFactor 10
 RecFrames 30
 Record 'LapseTest1'
 Play

-------------------------------------------------------------
LIMIT	[number]		number
	Set anim frame max encode size in blocks.

 /* set maximum frames size limit for record/convert */
 Limit 156

-------------------------------------------------------------
LOOP	[ OFF | ON ]		OFF | ON
	Set anim looping mode.

 /* Play current anim over and over again */
 Loop On
 Play

-------------------------------------------------------------
MANUAL	[ OFF | ON ]		OFF | ON
	Enable manual record

 /* record a few frames */
 RecFrames 10
 Manual ON
 QFactor 12
 Record 'testfile'
 Step /* same as hitting the GRAB button, or GPI */
 Step
 Step
 Done /* same as hitting the DONE button */

-------------------------------------------------------------
MODE	[ STILL | ANIM ]	Still | Anim
	Set import mode.

 /* Import a framestore as a still */
 Mode still
 Address command 'Copy DH1:FrameStore/000.FS.VT4000 DDR:Stills'

-------------------------------------------------------------
MONO	[OFF | ON]		[OFF | ON]
	Turn monochrome on or off.

-------------------------------------------------------------
MOVE	<source> <destination>		1 = success
	Moves source anim/still to destination
	If destination project does not exist, it is created.

 Move 'DD0:Anims/Test' 'DD1:Anims'

-------------------------------------------------------------
PATH	[dos_path]		dos_path
	Set path in AmigaDOS file selector.

 /* Change DOS selector to RAM: directory */
 Path 'RAM:'

-------------------------------------------------------------
PAUSE	[ OFF | ON | number ]	OFF | ON
	Set pause state
	If a number is given, it will unpause, wait until that frame, then pause.

 /* Play selected anim, pause at frame 30, wait 1 sec, pause at 60, and stop at 90 */
 Play
 Pause 30
 call delay 50
 Pause 60
 call delay 50
 Stop 90

-------------------------------------------------------------
PLAY	[filename]			0 | 1
	Show still/Start playing current anim, or start playing [filename]
	in current project.

 /* play some anims at 30 FPS in sequence, waiting for each to end */
 Project 'Anims'
 Loop off
 FPS 30
 Play 'Anim1'
 if result=0 then do;say 'Can''t play.  File does not exist.';exit;end
 Wait
 Play 'Anim2'
 Wait
 Play 'Anim3'
 Wait
 Play 'DD1:OtherProject/Anim4' /* optionally give full path */

-------------------------------------------------------------
PROJECT [name]			curent project name
	Set project selection.

 Project 'Project1'
 if result='' then Say 'No project by that name'

-------------------------------------------------------------
QFACTOR 0-23			0-23
	Set Q-Factor

-------------------------------------------------------------
QUIT	<no arg>
	Quit PAR

-------------------------------------------------------------
RECFRAMES [number]		number
	Set number of frames for real-time record.  Return value may be lower
	than requested depending on free space.

-------------------------------------------------------------
RECORD	[filename]
	Starts record. Asks for filename if not given.

 /* record 90 frames real-time at full speed */
 Lapse OFF
 RecFrames 90
 QFactor 11
 FPS 30
 Record 'Movie'

-------------------------------------------------------------
REQUEST <line1|line2|line3;editline>  0 | 1 | editline
	Open an OK/Cancel or string requester

 /* Request things.  Intended to be run from a shell on Workbench */
 ToFront
 Req 'Would you like to continue?'
 if result=1 then say 'You hit the OK button.'
 else say 'You hit the Cancel button.'
 ToBack

 ToFront
 Req 'Edit the string and hit return.|Hit Cancel to return "".;Test string'
 if result='' then say 'Cancel'
 else say 'The edit line was "'result'"'
 ToBack

-------------------------------------------------------------
SLOW	[ OFF | ON ]		OFF | ON
	Turn slow motion on/off.

 /* Play anim at 15 FPS */
 FPS 15
 Slow ON
 Loop off
 Play
 if result=1 then say 'Playing....'
 Wait
 Say 'Stopped'

-------------------------------------------------------------
SMPTE	[ OFF | ON | time ]	HH:MM:SS:FF ON | OFF

 /* Start playing when Studio SMPTE counter reaches one second. */
 SMPTE 01:00
 SMPTE ON
 Pause ON
 Play

-------------------------------------------------------------
SPLIT	<number> [filename]
	Split current anim at frame <number>.  If no filename is
	given, it will request one.

 /* Split the file "test" at frame 20, leaving file "test" with 20 frames,
    and "test2" with the rest. */
 File 'ddr:anims/test'
 Split 20 'test2'

-------------------------------------------------------------
STARTFRAME <number>
	Set playback startframe (0 or OFF to turn off)

 /* loop from frame 10 to 30 */
 Startframe 10
 Endframe 30
 Loop ON
 Play

See also: Endframe,play
-------------------------------------------------------------
STEP	<no args>		0 | 1 (1=done)
	Frame step durring manual record.

 /* record 30 frames, one per second */
 Manual ON
 RecFrames 30
 Record 'live_test'
 done=0
 do while done=0
	Step
	done=result
	call delay 50
 end

See also: Manual,Record,Done
-------------------------------------------------------------
STOP	[number]
	Stop playing. If a number is given, it will wait until that frame
	before stopping.

 /* Jump to the beginning, start playing, stop at frame 30 */
 Jump 1
 Play
 Stop 30

See also: jump,play,pause
-------------------------------------------------------------
STUNT	[ OFF | ON ]		OFF | ON
	Set field/frame output mode.

See also: Field
-------------------------------------------------------------
SUB	[number]		number
	Set genlock sub-carrier

See also: Horiz
-------------------------------------------------------------
TITLE	[string]
	Put text in the title bar.  No text resets to default.

 Title 'Hello'
 call delay 150
 Title

-------------------------------------------------------------
TOFRONT <no arg>
	Bring par screen to front

-------------------------------------------------------------
TOBACK  <no arg>
	Push par screen to back

-------------------------------------------------------------
TRANSLATE [ OFF | ON ]		OFF | ON
	Turn emulation off or on.

  TRANSLATE ON

-------------------------------------------------------------
UNIT	[0 | 1]			[0 | 1]
	Change to IDE drive 0 (master), or 1 (slave)

-------------------------------------------------------------
VERSION <no arg>		current version ID
	Get version info.

-------------------------------------------------------------
VIEW	<filename>
	Show an IFF24 or Framestore
	filename can be full path+name, or name in current path

-------------------------------------------------------------
WAIT	[number]		RC=0|5
	Wait for anim to complete, or wait for frame number.
	RC will be 5 if not playing, or another arexx program is waiting.

 Loop OFF
 say 'starting to play'
 Play
 say 'playing'
 Wait
 say 'Done'

-------------------------------------------------------------

PAL ARexx commands (Video capture board)
	LUMA
	BLACK
	SATURATION
	HPOS
	RED
	BLUE
	YCDELAY
	SOURCE PAL/SVIDEO/CAV
	FMODE FRAME/F1/F2
	TAKE ON/OFF
	PROCAMP <1-10> [luma black sat hpos red blue yc]


Keyboard hotkeys:

	Del - delete selected file.
	+/- and up/down arrows on keypad - move up/down thru files.
	HOME/END on keypad - select first/last file.
	PgUp/PgDn on keypad - go up/down a page.
	Cursor left/right - move thru anim.
	Shift Cursor left/right - move to start/end of anim.
	Alt Cursor left/right - adjust slow-play speed.
	Alt Cursor down - toggle slow play.
	Cursor up - play
	Cursor down - stop
	Space bar - pause toggle
	C - Convert
	E - E/E
	F - Field/Frame
	G - Grab
	I - still/anim convert mode
	Q - Quit (or ESC)
	R - Rename
	T - TBC-IV
	V - View

  Requesters:
	ESC - Cancel
	C   - Cancel
	Return - OK
	O      - OK

