export60074_0	= SmoothLooper

SmoothLooper::doit:
		link	$2
		pushi	$1a		; 26, signal
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		ldi	$800		; 2048, BAD SELECTOR
		and
		bnt	code_0056
		ret

code_0056:	ldi	$0
		sat	temp[$1]
		pToa	inProgress
		bnt	code_007f
		pToa	newMover
		bnt	code_0069
		pushi	$95		; 149, dispose
		push0
		send	$4
		bnot
code_0069:	pushi	$44		; 68, 'D', mover
		push0
		lap	param[$1]
		send	$4
		bnot
		aTop	newMover
		pushi	$44		; 68, 'D', mover
		push1
		push0
		lap	param[$1]
		send	$6
		bnot
		ret

		jmp	code_0096

code_007f:	pToa	vNormal
		not
		bnt	code_008e
		pushi	$e		; 14, view
		push0
		lap	param[$1]
		send	$4
		bnot
		aTop	vNormal
code_008e:	lap	param[$1]
		aTop	client
		ldi	$1
		aTop	inProgress
code_0096:	pushi	$f		; 15, loop
		push0
		pToa	client
		send	$4
		bnot
		push
		ldi	$3		; z
		gt?
		bnt	code_00d6
		pushi	$e		; 14, view
		push0
		pToa	client
		send	$4
		bnot
		push
		pToa	vNormal
		eq?
		bnt	code_00d6
		pToa	inProgress
		bnt	code_00c3
		pToa	oldMover
		bnt	code_00d6
		pushi	$95		; 149, dispose
		push0
		send	$4
		bnot
		jmp	code_00d6

code_00c3:	pushi	$e		; 14, view
		push1
		pTos	vNormal
		pToa	client
		send	$6
		bnot
		push2
		pTos	client
		lsp	param[$2]
		callk	kernel_95, $4
		bnot
code_00d6:	pushi	$f		; 15, loop
		push0
		pToa	client
		send	$4
		bnot
		sat	temp[$0]
		push
		dup
		ldi	$3		; z
		eq?
		bnt	code_013d
		lsp	param[$2]
		ldi	$2d		; 45, '-', cursor
		le?
		bt	code_00f4
		lsp	param[$2]
		ldi	$13b		; 315, putWord
		gt?
code_00f4:	bnt	code_00f9
		jmp	code_0249

code_00f9:	lsp	param[$2]
		ldi	$87		; 135, left
		le?
		bnt	code_0110
		ldi	$4		; scaleX
		sat	temp[$0]
		ldi	$0
		aTop	nextLoop
		ldi	$1
		sat	temp[$1]
		jmp	code_0249

code_0110:	lsp	param[$2]
		ldi	$e1		; 225, height
		le?
		bnt	code_0127
		ldi	$4		; scaleX
		sat	temp[$0]
		ldi	$10		; 16, cel
		aTop	nextLoop
		ldi	$1
		sat	temp[$1]
		jmp	code_0249

code_0127:	lsp	param[$2]
		ldi	$13b		; 315, putWord
		le?
		bnt	code_0249
		ldi	$5		; scaleY
		sat	temp[$0]
		ldi	$1
		aTop	nextLoop
		sat	temp[$1]
		jmp	code_0249

code_013d:	dup
		ldi	$0
		eq?
		bnt	code_019b
		lsp	param[$2]
		ldi	$2d		; 45, '-', cursor
		le?
		bt	code_0150
		lsp	param[$2]
		ldi	$13b		; 315, putWord
		gt?
code_0150:	bnt	code_0161
		ldi	$6		; maxScale
		sat	temp[$0]
		ldi	$3		; z
		aTop	nextLoop
		ldi	$1
		sat	temp[$1]
		jmp	code_0249

code_0161:	lsp	param[$2]
		ldi	$87		; 135, left
		le?
		bnt	code_016c
		jmp	code_0249

code_016c:	lsp	param[$2]
		ldi	$e1		; 225, height
		le?
		bnt	code_0183
		ldi	$0
		sat	temp[$0]
		ldi	$2
		aTop	nextLoop
		ldi	$1
		sat	temp[$1]
		jmp	code_0249

code_0183:	lsp	param[$2]
		ldi	$13b		; 315, putWord
		le?
		bnt	code_0249
		ldi	$6		; maxScale
		sat	temp[$0]
		ldi	$15		; 21, nsBottom
		aTop	nextLoop
		ldi	$1
		sat	temp[$1]
		jmp	code_0249

code_019b:	dup
		ldi	$1
		eq?
		bnt	code_01f4
		lsp	param[$2]
		ldi	$2d		; 45, '-', cursor
		le?
		bt	code_01ae
		lsp	param[$2]
		ldi	$13b		; 315, putWord
		gt?
code_01ae:	bnt	code_01bf
		ldi	$7		; priority
		sat	temp[$0]
		ldi	$3		; z
		aTop	nextLoop
		ldi	$1
		sat	temp[$1]
		jmp	code_0249

code_01bf:	lsp	param[$2]
		ldi	$87		; 135, left
		le?
		bnt	code_01d6
		ldi	$1
		sat	temp[$0]
		ldi	$12		; 18, nsLeft
		aTop	nextLoop
		ldi	$1
		sat	temp[$1]
		jmp	code_0249

code_01d6:	lsp	param[$2]
		ldi	$e1		; 225, height
		le?
		bnt	code_01ec
		ldi	$1
		sat	temp[$0]
		ldi	$2
		aTop	nextLoop
		ldi	$1
		sat	temp[$1]
		jmp	code_0249

code_01ec:	lsp	param[$2]
		ldi	$13b		; 315, putWord
		le?
		jmp	code_0249

code_01f4:	dup
		ldi	$2
		eq?
		bnt	code_0249
		lsp	param[$2]
		ldi	$2d		; 45, '-', cursor
		le?
		bt	code_0207
		lsp	param[$2]
		ldi	$13b		; 315, putWord
		gt?
code_0207:	bnt	code_0217
		ldi	$3		; z
		sat	temp[$0]
		ldi	$17		; 23, lsTop
		aTop	nextLoop
		ldi	$1
		sat	temp[$1]
		jmp	code_0249

code_0217:	lsp	param[$2]
		ldi	$87		; 135, left
		le?
		bnt	code_022d
		ldi	$2
		sat	temp[$0]
		ldi	$0
		aTop	nextLoop
		ldi	$1
		sat	temp[$1]
		jmp	code_0249

code_022d:	lsp	param[$2]
		ldi	$e1		; 225, height
		le?
		bnt	code_0237
		jmp	code_0249

code_0237:	lsp	param[$2]
		ldi	$13b		; 315, putWord
		le?
		bnt	code_0249
		ldi	$3		; z
		sat	temp[$0]
		ldi	$1
		aTop	nextLoop
		sat	temp[$1]
code_0249:	toss
		lat	temp[$1]
		bnt	code_029a
		pushi	$15b		; 347, cycler
		push0
		pToa	client
		send	$4
		bnot
		aTop	oldCycler
		pushi	$44		; 68, 'D', mover
		push0
		pToa	client
		send	$4
		bnot
		aTop	oldMover
		pushi	$14a		; 330, cycleSpeed
		push0
		pToa	client
		send	$4
		bnot
		aTop	oldCycleSpeed
		pushi	$e		; 14, view
		push1
		pTos	vChangeDir
		pushi	$14a		; 330, cycleSpeed
		push1
		pTos	cycleSpeed
		pushi	$44		; 68, 'D', mover
		push1
		push0
		pushi	$15b		; 347, cycler
		push1
		push0
		pushi	$f		; 15, loop
		push1
		lst	temp[$0]
		pushi	$10		; 16, cel
		push1
		push0
		pushi	$105		; 261, setCycle
		push2
		class	End
		push
		pushSelf
		pToa	client
		send	$2c
		bnot
		jmp	code_029e

code_029a:	ldi	$0
		aTop	inProgress
code_029e:	ret

SmoothLooper::cue:
		pTos	nextLoop
		ldi	$f		; 15, loop
		lt?
		bnt	code_02e3
		pushi	$e		; 14, view
		push1
		pTos	vNormal
		pushi	$f		; 15, loop
		push1
		pTos	nextLoop
		pushi	$44		; 68, 'D', mover
		push1
		pTos	oldMover
		pushi	$15b		; 347, cycler
		push1
		pTos	oldCycler
		pushi	$14a		; 330, cycleSpeed
		push1
		pTos	oldCycleSpeed
		pToa	client
		send	$1e
		bnot
		ldi	$0
		aTop	oldMover
		aTop	oldCycler
		aTop	inProgress
		pToa	newMover
		bnt	code_032b
		pushi	$15c		; 348, setMotion
		push1
		push
		pToa	client
		send	$6
		bnot
		ldi	$0
		aTop	newMover
		jmp	code_032b

code_02e3:	pTos	nextLoop
		ldi	$10		; 16, cel
		sub
		aTop	nextLoop
		pushi	$f		; 15, loop
		push1
		pTos	nextLoop
		pushi	$10		; 16, cel
		push1
		push0
		pushi	$105		; 261, setCycle
		push2
		class	End
		push
		pushSelf
		pToa	client
		send	$14
		bnot
		pTos	nextLoop
		dup
		ldi	$0
		eq?
		bnt	code_030c
		ldi	$2
		jmp	code_0328

code_030c:	dup
		ldi	$5		; scaleY
		eq?
		bnt	code_0316
		ldi	$1
		jmp	code_0328

code_0316:	dup
		ldi	$2
		eq?
		bnt	code_0320
		ldi	$0
		jmp	code_0328

code_0320:	dup
		ldi	$7		; priority
		eq?
		bnt	code_0328
		ldi	$3		; z
code_0328:	toss
		aTop	nextLoop
code_032b:	ret

SmoothLooper::dispose:
		pToa	oldMover
		bnt	code_0337
		pushi	$95		; 149, dispose
		push0
		send	$4
		bnot
code_0337:	pToa	newMover
		bnt	code_0342
		pushi	$95		; 149, dispose
		push0
		send	$4
		bnot
code_0342:	pToa	oldCycler
		bnt	code_034d
		pushi	$95		; 149, dispose
		push0
		send	$4
		bnot
code_034d:	ldi	$0
		aTop	oldCycler
		aTop	newMover
		aTop	oldMover
		aTop	inProgress
		pushi	$e		; 14, view
		push1
		pTos	vNormal
		pushi	$47		; 71, 'G', looper
		push1
		push0
		pToa	client
		send	$c
		bnot
		push2
		pTos	client
		pushi	$43		; 67, 'C', heading
		push0
		pToa	client
		send	$4
		bnot
		push
		callk	kernel_95, $4
		bnot
		pushi	$95		; 149, dispose
		push0
		super	Code, $4
		bnot
		ret

