STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228123
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2561 · P5121

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/10764311?noj=FRM10764311-11DC" width="1" height="1"></div>

The Basics (Tutorial).swf

This is the info page for
Flash #36941

(Click the ID number above for more basic data on this flash file.)


Text
Unfortuantely the pop up
window for publish
settings is big, so it
doesn't all fit in this
window while maintaing
ledgible text.  As a
comprimise, I made it
dragable.
At the top of the window,
you will see a section that
is devoted to profiles.
You are probably
wondering what profiles
are, although I don't use
them, they do can be
helpful.  A publish profile
is used to save publish
settings.  For instance, if
you make an assortment
of flashs that each haave
their own publish
settings, you can create a
profile for each type to
save time and prevent
having to adjust the
publish settings
everytime, which can be
very tedious if you make
a lot of flash productions
and you change a lot of
publish settings.  To
make a profile, just press
the (+) button to the
right of the drop down
menu. To import or
export the .xml profile
files, press the first
button that looks like an
arrow pointing to a piece
of paper.  The other
buttons are for
duplicating profiles,
renaming profiles and
deleting profiles.  In this
picture the delete button
is monochrome and this is
because I only have the
one default profile and
you can't delete the
default profiles, for
belevolant reasons.
Under this bar for profiles
you should see tabs, each
tab has its own setting
corresponding to file type
it is concerning, be it
html, flash, or gif.  To add
or remove tabs, go to the
formats tab and select
types from the list.  I am
only going to explain the
flash tab, because it is
the most important.  The
first box says, version,
depending on what
version of flash you have,
there will be a list of
players that you can
choose from.  Flash 8 has
flash player1 - 8 and flash
lite 1.0 and 1.1.  The
setting below that is
labeled load order.  This
changes how the
exported object's layers
will load, bottom up or
top down.  If you go
down from this setting
you will run into the
actionscript setting, which
is used to change
actionscript versions,
either AS1.0 (all flash
players below 6) and AS
2.0 (the most recent
version that supports
custom classes and OOP).
Under this last drop box
is the settings section.
This consists of six check
box settings, each having
their own importance.
Generate size report,
when a file is exported
the output menu will pop
up telling you the size of
pretty much everything in
your newly exported file.
Protect from import,
will make it so people
can't open your swf
document and convert it
into an fla file again, if
you are really concerned
about your work this may
be the way to go, it
involves passwords and
all other sorts of cyber
contraptions.
Omit trace actions,
this one is handy for
every programmer.
When this is selected,
none of you trace()
commands will register,
this is of no importance to
an animation maker.
Debugging permitted,
another programming
option which allows
debugging to work.
Compress movie, this
is key, it will shrink your
swf file for faster
downloads.
Optimize movie, this
is for flash entertainment
made for flash player 6, it
is pretty much the
equivalent to compress
movie.
Next up is the password
which is only relevant to
movies that are protected
from import.  This should
be pretty obvious in
terms of meaning and
function.
Now for optimizing VERY
IMPORTANT!!!  Many a
beginner will overlook this
and make a four frame
music "video" that is 4Mb
large because the sound
is still set to 128Kbs.
Viewers aren't
downloading the song,
they are downloading the
video. JPEG quality is a
slide toggle from 0 to
100, 0 being utter crap
and 100 being lossless.
Under JPEG control is
sound settings.  You can
set a common quality for
all of your sounds (I
suggeest 16Kbs) and then
if the overide sound
settings check box is
active, it will compress
your audio.  The
difference between
streaming audio and
event audio is how your
audio is being used in
your flash.  If it is set to
stream is classified as
stream audio, otherwise it
is event audio.  And don't
worry about the other two
things in the publish
settings, they aren't
important to the average
flasher.
Press ok and your
settings will be saved,
press publish and your
flash will publish (save as
all formats selected) and
it will also save your
settings.   On to the next
button (I promise the text
won't be this lengthy)

For the average flasher, there is nothing of importance to be done within the
device properties box.  It is for flash content that is designed for cell phones
and NGages and such.  To use this box, moreover make a cellphone flash
game, your version setting (adjusted in publish settings) has to be flash lite1.0
or flash lite1.1.  That is pretty much all that has to be said about that.

This is  the document
properties, it is what pops
up when you release the
size button.  From top to
bottom there is a small
text box for titling your
document, there really
isn't a point, but if you
want to, be my guest.
Next is the description
text box, also pointless,
but if you want, describe
away.  After that is
dimensions, which is very
useful, this is the size of
your stage and thus, the
size of your flash.  This
tutorial is set to
700x480px (pixels).
Default is 550X400px, but
you can change it by
pressing the "Make
Default"  button.  The
Match selection is to auto
adjust your .swf
dimensions to the
specifications of the radio
buttons to the right of the
word (printer, contents,
or default).  The
background color box is
used to change the color
of the swf bg, obviously.
The framerate box is to
change the frame rate of
your flash, any fps from
.25 to 120, fps means
frames per second,
making 120 fps incredibly
fast, and .25 incredibly
slow.  Under frame rate is
the drop down menu ruler
units which is used for
dimensioning.  You can
change the units from
pixels to inches to
centimeters, etc.  That
sums up this dialog box,
now you should check out
the other ones.

C = 119

Take the value of C

119

Divide it by 16 (hexcodes are base 16)

119 ÷

119 ÷ 1

119 ÷ 16

119 ÷ 16 =

119 ÷ 16 = 7

119 ÷ 16 = 7.

119 ÷ 16 = 7.4

119 ÷ 16 = 7.43

119 ÷ 16 = 7.437

119 ÷ 16 = 7.4375

Take the answer and round down

7.4375

7.437

7.43

7.4

7

This is A

Multiply by 16

7 x

7 x 1

7 x 16

7 x 16 =

7 x 16 = 1

7 x 16 = 11

7 x 16 = 112

Subtract answer from C

112

112

- 112

- 112

9 - 112

19 - 112

119 - 112

119 - 112

119 - 112 =

119 - 112 =

119 - 112 = 7

= 7

The answer is B

B = 7

The Hexcode number is AB

AB

Or in this case, 77

77

Replay?

Replay?

Welcome to creating a
button

Video 3 of 3 in the symbol
making series

First create a button symbol

The timeline of a button is
different so we will start
here.

Notice the button timeline only has four frames

Each of them are also labelled, lets start with UP

The UP frame is for when a button is just chillin'

OVER is for when the cursor is over the button

DOWN is when the button is being pressed

And HIT is the area the button exists in

HIT is hard to explain, but not too hard to show

This is a graphic example of a button

It is blue, but red in the OVER frame

Notice it changes when the cursor is on the circle

The hit area (HIT frame drawing) controls this

If we change the hit area, we change the button

This pink circle is the new hit area

Observe the cursor

Did you notice the HIT frame's affect?

One last thing about buttons

Animated Buttons, why not?

ANIMATED BUTTONS!!!

You make them by fusing movie clips and buttons

MC +BTN = Animated button

But how?

Where?

All I will say is you can put symbols in symbols

Expiriment with this equation and you will go far

The End

Welcome to creating a Graphic

First insert a new symbol, but
this time make sure graphic is
selected.

From here, create what you
want in the symbol just like you
would if it was a movie clip.

The difference between a movie
clip and a graphic lies in how it
is utilized on the main timeline.

This is where we will pick up.
(instructions down below)

This is the graphic properties

The middle part is the important part.

It's where you change the graphic's use

On this pull down, you select the playback method

Loop means the animation will endlessly repeat

Play once means the animation will stop at the end

Single frame shows only one frame of the graphic

Single frame is a little more tricky than the others

You choose which frame you want with this box

Single frame is good for graphics likes mouths

Those mouths are all the same symbol.

Since they are all on single frame, they dont play

Like this one

That is all there is to graphics.

THE END

Welcome to the Making of a
Movie Clip

In this animation you will learn the steps to
making a movie clip--from here on out, the
directions will be shown at the bottom

Press ctrl+F8 or go to Insert<New Symbol

Then name the symbol and make a MC

|

M|

My|

My |

My F|

My Fi|

My Fir|

My Firs|

My First|

My First |

My First M|

My First Mo|

My First Mov|

My First Movi|

My First Movie|

My First Movie |

My First Movie C|

My First Movie Cl|

My First Movie Cli|

My First Movie Clip|

My First Movie Clip

Now click OK

Now your stage should look like this

And your timeline like this

Notice the navigation

You can press those buttons to go there

Our frame is empty, lets draw something!

Oops, No lines! Easy fix with the ink bottle

Now we need some animation

Let's add a keyframe at frame 10

Select frame 10 and press F6

Now lets change the circle a little bit

Let's change the color to green

***For more about shape tweens go to the shape tween topic***

Now for a shape tween

Select a frame and go down to properties

Under "Tween" select shape

Now look at your timeline

Good, the shape tween was a success

Press [enter] to watch your new MC

When on the main stage, it will loop

The End (press play to replay)

<p align="left"><font face="Verdana" size="12" color="#428949" letterSpacing="0.000000" kerning="1">Band Name</font></p>

<p align="left"><font face="Verdana" size="12" color="#428949" letterSpacing="0.000000" kerning="1"><b>Song Title</b></font></p>

<p align="left"><font face="Arial Black" size="15" color="#428949" letterSpacing="0.000000" kerning="1">0:00/0:00</font></p>

<p align="left"></p>

THE BASICS

LOADING

LOADING.

LOADING..

LOADING...

<p align="left"></p>

<p align="left"></p>

DINGOEATINGFUZZ.COM

The Basics

Welcome to The Basics

CONTINUE

CONTINUE

This is a flash tutorial on the very basics of flash.  The topics discussed in this
tutorial are the most commonly used objects and functions used in flash and
therefore, this tutorial is meant for true beginners.  If you just got flash,
opened it up and screamed, then this tutorial is for you.  The topics bar is right
there on the right, and you can click on a topic to go directly to it, or you can go
straight on through everything by clicking the button underneath this text.
When in a topic, press the arrow buttons located in the bottom bar to navigate
through the pages.  Also, if you click the poorly drawn speaker in the upper left
hand corner you can access my self-crafted music player powered by five sweet
tunes from the Newgrounds audio portal.

Exporting

Onion Skin

Frame by Frame

Motion Guide

Shape Tween

Motion Tween

Layers

Frames

Library

Color

Properties+

Timeline

Drawing Tools

Friend of Flash

TOPICS

Page 1 of 7

Friends of Flash

Welcome to my tutorial, or more appropriately, welcome to the world of
flash!  The program flash is all over the Internet and is used for graphics,
animations and dynamic Internet media.  This first topic is for you to get
acquainted with flash and its layout.  We'll begin with the layout of the
toolbars and other visual components of flash.

Page 2 of 7

Default Layout

This is what the
default layout of
flash
professional 8
looks like.  Of
course all of the
toolbars are
adjustable but
this is the
picture to be
used for now.
In the next
page, this
picture will be
dynamic, go
ahead and
rollover parts of
the layout and
read up on the
anatomy of
flash

Page 3 of 7

*Rollover workspace to operate

Anatomy of Workspace

The color menu is where you will be changing the colors of your lines and fills.  You can use the true
color mixer for millions of options in colors, or the color swatch option to choose predefined colors.
You can also change the type fill you use from none, solid, linear, radial, or texture.

The library is the storage unit of all of your symbols.  It is very important to keep it organized,
especially for large scale projects.  New to flash 8 is the swatch above the preview space where you can
switch libraries without switching flash documents.

This is your properties + bar.  It is a multi tab bar where you can edit the properties of an object, add
filters to certain symbols, and adjust the parameters of most components.  This is a huge component
of the flash layout, losing it would be like living without a liver, impossible.  This toolbar is used so
frequently that it quickly becomes an involuntary action, in fact I've used it a few  times just to type
this!

This is your actions box.  This is a fancy text box where you do all of your programming.  On the
left there is a dictionary and a navigation box.  Above the text field are several buttons that each
have there own purpose, no need to go into detail yet.  Script assist is a lazy way of
programming, but good for beginners; you select snippets of code and enter your own
parameters. That is the basic gist of the actions menu.

The stage is your model space.  It is where you draw, animate, create, innovate, captivate, designate,
extrapolate, and all those other "ate" words.  There isn't much to the stage except for the obvious, do stuff
here.

The timeline is where all of your frames are and all of your special timeline effects are located.  This is
the navigation bar for animating, or making pretty much anything in flash. You can change scenes, work
with layers, and work with frames in the timeline.  Above the timeline you see a tab that says untitled 1,
the text isn't legible.  If you have multiple flash documents open at a time, then you can use these tabs
to easily venture from one to the other.  In the timeline it will also tell you your current fps, the duration
of the scene to that frame, and whether you have onion skinning or edit multiple frames on.

All of your tools to create amazing art.  Each tool has its own properties special
functions.  There is the selection, sub selection, free transform, gradient transform, line,
lasso, pen, text, oval, rectangle+polygon, pencil, paintbrush,  ink bottle, paint bucket,
eyedropper, and eraser tools.  Then there is the view section where you will find your pan
and zoom tools, and then the colors section where you can change your line color and fill
color.  The last section is the option section, where you will find the special functions for a
given tool.

Page 4 of 7

There are multiple file types
that can be created using flash.
The most common is flash
document, for a normal flash
document.  There is also flash
slide presentation for a different
version of a flash document that
uses slides.  Flash form
application is meant for making
Internet applications,
actionscript files are for making
external source code which can
be called upon from a flash doc.
AS comm files and flash java
files are similar.  Flash projects
are files used to bundle multiple
flash documents and to form
one final project.  You can also
start a new flash document
through a template.

New File

Page 5 of 7

Using a template can be an
affective way of started a flash
document.  There are multiple
templates that are pre made
and fit custom for certain
situations such as cell phones,
advertisements, and slide
shows.  You can also make your
own templates by making a
flash document and going to
file<saveAsTemplate.  If you are
making multiple media
presentations that use the same
format, this may be the way to
go.  I'm using a template that I
made for this tutorial.

Templates

Page 6 of 7

Already made custom
layouts to switch to

To adjust current layouts

To save your current layout

In flash, you can move toolbars around, group tool bars, and even open up new
toolbars from the menu item labeled window.  Flash will automatically recall what
your toolbar settings are, but if you have multiple layouts, you can also save your
own designs, maybe one for animation and another for programming.  To save a
toolbar, you want to go to window<workspace layout<save current...  It will
pop up a window from which you can name your toolbar and add it to a list. If you
want to edit or remove a workspace layout, you can press the tab right below save
current called manage.

Custom Layouts

Page 7 of 7

If this tutorial isn't enough help, flash, like most programs, has its very own help
menu, it just isn't as cool as mine.  In there you can find acres of information on
everything about flash, written by the people who made this legacy, they know what
they are talking about.

Further Assistance

Page 1 of 20

Drawing Tools

The tool palette as obviously essential, it holds all your tools, just like a
carpenter needs his tool belt to build a house, you need your tool palette to
build a flash.  The one key thing to remember when working with flash in a
drawing aspect is that it is a vector drawing program, not bitmap.  This is why
there is no spray can like there is in paint.  Every tool has its own use and most
even have their own options, such as paintbrush size and shape, or smoothing
which will be explained later.

Overview

Page 2 of 20

Options
Magnet - Snap to objects
Used when dragging points, will automatically
snap the points to designated nodes.
curve - Smoothen object
Click to make a line or fill more smooth, results
may vary.
Bent Line - Straighten object
Click to straighten a line or fill, once again,
results may vary.

Basic
The selection tool is the most
useful and frequently used of all
the tools.  It is used when
selecting lines, when selecting
fills, when changing properties for
the flash, and also for control over
all objects in your stage.
Tips
Different cursor appearances
mean different cursor actions such
as line manipulation.
Hold control before bending an
object to pull another point from
the line or fill.

Selection Tool (V)

Page 3 of 20

Options
None

Basic
Used to finely adjust the shape of
a line or fill, although much more
precise than selection tool
manipulation, it takes more time
and is a more tedious and harder
process.
Tips
Use only when necessary, this tool
doesn't tend to be friendly.
Some points when clicked will
show two branches leading out of
it with circles on the end, this is
for precision curve manipulation.

Sub selection Tool (A)

Page 4 of 20

Basic
Operates just like the selection
tool, but when an object is
selected, a box appears around it
with nodes on the corners and
sides to
rotate, skew, scale, and distort the
object(s).
Tips
When working with large objects,
it is helpful to use this tool in
place of the selection tool.
Hold alt when scaling to scale
from the center, or if it already
does, such as with a movie clip,
scale from the corner
With multiple options, there are
millions of ways to use this tool
for graphical benevolence,
experiment and use often.

Options
Magnet - Snap to objects
Used when dragging points, will automatically
snap the points to designated nodes.
Skewed rectangle - Rotate and skew object
When an object is selected in combination with
this option, you can rotate and skew the object
Two squares  - Scale object
When used when object is selected, you can
scale the object.
Square to kite - distort object
Selectable square nodes around box that will
tweak the object when dragged.
Quadrilateral w/bounding box - envelope
More intense option of distort, Ability to easily
an, but powerfully warp an object.

Free Transform Tool (Q)

Page 5 of 20

Basic
Used only when editing gradients.
Select the gradient fill and nodes
will appear. the shape of the node
ensemble is dependant on
whether the gradient is linear or
radial. For each there is a node for
rotation, scaling 2D and scaling
1D
Tips
Very nice to use when you want a
precise gradient.
When filling, you can drag the
cursor in the direction you want
the fill to go in and the fill will
obey and default.
This tool also works for texture
fills.

Options
Magnet - Snap to objects
Used when dragging points, will automatically
snap the points to designated nodes.

Gradient Transform Tool (F)

Page 6 of 20

Basic
Is used everywhere.  Very helpful
tool, use it often.  It makes
straight lines which can then be
modified into curved lines and can
be made into something amazing.
Don't believe? This is the tool
Legendary Frog uses to make his
masterpieces.
Tips
To save time (this applies to most
all tools) hold control to switch to
the selection tool.
This tool makes lines (Duh) Lines
can be converted into fill in the
modify, then shape, drop down
menu.
In the properties bar, you can
change what the line looks like.

Options
Circle with bounding box - Object drawing
Used to avoid merge drawing to avoid an
abundance of layers.
Magnet - Snap to objects
Used when dragging points, will automatically
snap the points to designated nodes.

Line Tool (N)

Page 7 of 20

Basic
I personally never use this tool,
but maybe you will like it.  It is
used to drag circles, or draw
polygons around the area wanted
to be selected.
Tips
This tool can be used to select
sections of a fill without hassle.
Not much else to be said.

Options
Magic wand - Magic wand
Used when selecting objects.  Adds predefined
smoothing to the selection.
Magic wand w/ elliptical - Magic wand
settings
When pressed, a dialog box with the settings
for smoothing type and threshold appears.
Jagged Lasso - Polygon selection mode
Used for polygonal selection in which lines are
dragged for selection determining.

Lasso Tool (L)

Page 8 of 20

Basic
Another tool I rarely use.  It is
pretty much a turbo speed line
tool, but takes more effort than I
want to spend to perfect the
usage (or maybe it's easy to learn
and I'm too lazy to even try, both
are possible).
Tips
Nice and fast way to make a
series of lines.
After making the lines, they can
still be edited with the free
transform tool, the selection tool,
or the sub selection tool.

Options
Circle with bounding box - Object drawing
Used to avoid merge drawing to avoid an
abundance of layers.

Pen Tool (P)

Page 9 of 20

A

Basic
Obvious usage, for text.  Click the
tool, drag a box and type away.
There are three types of text,
static for just plain text, dynamic
text, text that supports variables
and can fluctuate through out a
flash presentation, and the third,
input text, where the user can
change the text in the box to what
they want.
Tips
Text doesn't have to be a symbol
to support filters.
Text can be broken apart into fills.
Text has many properties that all
change it in a different way,
experiment with them.

Text Tool (T)

Page 10 of 20

Basic
Creates ovals justified by fill color
and type, and line color size and
type. Click and drag an oval from
a corner. Hold alt to drag a circle
from the center.
Tips
Hold shift when dragging to make
a perfect circle.
Use the object drawing setting to
make ovals their own drawings
that won't merge with objects on
the same layer as it.

Oval Tool (O)

Page 11 of 20

Basic
Creates rectangles, and has a
second setting that creates
polygons and predefined sided
stars.  Even more settings can be
downloaded through flash
exchange.
Tips
Hold shift when dragging to make
a square.
Use the object drawing setting to
make rectangles their own
drawings that won't merge with
objects on the same layer as it.

Rectangle Tool (R)

Page 12 of 20

Basic
A Free form line maker.  Hold the
mouse button down and lines
appear where you move your
cursor.
Tips
Hold shift to draw straight lines.
Use the object drawing setting to
make lines their own drawings
that won't merge with objects on
the same layer as it.

Options
Circle with bounding box - Object drawing
Used to avoid merge drawing to avoid an
abundance of layers.
Line Trap Menu - Line smoothing settings
Straighten tool makes straight lines or
primitive shapes, smoothen will make your
lines smooth, but not as optimized as
straighten and ink will give you no smoothing.

Pencil Tool (Y)

Page 13 of 20

Basic
The pencil equivalent for drawing
fill.  Smoothing is in the properties
bar
Tips
Hold shift to draw straight lines.
Use the object drawing setting to
make lines their own drawings
that won't merge with objects on
the same layer as it.
Use smoothing to make "prettier"
curves that can hide the error of
shaky hands.

Options
Circle with bounding box - Object drawing
Used to avoid merge drawing to avoid an
abundance of layers.
Lock and fill box - Lock fill
When active, you cannot choose the direction
you want a fill to go in (gradients)
Circle w/red fill trap menu - fill type
Choose from paint normal, paint behind, paint
fills, paint inside, and paint select.  Each option
does what it says.
Swatch 1 - brush size
A series of different brush sizes ranging from
really small to really large.
Swatch 2 - brush shape
A multitude of different brush shapes for all
drawing purposes.

Brush Tool (B)

Page 14 of 20

Basic
Used to Outline fills with a set of
predefined lines.  Click a fill and it
will do the rest.
Tips
Use this tool whenever you want a
rich outline.  Mainly used for
graphical purposes.

Options
None

Ink Bottle Tool

Page 15 of 20

Basic
Used to change the color or type
of fills, or fill in a closed (or almost
closed) set of lines.
Tips
If lock fill is off, you can
manipulate the direction of the fill
by dragging with your mouse.
Lines don't have to be closed,
there are settings for laziness in
that field.

Options
Circle with gap - Gap size (fill control)
Use when set of lines isn't completely closed.
Different settings for different sizes of gaps.
Lock and fill box - Lock fill
When active, you cannot choose the direction
you want a fill to go in (gradients)

Paint Bucket Tool (K)

Page 16 of 20

Basic
Used to select colors for fills and
lines.  A nifty tool for when you
need to use a color that you
mixed before and need again.
Tips
You can select colors from
anywhere in the flash program,
not just your stage.

Eye Dropper Tool (I)

Page 17 of 20

Basic
Used to erase both lines and fills.
It's function is quite self
explanatory.
Tips
There are many setting
combinations for the eraser.
Experiment more the best erasing
experience.

Options
Circle with erase mark - Eraser settings
Choose from erase fills, erase lines, erase
normal, erase selected fills, and erase inside.
They all do what they say they do.
Faucet - Faucet
When active, one click on an object will erase
the entire thing.
Swatch - Eraser size and shape
Different sized circle and square erasers to
choose from.

Eraser Tool (E)

Page 18 of 20

Basic
Used to zoom in and out on the
stage, since flash uses vector
graphics, zooming does not affect
the picture any.
Tips
You can drag a rectangle around
what you want to see to zoom the
rectangle contents.
You may choose to always use the
zoom out and zoom by dragging a
box, thereby not switching tools
every three seconds
Options
Magnifying glass (+) - Zoom in
Click to zoom in when active.
Magnifying glass (-) - Zoom out
Click to zoom out when active.

Zoom Tool (M or Z)

Basic
Normally called the pan tool, it
pans the stage (drags around).
You can also use the scroll bars as
a substitute, but if you don't like
scroll bars, or if they are against
your religion, don't be afraid use
this helpful hand.
Tips
There is no technique or tips, just
click and drag.
Options
None

Hand Tool (H)

Page 19 of 20

Swap Colors Button.
Swaps your line and fill
colors.

No color button. Makes the
line non existent or the fill
color non existent.

Black and white button.
Makes your line color black
and your fill color white.

Three Buttons
You may be wondering what the three
other buttons in the color portion of your
tool palette are for.

Pencil color
This is where you choose your
line color.  Your line color can also
be gradients (only flash 8).
Bucket Color
This is where you choose your fill
color.
For both options, when you press
the color box, a pop up with the
256 web safe colors will pop up.
You can choose one of these
colors, and also edit the alpha
(lines only) at the top of the pop
up, or you can go to your color
mixer and mix your own color
from millions.

Colors

Page 20 of 20

other functions:
When an object is selected you
can use the arrow keys to move it.
you may also choose to hold shift
to move it five pixels at a time,
versus the normal one px steps
Double clicking on a fill will select
it and everything touching it (such
as an outline)
Holding shift while using the
selection tool will allow you to
select multiple objects and
unselect objects.
There are many other things that
the [ctrl] [alt] and [shift] keys can
do, be sure to try them out for
different tools.

[shift] key
The shift key has may applications in
various tools.  Typically is makes
things more "perfect" or affects the
shape of things.
[alt] key
The alt, or alternate key does
exactly what it's name says.  It
typically is for and alternate version
of whatever the normal function of a
tool is.
[ctrl] key
The ctrl, or control key is mostly
used for activating the selection tool
(page 1) if it is held while using
most other tools. also, holding ctrl
and dragging will duplicate the
object.

Shift, Alt and other keys

Page 1 of 8

Timeline

The timeline is a very key part in the creation of any flash media.  It is where you
edit frames, edit layers, change the view of the stage, check the current duration of
your media, and also many other things.  This toolbar is quintessential to all
flashers.
The timeline can be divided into the three sections; the top, the middle, and the
bottom.

Overview

Page 2 of 8

The top section of the timeline is a place in which you can do a multitude of things.
You can change flash documents--these tabs actually shouldn't be considered as
part of the timeline, but they will be anyway--you can hide the timeline, you can
change scenes, edit a symbol go backwards in levels, or change the zoom scale of
the stage. We will get into a further look on the next page.

Top

Page 3 of 8

Use to change
stage zoom

Use to edit
symbols

Use to change
scenes

Everybody knows what these
buttons do.  Apply the
standard principle to an
individual flash doc.

This is where all
levels open are
shown, the last level
is the current one

When multiple levels
are open, click this
arrow to go up one
level

Click this button to
hide the timeline.
Click it again to
show it.

Active flash document
This is the flash document you are currently
working with (the asterisk means changes have
been made since the file was last saved.)

Inactive flash document
Click the tab to make active

Top (cont.)

Page 4 of 8

This is were the most action happens in the timeline.  It is were most everything
is done.  Where you add motion tweens, shape tweens, edit sound, add keyframes,
blank frames, reverse frames, sync symbols, work with layers,  and so much more.
For a further look, go to the next page.

Middle

Page 5 of 8

This button is used to edit the sizes
and attributes of parts of the timeline.
Press down on the button to find out
more.

These are sizes for the frames in the
timeline.  The name explains the size.

This also changes the frames, It makes
the objects on the stage visible in the
frame in the timeline.

This makes everything in the middle
section of the timeline shorter, ideal for
multiple layers.

This turns color on or off in the frames.

Frames Side

Layers Side

There is a lot of stuff crammed into the middle portion of the timeline so for now I
will keep it simple.  Lets start with a scratch across the surface and declare that on
the left of the timeline is were you edit layers mainly and on the right is were you
edit frames.  The only other thing that needs to be explained for now is the little
sneaky button in the top right corner. roll over it for an explanation.

Middle (cont.)

Page 6 of 8

On the bottom section, there is information as well as buttons for helpful functions.
We will look at all of them basically and then conclude this chapter of this tutorial.

Bottom

Page 7 of 8

Current location (by time)

Current speed (fps)

Current location (by frame)

Click this button to edit onion skinning

Click this button to activate multiple frames editing

Click this button to activate onion skin outlining

Click this button to activate onion skinning

Click this button to move to the current frame in your timeline

Click this button to delete a layer

Click this button to add a layers folder

Click this button to add a motion guide

Click this button to add a layer.

Bottom (cont.)

Page 8 of 8

There are many things that you can do with the timeline that we didn't even cover
in this tutorial.  Later on more about the timeline will be mentioned and also check
other tutorials for timeline help, but the best way to learn is through practice and
trial and error.  Just experiment with the plethora of functions the timeline can do
for you.  But first, look at the rest of this tutorial.

More Timeline

Page 1 of 11

Properties+

The properties+ bar is located, or at least should be, located at the bottom of
the flash document.  If it isn't there you can find it in the window pull down or
you can just press [Ctrl]+F3.  It is called the properties+ menu because it is
bundled with filters and parameters also, but those wont be discussed in this
tutorial.  What will be though is how the properties menu works and all of the
uses it has.

Overview

Page 2 of 11

The first part of the properties+ window/toolbar is the properties portion,
more specifically, the leftest part.  From there we will work right and then switch
tabs for another elucidation.  Now lets start from the left with the basic document
information.

Let's Begin

Page 3 of 11

In this section of the toolbar there isn't much to see at all, and is hardly
noticed, and acknowledged even less.  All there is the name of the current
document, the one the I print screened was named "Untitled-1" which is the
default name, unless it is taken, then it goes up in numbers like in most all
programs. Now then, moving on...

Leftest Section

Page 4 of 11

INVERT

INVERT

INVERT

This section that is sort of in the middle, but is also off to the left is much more
useful than the leftest section.  You see three buttons in this section, with the
labels: size, publish, and device.  Note that device is below a dividing line, this is
because to the normal flasher this button is in no importance.  Roll over the three
buttons for a definition of each.
When in the definition, use the arrow keys to scroll through the text, and if for
some reason you want the scrolling to be inverted, press this invert button.

Quasi-Middle Section

Page 5 of 11

This section shows document statistics such as frame rate, which can be
changed here, background color, which can also be changed here, the version
that will be exported as (this document will be flash player 8 as shown below),
the actionscript version, and the publish profile being used.   Nothing too
interesting, but it needs to be put somewhere.

Right Section

Page 6 of 11

Smash bar is my own name for this dinky thing, I don't know what it is actually
called, but it has some stuff that I should explain none the less.  I will explain the
four buttons from top to bottom.
Button one -- A little swatch for various things.  You can open help from here
you can edit the panel by grouping it with different panels such as the color mixer
(not that you would ever want to) or you can simply close it.
Button two -- This button brings up the help window.  Yeah, that's it.
Button three -- This little dude (literally) opens up the accessibility window, a
pretty useless window in my eyes, but you may find a use for it.
Button four --   Closes the panel to the gray dividing line.

Right Smash Bar

Page 7 of 11

If you have ever used flash, you probably have noticed that the properties panel
is always changing.  This is true, the properties panel will automatically change to
fit the tool being used.  For example, this is what the properties bar looks like
when you are using the text tool.  I had to shrink the picture so it isn't legible,
but you can still take in the basic idea of the changing properties bar.
Many properties bars are the same, or similar.  The oval tool and rectangle tool
properties panels are identical.  I personally think the text properties is the most
confusing just because there is a lot of stuff, but this isn't the place to explain all
of the features.

More properties

Page 8 of 11

Also in the plus button menu, you can
save filter settings, apply presets,
remove all filters and enable and
disable all the filters.

The blue plus button will open a menu to attach another filter.  You can choose
from drop shadow, blur, glow, bevel, gradient glow, gradient bevel, and adjust
color.  Each have their own effect that you can experiment with, remember that
not everything can have a filter attached to it though.  In this picture, the object
has three filters attached.  Two of them have a red "x" next to them. This means
the filter is attached, but not active, if you click the "x" it will become a check
which means it is active.  You can also click the checks to deactivate the filters.

If you click the second tab in the properties+ panel--labeled filters--you will see
a new layout.  This layout is for editing filters.  Filters are graphic effects that can
only be used on text, buttons and movie clips.

Filters Panel

Page 9 of 11

The parameters panel is a panel that will either be used a lot, or none at all.  It
is only used when using some components (some components use the component
inspector).  Many flash enthusiasts or professionals use components all the time,
I am not one of those people, but I do have a basic understanding of how they
work, and the simplicity behind them and the time they can save.  First I should
say what a component is.
A component is an frequently used program element, such as a check box or
drop down menu.  They are edited through the parameters panel or the
component inspector panel.  If you are to use components you should have a
basic understanding of actionscript or be familiar with flash behaviors.
On the next page of this tutorial is an example use of the parameter panel.

Parameters Panel

Page 10 of 11

In here you can see a place for an instance name, which is used in actionscript
mumbo jumbo, and dimensions, and then a list of attributes.  This is actually only
part of the list.  The first column of the list is there to tell you what you are changing
when using the second column.  The second column is where you change the
attributes to your liking.  Many attributes are booleans (variables that can be
answered either true or false),  but others are harder to understand and harder to
use.  Some even will bring you to a different window.  After practice though, the
basic components will be easy to use.

This is a picture of the parameters panel when editing a very frequently used
component.  This component is called FLV Playback and is used pretty much
everywhere now.  The entire Google video collection is flash video and uses this
component.

Parameters Panel (cont.)

Page 11 of 11

All though there is a lot more to the properties panel and its tagalongs, this is
all that you need to know for now.  If you would like to further knowledge
yourself, the best way to learn is through experiment and practice.

That's all... for now.

Page 1 of 13

Color

Color is one of those things that seems simple, its there, they have names,
that's all, well this isn't entirely true.  In the real world you may call the colors
of this text and this text both red, but flash doesn't.  Flash calls the first color
#FF0000 and the second color #C10202.  These abnormal color names are
called hex codes.  Each hex code is a three number array.  Each number is base
16, which is why there are letters.  You may be thinking, how many colors can
be produced using this system, or, why should I care?  The answer to the first
question 16,777,216 colors.  The answer to the second question is well, you
probably don't care, and if you are a standard animator you don't need to.  It's
more of a web site thing, but I am going to explain them anyway.

Color, it seems so simple...

Page 2 of 13

The first number is the amount of red in the color, the
second is the amount of green, and the third is for
blue. Since there is no blue, and no red, and solid
green.  The color will be pure green like this other
useful hex codes are 000000 which is black, and
FFFFFF which is white

00FF00

A hexcode is a three number array written in base sixteen, if you're a
mathematician you may have figured out then that numbers will go up to "F"
then.  If you aren't a mathematician then you are probably thinking, what the
crap? "F" isn't a number!  But now it is.  Base 16 means a number must reach
16+1 to get a second digit, normal mathematics is base ten, time is base 60,
but written as two digits.  But a problem will occur if you try to only use
numbers in base 16.  once you get to 9 where do you go?  You can't go to 10
because that is a second digit.  Because of this we use letters as numbers.  So
A=10, B=11, C=12, D=13, E=14, and F=15, counting 0 as a number gives you
sixteen bases.  after F comes 10, then 11, then, 12 all the way to FF, which in
base 10 is 256, which is where RGB color selection comes in(next slide), first,
the answer to why there are three numbers.
There are three numbers in this array to give value to the three colors to mix.
Take a look at this graphic to see what I mean.

A Look At Hexcodes

Page 3 of 13

When C = the color converting(red green or blue), A equals
the first digit of the hex code number and B equals the second.
Since you use a remainder to find B, The steps used in a
calculator would be C÷16, answer rounded down = A, A X 16,
C - answer = B. confused?, Click HERE for an animation.

C÷16 = A remainderB

RGB color selection is another way to interpret colors using three base 10
numbers.  A red (R) number, a green (G) number, and a blue number (B).
This may be an easier way to mix colors, but actionscript requires hexcodes,
and pretty much everything else requires hexcodes.  You can still use the RGB
method though, just use this formula.

A Look At RGB

Page 4 of 13

Ok, enough with the number junk, for the beginner flasher it isn't necessary to
learn, but I couldn't resist.
The main things you need to acquaint yourself with in terms of color is the color
mixer and line fill color selection.  If you have ever used flash, you have
probably used both options without even knowing it.  Now let's get started...

Enough with Numbers

Page 5 of 13

Current Color

Your current color selected,
when you make a line or fill, it
will be this color.  The faint grid
in the box means the color is
slightly transparent (alpha).

Current Color Hexcode

The handy hexcode of your
current color, this is very helpful
in some actionscript scenarios,
also for finding an uncommon
color that you like.  For
instance, the green for this
tutorial theme.

Current Alpha (%)

How opaque your color is in
percent. 100% is completely
solid, 0% is completely clear.

No Color & Color Mixer

The first button, no color,
makes it so you won't make a
line or a fill. The second button
brings up the color mixer in a
new window.

Lots of Colors

A bunch of colors for you to pick
from.  There is a bar of black, a
bar of standard colors, another
bar of black, and then a well
organized palette of 216 colors
for you to choose from.

Custom Colors and Gradients

Down here you can access your
custom colors that you have
mixed.  To add a color, you have
to mix one then drop it in the
color swatches panel which is
bundled with the color mixer
panel.

Next we will take a look at how
the color swatches are
organized, you may not care
and if that is the case, then you
no longer need to watch this.  If
you want to watch the second
part, press the right button, if
you want to replay what you
just saw, press the left button.

Chapter 2

The Palette Design

You may understand these three bars.  One
black bar, then some standard colors, then
another black bar as a spacer.

But what about the rest of the colors?

How are they organized?

The answer is simple

The answer is simple
The color palette is divided into six sections.  Each section is
a two dimensional grid.  Lets look at one section to explain
and then continue.

Green Scale

B
l
u
e

S
c
a
l
e

B
l
u
e

S
c
a
l
e

As you can see, on the Y
axis, is a blue color scale and
on the X axis is a green color
scale.  The increment of
color added is 33 each step.
So each axis looks like this...

B
l
u
e

S
c
a
l
e

B
l
u
e

S
c
a
l
e

FF

CC

99

66

33

00

This means the color at the
top left has no green or blue,
black for this section, and
the color at the bottom right
has full blue and full green,
which is aqua in this section.

This isn't all there is to be
explained though.  Two
questions should be in your
head right now.
What about red colors?
What about the other five
sections?

The red color is what inflicts the
need for six sections.  If you
count the amount of colors in
each scale, there is six in the
green scale, and six in the blue
scale, and six sections.  The
sections are the red scale.  This is
the first section and is there for
completely 00 red.  The scale for
red is the same.  Let's look at the
full palette again.

00

33

66

99

CC

FF

As you can see now,
the red color is the
third dimension to
this graph.  Each
section is the face of
the cube the graph
would make if it were
actually be 3D

From Chapter 2

From Beginning

To select a line color, you can either press the pencil color   box in the tool
palette or in the color mixer.  To select a fill color, use the paint bucket color
boxes.  Since there are two places that you can select colors from, you can use
them in combination for short term color saving, it's a handy little trick that I
have gathered.  When you press one of these boxes, this pop up will appear, not
with the definitions though.

Choosing Fill And Line colors

Page 6 of 13

This is the color mixer, you have probably
seen it before, but you might not know all
of its features, such as overflow, bitmap
fills, or linear RGB.  The next few slides
will explain all of this and more.

That last section was a lot of work,
fortunately it didn't leave much left to
explain.  You already know about hexcodes,
about RGB, about no color and about alpha,
so all that is left in the color mixer is over to
1,500,000 colors, a couple buttons, and
gradients :D, man that's a cool emoticon.

Color Mixer

Page 7 of 13

Here is your current color when
and also the editing place of
your gradients like such.

Here is your current fill color

Here is your current line color

Color Mixer (cont)

Page 8 of 13

This thin strip is for gradient
editing, also to be explained
later.

Here is all of your color
information, by now you should
know it all, it is easy to use.

Here is your current overflow
(new to flash 8) It is what
determines how a gradient will
react when it ends, more to be
explained later.

This is your current type of
color, linear gradient, radial,
gradient, solid, none, or bitmap

Page 9 of 13

These three buttons, as
explained earlier are black and
white, no color, and switch color.

This little button isn't very
important.  When it is on, the
fill will be SVG compliant,
meaning... well not much.  It
looks different because the
colors are now linear making
more of a gradient feel, but that
is it.

Page 10 of 13

When you make a gradient,it will auto
adjust to the shape of the fill, but when
you stretch it reacts to the overflow
setting.  Default is extend.  the
definitions of each are below.
Extend - the gradient will just stretch
and keep going.
Reflect - the gradient will reverse
itself, as depicted to the right.
Repeat - the gradient will start over
the way it started.
And that's it, the three R's of overflow...
except one starts with an E... and
doesn't have an R in the word.

Color Mixer (Overflow)

Page 11 of 13

There are two types of gradients that
you can make by drawing. These two
types are linear and radial.  They are
self explanatory in terms of what they
make, one is a straight line gradient,
the other is a circular gradient.
At the bottom of the picture you see a
bar that has tabs.  Each tab holds a
gradient color which can be changed by
double clicking to bring up swatches or
just having it active (black triangle) and
then using the color mixer.
You can add more tabs by clicking
below the strip and you can remove
tabs by dragging them downward
(there has to be at least two tabs
though).

Color Mixer (Gradients)

Page 12 of 13

When you have the fill type bitmap, the
panel will have much less stuff on it. It
will have the type menu, an import
button to bring in pictures (not only
bitmaps, but jpgs, pngs, tiffs, and gifs
also).  There is also a bitmap bank
down below where you will see all of
your bitmaps in the library.  This flash
document has many since there are a
lot of pictures.
When you select a bitmap fill, it works
just as a gradient.  You can use the fill
transform tool to adjust the size to your
preference.  Combining bitmap fills and
alpha fills on a higher layer can give
you a nice texture look in flash.

Color Mixer (Bitmap)

Page 13 of 13

That pretty much sums it for color, but I only told you how everything works, not
techniques, or good combinations or anything like that.  The truth is it would be
impossible to tell you every technique to be told in terms of coloring, because there
is an infinite amount and you have to find your own style.

The Rest Lies in You

Page 1 of 6

Frames

Frames are found in your timeline.  They store graphics, sounds, symbols,
actionscript, tweens and names.   They make your final product work, without them
there isn't animation.  They are the heart of all animation.  Everyone uses them,
there is no hiding from the frames.

Overview

Page 2 of 6

If you look in your timeline, you will see all of the space in the right side, for what
you ask?  For frames!!  That is where all of your frames go, be it 1 frame or 10,000
frames.  I know I've used this picture before, but it still works.
Just look at all of those frames!  They all mean something.  Observe the layer
name and what the frames look like.  You should be able to figure most of it out
yourself.

Frames

Page 3 of 6

Blank frame, this is like a normal frame, but has nothing in it.

Blank Keyframe, this is like a normal keyframe, but has nothing in it.

Keyframe, this is a new drawing frame.  You can change the drawing in this
frame and not affect the past frames.

End normal frame.  This is the last normal frame before a new keyframe.

Normal frames, this frame is occupied by a drawing.

Look at this example picture.  You should pic out five different types of frames.

More Frames

Page 4 of 6

Most of these functions are self explanatory, such
as as insert frames.  Select where you want to
insert frames to, right click and press the button,
BAM, you've got your frames.  Remove frames,
select the frames you don't want, right click, press
the button and poof, they're gone.  Insert keyframe
will add a keyframe with the same stuff in it that
was in the frame before it.  Insert blank keyframe
will insert a blank keyframe (duh).  Clear keyframe
will remove the keyframe without removing the
frame.  Convert to keyframes will take normal
frames and turn them into keyframes. Convert to
blank keyframe will take normal frames and turn
them into blank keyframes, Oh noes! I'm running
out of room in this box, to the next slide!

If you go back to your timeline and right click (or
control click if your using a mac), you should get this
menu.  This menu has a lot of useful functions.

Timeline... Again

Page 5 of 6

In the third block of the menu you see at the top
'Cut Frames'.  Much like cutting text or graphics,
cutting frames will remove the frames from the
timeline and store them on a virtual clipboard.
Copy frames does near the same thing as cut
frames, but doesn't remove the frames, it makes a
copy of them.  Paste frames will place the frames
that were earlier cut or copied.  Clear frames will
empty the frames that you have selected and turn
the first selected frame into a blank keyframe.
Select all frames will select all frames much like you
can select all text.
Block four has two rarely used functions.  The first
one is reverse frames, which will only work for a
string with a keyframe, like the title entails, it
reverses the selected frame.  The next function is
synchronize symbols, it is used for motion tweens
and will be talked about later.  The last buttons is
actions, it brings up the actions panel.

Timeline... Again (cont)

Page 6 of 6

Yeah, it's the end.  There really isn't much to know about frames, but what there
is to know is important.

The End?  Already?

Library

Your flash has its very own library to store all of your symbols in your flash
document (don't know what a symbol is? It will be explained in this section).
Although the library is a very basic toolbar, it is also very important.  In this section
we will look at symbols, how to use the library, and how to keep your library orderly.

Not Much Like Your Public Library

Here is a snapshot of the library for
this flash document.  You can see
at the top it says Library - The
Basics.  It has the name of the
flash file following library because
you can open multiple libraries at
once, one for each flash document.
I'm running out of room in this
window (I'm starting to wish I
made the dimensions of this flash a
little larger) so follow me to the
next slide for a little more info
about libraries before we dive into
symbols.

Yes, flash has a library, unlike the one in halo that is swarming with flood, this
one is here to help you, but if it isn't kept organized, it could be harder to use in a
legendary flash.

The Library

Good, you followed.  Now more
about the library.  Under the title bar
is a small strip with a drop down
menu and two buttons.  The drop
down menu is a new--and helpful--
feature to flash 8.  It allows you to
switch to a different library without
having to change flash documents.
When you click the tab, a list will
appear with all of the libraries that
are currently available.  The first
button to the right of the menu is a
tack, and it does just that, tacks
your library.  It may sound painful,
but it is just the opposite.  If your
library is tacked and you change
documents, the tacked library will
still be active.  The second button
opens up another library panel.

The Library (cont)

The advanced button is there to further define you symbol, primarily for actionscript.

This is the dialog box for creating a symbol, the converting box looks exactly the
same just with a different heading.  It allows you to put a name in, like Replay_btn
(btn stands for button and the underscore is just for formatting).  Then you choose
what you want to the symbol to be, either a movie clip, a button, or a graphic.

Before continuing about the library, it is time to learn about symbols.  Symbols
produced in flash can be either a simple graphic, a button, or a movie clip (either an
animation or a graphic that can have code applied to it, which is usually only helpful
if you are about making flash games).

Symbols Made Simple

3

2

1

3)This is the button form of the symbol.  When there is no mouse interaction it is
blue (frame 1), when there is a mouse rollover, it is red (frame 2), and when you
press down, the color is green (frame 3), but what happened to yellow? The
timeline for a button is only four frames, the first three I just explained, but the
fourth one can't be seen, it is called the hit frame.  The area covered in that frame
will be what triggers the button interactions (beginner flashers will often make text
buttons without a rectangle hit area making it a task to try and press the button)

2)This is the graphic edition, it is currently set to single frame, but in the
properties panel when this symbol is selected, you can also make it loop or play
once.  The only difference between a graphic and movie clip really is that a movie
clip can have code applied to it, in fact, graphics are better for animating because
they will play animation without exporting and when the stage is stopped, the
animation stops.

1)This is the movie clip version, see how it loops the four frame animation.  Of
course I can change that since movie clips can have code applied to them.

All three of these circles are the same symbol, originally a movie clip.  In flash you
can select a symbol, be it a graphic movie clip or button, and you can track it as
something else.  I duplicated this symbol to show you what each symbol type will
do.  The symbol has four frames in its timeline (that's right, symbols get their very
own timeline), the first frame is blue, second frame is red, the third green and the
fourth is yellow.

Symbols Made Simple (cont)

Buttons

Graphics

Movie Clips

Now all three of the circles are buttons, press them to watch how each type of
symbol is made.

Symbol Videos

We left off at the second bar.  The
second bar only holds one bit of info,
how many items are in the library.  At
the time of the screen shot, the library
for this flash document had 121 items.
Now this flash document has 139
items.  To find that out, I just had to
take a quick glance at my library to see
what the number read.
Under this bar is a window that has a
green circle in it.  This window is the
object preview window.  You can click
an item in your library and you will see
it in this window.  This green circle is
actually the play buttons for the symbol
video windows.

This picture should look familiar.  It's time to learn about the rest of the library.

Now the library

Under the preview window is the list of
items in your library.  You will see the
symbol type (picture), the name, the
type, and if you extend your library you
will also see the use count, the
actionscript linkage name, and the date
of the symbols last modification.
If you click the classification tabs at the
top of the library, your symbols will
organize themselves by those means.

Now the library (cont)

This is the bottom of the library.  In the
bar at the bottom you will see some
buttons.  The first one is a piece of
paper with a plus, this brings up the
'Create New Symbol' prompt.  The
second button is a folder with a plus, it
will create a new folder.  The third
button is an 'i', which most likely
stands for information, but none the
less, it brings up the symbol properties
where you can change the symbol type
or linkage or other stuff in that menu.

You may have recognized from the screen shots that there were more in the library
than just symbols. All symbols and other objects that apply to actionscript are stored
in the library.  This means all symbols, all sounds, all components, all bitmaps, and
possibly other stuff I don't know about.

The Contents of the Library

As well as the libraries that you create as you make your flashs, flash itself has some
cool libraries that you can use.  Under windows in the top menu, select common
libraries.  From there you will find a bunch of buttons and other stuff that you can use
and also edit.

Common Libraries

You may have had the question, how do I get sound files into my flash file?  The
answer is importing.  Go to file>Import and you will see a few options.  The ones that
are most regularly used are 'Import to Stage' and 'Import to Library'.  When you click
the selection you want, a browse window will come up and will show you all of the
items you have to import.
**NOTE**  You cannot import .wma files.  A solution to this problem would be to
either rip your music as .mp3 or get an .mp3 converter.

Importing

That's all there is for libraries, press continue to learn about layers.

The End

Layers

Woohoo! Layers!!! Layers in flash can be compared to a stack of photos.  The photo
on the top is what will be seen, well the layer on top is what will be seen also, then
the second layer, then the third, then the fourth and so on.  You also want to keep
your layers organized, one for sound, one for a background, one for actions.  Layers
are another part of the timeline, like I said, the timeline owns you.

As you can see on the left of the picture, there are many layers all at work.  They are
all named and they are all different types of layers.  Normally your layers wont be this
diverse.

This is the third time I've used this picture now, but every time it has worked so all
is well.

This is a masked layer.  It is the other half of the masking set
that has already been explained--vaguely.

This is a masking layer.  It works hand in hand with a
masked layer.  Whatever is drawn here is what shows up
from the masked layer.

This is a layer folder.  It is used to organize layers.  It's just
like a normal windows folder.

This is a guide layer.  It is a layer used to draw objects that
are guides (hence the name) whatever is in this layer will not
be visible when exported

This is a motion guide.  It is used for special motion tweens.
It is also a guide layer so what is drawn in it wont show.

This is what a normal layer looks like.  The icon is a piece of
paper with a bent corner. It also has an editable name.

Layer Types

This is the outlined
layers status
section.  If the box
is filled, then its
corresponding layer
will have filled
objects.  If a box is
an outline like the
top one in the
picture, then all
drawings and text on
that layer will be an
outline in the color
of the box.  The
color of the box can
be changed by
double clicking the
box and using the
layer properties box.

This is the locked layers status section.  If a layer has
a dot in this column it means it is unlocked and can
be edited. If it as a lock, then it is locked and can't be
edited.  The big lock on top has the same function as
the big eye in the hidden layer status section of the
layer portion of the middle timeline.  Also, if a layer is
hidden, it is automatically locked.

This is the hidden layers status section.  If a layer has
a dot in the column, then it is visible, if it has an eye,
it is invisible.  Click the dot to change it to an eye, or
vice versa.  If you click the eye on the top, all layers
will either be hidden or shown, dependant upon the
current status of the layers.

Layer Effects

All of these properties are self
explanatory and all of them
are redundant except outline
color.  Flash is designed to be
easy to use and this is a
prime example of that.

Yeah, layer properties.
Flash has them. You can
either right click the layer
and select it from the
bottom of the list, or you
can double click the
outline button on the
desired layer.

Layer Properties

As you can see, only the part of the masked layer that is hitting the masking
layer is seen.  You can also mask masks by using symbols.  Masks are very
versatile and can be implemented for many uses.  This white box is actually
masked so images don't hang over.

Product

Masking

Masked Layer

I really didn't want to get into this topic in a basic tutorial, but I figured I might as
well.  Masking is a technique used to show only part of a picture.  Look at the
example below.

Masking

Yeah, I can't draw anime worth a darn, but it made a good example for guide
layers so I took a stab at it.  Unfortunately nobody told me you can't stab
something with a wooden mallet.

Final Drawing

Drawing with guide

Guide Drawing

Another helpful type of layer is the guide layer.  It is for when you need a guide for
your drawing.  Guide layers don't show up when in for final product so there is no
need to delete them.  See the example below.

Guide Layers

That is all you need to know about layers for now.  Later you will learn about the last
type of layer, a motion guide, but for now, that's it.

To the Next Subject

Motion Tween

A motion tween is simply a built in movement generator.  Basically when you
designate a motion tween, Flash will move the object (must be some form of a
group) at a common interval from the first frame to the last frame, making a one
rate movement, which can be hard to do by hand.  Many flash authors prefer motion
tweens over frame by frame because it is easy, and at a higher frame rate looks
smooth and realistic.  A couple of these authors include Super Flash Bros. and
Legendary Frog.
In the timeline a motion tween looks like an arrow pointing from the frame
containing the original object to the frame containing the object that has been
moved, skewed, scaled, rotated, or any combination of these. It also has a purple-
ish blue background.

What is a motion tween?

Note:
Motion tweening
works with symbols
because they are a
type of group

Well the first step to making a motion tween is to make an object. A box is a good
start.
Next you will need to group it.  You can either right-click on the object and select
group, or you can press [ctrl]+[G].
Now you will need to make a couple of frames then a key frame (not a blank key
frame) after the frames.
In the new key frame move the box to a new area on the stage.
Now click somewhere between the key frames on the time line and open the
Properties menu.  On the "Tween" tab select "motion".
Your timeline should look something like this:

How do you make one?

If you make a motion tween and there is a dotted line rather than an arrow, there is
a problem. also if it does not go as planned there may be a problem. Here is a check
off list to go through:
--Are both objects the same group (The Group can be the skewed, but the things
inside the group must be the same, in other words don't change the shape then group
it.)
--is the object in both key frames
--is the center in the same place (the white dot when you are using the free
transform tool[Q]) If not it will probably move then snap to the position you want at
the last frame.

--If all else fails just delete the object
in the second keyframe, copy ([ctrl]+[C])
the one in the first keyframe, then paste
([ctrl]+[shift]+[V]) it into the second
one.  This usually works.

Some Thing(s) To Note
You may have noticed that it is also possible
to create a motion tween by right clicking
on the timeline and selecting "create
motion tween", this is convenient, but it can
be a hassle as well.  First it's important to
note that when you do this it automatically
creates a new graphic labeled tween that
will litter your library, so if your graphic is
already grouped, it will be double grouped.
This will also reset the center of rotation of
your graphic so if you choose to create them
remember there is risk involved.

Why Isn't It Working
(roll over with mouse)

As was stated before there are multiple types of motion tweens. This page will talk
about motion tweens, or moving an object without changing its appearance.
This really is simple, in fact if you followed the steps on page 2 you have already
done it.

Motion Tweening

If you want the scaled object to be
perfectly scaled you can hold [shift]
while stretching. This is very handy so
you don't have to eye it to make sure
it is all square.

Some Thing(s) To Note
When the free transform tool[Q] is selected
the scale tooltip looks like a diagonal
double-arrow, like such:
OR

Scale motion tweening is very simple. To do this you follow the standard motion
tween steps, except instead of moving the object in the second keyframe, you scale
it with the Free Transform Tool [Q]. Make sure the center is in the same place on
both objects, unless you want that effect. Also make sure the Scale option is
checked in the Properties toolbar, or it will motion tween then snap big.

Scale Motion Tweening

Combing a scale and rotation can
create a cool flipping motion, although
it only flips and infinitely thin picture,
no 3D.
Holding [alt] while skewing will skew
from the center rather than the
opposite side

Some Thing(s) To Note
When the free transform tool[Q] is selected
the skew cursor looks like two half arrows
running in opposite directions, like such:
OR

Skew motion tweening is almost exactly the same as scaling.  To do this follow the
standard procedure, then use the skew cursor of the free transform tool[Q] to skew
the shape how you like.

Skew Motion Tweening

The properties bar has a rotate section
that allows you to rotate an object a
given amount of times, without
changing the end placement of it.
Holding [alt] while rotating will only
allow you to rotate by increments of
45°, but allows you do perfect 45's
instead of just guessing.

Some Thing(s) To Note
When the free transform tool[Q] is selected
the rotation cursor looks like an arrow
wrapped into a circle, like such:

Rotation motion tweening has many application. There are also many things to
manipulate while rotating you object.
rotating may get frustrating, but if you know how to use it, it becomes very useful.

Rotation Motion Tweening

Stretching is a good way to fix
problems with the width or height
individually. The scale tool allows you
to alter both simultaneously.
Holding [alt] while stretching changes
the stretch from either the opposite
side, or the center to the other.

Some Thing(s) To Note
When the free transform tool[Q] is selected
the stretch cursor looks like a double sided
arrow, like such:
OR

Stretch motion tweening is technically a skew, but it has its own cursor so I will give
it it's own section.

Stretch Motion Tweening

Property:

Position

This is a very fun box.  it is a basic graph that allows you to control how far the object
moves and how fast, but the coolest thing is that you can make it change in mid-tween

On the left is the percentage the tween is done. On the bottom is each frame. Simply
click on the line, then drag the newly formed blip around. You can also adjust the curve.
Please note that you can progress, then go backwards in the tween

Ease is a very useful thing. Basically it causes a speed change in the tween. When the
ease is positive the tween starts off fast, or large increments between frames, and gets
slower, or small increments between frames. The opposite is true for a negative ease.

If there is a larger value, either positive or negative, the gaps will be more drastic; in
other words, if you have the ease set to 100 then it will be really fast then get really
slow, but if the ease is set to 50 it will be sort of fast then get sort of slow.

The Tween tab is for selecting either a shape tween (next tutorial), a motion tween,
or no tween (remove tween can also be found by right clicking on the timeline).

This is likely self explanatory. When you have selected a manual rotation this area will
become selectable. The number you put in here is the number of times the object being
tweened will perform a complete 360° rotation.

The rotate tab is very useful. It allows you to rotate an object without changing it.
Auto will rotate the least distance, either clockwise (CW) or counter-clockwise
(CCW). The other two options, CW and CCW will rotate the object respectively, a
given number of times. Highlight the Times box to find out more.

This section is used for motion guides and will be covered later on.

Personally I have never found a use for turning this off.  When this button is checked it
will allow motion tweens to scale the shape, when it is not check it will not scale.

Motion Tweening Properties

I threw this guy together really quickly, and
therefore he doesn't look too great, but he still
serves as a prime example of the power that
lies in motion tweens.  In about ten minutes I
was able to draw this guy and make the
animation loop.

Some flash authors use motion tweens as the basis of their animation.  By
building their characters as symbols, they can put a symbol on each layer and
motion tween the symbol limbs to create movement.  Look at the example
below.

Motion Tween Animation

By implementing the running animation symbol to another symbol and motion
tweening it across the screen, I was able to create a realistic looking running
movement.  The thing to keep in mind when doing this type of animation
though, is that the versatility of frame by frame is lost.  Most tweenimators fill
substitute this loss for good visuals.

Motion Tween Animation (cont)

Yep, that's all there is to know about motion tweens except motion guides,
which is what we will learn about next!

Teh The End

Shape Tween

Shape tweens are another very helpful tool that is built into flash.  It will morph one
picture into another, change the color of an object, or create many other effects
stopped only by your imagination.  Instead of using grouped images, you have to use
completely broken images.

Overview

To make a shape tween, you do almost the exact same thing that you do when you
make a motion tween, except this time you want to have a broken object on both
keyframes, not a grouped object. And when you select tween from the properties bar,
you want to select shape, not motion.

Basics

This fellow is a little too detailed for a basic shape tween.
There are a couple methods that we can take to try and fix
this problem.  The first one is smoothing him out.  The less
points there are, the simpler the shape, the higher chance
of success you will have created a quality shape tween.
You can use the sub selection tool to see how many points
your object has.

If you successfully made your two keyframes with a change present, had broken
images in both frames, and a shape tween active, then you should have a shape tween.
You may have a problem though if your tween was too much.

Basics (cont)

Oopsies.  You're still a little too detailed my friend, but
don't worry! there is still hope!

Yeah... That didn't work with this guy.  A lot of the time it will, but this guy is just too
detailed (hard to believe I know).  Now we are going to try our second solution.
Advanced shape tweens by way of shape hints!

Troubleshooting

All better! Well, as good as shape tweens go.  If you want a
better picture, check out frame by frame animation.
On the next page you will learn how to use shape hints.

Shape hints are a nifty way of manipulating your image.  Picture them as little traffic
controllers that tell your graphic where it should end up.
To add a shape hint, you have to have your picture selected and then press control "H",
or go to insert shape hint.

Shape Hints

Now that you have all of your dots
set up in the first frame, go to your
second keyframe and move the
dots where you want them again.
When they are the same colors as
my example, you know they are
right.  If they aren't right, or just
plain too bizarre, flash will not
perform the shape tween.  If it is
right then your little letters will pull
your picture where they are
supposed to be, like in my example.

Look down at the picture below, if you added shape hints to your picture, it should look
something like that; with the little lettered dots on it (you can't see the letters but
they're there, trust me.  Yours may be red though, if this is the case then you need to
drag it/them to the edge of your picture where you want it.  For instance, my "a" dot is
on the top of the head.

Shape Hints (cont)

When you have a shape tween present, in the properties bar there are a couple things
to notice.  The first being the ease slider, ease still does the same thing, speeds up and
slows down.  The second thing is blend.  You can either choose from distributive or
angular.  Distributive should be used for smoother shapes while angular should be used
for pointy shapes to preserve the corners.

Properties Bar

And that's a wrap, you know all about shape tweens.  Utilize them correctly and you
can make some cool effects.

The End

Motion Guide

Motion guides are a motion tween power up, they make them better than they were
before, but they're just annoying if you don't need them.  A motion guide makes an
object that is motion tweened follow a curve.  Look at the example below and press
the cannon to see the guide.

Motion Tween Power Up

Of course there is no
practical use for a motion
guide like that, but if you
want to make one like
that, be my guest.

Motion guides have their own special layer.  Their layer is a guide layer with a layer
attached to it like a masking.  You have seen the image before in the layers section.
What you do in this layer is draw your path, for the cannon it is the red line, but it
doesn't have to be that simple, it could look like this:

The Motion Guide Layer

The guided layer holds your object that is to follow the path, like the cannonball.
Remember the rules of motion tweening though, the object must be grouped and
alone on the layer.  Create the motion tween and make sure the center of rotation
is snapped on the path.  That is the most important part.  If they are not linked
then the guide will fail and you will cry.  It is as simple as that.  The only thing worse
than making that mistake is to follow it up by starting a new thread in the flash forums
complaining about it, users hate that.

The Guided Layer

Orient to path - is used for combinations of rotation and motion guides.  When
selected it will make the overall product look cleaner.
Sync - This is the same as synchronizing symbols, it ensures an even motion
tween.
Snap - This will snap the object to the path in the guide, so you only have to get
the center of rotation close.

Remember that you are still creating a motion tween so you can still rotate the object,
you can still ease the tween.  You can also use the three little check boxes in the
properties menu.

Still A Motion Tween

Motion guides isn't a big subject, but it is a useful one.  Don't forget about this fellow,
he may safe your life one day, I doubt it, but you never know.

That's All

Page 1 of 9

Frame by Frame

This is a massive subject that no one could ever tell you all of because the majority
of it all lies in how you imagine.  This is the style that the big wigs animate in.  All of
the old school Disney movies were hand drawn frame by frame.  Now we have
computers, but there is still frame by frame.  I will show you the basics and some
examples.  The examples may be distorted though since they were originally made at
a much lower frame rate.

Overview

Page 2 of 9

Final version, now with
lighting and a few
minor touches.

Basic color
added

Smoothened &
detailed

Rough First
Sketch

Frame by frame animation is where you redraw your active object every frame, frame
by frame.  This fellow is an example of frame by frame animation.  There are four of
him because, like any artist would, I refined him, made him better.

The Basics

Page 3 of 9

Here's a bad
frame by frame
animation I
made awhile
ago, but that's
ok, practice,
practice,
practice!

Crappy drawing are ok, no one will
see them, and practice is practice.

It takes a skilled artist to create good frame by frame animations, maybe some of
you think my frame by frame animations are good, but they are crap compared to
some.  What is needed for good frame by frame animations is a feel for your mouse
(or tablet) and a good concept of proportions and what things look like that can only
be acquired through constant practice.  I suggest you take a notebook where ever
you go and draw.  Practice drawing everything.  This won't allow you to get a good
feel for you mouse, but it will give you proportions.  Your drawing don't need to be
detailed, but detailed ones every once and a while will also help.

Practice Makes Perfect

Page 4 of 9

You will find that you stink at first, but don't
delete anything, don't redo anything, don't draw
over anything.  Accept your flaws.  After some
practice you should start to get the knack of
things and make better looking numbers.  This is
my result.  It isn't very good, but it doesn't have
to be.  Once again, no one is going to see it
(unless you post it on a popular web site like I
did).  After you are done, make another one and
compare the two.  Try different techniques, try
different tools.  Find your happy spot and stick
with it.

Getting used to drawing with a mouse was, and still is, a big problem for me.  This is
because I'm left handed, but I use the mouse with my right hand.  It took a lot of
practice to learn how to draw with my right hand and a mouse, and I'm still not very
good.  A little exercise I came up with is making a movie clip with 100 blank
keyframes in it.  In each frame, draw the frame number.  All the way up to 100, it
may seem repetitive and boring, but frame by frame animation is the same way.
There are no good shortcuts.

Knowing Your Mouse

Page 5 of 9

There are many effects in nature that can't be
captured through motion tweening.
They take practice. Electricity is an easy one though,
its just a bunch of squiggles.

LOLZ! sneak peak! but for what?

Even if you don't use frame by frame as the basis of your animations, you can, and
should, use them every once in awhile for effects such as fire, electricity, and flowing
water.

Frame By Frame Effects

Page 6 of 9

When doing frame by frame work, you need to choose a good tool.  The pen tool and
the line tool are bad choices.  You want something quick, but efficient.  I use the
paintbrush, but a lot of good frame by frame artists use the pencil tool.  Both work, it
depends on what you like.

Choosing The Right Tool

Page 7 of 9

Refining is a big part of frame by frame animation.  It makes your original raw
sketches turn into something great, you can't expect to be perfect the first time, no
one is.  Another part of refining, well not really, is not deleting your drawings
constantly.  There is room for error and error is accepted.  You never know, you
might accidentally make something you like.

Refining

Page 8 of 9

Onion skinning is a helpful tool for frame by frame animators.  It allows you to see
back frames to see your past drawings.  Check out the next topic for onion skinning.

Onion Skinning

Page 9 of 9

What are you doing?  I told you to go to the next topic.  Didn't you listen?  Go there
now!

The End

Page 1 of 5

Onion Skin

This is a few simple shape tweens onion skinned so you
can see every frame and then proudly print screened.

Onion skinning is a method to see back frames.  Much like an onion skin, you can look
through it and see what lies behind.

Overview

Page 2 of 5

Onion Skin options.  To be explained later.

Edit multiple frames.  this has already been explained up above.

Onion skin outlines.  This will bring up the onion skin brackets, but all of
the prior frames will be outlines instead of alpha.

Normal onion skin.  This will pop up two brackets on the timeline for onion
skinning.

Onion skinning buttons are found on the timeline.  There are three and a half of them.
Half a button? Yea, its for editing multiple frames, not quite an onion skin, but uses the
same principles.

The Buttons

Page 3 of 5

You've seen this fellow before.  This is what he looks like when normal onion skinned
(all of those light gray pictures would outlines in outline onion skin).  As you can see,
you can see prior frames, whatever frames lie in the onion skin handles that you can
see in the timeline.

Onion Skinning

Page 4 of 5

Onion 2 makes it so you see your current frame and the one
before it.  Onion 5 makes it so you see your current frame as
well as 5 others.  Onion all will show every frame in the
timeline.

This will stop the brackets from moving with
your play head.

Pressing this will make it so the onion skin
brackets are visible even when onion skinning is
turned off

Onion skins have properties too, and here they are explained.

Onion Skin Options

Page 5 of 5

And that's it, all you need to know about onion skinning, except edit multiple frames,
but that's self explanatory.

And That's Onion Skinning

Exporting

We are now nearing the end of this tutorial.  This final topic is about the final thing
you do when you create a flash production; that is export or publish.  This is where
you turn your editable flash document and convert you work into a file that is good
to go, ready to make it big on the Internet.  So if you would, please join me in this
final adventure in this final chapter.

Overview

Control enter is the keyboard shortcut for exporting your flash movie.  It opens up
the newly created .swf file (final product of a .fla) in flash with special commands
that allow you to do needed things. The document also has a menu at the top
much like any program.  In this menu you will find many tools.

[ctrl] + [enter]

Movie:
Dim: Dimensions
Fr Rate: Frame rate
Size: size (I haven't optimized yet :P)
Duration: duration in frames and time
Preload: Some more useless info
Settings:
Bandwidth: How fast you have set it
to load (right now it's at a custom
speed of about 500Kbps)
State:
Current location within the flash
movie itself

This is a nifty tool that allows you to see a lot of information.  down below this text
you will see the bandwidth profiler of this flash as of right now.

Bandwidth Profiler

There are two typed of graphs that you can use in you bandwidth profiler.  There is the
streaming graph ( this one) and the frame by frame graph.  They each have their own
perks, but ultimately it settles down to what you prefer.

If you look at this picture you can see
that the first frame of this flash file is
enormous, it pushes past 2Mb. If you
look at state, it says the frame is
12,279Kb. That is because that is
where the music player is loaded into
and also the entire layout, and
remember, this is before optimization.

The right side of the bandwidth profiler shows how large each frame is, and what
frame your on.

Bandwidth Profiler (cont)

T1 is about the speed
the speed I usually get
off of Newgrounds, and
is also the speed I
usually use to simulate
download.  Right now it
is set to my custom
speed.  Click customize
to make your own
custom speeds.

After you have created
your flash product, you
will want to make sure
that your pre loader is
working.  How can you do
this without posting it on
the Internet?  Simple, you
simulate download.  After
exporting, press control
enter again to simulate
your download.  Your pre
loader should pop up and
everything should be
dandy.
To change download
settings, go to
view>download settings,
and choose the speed you
want.

Simulate Download

Publishing is another way you can save your flash files the way you want them.  Press
F12 on your keyboard to publish.  Hopefully you remember about publish settings
because that is what this is all about.  In your publish settings remember you can add
tabs for multiple file types such as flash, html, and gif.  When you publish, a file is
saved to your predetermined settings.  If you have the gif tag open, and the flash tag
open, then you will get a flas hfile and a gif file to join your .fla file.

Publishing

There are a few other things you can do with exporting and publishing, but that stuff,
like debugging, isn't necessary for a beginner.

Other stuff for Later

Page 1 of 1

The End

Michael Lange
Andrew Rakos
Adam Kauth, Andrew Rakos
Five awesome artists from the NG
audio portal.  Check it Out!

Maker, animator, programming, etc
Right wing motion tweener
Testers
Musicians

The End

That's a wrap, yuo have reached the end of the tutorial, but not the end of your
learning.  There is much more to learn, and much more to make.  If you are ever
having troubles with basic flash, come back to this tutorial and use it as a reference,
add it to your favorites.  Flash isn't out there to taunt you, no matter how much it
seems at time.  I hope this tutorial helped, and good luck in your flash journeys.

You Made It Through!

ActionScript [AS1/AS2]

Frame 1
loadz = Math.round(getBytesLoaded() / 1024); totalz = Math.round(getBytesTotal() / 1024); tex = ((_root.loadz + "Kb / ") + _root.totalz) + "Kb"; per = (loadz / totalz) * 100; if (per != 100) { _root.bar._xscale = per; } else { gotoAndPlay (3); }
Frame 2
gotoAndPlay (1);
Frame 36
var myMenu = new ContextMenu(); myMenu.hideBuiltInItems(); _root.menu = myMenu; easterEgg.useHandCursor = false; easterEgg._focusrect = false; _root.Tspeed = 5; stop();
Symbol 11 Button
on (release) { this.removeMovieClip(); }
Symbol 18 MovieClip [PSmc] Frame 1
this.onEnterFrame = function () { if (Key.isDown(38)) { this.tex._y = this.tex._y - _root.Tspeed; } if (Key.isDown(40)) { this.tex._y = this.tex._y + _root.Tspeed; } };
Instance of Symbol 14 MovieClip in Symbol 18 MovieClip [PSmc] Frame 1
on (press) { this.startDrag(""); } on (release) { this.stopDrag(); }
Instance of Symbol 17 MovieClip "tex" in Symbol 18 MovieClip [PSmc] Frame 1
/* no clip actions */
Symbol 20 MovieClip [DVmc] Frame 1
this.onEnterFrame = function () { if (Key.isDown(38)) { this.tex._y = this.tex._y - _root.Tspeed; } if (Key.isDown(40)) { this.tex._y = this.tex._y + _root.Tspeed; } };
Symbol 25 MovieClip [DPmc] Frame 1
this.onEnterFrame = function () { if (Key.isDown(38)) { this.tex._y = this.tex._y - _root.Tspeed; } if (Key.isDown(40)) { this.tex._y = this.tex._y + _root.Tspeed; } };
Instance of Symbol 22 MovieClip "tex" in Symbol 25 MovieClip [DPmc] Frame 1
/* no clip actions */
Symbol 31 Button
on (release) { this.stop(); }
Symbol 35 Button
on (release) { this.play(); }
Symbol 93 Button
on (release) { gotoAndPlay (1); }
Symbol 94 MovieClip [RGB] Frame 517
stop();
Symbol 98 Button
on (release) { this.removeMovieClip(); }
Symbol 102 Button
on (release) { this.stop(); }
Symbol 106 Button
on (release) { this.play(); }
Symbol 108 Button
on (press) { this.startDrag(); } on (release) { this.stopDrag(); }
Symbol 147 MovieClip [BTNvid] Frame 1
movez.useHandCursor = false;
Symbol 147 MovieClip [BTNvid] Frame 1443
stop();
Symbol 177 MovieClip [GRvid] Frame 1
movez.useHandCursor = false;
Symbol 177 MovieClip [GRvid] Frame 1122
stop();
Symbol 256 MovieClip [MCvid] Frame 1
movez.useHandCursor = false;
Symbol 256 MovieClip [MCvid] Frame 1436
stop();
Symbol 261 Button
on (release) { removeMovieClip(this); }
Symbol 268 Button
on (release) { _root.closure = true; }
Symbol 273 MovieClip Frame 1
_root.volz = 100; dragger.useHandCursor = false; line.useHandCursor = false; dragger.onPress = function () { this.startDrag(true, line._width, 0, 0, 0); this.onEnterFrame = function () { _root.volz = Math.round((this._x * 100) / line._width); }; }; dragger.onRelease = (dragger.onReleaseOutside = stopDrag); line.onPress = function () { dragger._x = _xmouse; };
Symbol 277 Button
on (release) { _root.MySong.setVolume(0); _root.autoAdjust = false; this.nextFrame(); }
Symbol 283 Button
on (release) { _root.autoAdjust = true; this.prevFrame(); }
Symbol 284 MovieClip Frame 1
stop();
Symbol 288 Button
on (release) { if (_root.song == 1) { _root.MySong.stop(); _root.MySong.attachSound("S2"); _root.MySong.start(0, 99); _root.song = 2; pp.gotoAndStop(2); } else if (_root.song == 2) { _root.MySong.stop(); _root.MySong.attachSound("S3"); _root.MySong.start(0, 99); _root.song = 3; pp.gotoAndStop(2); } else if (_root.song == 3) { _root.MySong.stop(); _root.MySong.attachSound("S4"); _root.MySong.start(0, 99); _root.song = 4; pp.gotoAndStop(2); } else if (_root.song == 4) { _root.MySong.stop(); _root.MySong.attachSound("S5"); _root.MySong.start(0, 99); _root.song = 5; pp.gotoAndStop(2); } else if (_root.song == 5) { _root.MySong.stop(); _root.MySong.attachSound("S1"); _root.MySong.start(0, 99); _root.song = 1; pp.gotoAndStop(2); } }
Symbol 289 Button
on (release) { if (_root.song == 1) { _root.MySong.stop(); _root.MySong.attachSound("S5"); _root.MySong.start(0, 99); _root.song = 5; pp.gotoAndStop(2); } else if (_root.song == 2) { _root.MySong.stop(); _root.MySong.attachSound("S1"); _root.MySong.start(0, 99); _root.song = 1; pp.gotoAndStop(2); } else if (_root.song == 3) { _root.MySong.stop(); _root.MySong.attachSound("S2"); _root.MySong.start(0, 99); _root.song = 2; pp.gotoAndStop(2); } else if (_root.song == 4) { _root.MySong.stop(); _root.MySong.attachSound("S3"); _root.MySong.start(0, 99); _root.song = 3; pp.gotoAndStop(2); } else if (_root.song == 5) { _root.MySong.stop(); _root.MySong.attachSound("S4"); _root.MySong.start(0, 99); _root.song = 4; pp.gotoAndStop(2); } }
Instance of Symbol 293 MovieClip "durBar" in Symbol 296 MovieClip Frame 1
onClipEvent (enterFrame) { this._xscale = _root.durPer; }
Symbol 300 Button
on (release) { _root.MySong.stop(); pp.gotoAndStop(1); }
Symbol 308 Button
on (release) { if (_root.MySong.position > 0) { _root.MySong.start(_root.spot / 1000, 99); } else { _root.MySong.start(0, 99); } nextFrame(); }
Symbol 313 Button
on (release) { _root.spot = _root.MySong.position; _root.MySong.stop(); prevFrame(); }
Symbol 314 MovieClip Frame 1
stop();
Symbol 316 MovieClip [radio] Frame 1
stop(); _root.closure = false; _root.opening = false; _root.spot = 0; _root.MySong = new Sound(); _root.MySong.attachSound("S1"); _root.song = 1; _root.autoAdjust = true; this.onEnterFrame = function () { if (_root.closure == true) { this._y = this._y - 10; if (this._y < -150) { this._y = this._y - 0; _root.closure = false; } } if (_root.opening == true) { if (this._y < 0) { this._y = this._y + 10; } else { _root.opening = false; } } if (_root.autoAdjust == true) { _root.MySong.setVolume(_root.volz); } if (_root.song == 1) { this.info.songTitle = "<b>Tetris on Speed"; this.info.songBand = "HouseMasta"; } if (_root.song == 2) { this.info.songTitle = "<b>Twisted!!!"; this.info.songBand = "Rocker206"; } if (_root.song == 3) { this.info.songTitle = "<b>Chaoz Japan"; this.info.songBand = "ParagonX9"; } if (_root.song == 4) { this.info.songTitle = "<b>Crying Soul"; this.info.songBand = "B0UNC3"; } if (_root.song == 5) { this.info.songTitle = "<b>Cold Duck"; this.info.songBand = "Gumstitch"; } _root.durPer = (_root.MySong.position / _root.MySong.duration) * 100; _root.totalSec = _root.MySong.duration / 1000; _root.minutes = Math.floor(_root.totalSec / 60); _root.seconds = Math.floor(_root.totalSec) % 60; if (_root.seconds < 10) { _root.seconds = "0" + _root.seconds; } _root.tehDur = (_root.minutes + ":") + _root.seconds; _root.donSec = _root.MySong.position / 1000; _root.minutesq = Math.floor(_root.donSec / 60); _root.secondsq = Math.floor(_root.donSec) % 60; if (_root.secondsq < 10) { _root.secondsq = "0" + _root.secondsq; } _root.tehPos = (_root.minutesq + ":") + _root.secondsq; info.Timez = (_root.tehPos + "/") + _root.tehDur; };
Symbol 321 MovieClip [VideoPlayer] Frame 1
#initclip 11 Object.registerClass("VideoPlayer", mx.video.VideoPlayer); #endinitclip
Symbol 325 MovieClip [FLVPlayback] Frame 1
#initclip 12 Object.registerClass("FLVPlayback", mx.video.FLVPlayback); #endinitclip stop();
Symbol 317 MovieClip [__Packages.mx.video.FLVPlayback] Frame 0
class mx.video.FLVPlayback extends MovieClip { var _autoPlay, _autoRewind, _autoSize, _bufferTime, _contentPath, _cuePoints, _idleTimeout, _isLive, _aspectRatio, _seekToPrevOffset, _playheadUpdateInterval, _progressInterval, _totalTime, _transform, _volume, _skinAutoHide, _bufferingBarHides, _origHeight, _prevHeight, __height, _height, _origWidth, _prevWidth, __width, _width, _scaleX, _scaleY, _xscale, _yscale, _preSeekTime, _firstStreamReady, _firstStreamShown, _activeVP, _visibleVP, _topVP, _vp, _vpState, _cpMgr, boundingBox_mc, preview_mc, dispatchEvent, _uiMgr, _bufferingBar, _backButton, __get__cuePoints, _forwardButton, _muteButton, _pauseButton, _playButton, _playPauseButton, _seekBar, _seekBarInterval, _seekBarScrubTolerance, _skin, _stopButton, _visible, _volumeBar, _volumeBarInterval, _volumeBarScrubTolerance, _x, _y, attachMovie, createEmptyMovieClip; function FLVPlayback () { super(); mx.events.EventDispatcher.initialize(this); if (_autoPlay == undefined) { _autoPlay = true; } if (_autoRewind == undefined) { _autoRewind = true; } if (_autoSize == undefined) { _autoSize = false; } if (_bufferTime == undefined) { _bufferTime = 0.1; } if (_contentPath == undefined) { _contentPath = ""; } if (_cuePoints == undefined) { _cuePoints = null; } if (_idleTimeout == undefined) { _idleTimeout = mx.video.VideoPlayer.DEFAULT_IDLE_TIMEOUT_INTERVAL; } if (_isLive == undefined) { _isLive = false; } if (_aspectRatio == undefined) { _aspectRatio = true; } if (_seekToPrevOffset == undefined) { _seekToPrevOffset = SEEK_TO_PREV_OFFSET_DEFAULT; } if (_playheadUpdateInterval == undefined) { _playheadUpdateInterval = mx.video.VideoPlayer.DEFAULT_UPDATE_PROGRESS_INTERVAL; } if (_progressInterval == undefined) { _progressInterval = mx.video.VideoPlayer.DEFAULT_UPDATE_TIME_INTERVAL; } if (_totalTime == undefined) { _totalTime = 0; } if (_transform == undefined) { _transform = null; } if (_volume == undefined) { _volume = 100; } if (_skinAutoHide == undefined) { _skinAutoHide = false; } if (_bufferingBarHides == undefined) { _bufferingBarHides = false; } _origHeight = (_prevHeight = (__height = _height)); _origWidth = (_prevWidth = (__width = _width)); _scaleX = 100; _scaleY = 100; _xscale = 100; _yscale = 100; _preSeekTime = -1; _firstStreamReady = false; _firstStreamShown = false; createUIManager(); _activeVP = 0; _visibleVP = 0; _topVP = 0; _vp = new Array(); _vpState = new Array(); _cpMgr = new Array(); createVideoPlayer(0); _vp[0].visible = false; _vp[0].volume = 0; boundingBox_mc._visible = false; boundingBox_mc.unloadMovie(); delete boundingBox_mc; if (_global.isLivePreview) { createLivePreviewMovieClip(); setSize(__width, __height); } _cpMgr[0].processCuePointsProperty(_cuePoints); delete _cuePoints; _cuePoints = null; } function setSize(w, h) { if (_global.isLivePreview) { if (preview_mc == undefined) { createLivePreviewMovieClip(); } preview_mc.box_mc._width = w; preview_mc.box_mc._height = h; if ((preview_mc.box_mc._width < preview_mc.icon_mc._width) || (preview_mc.box_mc._height < preview_mc.icon_mc._height)) { preview_mc.icon_mc._visible = false; } else { preview_mc.icon_mc._visible = true; preview_mc.icon_mc._x = (preview_mc.box_mc._width - preview_mc.icon_mc._width) / 2; preview_mc.icon_mc._y = (preview_mc.box_mc._height - preview_mc.icon_mc._height) / 2; } } if ((w == width) && (h == height)) { return(undefined); } _prevWidth = (__width = w); _prevHeight = (__height = h); var _local3 = 0; while (_local3 < _vp.length) { if (_vp[_local3] != undefined) { _vp[_local3].setSize(w, h); } _local3++; } dispatchEvent({type:"resize", x:x, y:y, width:w, height:h}); } function setScale(xs, ys) { if ((xs == scaleX) && (ys == scaleY)) { return(undefined); } _scaleX = xs; _scaleY = ys; var _local2 = 0; while (_local2 < _vp.length) { if (_vp[_local2] != undefined) { _vp[_local2].setSize((_origWidth * xs) / 100, (_origHeight * ys) / 100); } _local2++; } dispatchEvent({type:"resize", x:x, y:y, width:width, height:height}); } function handleEvent(e) { var _local3 = e.state; if (((e.state != undefined) && (e.target._name == _visibleVP)) && (scrubbing)) { _local3 = SEEKING; } if (e.type == "metadataReceived") { _cpMgr[e.target._name].processFLVCuePoints(e.info.cuePoints); dispatchEvent({type:e.type, info:e.info, vp:e.target._name}); } else if (e.type == "cuePoint") { if (_cpMgr[e.target._name].isFLVCuePointEnabled(e.info)) { dispatchEvent({type:e.type, info:e.info, vp:e.target._name}); } } else if (e.type == "rewind") { dispatchEvent({type:e.type, auto:true, state:_local3, playheadTime:e.playheadTime, vp:e.target._name}); _cpMgr[e.target._name].resetASCuePointIndex(e.playheadTime); } else if (e.type == "resize") { dispatchEvent({type:e.type, x:x, y:y, width:width, height:height, auto:true, vp:e.target._name}); _prevWidth = __width; _prevHeight = __height; } else if (e.type == "playheadUpdate") { dispatchEvent({type:e.type, state:_local3, playheadTime:e.playheadTime, vp:e.target._name}); if ((_preSeekTime >= 0) && (e.target.state != SEEKING)) { var _local5 = _preSeekTime; _preSeekTime = -1; _cpMgr[e.target._name].resetASCuePointIndex(e.playheadTime); dispatchEvent({type:"seek", state:_local3, playheadTime:e.playheadTime, vp:e.target._name}); if (_local5 < e.playheadTime) { dispatchEvent({type:"fastForward", state:_local3, playheadTime:e.playheadTime, vp:e.target._name}); } else if (_local5 > e.playheadTime) { dispatchEvent({type:"rewind", auto:false, state:_local3, playheadTime:e.playheadTime, vp:e.target._name}); } } _cpMgr[e.target._name].dispatchASCuePoints(); } else if (e.type == "stateChange") { var _local4 = e.target._name; if ((_local4 == _visibleVP) && (scrubbing)) { return(undefined); } if (e.state == mx.video.VideoPlayer.RESIZING) { return(undefined); } if (((_vpState[_local4].prevState == LOADING) && (_vpState[_local4].autoPlay)) && (e.state == STOPPED)) { return(undefined); } _vpState[_local4].prevState = e.state; dispatchEvent({type:e.type, state:_local3, playheadTime:e.playheadTime, vp:e.target._name}); if (_vp[e.target._name].state != _local3) { return(undefined); } switch (_local3) { case BUFFERING : dispatchEvent({type:"buffering", state:_local3, playheadTime:e.playheadTime, vp:e.target._name}); break; case PAUSED : dispatchEvent({type:"paused", state:_local3, playheadTime:e.playheadTime, vp:e.target._name}); break; case PLAYING : dispatchEvent({type:"playing", state:_local3, playheadTime:e.playheadTime, vp:e.target._name}); break; case STOPPED : dispatchEvent({type:"stopped", state:_local3, playheadTime:e.playheadTime, vp:e.target._name}); } } else if (e.type == "progress") { dispatchEvent({type:e.type, bytesLoaded:e.bytesLoaded, bytesTotal:e.bytesTotal, vp:e.target._name}); } else if (e.type == "ready") { var _local4 = e.target._name; if (!_firstStreamReady) { if (_local4 == _visibleVP) { _firstStreamReady = true; if (_uiMgr.__get__skinReady() && (!_firstStreamShown)) { _uiMgr.__set__visible(true); showFirstStream(); } } } else if ((_firstStreamShown && (_local3 == STOPPED)) && _vpState[_local4].autoPlay) { _vp[_local4].play(); } dispatchEvent({type:e.type, state:_local3, playheadTime:e.playheadTime, vp:e.target._name}); } else if ((e.type == "close") || (e.type == "complete")) { dispatchEvent({type:e.type, state:_local3, playheadTime:e.playheadTime, vp:e.target._name}); } } function load(contentPath, totalTime, isLive) { if (_vp[_activeVP] == undefined) { return(undefined); } if (((contentPath == undefined) || (contentPath == null)) || (contentPath == "")) { return(undefined); } autoPlay = (false); if (totalTime != undefined) { this.totalTime = (totalTime); } if (isLive != undefined) { this.isLive = (isLive); } this.contentPath = (contentPath); } function play(contentPath, totalTime, isLive) { if (_vp[_activeVP] == undefined) { return(undefined); } if (contentPath == undefined) { _vp[_activeVP].play(); } else { autoPlay = (true); if (totalTime != undefined) { this.totalTime = (totalTime); } if (isLive != undefined) { this.isLive = (isLive); } this.contentPath = (contentPath); } } function pause() { if (_vp[_activeVP] == undefined) { return(undefined); } _vp[_activeVP].pause(); } function stop() { if (_vp[_activeVP] == undefined) { return(undefined); } _vp[_activeVP].stop(); } function seek(time) { if (_vp[_activeVP] == undefined) { return(undefined); } _preSeekTime = playheadTime; _vp[_activeVP].seek(time); } function seekSeconds(time) { seek(time); } function seekPercent(percent) { if (_vp[_activeVP] == undefined) { return(undefined); } if (((((percent < 0) || (percent > 100)) || (_vp[_activeVP].totalTime == undefined)) || (_vp[_activeVP].totalTime == null)) || (_vp[_activeVP].totalTime <= 0)) { throw new mx.video.VideoError(mx.video.VideoError.INVALID_SEEK); } seek((_vp[_activeVP].totalTime * percent) / 100); } function get playheadPercentage() { if (((_vp[_activeVP].totalTime == undefined) || (_vp[_activeVP].totalTime == null)) || (_vp[_activeVP].totalTime <= 0)) { return(undefined); } return((_vp[_activeVP].playheadTime / _vp[_activeVP].totalTime) * 100); } function set playheadPercentage(percent) { seekPercent(percent); //return(playheadPercentage); } function seekToNavCuePoint(timeNameOrCuePoint) { var _local3; switch (typeof(timeNameOrCuePoint)) { case "string" : _local3 = {name:timeNameOrCuePoint}; break; case "number" : _local3 = {time:timeNameOrCuePoint}; break; case "object" : _local3 = timeNameOrCuePoint; } if (((_local3.name == null) || (_local3.name == undefined)) || (typeof(_local3.name) != "string")) { seekToNextNavCuePoint(_local3.time); return(undefined); } if (isNaN(_local3.time)) { _local3.time = 0; } var _local2 = findNearestCuePoint(timeNameOrCuePoint, NAVIGATION); while ((_local2 != null) && ((_local2.time < _local3.time) || (!isFLVCuePointEnabled(_local2)))) { _local2 = findNextCuePointWithName(_local2); } if (_local2 == null) { throw new mx.video.VideoError(mx.video.VideoError.INVALID_SEEK); } seek(_local2.time); } function seekToNextNavCuePoint(time) { if (_vp[_activeVP] == undefined) { return(undefined); } if (isNaN(time) || (time < 0)) { time = _vp[_activeVP].playheadTime + 0.001; } var _local3; _local3 = findNearestCuePoint(time, NAVIGATION); if (_local3 == null) { seek(_vp[_activeVP].totalTime); return(undefined); } var _local2 = _local3.index; if (_local3.time < time) { _local2++; } while ((_local2 < _local3.array.length) && (!isFLVCuePointEnabled(_local3.array[_local2]))) { _local2++; } if (_local2 >= _local3.array.length) { var _local5 = _vp[_activeVP].totalTime; if (_local3.array[_local3.array.length - 1].time > _local5) { _local5 = _local3.array[_local3.array.length - 1]; } seek(_local5); } else { seek(_local3.array[_local2].time); } } function seekToPrevNavCuePoint(time) { if (_vp[_activeVP] == undefined) { return(undefined); } if (isNaN(time) || (time < 0)) { time = _vp[_activeVP].playheadTime; } var _local3 = findNearestCuePoint(time, NAVIGATION); if (_local3 == null) { seek(0); return(undefined); } var _local2 = _local3.index; while ((_local2 >= 0) && ((!isFLVCuePointEnabled(_local3.array[_local2])) || (_local3.array[_local2].time >= (time - _seekToPrevOffset)))) { _local2--; } if (_local2 < 0) { seek(0); } else { seek(_local3.array[_local2].time); } } function addASCuePoint(timeOrCuePoint, name, parameters) { return(_cpMgr[_activeVP].addASCuePoint(timeOrCuePoint, name, parameters)); } function removeASCuePoint(timeNameOrCuePoint) { return(_cpMgr[_activeVP].removeASCuePoint(timeNameOrCuePoint)); } function findCuePoint(timeNameOrCuePoint, type) { switch (type) { case "event" : return(_cpMgr[_activeVP].getCuePoint(_cpMgr[_activeVP].eventCuePoints, false, timeNameOrCuePoint)); case "navigation" : return(_cpMgr[_activeVP].getCuePoint(_cpMgr[_activeVP].navCuePoints, false, timeNameOrCuePoint)); case "flv" : return(_cpMgr[_activeVP].getCuePoint(_cpMgr[_activeVP].flvCuePoints, false, timeNameOrCuePoint)); case "actionscript" : return(_cpMgr[_activeVP].getCuePoint(_cpMgr[_activeVP].asCuePoints, false, timeNameOrCuePoint)); case "all" : } return(_cpMgr[_activeVP].getCuePoint(_cpMgr[_activeVP].allCuePoints, false, timeNameOrCuePoint)); } function findNearestCuePoint(timeNameOrCuePoint, type) { switch (type) { case "event" : return(_cpMgr[_activeVP].getCuePoint(_cpMgr[_activeVP].eventCuePoints, true, timeNameOrCuePoint)); case "navigation" : return(_cpMgr[_activeVP].getCuePoint(_cpMgr[_activeVP].navCuePoints, true, timeNameOrCuePoint)); case "flv" : return(_cpMgr[_activeVP].getCuePoint(_cpMgr[_activeVP].flvCuePoints, true, timeNameOrCuePoint)); case "actionscript" : return(_cpMgr[_activeVP].getCuePoint(_cpMgr[_activeVP].asCuePoints, true, timeNameOrCuePoint)); case "all" : } return(_cpMgr[_activeVP].getCuePoint(_cpMgr[_activeVP].allCuePoints, true, timeNameOrCuePoint)); } function findNextCuePointWithName(cuePoint) { return(_cpMgr[_activeVP].getNextCuePointWithName(cuePoint)); } function setFLVCuePointEnabled(enabled, timeNameOrCuePoint) { return(_cpMgr[_activeVP].setFLVCuePointEnabled(enabled, timeNameOrCuePoint)); } function isFLVCuePointEnabled(timeNameOrCuePoint) { return(_cpMgr[_activeVP].isFLVCuePointEnabled(timeNameOrCuePoint)); } function getNextHighestDepth() { var _local2 = super.getNextHighestDepth(); return(((_local2 < 1000) ? 1000 : (_local2))); } function bringVideoPlayerToFront(index) { if ((index == _topVP) || (_vp[index] == undefined)) { return(undefined); } _vp[_topVP].swapDepths(_vp[index].getDepth()); _topVP = index; } function getVideoPlayer(index) { return(_vp[index]); } function closeVideoPlayer(index) { if (_vp[index] == undefined) { return(undefined); } if (index == 0) { throw new mx.video.VideoError(mx.video.VideoError.DELETE_DEFAULT_PLAYER); } if (_visibleVP == index) { visibleVideoPlayerIndex = (0); } if (_activeVP == index) { activeVideoPlayerIndex = (0); } _vp[index].close(); _vp[index].unloadMovie(); delete _vp[index]; _vp[index] = undefined; } function get activeVideoPlayerIndex() { return(_activeVP); } function set activeVideoPlayerIndex(i) { if (_activeVP == i) { return; } if (_vp[_activeVP].onEnterFrame != undefined) { doContentPathConnect(); } _activeVP = i; if (_vp[_activeVP] == undefined) { createVideoPlayer(_activeVP); _vp[_activeVP].visible = false; _vp[_activeVP].volume = 0; } //return(activeVideoPlayerIndex); } function get autoPlay() { if (_vpState[_activeVP] == undefined) { return(_autoPlay); } return(_vpState[_activeVP].autoPlay); } function set autoPlay(flag) { if ((_activeVP == 0) || (_activeVP == undefined)) { _autoPlay = flag; } _vpState[_activeVP].autoPlay = flag; //return(autoPlay); } function get autoRewind() { if (_vp[_activeVP] == undefined) { return(_autoRewind); } return(_vp[_activeVP].autoRewind); } function set autoRewind(flag) { if ((_activeVP == 0) || (_activeVP == undefined)) { _autoRewind = flag; } _vp[_activeVP].autoRewind = flag; //return(autoRewind); } function get autoSize() { if (_vp[_activeVP] == undefined) { return(_autoSize); } return(_vp[_activeVP].autoSize); } function set autoSize(flag) { if ((_activeVP == 0) || (_activeVP == undefined)) { _autoSize = flag; } _vp[_activeVP].autoSize = flag; //return(autoSize); } function get bitrate() { return(ncMgr.getBitrate()); } function set bitrate(b) { ncMgr.setBitrate(b); //return(bitrate); } function get buffering() { if (_vp[_activeVP] == undefined) { return(false); } return(_vp[_activeVP].state == BUFFERING); } function get bufferingBar() { if ((_uiMgr != null) && (_uiMgr != undefined)) { _bufferingBar = _uiMgr.getControl(mx.video.UIManager.BUFFERING_BAR); } return(_bufferingBar); } function set bufferingBar(s) { _bufferingBar = s; if ((_uiMgr != null) && (_uiMgr != undefined)) { _uiMgr.setControl(mx.video.UIManager.BUFFERING_BAR, s); } //return(bufferingBar); } function get bufferingBarHidesAndDisablesOthers() { if ((_uiMgr != null) && (_uiMgr != undefined)) { _bufferingBarHides = _uiMgr.bufferingBarHidesAndDisablesOthers; } return(_bufferingBarHides); } function set bufferingBarHidesAndDisablesOthers(b) { _bufferingBarHides = b; if ((_uiMgr != null) && (_uiMgr != undefined)) { _uiMgr.__set__bufferingBarHidesAndDisablesOthers(b); } //return(bufferingBarHidesAndDisablesOthers); } function get backButton() { if ((_uiMgr != null) && (_uiMgr != undefined)) { _backButton = _uiMgr.getControl(mx.video.UIManager.BACK_BUTTON); } return(_backButton); } function set backButton(s) { _backButton = s; if ((_uiMgr != null) && (_uiMgr != undefined)) { _uiMgr.setControl(mx.video.UIManager.BACK_BUTTON, s); } //return(backButton); } function get bufferTime() { if (_vp[_activeVP] == undefined) { return(_bufferTime); } return(_vp[_activeVP].bufferTime); } function set bufferTime(aTime) { if ((_activeVP == 0) || (_activeVP == undefined)) { _bufferTime = aTime; } _vp[_activeVP].bufferTime = aTime; //return(bufferTime); } function get bytesLoaded() { return(_vp[_activeVP].bytesLoaded); } function get bytesTotal() { return(_vp[_activeVP].bytesTotal); } function get contentPath() { if ((_vp[_activeVP] == undefined) || (_vp[_activeVP].onEnterFrame != undefined)) { return(_contentPath); } return(_vp[_activeVP].url); } function set contentPath(url) { if (_global.isLivePreview) { return; } if (_vp[_activeVP] == undefined) { if (url == _contentPath) { return; } _contentPath = url; } else { if (_vp[_activeVP].url == url) { return; } _vpState[_activeVP].minProgressPercent = undefined; if (_vp[_activeVP].onEnterFrame != undefined) { delete _vp[_activeVP].onEnterFrame; _vp[_activeVP].onEnterFrame = undefined; } _cpMgr[_activeVP].reset(); if (_vpState[_activeVP].autoPlay && (_firstStreamShown)) { _vp[_activeVP].play(url, _vpState[_activeVP].isLive, _vpState[_activeVP].totalTime); } else { _vp[_activeVP].load(url, _vpState[_activeVP].isLive, _vpState[_activeVP].totalTime); } _vpState[_activeVP].isLiveSet = false; _vpState[_activeVP].totalTimeSet = false; } //return(contentPath); } function set cuePoints(cp) { if (_cuePoints != undefined) { return; } _cuePoints = cp; //return(__get__cuePoints()); } function get forwardButton() { if ((_uiMgr != null) && (_uiMgr != undefined)) { _forwardButton = _uiMgr.getControl(mx.video.UIManager.FORWARD_BUTTON); } return(_forwardButton); } function set forwardButton(s) { _forwardButton = s; if ((_uiMgr != null) && (_uiMgr != undefined)) { _uiMgr.setControl(mx.video.UIManager.FORWARD_BUTTON, s); } //return(forwardButton); } function get height() { if (_global.isLivePreview) { return(__height); } if (_vp[_visibleVP] != undefined) { __height = _vp[_visibleVP].height; } return(__height); } function set height(h) { setSize(width, h); //return(height); } function get idleTimeout() { if (_vp[_activeVP] == undefined) { return(_idleTimeout); } return(_vp[_activeVP].idleTimeout); } function set idleTimeout(aTime) { if ((_activeVP == 0) || (_activeVP == undefined)) { _idleTimeout = aTime; } _vp[_activeVP].idleTimeout = aTime; //return(idleTimeout); } function get isRTMP() { if (_global.isLivePreview) { return(true); } if (_vp[_activeVP] == undefined) { return(undefined); } return(_vp[_activeVP].isRTMP); } function get isLive() { if (_vp[_activeVP] == undefined) { return(_isLive); } if (_vpState[_activeVP].isLiveSet) { return(_vpState[_activeVP].isLive); } return(_vp[_activeVP].isLive); } function set isLive(flag) { if ((_activeVP == 0) || (_activeVP == undefined)) { _isLive = flag; } _vpState[_activeVP].isLive = flag; _vpState[_activeVP].isLiveSet = true; //return(isLive); } function get maintainAspectRatio() { if (_vp[_activeVP] == undefined) { return(_aspectRatio); } return(_vp[_activeVP].maintainAspectRatio); } function set maintainAspectRatio(flag) { if ((_activeVP == 0) || (_activeVP == undefined)) { _aspectRatio = flag; } _vp[_activeVP].maintainAspectRatio = flag; //return(maintainAspectRatio); } function get metadata() { if (_vp[_activeVP] == undefined) { return(null); } return(_vp[_activeVP].metadata); } function get metadataLoaded() { if (_vp[_activeVP] == undefined) { return(false); } return(_cpMgr[_activeVP].metadataLoaded); } function get muteButton() { if ((_uiMgr != null) && (_uiMgr != undefined)) { _muteButton = _uiMgr.getControl(mx.video.UIManager.MUTE_BUTTON); } return(_muteButton); } function set muteButton(s) { _muteButton = s; if ((_uiMgr != null) && (_uiMgr != undefined)) { _uiMgr.setControl(mx.video.UIManager.MUTE_BUTTON, s); } //return(muteButton); } function get ncMgr() { if (_vp[_activeVP] == undefined) { return(null); } return(_vp[_activeVP].ncMgr); } function get pauseButton() { if ((_uiMgr != null) && (_uiMgr != undefined)) { _pauseButton = _uiMgr.getControl(mx.video.UIManager.PAUSE_BUTTON); } return(_pauseButton); } function set pauseButton(s) { _pauseButton = s; if ((_uiMgr != null) && (_uiMgr != undefined)) { _uiMgr.setControl(mx.video.UIManager.PAUSE_BUTTON, s); } //return(pauseButton); } function get paused() { if (_vp[_activeVP] == undefined) { return(false); } return(_vp[_activeVP].state == PAUSED); } function get playButton() { if ((_uiMgr != null) && (_uiMgr != undefined)) { _playButton = _uiMgr.getControl(mx.video.UIManager.PLAY_BUTTON); } return(_playButton); } function set playButton(s) { _playButton = s; if ((_uiMgr != null) && (_uiMgr != undefined)) { _uiMgr.setControl(mx.video.UIManager.PLAY_BUTTON, s); } //return(playButton); } function get playheadTime() { if (_vp[_activeVP] == undefined) { return(0); } return(_vp[_activeVP].playheadTime); } function set playheadTime(position) { seek(position); //return(playheadTime); } function get playheadUpdateInterval() { if (_vp[_activeVP] == undefined) { return(_playheadUpdateInterval); } return(_vp[_activeVP].playheadUpdateInterval); } function set playheadUpdateInterval(aTime) { if ((_activeVP == 0) || (_activeVP == undefined)) { _playheadUpdateInterval = aTime; } _cpMgr[_activeVP].playheadUpdateInterval = aTime; _vp[_activeVP].playheadUpdateInterval = aTime; //return(playheadUpdateInterval); } function get playing() { if (_vp[_activeVP] == undefined) { return(false); } return(_vp[_activeVP].state == PLAYING); } function get playPauseButton() { if ((_uiMgr != null) && (_uiMgr != undefined)) { _playPauseButton = _uiMgr.getControl(mx.video.UIManager.PLAY_PAUSE_BUTTON); } return(_playPauseButton); } function set playPauseButton(s) { _playPauseButton = s; if ((_uiMgr != null) && (_uiMgr != undefined)) { _uiMgr.setControl(mx.video.UIManager.PLAY_PAUSE_BUTTON, s); } //return(playPauseButton); } function get preferredHeight() { if (_vp[_activeVP] == undefined) { return(0); } return(_vp[_activeVP].videoHeight); } function get preferredWidth() { if (_vp[_activeVP] == undefined) { return(0); } return(_vp[_activeVP].videoWidth); } function get progressInterval() { if (_vp[_activeVP] == undefined) { return(_progressInterval); } return(_vp[_activeVP].progressInterval); } function set progressInterval(aTime) { if ((_activeVP == 0) || (_activeVP == undefined)) { _progressInterval = aTime; } _vp[_activeVP].progressInterval = aTime; //return(progressInterval); } function get scaleX() { if (_vp[_visibleVP] != undefined) { _scaleX = (_vp[_visibleVP].width / _origWidth) * 100; } return(_scaleX); } function set scaleX(xs) { setScale(xs, scaleY); //return(scaleX); } function get scaleY() { if (_vp[_visibleVP] != undefined) { _scaleY = (_vp[_visibleVP].height / _origHeight) * 100; } return(_scaleY); } function set scaleY(ys) { setScale(scaleX, ys); //return(scaleY); } function get scrubbing() { var _local2 = seekBar; if ((_local2 == undefined) || (_local2.isDragging == undefined)) { return(false); } return(_local2.isDragging); } function get seekBar() { if ((_uiMgr != null) && (_uiMgr != undefined)) { _seekBar = _uiMgr.getControl(mx.video.UIManager.SEEK_BAR); } return(_seekBar); } function set seekBar(s) { _seekBar = s; if ((_uiMgr != null) && (_uiMgr != undefined)) { _uiMgr.setControl(mx.video.UIManager.SEEK_BAR, s); } //return(seekBar); } function get seekBarInterval() { if ((_uiMgr != null) && (_uiMgr != undefined)) { _seekBarInterval = _uiMgr.seekBarInterval; } return(_seekBarInterval); } function set seekBarInterval(s) { _seekBarInterval = s; if ((_uiMgr != null) && (_uiMgr != undefined)) { _uiMgr.__set__seekBarInterval(_seekBarInterval); } //return(seekBarInterval); } function get seekBarScrubTolerance() { if ((_uiMgr != null) && (_uiMgr != undefined)) { _seekBarScrubTolerance = _uiMgr.seekBarScrubTolerance; } return(_seekBarScrubTolerance); } function set seekBarScrubTolerance(s) { _seekBarScrubTolerance = s; if ((_uiMgr != null) && (_uiMgr != undefined)) { _uiMgr.__set__seekBarScrubTolerance(_seekBarScrubTolerance); } //return(seekBarScrubTolerance); } function get seekToPrevOffset() { return(_seekToPrevOffset); } function set seekToPrevOffset(s) { _seekToPrevOffset = s; //return(seekToPrevOffset); } function get skin() { if ((_uiMgr != null) && (_uiMgr != undefined)) { _skin = _uiMgr.skin; } return(_skin); } function set skin(s) { _skin = s; if ((_uiMgr != null) && (_uiMgr != undefined)) { _uiMgr.__set__skin(s); } //return(skin); } function get skinAutoHide() { if ((_uiMgr != null) && (_uiMgr != undefined)) { _skinAutoHide = _uiMgr.skinAutoHide; } return(_skinAutoHide); } function set skinAutoHide(b) { if (_global.isLivePreview) { return; } _skinAutoHide = b; if ((_uiMgr != null) && (_uiMgr != undefined)) { _uiMgr.__set__skinAutoHide(b); } //return(skinAutoHide); } function get transform() { return(_transform); } function set transform(s) { _transform = s; if (_vp[_activeVP] != undefined) { _vp[_activeVP].transform = _transform; } //return(transform); } function get state() { if (_global.isLivePreview) { return(STOPPED); } if (_vp[_activeVP] == undefined) { return(DISCONNECTED); } if ((_activeVP == _visibleVP) && (scrubbing)) { return(SEEKING); } var _local3 = _vp[_activeVP].state; if (_local3 == mx.video.VideoPlayer.RESIZING) { return(LOADING); } if (((_vpState[_activeVP].prevState == LOADING) && (_vpState[_activeVP].autoPlay)) && (_local3 == STOPPED)) { return(LOADING); } return(_local3); } function get stateResponsive() { if (_vp[_activeVP] == undefined) { return(false); } return(_vp[_activeVP].stateResponsive); } function get stopButton() { if ((_uiMgr != null) && (_uiMgr != undefined)) { _stopButton = _uiMgr.getControl(mx.video.UIManager.STOP_BUTTON); } return(_stopButton); } function set stopButton(s) { _stopButton = s; if ((_uiMgr != null) && (_uiMgr != undefined)) { _uiMgr.setControl(mx.video.UIManager.STOP_BUTTON, s); } //return(stopButton); } function get stopped() { if (_vp[_activeVP] == undefined) { return(false); } return(_vp[_activeVP].state == STOPPED); } function get totalTime() { if (_global.isLivePreview) { return(1); } if (_vp[_activeVP] == undefined) { return(_totalTime); } if (_vpState[_activeVP].totalTimeSet) { return(_vpState[_activeVP].totalTime); } return(_vp[_activeVP].totalTime); } function set totalTime(aTime) { if ((_activeVP == 0) || (_activeVP == undefined)) { _totalTime = aTime; } _vpState[_activeVP].totalTime = aTime; _vpState[_activeVP].totalTimeSet = true; //return(totalTime); } function get visible() { return(_visible); } function set visible(v) { _visible = v; //return(visible); } function get visibleVideoPlayerIndex() { return(_visibleVP); } function set visibleVideoPlayerIndex(i) { if (_visibleVP == i) { return; } var _local2 = _visibleVP; if (_vp[i] == undefined) { createVideoPlayer(i); } var _local5 = (_vp[i].height != _vp[_visibleVP].height) || (_vp[i].width != _vp[_visibleVP].width); _vp[_visibleVP].visible = false; _vp[_visibleVP].volume = 0; _visibleVP = i; if (_firstStreamShown) { _uiMgr.setupSkinAutoHide(_local2); _vp[_visibleVP].visible = true; if (!scrubbing) { _vp[_visibleVP].volume = _volume; } } else if ((_vp[_visibleVP].stateResponsive && (_vp[_visibleVP].state != DISCONNECTED)) && (_uiMgr.__get__skinReady())) { _uiMgr.__set__visible(true); _uiMgr.setupSkinAutoHide(_local2); _firstStreamReady = true; showFirstStream(); } if ((_vp[_local2].height != _vp[_visibleVP].height) || (_vp[_local2].width != _vp[_visibleVP].width)) { dispatchEvent({type:"resize", x:x, y:y, width:width, height:height, auto:false, vp:_visibleVP}); } _uiMgr.handleEvent({type:"stateChange", state:_vp[_visibleVP].state, vp:_visibleVP}); _uiMgr.handleEvent({type:"playheadUpdate", playheadTime:_vp[_visibleVP].playheadTime, vp:_visibleVP}); if (_vp[_visibleVP].isRTMP) { _uiMgr.handleEvent({type:"ready", vp:_visibleVP}); } else { _uiMgr.handleEvent({type:"progress", bytesLoaded:_vp[_visibleVP].bytesLoaded, bytesTotal:_vp[_visibleVP].bytesTotal, vp:_visibleVP}); } //return(visibleVideoPlayerIndex); } function get volume() { return(_volume); } function set volume(aVol) { if (_volume == aVol) { return; } _volume = aVol; if (!scrubbing) { _vp[_visibleVP].volume = _volume; } dispatchEvent({type:"volumeUpdate", volume:aVol}); //return(volume); } function get volumeBar() { if ((_uiMgr != null) && (_uiMgr != undefined)) { _volumeBar = _uiMgr.getControl(mx.video.UIManager.VOLUME_BAR); } return(_volumeBar); } function set volumeBar(s) { _volumeBar = s; if ((_uiMgr != null) && (_uiMgr != undefined)) { _uiMgr.setControl(mx.video.UIManager.VOLUME_BAR, s); } //return(volumeBar); } function get volumeBarInterval() { if ((_uiMgr != null) && (_uiMgr != undefined)) { _volumeBarInterval = _uiMgr.volumeBarInterval; } return(_volumeBarInterval); } function set volumeBarInterval(s) { _volumeBarInterval = s; if ((_uiMgr != null) && (_uiMgr != undefined)) { _uiMgr.__set__volumeBarInterval(_volumeBarInterval); } //return(volumeBarInterval); } function get volumeBarScrubTolerance() { if ((_uiMgr != null) && (_uiMgr != undefined)) { _volumeBarScrubTolerance = _uiMgr.volumeBarScrubTolerance; } return(_volumeBarScrubTolerance); } function set volumeBarScrubTolerance(s) { _volumeBarScrubTolerance = s; if ((_uiMgr != null) && (_uiMgr != undefined)) { _uiMgr.__set__volumeBarScrubTolerance(_volumeBarScrubTolerance); } //return(volumeBarScrubTolerance); } function get width() { if (_global.isLivePreview) { return(__width); } if (_vp[_visibleVP] != undefined) { __width = _vp[_visibleVP].width; } return(__width); } function set width(w) { setSize(w, height); //return(width); } function get x() { return(_x); } function set x(xpos) { _x = xpos; //return(x); } function get y() { return(_y); } function set y(ypos) { _y = ypos; //return(y); } function createVideoPlayer(index) { if (_global.isLivePreview) { return(undefined); } var _local4 = width; var _local5 = height; _vp[index] = mx.video.VideoPlayer(attachMovie("VideoPlayer", String(index), VP_DEPTH_OFFSET + index)); _vp[index].setSize(_local4, _local5); _topVP = index; _vp[index].autoRewind = _autoRewind; _vp[index].autoSize = _autoSize; _vp[index].bufferTime = _bufferTime; _vp[index].idleTimeout = _idleTimeout; _vp[index].maintainAspectRatio = _aspectRatio; _vp[index].playheadUpdateInterval = _playheadUpdateInterval; _vp[index].progressInterval = _progressInterval; _vp[index].transform = _transform; _vp[index].volume = _volume; if (index == 0) { _vpState[index] = {id:index, isLive:_isLive, isLiveSet:true, totalTime:_totalTime, totalTimeSet:true, autoPlay:_autoPlay}; if (((_contentPath != null) && (_contentPath != undefined)) && (_contentPath != "")) { _vp[index].onEnterFrame = mx.utils.Delegate.create(this, doContentPathConnect); } } else { _vpState[index] = {id:index, isLive:false, isLiveSet:true, totalTime:0, totalTimeSet:true, autoPlay:false}; } _vp[index].addEventListener("resize", this); _vp[index].addEventListener("close", this); _vp[index].addEventListener("complete", this); _vp[index].addEventListener("cuePoint", this); _vp[index].addEventListener("playheadUpdate", this); _vp[index].addEventListener("progress", this); _vp[index].addEventListener("metadataReceived", this); _vp[index].addEventListener("stateChange", this); _vp[index].addEventListener("ready", this); _vp[index].addEventListener("rewind", this); _cpMgr[index] = new mx.video.CuePointManager(this, index); _cpMgr[index].playheadUpdateInterval = _playheadUpdateInterval; } function createUIManager() { _uiMgr = new mx.video.UIManager(this); _uiMgr.__set__visible(false); if ((_backButton != undefined) && (_backButton != null)) { _uiMgr.setControl(mx.video.UIManager.BACK_BUTTON, _backButton); } if ((_bufferingBar != undefined) && (_bufferingBar != null)) { _uiMgr.setControl(mx.video.UIManager.BUFFERING_BAR, _bufferingBar); } _uiMgr.__set__bufferingBarHidesAndDisablesOthers(_bufferingBarHides); if ((_forwardButton != undefined) && (_forwardButton != null)) { _uiMgr.setControl(mx.video.UIManager.FORWARD_BUTTON, _forwardButton); } if ((_pauseButton != undefined) && (_pauseButton != null)) { _uiMgr.setControl(mx.video.UIManager.PAUSE_BUTTON, _pauseButton); } if ((_playButton != undefined) && (_playButton != null)) { _uiMgr.setControl(mx.video.UIManager.PLAY_BUTTON, _playButton); } if ((_playPauseButton != undefined) && (_playPauseButton != null)) { _uiMgr.setControl(mx.video.UIManager.PLAY_PAUSE_BUTTON, _playPauseButton); } if ((_stopButton != undefined) && (_stopButton != null)) { _uiMgr.setControl(mx.video.UIManager.STOP_BUTTON, _stopButton); } if ((_seekBar != undefined) && (_seekBar != null)) { _uiMgr.setControl(mx.video.UIManager.SEEK_BAR, _seekBar); } if ((_seekBarInterval != undefined) && (_seekBarInterval != null)) { _uiMgr.__set__seekBarInterval(_seekBarInterval); } if ((_seekBarScrubTolerance != undefined) && (_seekBarScrubTolerance != null)) { _uiMgr.__set__seekBarScrubTolerance(_seekBarScrubTolerance); } if ((_skin != undefined) && (_skin != null)) { _uiMgr.__set__skin(_skin); } if ((_skinAutoHide != undefined) && (_skinAutoHide != null)) { _uiMgr.__set__skinAutoHide(_skinAutoHide); } if ((_muteButton != undefined) && (_muteButton != null)) { _uiMgr.setControl(mx.video.UIManager.MUTE_BUTTON, _muteButton); } if ((_volumeBar != undefined) && (_volumeBar != null)) { _uiMgr.setControl(mx.video.UIManager.VOLUME_BAR, _volumeBar); } if ((_volumeBarInterval != undefined) && (_volumeBarInterval != null)) { _uiMgr.__set__volumeBarInterval(_volumeBarInterval); } if ((_volumeBarScrubTolerance != undefined) && (_volumeBarScrubTolerance != null)) { _uiMgr.__set__volumeBarScrubTolerance(_volumeBarScrubTolerance); } } function createLivePreviewMovieClip() { preview_mc = createEmptyMovieClip("preview_mc", 10); preview_mc.createEmptyMovieClip("box_mc", 10); preview_mc.box_mc.beginFill(0); preview_mc.box_mc.moveTo(0, 0); preview_mc.box_mc.lineTo(0, 100); preview_mc.box_mc.lineTo(100, 100); preview_mc.box_mc.lineTo(100, 0); preview_mc.box_mc.lineTo(0, 0); preview_mc.box_mc.endFill(); preview_mc.attachMovie("Icon", "icon_mc", 20); } function doContentPathConnect() { delete _vp[0].onEnterFrame; _vp[0].onEnterFrame = undefined; if (_global.isLivePreview) { return(undefined); } if (_vpState[0].autoPlay && (_firstStreamShown)) { _vp[0].play(_contentPath, _isLive, _totalTime); } else { _vp[0].load(_contentPath, _isLive, _totalTime); } _vpState[0].isLiveSet = false; _vpState[0].totalTimeSet = false; } function showFirstStream() { _firstStreamShown = true; _vp[_visibleVP].visible = true; if (!scrubbing) { _vp[_visibleVP].volume = _volume; } var _local2 = 0; while (_local2 < _vp.length) { if (((_vp[_local2] != undefined) && (_vp[_local2].state == STOPPED)) && (_vpState[_local2].autoPlay)) { _vp[_local2].play(); } _local2++; } } function _scrubStart() { var _local2 = playheadTime; _vp[_visibleVP].volume = 0; dispatchEvent({type:"stateChange", state:SEEKING, playheadTime:_local2, vp:_visibleVP}); dispatchEvent({type:"scrubStart", state:SEEKING, playheadTime:_local2}); } function _scrubFinish() { var _local3 = playheadTime; var _local2 = state; _vp[_visibleVP].volume = _volume; if (_local2 != SEEKING) { dispatchEvent({type:"stateChange", state:_local2, playheadTime:_local3, vp:_visibleVP}); } dispatchEvent({type:"scrubFinish", state:_local2, playheadTime:_local3}); } function skinError(message) { if (_firstStreamReady && (!_firstStreamShown)) { showFirstStream(); } dispatchEvent({type:"skinError", message:message}); } function skinLoaded() { if (_firstStreamReady) { _uiMgr.__set__visible(true); if (!_firstStreamShown) { showFirstStream(); } } else if (((_contentPath == undefined) || (_contentPath == null)) || (_contentPath == "")) { _uiMgr.__set__visible(true); } dispatchEvent({type:"skinLoaded"}); } static var version = "1.0.0.103"; static var DISCONNECTED = "disconnected"; static var STOPPED = "stopped"; static var PLAYING = "playing"; static var PAUSED = "paused"; static var BUFFERING = "buffering"; static var LOADING = "loading"; static var CONNECTION_ERROR = "connectionError"; static var REWINDING = "rewinding"; static var SEEKING = "seeking"; static var ALL = "all"; static var EVENT = "event"; static var NAVIGATION = "navigation"; static var FLV = "flv"; static var ACTIONSCRIPT = "actionscript"; static var VP_DEPTH_OFFSET = 100; static var SEEK_TO_PREV_OFFSET_DEFAULT = 1; }
Symbol 326 MovieClip [__Packages.mx.video.VideoPlayer] Frame 0
class mx.video.VideoPlayer extends MovieClip { var _state, _cachedState, _bufferState, _cachedPlayheadTime, _metadata, _startingPlay, _invalidSeekTime, _invalidSeekRecovery, _currentPos, _atEnd, _cmdQueue, _readyDispatched, _autoResizeDone, _lastUpdateTime, _sawSeekNotify, _updateTimeIntervalID, _updateTimeInterval, _updateProgressIntervalID, _updateProgressInterval, _idleTimeoutIntervalID, _idleTimeoutInterval, _autoResizeIntervalID, _rtmpDoStopAtEndIntervalID, _rtmpDoSeekIntervalID, _httpDoSeekIntervalID, _httpDoSeekCount, _finishAutoResizeIntervalID, _delayedBufferingIntervalID, _delayedBufferingInterval, _isLive, _autoSize, _aspectRatio, _autoPlay, _autoRewind, _bufferTime, _volume, _sound, __visible, _hiddenForResize, _hiddenForResizeMetadataDelay, _contentPath, _video, _ncMgr, _ns, attachAudio, _prevVideoWidth, _prevVideoHeight, _streamLength, _videoWidth, _videoHeight, dispatchEvent, _x, _y, _visible, _hiddenRewindPlayheadTime, ncMgrClassName, _height, _width; function VideoPlayer () { super(); mx.events.EventDispatcher.initialize(this); _state = DISCONNECTED; _cachedState = _state; _bufferState = BUFFER_EMPTY; _cachedPlayheadTime = 0; _metadata = null; _startingPlay = false; _invalidSeekTime = false; _invalidSeekRecovery = false; _currentPos = 0; _atEnd = false; _cmdQueue = new Array(); _readyDispatched = false; _autoResizeDone = false; _lastUpdateTime = -1; _sawSeekNotify = false; _updateTimeIntervalID = 0; _updateTimeInterval = DEFAULT_UPDATE_TIME_INTERVAL; _updateProgressIntervalID = 0; _updateProgressInterval = DEFAULT_UPDATE_PROGRESS_INTERVAL; _idleTimeoutIntervalID = 0; _idleTimeoutInterval = DEFAULT_IDLE_TIMEOUT_INTERVAL; _autoResizeIntervalID = 0; _rtmpDoStopAtEndIntervalID = 0; _rtmpDoSeekIntervalID = 0; _httpDoSeekIntervalID = 0; _httpDoSeekCount = 0; _finishAutoResizeIntervalID = 0; _delayedBufferingIntervalID = 0; _delayedBufferingInterval = HTTP_DELAYED_BUFFERING_INTERVAL; if (_isLive == undefined) { _isLive = false; } if (_autoSize == undefined) { _autoSize = false; } if (_aspectRatio == undefined) { _aspectRatio = true; } if (_autoPlay == undefined) { _autoPlay = true; } if (_autoRewind == undefined) { _autoRewind = true; } if (_bufferTime == undefined) { _bufferTime = 0.1; } if (_volume == undefined) { _volume = 100; } _sound = new Sound(this); _sound.setVolume(_volume); __visible = true; _hiddenForResize = false; _hiddenForResizeMetadataDelay = 0; _contentPath = ""; } function setSize(w, h) { if (((w == _video._width) && (h == _video._height)) || (_autoSize)) { return(undefined); } _video._width = w; _video._height = h; if (_aspectRatio) { startAutoResize(); } } function setScale(xs, ys) { if (((xs == _video._xscale) && (ys == _video._yscale)) || (_autoSize)) { return(undefined); } _video._xscale = xs; _video._yscale = ys; if (_aspectRatio) { startAutoResize(); } } function play(url, isLive, totalTime) { if ((url != null) && (url != undefined)) { if (_state == EXEC_QUEUED_CMD) { _state = _cachedState; } else { if (!stateResponsive) { queueCmd(PLAY, url, isLive, totalTime); return(undefined); } execQueuedCmds(); } _autoPlay = true; _load(url, isLive, totalTime); return(undefined); } if (!isXnOK()) { if (((((_state == CONNECTION_ERROR) || (_ncMgr == null)) || (_ncMgr == undefined)) || (_ncMgr.getNetConnection() == null)) || (_ncMgr.getNetConnection() == undefined)) { throw new mx.video.VideoError(mx.video.VideoError.NO_CONNECTION); // unexpected jump } flushQueuedCmds(); queueCmd(PLAY); setState(LOADING); _cachedState = LOADING; _ncMgr.reconnect(); return(undefined); } if (_state == EXEC_QUEUED_CMD) { _state = _cachedState; } else { if (!stateResponsive) { queueCmd(PLAY); return(undefined); } execQueuedCmds(); } if ((_ns == null) || (_ns == undefined)) { _createStream(); _video.attachVideo(_ns); attachAudio(_ns); } switch (_state) { case BUFFERING : if (_ncMgr.isRTMP()) { _play(0); if (_atEnd) { _atEnd = false; _currentPos = 0; setState(REWINDING); } else if (_currentPos > 0) { _seek(_currentPos); _currentPos = 0; } } case PLAYING : return(undefined); case STOPPED : if (_ncMgr.isRTMP()) { if (_isLive) { _play(-1); setState(BUFFERING); } else { _play(0); if (_atEnd) { _atEnd = false; _currentPos = 0; _state = BUFFERING; setState(REWINDING); } else if (_currentPos > 0) { _seek(_currentPos); _currentPos = 0; setState(BUFFERING); } else { setState(BUFFERING); } } } else { _pause(false); if (_atEnd) { _atEnd = false; _seek(0); _state = BUFFERING; setState(REWINDING); } else if (_bufferState == BUFFER_EMPTY) { setState(BUFFERING); } else { setState(PLAYING); } } break; case PAUSED : _pause(false); if (!_ncMgr.isRTMP()) { if (_bufferState == BUFFER_EMPTY) { setState(BUFFERING); } else { setState(PLAYING); } } else { setState(BUFFERING); } } } function load(url, isLive, totalTime) { if ((url == null) || (url == undefined)) { throw new Error("null url sent to VideoPlayer.load"); } if (_state == EXEC_QUEUED_CMD) { _state = _cachedState; } else { if (!stateResponsive) { queueCmd(LOAD, url, isLive, totalTime); return(undefined); } execQueuedCmds(); } _autoPlay = false; _load(url, isLive, totalTime); } function _load(url, isLive, totalTime) { _prevVideoWidth = videoWidth; if (_prevVideoWidth == undefined) { _prevVideoWidth = _video.width; if (_prevVideoWidth == undefined) { _prevVideoWidth = 0; } } _prevVideoHeight = videoHeight; if (_prevVideoHeight == undefined) { _prevVideoHeight = _video.height; if (_prevVideoHeight == undefined) { _prevVideoHeight = 0; } } _autoResizeDone = false; _cachedPlayheadTime = 0; _bufferState = BUFFER_EMPTY; _metadata = null; _startingPlay = false; _invalidSeekTime = false; _invalidSeekRecovery = false; _isLive = ((isLive == undefined) ? false : (isLive)); _contentPath = url; _currentPos = 0; _streamLength = totalTime; _atEnd = false; _videoWidth = undefined; _videoHeight = undefined; _readyDispatched = false; _lastUpdateTime = -1; _sawSeekNotify = false; clearInterval(_updateTimeIntervalID); _updateTimeIntervalID = 0; clearInterval(_updateProgressIntervalID); _updateProgressIntervalID = 0; clearInterval(_idleTimeoutIntervalID); _idleTimeoutIntervalID = 0; clearInterval(_autoResizeIntervalID); _autoResizeIntervalID = 0; clearInterval(_rtmpDoStopAtEndIntervalID); _rtmpDoStopAtEndIntervalID = 0; clearInterval(_rtmpDoSeekIntervalID); _rtmpDoSeekIntervalID = 0; clearInterval(_httpDoSeekIntervalID); _httpDoSeekIntervalID = 0; clearInterval(_finishAutoResizeIntervalID); _finishAutoResizeIntervalID = 0; clearInterval(_delayedBufferingIntervalID); _delayedBufferingIntervalID = 0; closeNS(false); if ((_ncMgr == null) || (_ncMgr == undefined)) { createINCManager(); } var _local2 = _ncMgr.connectToURL(_contentPath); setState(LOADING); _cachedState = LOADING; if (_local2) { _createStream(); _setUpStream(); } if (!_ncMgr.isRTMP()) { clearInterval(_updateProgressIntervalID); _updateProgressIntervalID = setInterval(this, "doUpdateProgress", _updateProgressInterval); } } function pause() { if (!isXnOK()) { if (((((_state == CONNECTION_ERROR) || (_ncMgr == null)) || (_ncMgr == undefined)) || (_ncMgr.getNetConnection() == null)) || (_ncMgr.getNetConnection() == undefined)) { throw new mx.video.VideoError(mx.video.VideoError.NO_CONNECTION); // unexpected jump } return(undefined); } if (_state == EXEC_QUEUED_CMD) { _state = _cachedState; } else { if (!stateResponsive) { queueCmd(PAUSE); return(undefined); } execQueuedCmds(); } if ((((_state == PAUSED) || (_state == STOPPED)) || (_ns == null)) || (_ns == undefined)) { return(undefined); } _pause(true); setState(PAUSED); } function stop() { if (!isXnOK()) { if (((((_state == CONNECTION_ERROR) || (_ncMgr == null)) || (_ncMgr == undefined)) || (_ncMgr.getNetConnection() == null)) || (_ncMgr.getNetConnection() == undefined)) { throw new mx.video.VideoError(mx.video.VideoError.NO_CONNECTION); // unexpected jump } return(undefined); } if (_state == EXEC_QUEUED_CMD) { _state = _cachedState; } else { if (!stateResponsive) { queueCmd(STOP); return(undefined); } execQueuedCmds(); } if (((_state == STOPPED) || (_ns == null)) || (_ns == undefined)) { return(undefined); } if (_ncMgr.isRTMP()) { if (_autoRewind && (!_isLive)) { _currentPos = 0; _play(0, 0); _state = STOPPED; setState(REWINDING); } else { closeNS(true); setState(STOPPED); } } else { _pause(true); if (_autoRewind) { _seek(0); _state = STOPPED; setState(REWINDING); } else { setState(STOPPED); } } } function seek(time) { if (_invalidSeekTime) { return(undefined); } if (isNaN(time) || (time < 0)) { throw new mx.video.VideoError(mx.video.VideoError.INVALID_SEEK); } if (!isXnOK()) { if (((((_state == CONNECTION_ERROR) || (_ncMgr == null)) || (_ncMgr == undefined)) || (_ncMgr.getNetConnection() == null)) || (_ncMgr.getNetConnection() == undefined)) { throw new mx.video.VideoError(mx.video.VideoError.NO_CONNECTION); // unexpected jump } flushQueuedCmds(); queueCmd(SEEK, null, false, time); setState(LOADING); _cachedState = LOADING; _ncMgr.reconnect(); return(undefined); } if (_state == EXEC_QUEUED_CMD) { _state = _cachedState; } else { if (!stateResponsive) { queueCmd(SEEK, null, false, time); return(undefined); } execQueuedCmds(); } if ((_ns == null) || (_ns == undefined)) { _createStream(); _video.attachVideo(_ns); attachAudio(_ns); } if (_atEnd && (time < playheadTime)) { _atEnd = false; } switch (_state) { case PLAYING : _state = BUFFERING; case BUFFERING : case PAUSED : _seek(time); setState(SEEKING); break; case STOPPED : if (_ncMgr.isRTMP()) { _play(0); _pause(true); } _seek(time); _state = PAUSED; setState(SEEKING); } } function close() { closeNS(true); if (((_ncMgr != null) && (_ncMgr != undefined)) && (_ncMgr.isRTMP())) { _ncMgr.close(); } setState(DISCONNECTED); dispatchEvent({type:"close", state:_state, playheadTime:playheadTime}); } function get x() { return(_x); } function set x(xpos) { _x = xpos; //return(x); } function get y() { return(_y); } function set y(ypos) { _y = ypos; //return(y); } function get scaleX() { return(_video._xscale); } function set scaleX(xs) { setScale(xs, scaleY); //return(scaleX); } function get scaleY() { return(_video._yscale); } function set scaleY(ys) { setScale(scaleX, ys); //return(scaleY); } function get width() { return(_video._width); } function set width(w) { setSize(w, _video._height); //return(width); } function get height() { return(_video._height); } function set height(h) { setSize(_video._width, h); //return(height); } function get videoWidth() { if (_readyDispatched) { _videoWidth = _video.width; } return(_videoWidth); } function get videoHeight() { if (_readyDispatched) { _videoHeight = _video.height; } return(_videoHeight); } function get visible() { if (!_hiddenForResize) { __visible = _visible; } return(__visible); } function set visible(v) { __visible = v; if (!_hiddenForResize) { _visible = __visible; } //return(visible); } function get autoSize() { return(_autoSize); } function set autoSize(flag) { if (_autoSize != flag) { _autoSize = flag; if (_autoSize) { startAutoResize(); } } //return(autoSize); } function get maintainAspectRatio() { return(_aspectRatio); } function set maintainAspectRatio(flag) { if (_aspectRatio != flag) { _aspectRatio = flag; if (_aspectRatio && (!_autoSize)) { startAutoResize(); } } //return(maintainAspectRatio); } function get autoRewind() { return(_autoRewind); } function set autoRewind(flag) { _autoRewind = flag; //return(autoRewind); } function get playheadTime() { var _local2 = (((_ns == null) || (_ns == undefined)) ? (_currentPos) : (_ns.time)); if (_metadata.audiodelay != undefined) { _local2 = _local2 - _metadata.audiodelay; if (_local2 < 0) { _local2 = 0; } } return(_local2); } function set playheadTime(position) { seek(position); //return(playheadTime); } function get url() { return(_contentPath); } function get volume() { return(_volume); } function set volume(aVol) { _volume = aVol; if (!_hiddenForResize) { _sound.setVolume(_volume); } //return(volume); } function get transform() { return(_sound.getTransform()); } function set transform(s) { _sound.setTransform(s); //return(transform); } function get isRTMP() { if ((_ncMgr == null) || (_ncMgr == undefined)) { return(undefined); } return(_ncMgr.isRTMP()); } function get isLive() { return(_isLive); } function get state() { return(_state); } function get stateResponsive() { switch (_state) { case DISCONNECTED : case STOPPED : case PLAYING : case PAUSED : case BUFFERING : return(true); } return(false); } function get bytesLoaded() { if (((_ns == null) || (_ns == undefined)) || (_ncMgr.isRTMP())) { return(-1); } return(_ns.bytesLoaded); } function get bytesTotal() { if (((_ns == null) || (_ns == undefined)) || (_ncMgr.isRTMP())) { return(-1); } return(_ns.bytesTotal); } function get totalTime() { return(_streamLength); } function get bufferTime() { return(_bufferTime); } function set bufferTime(aTime) { _bufferTime = aTime; if ((_ns != null) && (_ns != undefined)) { _ns.setBufferTime(_bufferTime); } //return(bufferTime); } function get idleTimeout() { return(_idleTimeoutInterval); } function set idleTimeout(aTime) { _idleTimeoutInterval = aTime; if (_idleTimeoutIntervalID > 0) { clearInterval(_idleTimeoutIntervalID); _idleTimeoutIntervalID = setInterval(this, "doIdleTimeout", _idleTimeoutInterval); } //return(idleTimeout); } function get playheadUpdateInterval() { return(_updateTimeInterval); } function set playheadUpdateInterval(aTime) { _updateTimeInterval = aTime; if (_updateTimeIntervalID > 0) { clearInterval(_updateTimeIntervalID); _updateTimeIntervalID = setInterval(this, "doUpdateTime", _updateTimeInterval); } //return(playheadUpdateInterval); } function get progressInterval() { return(_updateProgressInterval); } function set progressInterval(aTime) { _updateProgressInterval = aTime; if (_updateProgressIntervalID > 0) { clearInterval(_updateProgressIntervalID); _updateProgressIntervalID = setInterval(this, "doUpdateProgress", _updateProgressInterval); } //return(progressInterval); } function get ncMgr() { if ((_ncMgr == null) || (_ncMgr == undefined)) { createINCManager(); } return(_ncMgr); } function get metadata() { return(_metadata); } function doUpdateTime() { var _local2 = playheadTime; switch (_state) { case STOPPED : case PAUSED : case DISCONNECTED : case CONNECTION_ERROR : clearInterval(_updateTimeIntervalID); _updateTimeIntervalID = 0; } if (_lastUpdateTime != _local2) { dispatchEvent({type:"playheadUpdate", state:_state, playheadTime:_local2}); _lastUpdateTime = _local2; } } function doUpdateProgress() { if ((_ns == null) || (_ns == undefined)) { return(undefined); } if ((_ns.bytesTotal >= 0) && (_ns.bytesTotal >= 0)) { dispatchEvent({type:"progress", bytesLoaded:_ns.bytesLoaded, bytesTotal:_ns.bytesTotal}); } if (((_state == DISCONNECTED) || (_state == CONNECTION_ERROR)) || (_ns.bytesLoaded == _ns.bytesTotal)) { clearInterval(_updateProgressIntervalID); _updateProgressIntervalID = 0; } } function rtmpOnStatus(info) { if (_state == CONNECTION_ERROR) { return(undefined); } switch (info.code) { case "NetStream.Play.Stop" : if (_startingPlay) { return(undefined); } switch (_state) { case RESIZING : if (_hiddenForResize) { finishAutoResize(); } break; case LOADING : case STOPPED : case PAUSED : break; default : if ((_bufferState == BUFFER_EMPTY) || (_bufferTime <= 0.1)) { _cachedPlayheadTime = playheadTime; clearInterval(_rtmpDoStopAtEndIntervalID); _rtmpDoStopAtEndIntervalID = setInterval(this, "rtmpDoStopAtEnd", RTMP_DO_STOP_AT_END_INTERVAL); } else { if (_bufferState != BUFFER_FULL) { break; } _bufferState = BUFFER_FULL_SAW_PLAY_STOP; } } break; case "NetStream.Buffer.Empty" : switch (_bufferState) { case BUFFER_FULL_SAW_PLAY_STOP : rtmpDoStopAtEnd(true); break; case BUFFER_FULL : if (_state == PLAYING) { setState(BUFFERING); } break; } _bufferState = BUFFER_EMPTY; break; case "NetStream.Buffer.Flush" : case "NetStream.Buffer.Full" : if (_sawSeekNotify && (_state == SEEKING)) { _bufferState = BUFFER_EMPTY; setStateFromCachedState(); doUpdateTime(); } switch (_bufferState) { case BUFFER_EMPTY : if (!_hiddenForResize) { if (((_state == LOADING) && (_cachedState == PLAYING)) || (_state == BUFFERING)) { setState(PLAYING); } else if (_cachedState == BUFFERING) { _cachedState = PLAYING; } } _bufferState = BUFFER_FULL; break; default : } break; case "NetStream.Pause.Notify" : if ((_state == RESIZING) && (_hiddenForResize)) { finishAutoResize(); } break; case "NetStream.Play.Start" : clearInterval(_rtmpDoStopAtEndIntervalID); _rtmpDoStopAtEndIntervalID = 0; _bufferState = BUFFER_EMPTY; if (_startingPlay) { _startingPlay = false; _cachedPlayheadTime = playheadTime; } else if (_state == PLAYING) { setState(BUFFERING); } break; case "NetStream.Play.Reset" : clearInterval(_rtmpDoStopAtEndIntervalID); _rtmpDoStopAtEndIntervalID = 0; if (_state == REWINDING) { clearInterval(_rtmpDoSeekIntervalID); _rtmpDoSeekIntervalID = 0; if ((playheadTime == 0) || (playheadTime < _cachedPlayheadTime)) { setStateFromCachedState(); } else { _cachedPlayheadTime = playheadTime; _rtmpDoSeekIntervalID = setInterval(this, "rtmpDoSeek", RTMP_DO_SEEK_INTERVAL); } } break; case "NetStream.Seek.Notify" : if (playheadTime != _cachedPlayheadTime) { setStateFromCachedState(); doUpdateTime(); } else { _sawSeekNotify = true; if (_rtmpDoSeekIntervalID == 0) { _rtmpDoSeekIntervalID = setInterval(this, "rtmpDoSeek", RTMP_DO_SEEK_INTERVAL); } } break; case "Netstream.Play.UnpublishNotify" : break; case "Netstream.Play.PublishNotify" : break; case "NetStream.Play.StreamNotFound" : if (!_ncMgr.connectAgain()) { setState(CONNECTION_ERROR); } break; case "NetStream.Play.Failed" : case "NetStream.Failed" : setState(CONNECTION_ERROR); } } function httpOnStatus(info) { switch (info.code) { case "NetStream.Play.Stop" : clearInterval(_delayedBufferingIntervalID); _delayedBufferingIntervalID = 0; if (_invalidSeekTime) { _invalidSeekTime = false; _invalidSeekRecovery = true; setState(_cachedState); seek(playheadTime); } else { switch (_state) { case PLAYING : case BUFFERING : case SEEKING : httpDoStopAtEnd(); } } break; case "NetStream.Seek.InvalidTime" : if (_invalidSeekRecovery) { _invalidSeekTime = false; _invalidSeekRecovery = false; setState(_cachedState); seek(0); } else { _invalidSeekTime = true; } break; case "NetStream.Buffer.Empty" : _bufferState = BUFFER_EMPTY; if (_state == PLAYING) { clearInterval(_delayedBufferingIntervalID); _delayedBufferingIntervalID = setInterval(this, "doDelayedBuffering", _delayedBufferingInterval); } break; case "NetStream.Buffer.Full" : case "NetStream.Buffer.Flush" : clearInterval(_delayedBufferingIntervalID); _delayedBufferingIntervalID = 0; _bufferState = BUFFER_FULL; if (!_hiddenForResize) { if (((_state == LOADING) && (_cachedState == PLAYING)) || (_state == BUFFERING)) { setState(PLAYING); } else if (_cachedState == BUFFERING) { _cachedState = PLAYING; } } break; case "NetStream.Seek.Notify" : _invalidSeekRecovery = false; switch (_state) { case SEEKING : case REWINDING : if (_httpDoSeekIntervalID != 0) { break; } _httpDoSeekCount = 0; _httpDoSeekIntervalID = setInterval(this, "httpDoSeek", HTTP_DO_SEEK_INTERVAL); } break; case "NetStream.Play.StreamNotFound" : setState(CONNECTION_ERROR); } } function ncConnected() { if ((((_ncMgr == null) || (_ncMgr == undefined)) || (_ncMgr.getNetConnection() == null)) || (_ncMgr.getNetConnection() == undefined)) { setState(CONNECTION_ERROR); } else { _createStream(); _setUpStream(); } } function ncReconnected() { if ((((_ncMgr == null) || (_ncMgr == undefined)) || (_ncMgr.getNetConnection() == null)) || (_ncMgr.getNetConnection() == undefined)) { setState(CONNECTION_ERROR); } else { _ns = null; _state = STOPPED; execQueuedCmds(); } } function onMetaData(info) { if (_metadata != null) { return(undefined); } _metadata = info; if (((_streamLength == undefined) || (_streamLength == null)) || (_streamLength <= 0)) { _streamLength = info.duration; } if (isNaN(_videoWidth) || (_videoWidth <= 0)) { _videoWidth = info.width; } if (isNaN(_videoHeight) || (_videoHeight <= 0)) { _videoHeight = info.height; } dispatchEvent({type:"metadataReceived", info:info}); } function onCuePoint(info) { if ((!_hiddenForResize) || ((!isNaN(_hiddenRewindPlayheadTime)) && (playheadTime < _hiddenRewindPlayheadTime))) { dispatchEvent({type:"cuePoint", info:info}); } } function setState(s) { if (s == _state) { return(undefined); } _hiddenRewindPlayheadTime = undefined; _cachedState = _state; _cachedPlayheadTime = playheadTime; _state = s; var _local2 = _state; dispatchEvent({type:"stateChange", state:_local2, playheadTime:playheadTime}); if (!_readyDispatched) { switch (_local2) { case STOPPED : case PLAYING : case PAUSED : case BUFFERING : _readyDispatched = true; dispatchEvent({type:"ready", state:_local2, playheadTime:playheadTime}); } } if (!(_cachedState === REWINDING)) { } else { dispatchEvent({type:"rewind", state:_local2, playheadTime:playheadTime}); if (_ncMgr.isRTMP() && (_local2 == STOPPED)) { closeNS(); } } switch (_local2) { case STOPPED : case PAUSED : if (_ncMgr.isRTMP() && (_idleTimeoutIntervalID == 0)) { _idleTimeoutIntervalID = setInterval(this, "doIdleTimeout", _idleTimeoutInterval); } break; case SEEKING : case REWINDING : _bufferState = BUFFER_EMPTY; case PLAYING : case BUFFERING : if (_updateTimeIntervalID == 0) { _updateTimeIntervalID = setInterval(this, "doUpdateTime", _updateTimeInterval); } case LOADING : case RESIZING : clearInterval(_idleTimeoutIntervalID); _idleTimeoutIntervalID = 0; } execQueuedCmds(); } function setStateFromCachedState() { switch (_cachedState) { case PLAYING : case PAUSED : setState(_cachedState); break; case BUFFERING : if (_bufferState == BUFFER_EMPTY) { setState(BUFFERING); } else { setState(_cachedState); } break; default : setState(STOPPED); } } function createINCManager() { if ((ncMgrClassName == null) || (ncMgrClassName == undefined)) { ncMgrClassName = DEFAULT_INCMANAGER; } var ncMgrConstructor = eval (this.ncMgrClassName); _ncMgr = new ncMgrConstructor(); _ncMgr.setVideoPlayer(this); } function rtmpDoStopAtEnd(force) { if (_rtmpDoStopAtEndIntervalID > 0) { switch (_state) { case DISCONNECTED : case CONNECTION_ERROR : clearInterval(_rtmpDoStopAtEndIntervalID); _rtmpDoStopAtEndIntervalID = 0; return(undefined); } if (force || (_cachedPlayheadTime == playheadTime)) { clearInterval(_rtmpDoStopAtEndIntervalID); _rtmpDoStopAtEndIntervalID = 0; } else { _cachedPlayheadTime = playheadTime; return(undefined); } } _bufferState = BUFFER_EMPTY; _atEnd = true; setState(STOPPED); if (_state != STOPPED) { return(undefined); } doUpdateTime(); if (_state != STOPPED) { return(undefined); } dispatchEvent({type:"complete", state:_state, playheadTime:playheadTime}); if (_state != STOPPED) { return(undefined); } if ((_autoRewind && (!_isLive)) && (playheadTime != 0)) { _atEnd = false; _currentPos = 0; _play(0, 0); setState(REWINDING); } else { closeNS(); } } function rtmpDoSeek() { if ((_state != REWINDING) && (_state != SEEKING)) { clearInterval(_rtmpDoSeekIntervalID); _rtmpDoSeekIntervalID = 0; _sawSeekNotify = false; } else if (playheadTime != _cachedPlayheadTime) { clearInterval(_rtmpDoSeekIntervalID); _rtmpDoSeekIntervalID = 0; _sawSeekNotify = false; setStateFromCachedState(); doUpdateTime(); } } function httpDoStopAtEnd() { _atEnd = true; if (((_streamLength == undefined) || (_streamLength == null)) || (_streamLength <= 0)) { _streamLength = _ns.time; } _pause(true); setState(STOPPED); if (_state != STOPPED) { return(undefined); } doUpdateTime(); if (_state != STOPPED) { return(undefined); } dispatchEvent({type:"complete", state:_state, playheadTime:playheadTime}); if (_state != STOPPED) { return(undefined); } if (_autoRewind) { _atEnd = false; _pause(true); _seek(0); setState(REWINDING); } } function httpDoSeek() { var _local2 = (_state == REWINDING) || (_state == SEEKING); if ((_local2 && (_httpDoSeekCount < HTTP_DO_SEEK_MAX_COUNT)) && ((_cachedPlayheadTime == playheadTime) || (_invalidSeekTime))) { _httpDoSeekCount++; return(undefined); } _httpDoSeekCount = 0; clearInterval(_httpDoSeekIntervalID); _httpDoSeekIntervalID = 0; if (!_local2) { return(undefined); } setStateFromCachedState(); if (_invalidSeekTime) { _invalidSeekTime = false; _invalidSeekRecovery = true; seek(playheadTime); } else { doUpdateTime(); } } function closeNS(updateCurrentPos) { if ((_ns != null) && (_ns != undefined)) { if (updateCurrentPos) { clearInterval(_updateTimeIntervalID); _updateTimeIntervalID = 0; doUpdateTime(); _currentPos = _ns.time; } delete _ns.onStatus; _ns.onStatus = null; _ns.close(); _ns = null; } } function doDelayedBuffering() { switch (_state) { case LOADING : case RESIZING : break; case PLAYING : clearInterval(_delayedBufferingIntervalID); _delayedBufferingIntervalID = 0; setState(BUFFERING); break; default : clearInterval(_delayedBufferingIntervalID); _delayedBufferingIntervalID = 0; } } function _pause(doPause) { _ns.pause(doPause); } function _play() { _startingPlay = true; switch (arguments.length) { case 0 : _ns.play(_ncMgr.getStreamName(), (_isLive ? -1 : 0), -1); break; case 1 : _ns.play(_ncMgr.getStreamName(), (_isLive ? -1 : (arguments[0])), -1); break; case 2 : _ns.play(_ncMgr.getStreamName(), (_isLive ? -1 : (arguments[0])), arguments[1]); break; default : throw new Error("bad args to _play"); } } function _seek(time) { if ((_metadata.audiodelay != undefined) && ((time + _metadata.audiodelay) < _streamLength)) { time = time + _metadata.audiodelay; } _ns.seek(time); _invalidSeekTime = false; _bufferState = BUFFER_EMPTY; _sawSeekNotify = false; } function isXnOK() { if (_state == LOADING) { return(true); } if (_state == CONNECTION_ERROR) { return(false); } if (_state != DISCONNECTED) { if (((((_ncMgr == null) || (_ncMgr == undefined)) || (_ncMgr.getNetConnection() == null)) || (_ncMgr.getNetConnection() == undefined)) || (!_ncMgr.getNetConnection().isConnected)) { setState(DISCONNECTED); return(false); } return(true); } return(false); } function startAutoResize() { switch (_state) { case DISCONNECTED : case CONNECTION_ERROR : return(undefined); } _autoResizeDone = false; if ((stateResponsive && (_videoWidth != undefined)) && (_videoHeight != undefined)) { doAutoResize(); } else { clearInterval(_autoResizeIntervalID); _autoResizeIntervalID = setInterval(this, "doAutoResize", AUTO_RESIZE_INTERVAL); } } function doAutoResize() { if (_autoResizeIntervalID > 0) { switch (_state) { case RESIZING : case LOADING : break; case DISCONNECTED : case CONNECTION_ERROR : clearInterval(_autoResizeIntervalID); _autoResizeIntervalID = 0; return(undefined); default : if (stateResponsive) { break; } return(undefined); } if ((((_video.width != _prevVideoWidth) || (_video.height != _prevVideoHeight)) || (_bufferState >= BUFFER_FULL)) || (_ns.time > AUTO_RESIZE_PLAYHEAD_TIMEOUT)) { if ((_hiddenForResize && (_metadata == null)) && (_hiddenForResizeMetadataDelay < AUTO_RESIZE_METADATA_DELAY_MAX)) { _hiddenForResizeMetadataDelay++; return(undefined); } _videoWidth = _video.width; _videoHeight = _video.height; clearInterval(_autoResizeIntervalID); _autoResizeIntervalID = 0; } else { return(undefined); } } if (((!_autoSize) && (!_aspectRatio)) || (_autoResizeDone)) { setState(_cachedState); return(undefined); } _autoResizeDone = true; if (_autoSize) { _video._width = _videoWidth; _video._height = _videoHeight; } else if (_aspectRatio) { var _local3 = (_videoWidth * height) / _videoHeight; var _local2 = (_videoHeight * width) / _videoWidth; if (_local2 < height) { _video._height = _local2; } else if (_local3 < width) { _video._width = _local3; } } if (_hiddenForResize) { _hiddenRewindPlayheadTime = playheadTime; if (_state == LOADING) { _cachedState = PLAYING; } if (!_ncMgr.isRTMP()) { _pause(true); _seek(0); clearInterval(_finishAutoResizeIntervalID); _finishAutoResizeIntervalID = setInterval(this, "finishAutoResize", FINISH_AUTO_RESIZE_INTERVAL); } else if (!_isLive) { _currentPos = 0; _play(0, 0); setState(RESIZING); } else if (_autoPlay) { clearInterval(_finishAutoResizeIntervalID); _finishAutoResizeIntervalID = setInterval(this, "finishAutoResize", FINISH_AUTO_RESIZE_INTERVAL); } else { finishAutoResize(); } } else { dispatchEvent({type:"resize", x:_x, y:_y, width:_width, height:_height}); } } function finishAutoResize() { clearInterval(_finishAutoResizeIntervalID); _finishAutoResizeIntervalID = 0; if (stateResponsive) { return(undefined); } _visible = __visible; _sound.setVolume(_volume); _hiddenForResize = false; dispatchEvent({type:"resize", x:_x, y:_y, width:_width, height:_height}); if (_autoPlay) { if (_ncMgr.isRTMP()) { if (!_isLive) { _currentPos = 0; _play(0); } if (_state == RESIZING) { setState(LOADING); _cachedState = PLAYING; } } else { _pause(false); _cachedState = PLAYING; } } else { setState(STOPPED); } } function _createStream() { _ns = new NetStream(_ncMgr.getNetConnection()); _ns.mc = this; if (_ncMgr.isRTMP()) { _ns.onStatus = function (info) { this.mc.rtmpOnStatus(info); }; } else { _ns.onStatus = function (info) { this.mc.httpOnStatus(info); }; } _ns.onMetaData = function (info) { this.mc.onMetaData(info); }; _ns.onCuePoint = function (info) { this.mc.onCuePoint(info); }; _ns.setBufferTime(_bufferTime); } function _setUpStream() { _video.attachVideo(_ns); attachAudio(_ns); if ((!isNaN(_ncMgr.getStreamLength())) && (_ncMgr.getStreamLength() >= 0)) { _streamLength = _ncMgr.getStreamLength(); } if ((!isNaN(_ncMgr.getStreamWidth())) && (_ncMgr.getStreamWidth() >= 0)) { _videoWidth = _ncMgr.getStreamWidth(); } else { _videoWidth = undefined; } if ((!isNaN(_ncMgr.getStreamHeight())) && (_ncMgr.getStreamHeight() >= 0)) { _videoHeight = _ncMgr.getStreamHeight(); } else { _videoHeight = undefined; } if (((_autoSize || (_aspectRatio)) && (_videoWidth != undefined)) && (_videoHeight != undefined)) { _prevVideoWidth = undefined; _prevVideoHeight = undefined; doAutoResize(); } if (((!_autoSize) && (!_aspectRatio)) || ((_videoWidth != undefined) && (_videoHeight != undefined))) { if (_autoPlay) { if (!_ncMgr.isRTMP()) { _cachedState = BUFFERING; _play(); } else if (_isLive) { _cachedState = BUFFERING; _play(-1); } else { _cachedState = BUFFERING; _play(0); } } else { _cachedState = STOPPED; if (_ncMgr.isRTMP()) { _play(0, 0); } else { _play(); _pause(true); _seek(0); } } } else { _hiddenForResize = true; _hiddenForResizeMetadataDelay = 0; __visible = _visible; _visible = false; _volume = _sound.getVolume(); _sound.setVolume(0); _play(0); if (_currentPos > 0) { _seek(_currentPos); _currentPos = 0; } } clearInterval(_autoResizeIntervalID); _autoResizeIntervalID = setInterval(this, "doAutoResize", AUTO_RESIZE_INTERVAL); } function doIdleTimeout() { clearInterval(_idleTimeoutIntervalID); _idleTimeoutIntervalID = 0; close(); } function flushQueuedCmds() { while (_cmdQueue.length > 0) { _cmdQueue.pop(); } } function execQueuedCmds() { while (((_cmdQueue.length > 0) && (stateResponsive || (_state == CONNECTION_ERROR))) && (((_cmdQueue[0].url != null) && (_cmdQueue[0].url != undefined)) || ((_state != DISCONNECTED) && (_state != CONNECTION_ERROR)))) { var _local2 = _cmdQueue.shift(); _cachedState = _state; _state = EXEC_QUEUED_CMD; switch (_local2.type) { case PLAY : play(_local2.url, _local2.isLive, _local2.time); break; case LOAD : load(_local2.url, _local2.isLive, _local2.time); break; case PAUSE : pause(); break; case STOP : stop(); break; case SEEK : seek(_local2.time); } } } function queueCmd(type, url, isLive, time) { _cmdQueue.push({type:type, url:url, isLive:false, time:time}); } static var version = "1.0.0.103"; static var DISCONNECTED = "disconnected"; static var STOPPED = "stopped"; static var PLAYING = "playing"; static var PAUSED = "paused"; static var BUFFERING = "buffering"; static var LOADING = "loading"; static var CONNECTION_ERROR = "connectionError"; static var REWINDING = "rewinding"; static var SEEKING = "seeking"; static var RESIZING = "resizing"; static var EXEC_QUEUED_CMD = "execQueuedCmd"; static var BUFFER_EMPTY = "bufferEmpty"; static var BUFFER_FULL = "bufferFull"; static var BUFFER_FULL_SAW_PLAY_STOP = "bufferFullSawPlayStop"; static var DEFAULT_INCMANAGER = "mx.video.NCManager"; static var DEFAULT_UPDATE_TIME_INTERVAL = 250; static var DEFAULT_UPDATE_PROGRESS_INTERVAL = 250; static var DEFAULT_IDLE_TIMEOUT_INTERVAL = 300000; static var AUTO_RESIZE_INTERVAL = 100; static var AUTO_RESIZE_PLAYHEAD_TIMEOUT = 0.5; static var AUTO_RESIZE_METADATA_DELAY_MAX = 5; static var FINISH_AUTO_RESIZE_INTERVAL = 250; static var RTMP_DO_STOP_AT_END_INTERVAL = 500; static var RTMP_DO_SEEK_INTERVAL = 100; static var HTTP_DO_SEEK_INTERVAL = 250; static var HTTP_DO_SEEK_MAX_COUNT = 4; static var CLOSE_NS_INTERVAL = 0.25; static var HTTP_DELAYED_BUFFERING_INTERVAL = 100; static var PLAY = 0; static var LOAD = 1; static var PAUSE = 2; static var STOP = 3; static var SEEK = 4; }
Symbol 327 MovieClip [__Packages.mx.video.INCManager] Frame 0
interface mx.video.INCManager { }
Symbol 328 MovieClip [__Packages.mx.events.EventDispatcher] Frame 0
class mx.events.EventDispatcher { function EventDispatcher () { } static function _removeEventListener(queue, event, handler) { if (queue != undefined) { var _local4 = queue.length; var _local1; _local1 = 0; while (_local1 < _local4) { var _local2 = queue[_local1]; if (_local2 == handler) { queue.splice(_local1, 1); return(undefined); } _local1++; } } } static function initialize(object) { if (_fEventDispatcher == undefined) { _fEventDispatcher = new mx.events.EventDispatcher(); } object.addEventListener = _fEventDispatcher.addEventListener; object.removeEventListener = _fEventDispatcher.removeEventListener; object.dispatchEvent = _fEventDispatcher.dispatchEvent; object.dispatchQueue = _fEventDispatcher.dispatchQueue; } function dispatchQueue(queueObj, eventObj) { var _local7 = "__q_" + eventObj.type; var _local4 = queueObj[_local7]; if (_local4 != undefined) { var _local5; for (_local5 in _local4) { var _local1 = _local4[_local5]; var _local3 = typeof(_local1); if ((_local3 == "object") || (_local3 == "movieclip")) { if (_local1.handleEvent != undefined) { _local1.handleEvent(eventObj); } if (_local1[eventObj.type] != undefined) { if (exceptions[eventObj.type] == undefined) { _local1[eventObj.type](eventObj); } } } else { _local1.apply(queueObj, [eventObj]); } } } } function dispatchEvent(eventObj) { if (eventObj.target == undefined) { eventObj.target = this; } this[eventObj.type + "Handler"](eventObj); dispatchQueue(this, eventObj); } function addEventListener(event, handler) { var _local3 = "__q_" + event; if (this[_local3] == undefined) { this[_local3] = new Array(); } _global.ASSetPropFlags(this, _local3, 1); _removeEventListener(this[_local3], event, handler); this[_local3].push(handler); } function removeEventListener(event, handler) { var _local2 = "__q_" + event; _removeEventListener(this[_local2], event, handler); } static var _fEventDispatcher = undefined; static var exceptions = {move:1, draw:1, load:1}; }
Symbol 329 MovieClip [__Packages.mx.video.VideoError] Frame 0
class mx.video.VideoError extends Error { var _code, message, name; function VideoError (errCode, msg) { super(); _code = errCode; message = ((("" + errCode) + ": ") + ERROR_MSG[errCode - BASE_ERROR_CODE]) + ((msg == undefined) ? "" : (": " + msg)); name = "VideoError"; } function get code() { return(_code); } static var version = "1.0.0.103"; static var BASE_ERROR_CODE = 1000; static var NO_CONNECTION = 1000; static var NO_CUE_POINT_MATCH = 1001; static var ILLEGAL_CUE_POINT = 1002; static var INVALID_SEEK = 1003; static var INVALID_CONTENT_PATH = 1004; static var INVALID_XML = 1005; static var NO_BITRATE_MATCH = 1006; static var DELETE_DEFAULT_PLAYER = 1007; static var ERROR_MSG = ["Unable to make connection to server or to find FLV on server", "No matching cue point found", "Illegal cue point", "Invalid seek", "Invalid contentPath", "Invalid xml", "No bitrate match, must be no default flv", "Cannot delete default VideoPlayer"]; }
Symbol 330 MovieClip [__Packages.mx.video.UIManager] Frame 0
class mx.video.UIManager { var _vc, _skin, _skinAutoHide, _skinReady, __visible, _bufferingBarHides, _controlsEnabled, _lastScrubPos, _lastVolumePos, cachedSoundLevel, _isMuted, controls, customClips, skin_mc, skinLoader, layout_mc, border_mc, _seekBarIntervalID, _seekBarInterval, _seekBarScrubTolerance, _volumeBarIntervalID, _volumeBarInterval, _volumeBarScrubTolerance, _bufferingDelayIntervalID, _bufferingDelayInterval, _bufferingOn, _skinAutoHideIntervalID, _progressPercent, placeholderLeft, placeholderRight, placeholderTop, placeholderBottom, videoLeft, videoRight, videoTop, videoBottom, _playAfterScrub; function UIManager (vc) { _vc = vc; _skin = undefined; _skinAutoHide = false; _skinReady = true; __visible = true; _bufferingBarHides = false; _controlsEnabled = true; _lastScrubPos = 0; _lastVolumePos = 0; cachedSoundLevel = _vc.volume; _isMuted = false; controls = new Array(); customClips = undefined; skin_mc = undefined; skinLoader = undefined; layout_mc = undefined; border_mc = undefined; _seekBarIntervalID = 0; _seekBarInterval = SEEK_BAR_INTERVAL_DEFAULT; _seekBarScrubTolerance = SEEK_BAR_SCRUB_TOLERANCE_DEFAULT; _volumeBarIntervalID = 0; _volumeBarInterval = VOLUME_BAR_INTERVAL_DEFAULT; _volumeBarScrubTolerance = VOLUME_BAR_SCRUB_TOLERANCE_DEFAULT; _bufferingDelayIntervalID = 0; _bufferingDelayInterval = BUFFERING_DELAY_INTERVAL_DEFAULT; _bufferingOn = false; _skinAutoHideIntervalID = 0; _vc.addEventListener("metadataReceived", this); _vc.addEventListener("playheadUpdate", this); _vc.addEventListener("progress", this); _vc.addEventListener("stateChange", this); _vc.addEventListener("ready", this); _vc.addEventListener("resize", this); _vc.addEventListener("volumeUpdate", this); } function handleEvent(e) { if ((e.vp != undefined) && (e.vp != _vc.__get__visibleVideoPlayerIndex())) { return(undefined); } var _local9 = _vc.__get__activeVideoPlayerIndex(); _vc.__set__activeVideoPlayerIndex(_vc.visibleVideoPlayerIndex); if (e.type == "stateChange") { if (e.state == mx.video.FLVPlayback.BUFFERING) { if (!_bufferingOn) { clearInterval(_bufferingDelayIntervalID); _bufferingDelayIntervalID = setInterval(this, "doBufferingDelay", _bufferingDelayInterval); } } else { clearInterval(_bufferingDelayIntervalID); _bufferingDelayIntervalID = 0; _bufferingOn = false; } if (e.state == mx.video.FLVPlayback.LOADING) { _progressPercent = (_vc.getVideoPlayer(e.vp).__get__isRTMP() ? 100 : 0); var _local2 = SEEK_BAR; while (_local2 <= VOLUME_BAR) { var _local4 = controls[_local2]; if (_local4.progress_mc != undefined) { positionBar(_local4, "progress", _progressPercent); } _local2++; } } var _local2 = 0; while (_local2 < NUM_CONTROLS) { if (controls[_local2] == undefined) { } else { setEnabledAndVisibleForState(_local2, e.state); if (_local2 < NUM_BUTTONS) { skinButtonControl(controls[_local2]); } } _local2++; } } else if ((e.type == "ready") || (e.type == "metadataReceived")) { var _local2 = 0; while (_local2 < NUM_CONTROLS) { if (controls[_local2] == undefined) { } else { setEnabledAndVisibleForState(_local2, _vc.__get__state()); if (_local2 < NUM_BUTTONS) { skinButtonControl(controls[_local2]); } } _local2++; } if (_vc.getVideoPlayer(e.vp).__get__isRTMP()) { _progressPercent = 100; _local2 = SEEK_BAR; while (_local2 <= VOLUME_BAR) { var _local4 = controls[_local2]; if (_local4.progress_mc != undefined) { positionBar(_local4, "progress", _progressPercent); } _local2++; } } } else if (e.type == "resize") { layoutSkin(); setupSkinAutoHide(); } else if (e.type == "volumeUpdate") { if (_isMuted && (e.volume > 0)) { _isMuted = false; setEnabledAndVisibleForState(MUTE_OFF_BUTTON, mx.video.FLVPlayback.PLAYING); skinButtonControl(controls[MUTE_OFF_BUTTON]); setEnabledAndVisibleForState(MUTE_ON_BUTTON, mx.video.FLVPlayback.PLAYING); skinButtonControl(controls[MUTE_ON_BUTTON]); } var _local5 = controls[VOLUME_BAR]; _local5.percentage = (_isMuted ? (cachedSoundLevel) : (e.volume)); if (_local5.percentage < 0) { _local5.percentage = 0; } else if (_local5.percentage > 100) { _local5.percentage = 100; } positionHandle(VOLUME_BAR); } else if ((e.type == "playheadUpdate") && (controls[SEEK_BAR] != undefined)) { if ((!_vc.__get__isLive()) && (_vc.__get__totalTime() > 0)) { var _local6 = (e.playheadTime / _vc.__get__totalTime()) * 100; if (_local6 < 0) { _local6 = 0; } else if (_local6 > 100) { _local6 = 100; } var _local10 = controls[SEEK_BAR]; _local10.percentage = _local6; positionHandle(SEEK_BAR); } } else if (e.type == "progress") { _progressPercent = ((e.bytesTotal <= 0) ? 100 : ((e.bytesLoaded / e.bytesTotal) * 100)); var _local7 = _vc._vpState[e.vp].minProgressPercent; if ((!isNaN(_local7)) && (_local7 > _progressPercent)) { _progressPercent = _local7; } if (_vc.__get__totalTime() > 0) { var _local8 = (_vc.__get__playheadTime() / _vc.__get__totalTime()) * 100; if (_local8 > _progressPercent) { _progressPercent = _local8; _vc._vpState[e.vp].minProgressPercent = _progressPercent; } } var _local2 = SEEK_BAR; while (_local2 <= VOLUME_BAR) { var _local4 = controls[_local2]; if (_local4.progress_mc != undefined) { positionBar(_local4, "progress", _progressPercent); } _local2++; } } _vc.__set__activeVideoPlayerIndex(_local9); } function get bufferingBarHidesAndDisablesOthers() { return(_bufferingBarHides); } function set bufferingBarHidesAndDisablesOthers(b) { _bufferingBarHides = b; //return(bufferingBarHidesAndDisablesOthers); } function get controlsEnabled() { return(_controlsEnabled); } function set controlsEnabled(flag) { if (_controlsEnabled == flag) { return; } _controlsEnabled = flag; var _local2 = 0; while (_local2 < NUM_BUTTONS) { if (controls[_local2] == undefined) { } else { controls[_local2].releaseCapture(); controls[_local2].enabled = _controlsEnabled && (controls[_local2].myEnabled); skinButtonControl(controls[_local2]); } _local2++; } //return(controlsEnabled); } function get skin() { return(_skin); } function set skin(s) { if (s == _skin) { return; } if (_skin != undefined) { removeSkin(); } _skin = s; _skinReady = ((_skin == undefined) || (_skin == null)) || (_skin == ""); if (!_skinReady) { downloadSkin(); } //return(skin); } function get skinAutoHide() { return(_skinAutoHide); } function set skinAutoHide(b) { if (b == _skinAutoHide) { return; } _skinAutoHide = b; setupSkinAutoHide(); //return(skinAutoHide); } function get skinReady() { return(_skinReady); } function get seekBarInterval() { return(_seekBarInterval); } function set seekBarInterval(s) { if (_seekBarInterval == s) { return; } _seekBarInterval = s; if (_seekBarIntervalID > 0) { clearInterval(_seekBarIntervalID); _seekBarIntervalID = setInterval(this, "seekBarListener", _seekBarInterval, false); } //return(seekBarInterval); } function get volumeBarInterval() { return(_volumeBarInterval); } function set volumeBarInterval(s) { if (_volumeBarInterval == s) { return; } _volumeBarInterval = s; if (_volumeBarIntervalID > 0) { clearInterval(_volumeBarIntervalID); _volumeBarIntervalID = setInterval(this, "volumeBarListener", _volumeBarInterval, false); } //return(volumeBarInterval); } function get bufferingDelayInterval() { return(_bufferingDelayInterval); } function set bufferingDelayInterval(s) { if (_bufferingDelayInterval == s) { return; } _bufferingDelayInterval = s; if (_bufferingDelayIntervalID > 0) { clearInterval(_bufferingDelayIntervalID); _bufferingDelayIntervalID = setInterval(this, "doBufferingDelay", _bufferingDelayIntervalID); } //return(bufferingDelayInterval); } function get volumeBarScrubTolerance() { return(_volumeBarScrubTolerance); } function set volumeBarScrubTolerance(s) { _volumeBarScrubTolerance = s; //return(volumeBarScrubTolerance); } function get seekBarScrubTolerance() { return(_seekBarScrubTolerance); } function set seekBarScrubTolerance(s) { _seekBarScrubTolerance = s; //return(seekBarScrubTolerance); } function get visible() { return(__visible); } function set visible(v) { if (__visible == v) { return; } __visible = v; if (!__visible) { skin_mc._visible = false; } else { setupSkinAutoHide(); } //return(visible); } function getControl(index) { return(controls[index]); } function setControl(index, s) { if (s == null) { s = undefined; } if (s == controls[index]) { return(undefined); } switch (index) { case PAUSE_BUTTON : case PLAY_BUTTON : resetPlayPause(); break; case PLAY_PAUSE_BUTTON : if (s._parent != layout_mc) { resetPlayPause(); setControl(PAUSE_BUTTON, s.pause_mc); setControl(PLAY_BUTTON, s.play_mc); } break; case MUTE_BUTTON : if (s._parent == layout_mc) { break; } setControl(MUTE_ON_BUTTON, s.on_mc); setControl(MUTE_OFF_BUTTON, s.off_mc); } if (index >= NUM_BUTTONS) { controls[index] = s; switch (index) { case SEEK_BAR : addBarControl(SEEK_BAR); break; case VOLUME_BAR : addBarControl(VOLUME_BAR); controls[VOLUME_BAR].percentage = _vc.volume; break; case BUFFERING_BAR : controls[BUFFERING_BAR].uiMgr = this; controls[BUFFERING_BAR].controlIndex = BUFFERING_BAR; if (controls[BUFFERING_BAR]._parent == skin_mc) { finishAddBufferingBar(); } else { controls[BUFFERING_BAR].onEnterFrame = function () { this.uiMgr.finishAddBufferingBar(); }; } } setEnabledAndVisibleForState(index, _vc.__get__state()); } else { removeButtonControl(index); controls[index] = s; addButtonControl(index); } } function resetPlayPause() { if (controls[PLAY_PAUSE_BUTTON] == undefined) { return(undefined); } var _local2 = PAUSE_BUTTON; while (_local2 <= PLAY_BUTTON) { removeButtonControl(_local2); _local2++; } controls[PLAY_PAUSE_BUTTON] = undefined; } function addButtonControl(index) { var _local3 = controls[index]; if (_local3 == undefined) { return(undefined); } var _local5 = _vc.__get__activeVideoPlayerIndex(); _vc.__set__activeVideoPlayerIndex(_vc.visibleVideoPlayerIndex); _local3.id = index; _local3.state = UP_STATE; _local3.uiMgr = this; setEnabledAndVisibleForState(index, _vc.__get__state()); _local3.onRollOver = function () { this.state = mx.video.UIManager.OVER_STATE; this.uiMgr.skinButtonControl(this); }; _local3.onRollOut = function () { this.state = mx.video.UIManager.UP_STATE; this.uiMgr.skinButtonControl(this); }; if ((index == SEEK_BAR_HANDLE) || (index == VOLUME_BAR_HANDLE)) { _local3.onPress = function () { if (_root.focusManager) { this._focusrect = false; Selection.setFocus(this); } this.state = mx.video.UIManager.DOWN_STATE; this.uiMgr.dispatchMessage(this); this.uiMgr.skinButtonControl(this); }; _local3.onRelease = function () { this.state = mx.video.UIManager.OVER_STATE; this.uiMgr.handleRelease(this.controlIndex); this.uiMgr.skinButtonControl(this); }; _local3.onReleaseOutside = function () { this.state = mx.video.UIManager.UP_STATE; this.uiMgr.handleRelease(this.controlIndex); this.uiMgr.skinButtonControl(this); }; } else { _local3.onPress = function () { if (_root.focusManager) { this._focusrect = false; Selection.setFocus(this); } this.state = mx.video.UIManager.DOWN_STATE; this.uiMgr.skinButtonControl(this); }; _local3.onRelease = function () { this.state = mx.video.UIManager.OVER_STATE; this.uiMgr.dispatchMessage(this); this.uiMgr.skinButtonControl(this); }; _local3.onReleaseOutside = function () { this.state = mx.video.UIManager.UP_STATE; this.uiMgr.skinButtonControl(this); }; } if (_local3._parent == skin_mc) { skinButtonControl(_local3); } else { _local3.onEnterFrame = function () { this.uiMgr.skinButtonControl(this); }; } _vc.__set__activeVideoPlayerIndex(_local5); } function removeButtonControl(index) { if (controls[index] == undefined) { return(undefined); } controls[index].uiMgr = undefined; controls[index].onRollOver = undefined; controls[index].onRollOut = undefined; controls[index].onPress = undefined; controls[index].onRelease = undefined; controls[index].onReleaseOutside = undefined; controls[index] = undefined; } function downloadSkin() { if (skinLoader == undefined) { skinLoader = new MovieClipLoader(); skinLoader.addListener(this); } if (skin_mc == undefined) { skin_mc = _vc.createEmptyMovieClip("skin_mc", _vc.getNextHighestDepth()); } skin_mc._visible = false; skin_mc._x = Stage.width + 100; skin_mc._y = Stage.height + 100; skinLoader.loadClip(_skin, skin_mc); } function onLoadError(target_mc, errorCode) { _skinReady = true; _vc.skinError("Unable to load skin swf"); } function onLoadInit() { try { skin_mc._visible = false; skin_mc._x = 0; skin_mc._y = 0; layout_mc = skin_mc.layout_mc; if (layout_mc == undefined) { throw new Error("No layout_mc"); } layout_mc._visible = false; customClips = new Array(); setCustomClips("bg"); if (layout_mc.playpause_mc != undefined) { setSkin(PLAY_PAUSE_BUTTON, layout_mc.playpause_mc); } else { setSkin(PAUSE_BUTTON, layout_mc.pause_mc); setSkin(PLAY_BUTTON, layout_mc.play_mc); } setSkin(STOP_BUTTON, layout_mc.stop_mc); setSkin(BACK_BUTTON, layout_mc.back_mc); setSkin(FORWARD_BUTTON, layout_mc.forward_mc); setSkin(MUTE_BUTTON, layout_mc.volumeMute_mc); setSkin(SEEK_BAR, layout_mc.seekBar_mc); setSkin(VOLUME_BAR, layout_mc.volumeBar_mc); setSkin(BUFFERING_BAR, layout_mc.bufferingBar_mc); setCustomClips("fg"); layoutSkin(); setupSkinAutoHide(); skin_mc._visible = __visible; _skinReady = true; _vc.skinLoaded(); var _local4 = _vc.__get__activeVideoPlayerIndex(); _vc.__set__activeVideoPlayerIndex(_vc.visibleVideoPlayerIndex); var _local3 = _vc.__get__state(); var _local2 = 0; while (_local2 < NUM_CONTROLS) { if (controls[_local2] == undefined) { } else { setEnabledAndVisibleForState(_local2, _local3); if (_local2 < NUM_BUTTONS) { skinButtonControl(controls[_local2]); } } _local2++; } _vc.__set__activeVideoPlayerIndex(_local4); } catch(err:Error) { _vc.skinError(err.message); removeSkin(); } } function layoutSkin() { if (layout_mc == undefined) { return(undefined); } var _local3 = layout_mc.video_mc; if (_local3 == undefined) { throw new Error("No layout_mc.video_mc"); } placeholderLeft = _local3._x; placeholderRight = _local3._x + _local3._width; placeholderTop = _local3._y; placeholderBottom = _local3._y + _local3._height; videoLeft = 0; videoRight = _vc.width; videoTop = 0; videoBottom = _vc.height; if (((!isNaN(layout_mc.minWidth)) && (layout_mc.minWidth > 0)) && (layout_mc.minWidth > videoRight)) { videoLeft = videoLeft - ((layout_mc.minWidth - videoRight) / 2); videoRight = layout_mc.minWidth + videoLeft; } if (((!isNaN(layout_mc.minHeight)) && (layout_mc.minHeight > 0)) && (layout_mc.minHeight > videoBottom)) { videoTop = videoTop - ((layout_mc.minHeight - videoBottom) / 2); videoBottom = layout_mc.minHeight + videoTop; } var _local2; _local2 = 0; while (_local2 < customClips.length) { layoutControl(customClips[_local2]); _local2++; } _local2 = 0; while (_local2 < NUM_CONTROLS) { layoutControl(controls[_local2]); _local2++; } } function layoutControl(ctrl) { if (ctrl == undefined) { return(undefined); } if (ctrl.skin.anchorRight) { if (ctrl.skin.anchorLeft) { ctrl._x = (ctrl.skin._x - placeholderLeft) + videoLeft; ctrl._width = (((ctrl.skin._x + ctrl.skin._width) - placeholderRight) + videoRight) - ctrl._x; if (ctrl.origWidth != undefined) { ctrl.origWidth = undefined; } } else { ctrl._x = (ctrl.skin._x - placeholderRight) + videoRight; } } else { ctrl._x = (ctrl.skin._x - placeholderLeft) + videoLeft; } if (ctrl.skin.anchorTop) { if (ctrl.skin.anchorBottom) { ctrl._y = (ctrl.skin._y - placeholderTop) + videoTop; ctrl._height = (((ctrl.skin._y + ctrl.skin._height) - placeholderBottom) + videoBottom) - ctrl._y; if (ctrl.origHeight != undefined) { ctrl.origHeight = undefined; } } else { ctrl._y = (ctrl.skin._y - placeholderTop) + videoTop; } } else { ctrl._y = (ctrl.skin._y - placeholderBottom) + videoBottom; } switch (ctrl.controlIndex) { case SEEK_BAR : case VOLUME_BAR : if (ctrl.progress_mc != undefined) { if (_progressPercent == undefined) { _progressPercent = (_vc.__get__isRTMP() ? 100 : 0); } positionBar(ctrl, "progress", _progressPercent); } positionHandle(ctrl.controlIndex); break; case BUFFERING_BAR : if (ctrl.fill_mc == undefined) { break; } positionMaskedFill(ctrl, ctrl.fill_mc, 100); } if (ctrl.layoutSelf != undefined) { ctrl.layoutSelf(); } } function removeSkin() { if (skin_mc != undefined) { var _local2 = 0; while (_local2 < NUM_BUTTONS) { removeButtonControl(_local2); _local2++; } _local2 = NUM_BUTTONS; while (_local2 < NUM_CONTROLS) { controls[_local2] = undefined; _local2++; } skin_mc.unloadMovie(); layout_mc = undefined; border_mc = undefined; } } function setCustomClips(prefix) { var _local4 = 1; while (true) { var _local2 = layout_mc[(prefix + (_local4++)) + "_mc"]; if (_local2 == undefined) { break; } var _local3 = _local2.mc; if (_local3 == undefined) { _local3 = _local2._parent._parent[_local2._name]; } if (_local3 == undefined) { throw new Error("Bad clip in skin: " + _local2); } _local3.skin = _local2; customClips.push(_local3); if ((prefix == "bg") && (_local4 == 2)) { border_mc = _local3; } } } function setSkin(index, s) { if (s == undefined) { return(undefined); } var _local2 = s.mc; if (_local2 == undefined) { _local2 = s._parent._parent[s._name]; } if (_local2 == undefined) { throw new Error("Bad clip in skin: " + s); } _local2.skin = s; if (index < NUM_BUTTONS) { setupSkinStates(_local2); } else { switch (index) { case PLAY_PAUSE_BUTTON : setupSkinStates(_local2.play_mc); setupSkinStates(_local2.pause_mc); break; case MUTE_BUTTON : setupSkinStates(_local2.on_mc); setupSkinStates(_local2.off_mc); break; case SEEK_BAR : case VOLUME_BAR : var _local4 = ((index == SEEK_BAR) ? "seekBar" : "volumeBar"); if (_local2.handle_mc == undefined) { _local2.handle_mc = _local2.skin.seekBarHandle_mc; if (_local2.handle_mc == undefined) { _local2.handle_mc = _local2.skin._parent._parent[_local4 + "Handle_mc"]; } } if (_local2.progress_mc == undefined) { _local2.progress_mc = _local2.skin.progress_mc; if (_local2.progress_mc == undefined) { _local2.progress_mc = _local2.skin._parent._parent[_local4 + "Progress_mc"]; } } if (_local2.fullness_mc == undefined) { _local2.fullness_mc = _local2.skin.fullness_mc; if (_local2.fullness_mc == undefined) { _local2.fullness_mc = _local2.skin._parent._parent[_local4 + "Fullness_mc"]; } } break; case BUFFERING_BAR : if (_local2.fill_mc != undefined) { break; } _local2.fill_mc = _local2.skin.fill_mc; if (_local2.fill_mc != undefined) { break; } _local2.fill_mc = _local2.skin._parent._parent.bufferingBarFill_mc; } } setControl(index, _local2); } function setupSkinStates(ctrl) { if (ctrl.up_mc == undefined) { ctrl.up_mc = ctrl; ctrl.over_mc = ctrl; ctrl.down_mc = ctrl; ctrl.disabled_mc = ctrl; } else { ctrl._x = 0; ctrl._y = 0; ctrl.up_mc._x = 0; ctrl.up_mc._y = 0; ctrl.up_mc._visible = true; if (ctrl.over_mc == undefined) { ctrl.over_mc = ctrl.up_mc; } else { ctrl.over_mc._x = 0; ctrl.over_mc._y = 0; ctrl.over_mc._visible = false; } if (ctrl.down_mc == undefined) { ctrl.down_mc = ctrl.up_mc; } else { ctrl.down_mc._x = 0; ctrl.down_mc._y = 0; ctrl.down_mc._visible = false; } if (ctrl.disabled_mc == undefined) { ctrl.disabled_mc_mc = ctrl.up_mc; } else { ctrl.disabled_mc._x = 0; ctrl.disabled_mc._y = 0; ctrl.disabled_mc._visible = false; } } } function skinButtonControl(ctrl) { if (ctrl.onEnterFrame != undefined) { delete ctrl.onEnterFrame; ctrl.onEnterFrame = undefined; } if (ctrl.enabled) { switch (ctrl.state) { case UP_STATE : if (ctrl.up_mc == undefined) { ctrl.up_mc = ctrl.attachMovie(ctrl.upLinkageID, "up_mc", ctrl.getNextHighestDepth()); } applySkinState(ctrl, ctrl.up_mc); break; case OVER_STATE : if (ctrl.over_mc == undefined) { if (ctrl.overLinkageID == undefined) { ctrl.over_mc = ctrl.up_mc; } else { ctrl.over_mc = ctrl.attachMovie(ctrl.overLinkageID, "over_mc", ctrl.getNextHighestDepth()); } } applySkinState(ctrl, ctrl.over_mc); break; case DOWN_STATE : if (ctrl.down_mc == undefined) { if (ctrl.downLinkageID == undefined) { ctrl.down_mc = ctrl.up_mc; } else { ctrl.down_mc = ctrl.attachMovie(ctrl.downLinkageID, "down_mc", ctrl.getNextHighestDepth()); } } applySkinState(ctrl, ctrl.down_mc); } } else { ctrl.state = UP_STATE; if (ctrl.disabled_mc == undefined) { if (ctrl.disabledLinkageID == undefined) { ctrl.disabled_mc = ctrl.up_mc; } else { ctrl.disabled_mc = ctrl.attachMovie(ctrl.disabledLinkageID, "disabled_mc", ctrl.getNextHighestDepth()); } } applySkinState(ctrl, ctrl.disabled_mc); } if (ctrl.placeholder_mc != undefined) { ctrl.placeholder_mc.unloadMovie(); delete ctrl.placeholder_mc; ctrl.placeholder_mc = undefined; } } function applySkinState(ctrl, state) { if (state != ctrl.currentState_mc) { if (state != undefined) { state._visible = true; } if (ctrl.currentState_mc != undefined) { ctrl.currentState_mc._visible = false; } ctrl.currentState_mc = state; } } function addBarControl(controlIndex) { var _local2 = controls[controlIndex]; _local2.isDragging = false; _local2.percentage = 0; _local2.uiMgr = this; _local2.controlIndex = controlIndex; if (_local2._parent == skin_mc) { finishAddBarControl(controlIndex); } else { _local2.onEnterFrame = function () { this.uiMgr.finishAddBarControl(this.controlIndex); }; } } function finishAddBarControl(controlIndex) { var _local2 = controls[controlIndex]; delete _local2.onEnterFrame; _local2.onEnterFrame = undefined; if (_local2.addBarControl != undefined) { _local2.addBarControl(); } calcBarMargins(_local2, "handle", true); calcBarMargins(_local2, "progress", false); calcBarMargins(_local2.progress_mc, "fill", false); calcBarMargins(_local2.progress_mc, "mask", false); calcBarMargins(_local2, "fullness", false); calcBarMargins(_local2.fullness_mc, "fill", false); calcBarMargins(_local2.fullness_mc, "mask", false); _local2.origWidth = _local2._width; _local2.origHeight = _local2._height; fixUpBar(_local2, "progress"); if (_local2.progress_mc != undefined) { fixUpBar(_local2, "progressBarFill"); if (_progressPercent == undefined) { _progressPercent = (_vc.__get__isRTMP() ? 100 : 0); } positionBar(_local2, "progress", _progressPercent); } fixUpBar(_local2, "fullness"); if (_local2.fullness_mc != undefined) { fixUpBar(_local2, "fullnessBarFill"); } fixUpBar(_local2, "handle"); _local2.handle_mc.controlIndex = controlIndex; switch (controlIndex) { case SEEK_BAR : setControl(SEEK_BAR_HANDLE, _local2.handle_mc); break; case VOLUME_BAR : setControl(VOLUME_BAR_HANDLE, _local2.handle_mc); } positionHandle(controlIndex); } function fixUpBar(ctrl, type) { if ((ctrl[type + "LinkageID"] != undefined) && (ctrl[type + "LinkageID"].length > 0)) { var _local1; if (ctrl[type + "Below"]) { _local1 = -1; while (ctrl._parent.getInstanceAtDepth(_local1) != undefined) { _local1--; } } else { ctrl[type + "Below"] = false; _local1 = ctrl._parent.getNextHighestDepth(); } ctrl[type + "_mc"] = ctrl._parent.attachMovie(ctrl[type + "LinkageID"], type + "_mc", _local1); } } function calcBarMargins(ctrl, type, symmetricMargins) { var _local2 = ctrl[type + "_mc"]; if (_local2 == undefined) { return(undefined); } if ((ctrl[type + "LeftMargin"] == undefined) && (_local2._parent == ctrl._parent)) { ctrl[type + "LeftMargin"] = _local2._x - ctrl._x; } if (ctrl[type + "RightMargin"] == undefined) { if (symmetricMargins) { ctrl[type + "RightMargin"] = ctrl[type + "LeftMargin"]; } else if (_local2._parent == ctrl._parent) { ctrl[type + "RightMargin"] = ((ctrl._width - _local2._width) - _local2._x) + ctrl._x; } } if ((ctrl[type + "TopMargin"] == undefined) && (_local2._parent == ctrl._parent)) { ctrl[type + "TopMargin"] = _local2._y - ctrl._y; } if (ctrl[type + "BottomMargin"] == undefined) { if (symmetricMargins) { ctrl[type + "BottomMargin"] = ctrl[type + "TopMargin"]; } else if (_local2._parent == ctrl._parent) { ctrl[type + "BottomMargin"] = ((ctrl._height - _local2._height) - _local2._y) + ctrl._y; } } if (ctrl[type + "X"] == undefined) { if (_local2._parent == ctrl._parent) { ctrl[type + "X"] = _local2._x - ctrl._x; } else if (_local2._parent == ctrl) { ctrl[type + "X"] = _local2._x; } } if (ctrl[type + "Y"] == undefined) { if (_local2._parent == ctrl._parent) { ctrl[type + "Y"] = _local2._y - ctrl._y; } else if (_local2._parent == ctrl) { ctrl[type + "Y"] = _local2._y; } } ctrl[type + "XScale"] = _local2._xscale; ctrl[type + "YScale"] = _local2._yscale; ctrl[type + "Width"] = _local2._width; ctrl[type + "Height"] = _local2._height; } function finishAddBufferingBar() { var _local2 = controls[BUFFERING_BAR]; delete _local2.onEnterFrame; _local2.onEnterFrame = undefined; calcBarMargins(_local2, "fill", true); fixUpBar(_local2, "fill"); if (_local2.fill_mc != undefined) { positionMaskedFill(_local2, _local2.fill_mc, 100); } } function positionMaskedFill(ctrl, fill, percent) { var _local5 = fill._parent; var _local3 = ctrl.mask_mc; if (_local3 == undefined) { _local3 = _local5.createEmptyMovieClip(ctrl._name + "Mask_mc", _local5.getNextHighestDepth()); ctrl.mask_mc = _local3; _local3.beginFill(16777215); _local3.lineTo(0, 0); _local3.lineTo(1, 0); _local3.lineTo(1, 1); _local3.lineTo(0, 1); _local3.lineTo(0, 0); _local3.endFill(); fill.setMask(_local3); _local3._x = ctrl.fillX; _local3._y = ctrl.fillY; _local3._width = ctrl.fillWidth; _local3._height = ctrl.fillHeight; _local3._visible = false; calcBarMargins(ctrl, "mask", true); } if (_local5 == ctrl) { if (fill.slideReveal) { fill._x = (ctrl.maskX - ctrl.fillWidth) + ((ctrl.fillWidth * percent) / 100); } else { _local3._width = (ctrl.fillWidth * percent) / 100; } } else if (_local5 == ctrl._parent) { if (fill.slideReveal) { _local3._x = ctrl._x + ctrl.maskLeftMargin; _local3._y = ctrl._y + ctrl.maskTopMargin; _local3._width = (ctrl._width - ctrl.maskRightMargin) - ctrl.maskLeftMargin; _local3._height = (ctrl._height - ctrl.maskTopMargin) - ctrl.maskBottomMargin; fill._x = (_local3._x - ctrl.fillWidth) + ((ctrl.maskWidth * percent) / 100); fill._y = ctrl._y + ctrl.fillTopMargin; } else { fill._x = ctrl._x + ctrl.fillLeftMargin; fill._y = ctrl._y + ctrl.fillTopMargin; _local3._x = fill._x; _local3._y = fill._y; _local3._width = (((ctrl._width - ctrl.fillRightMargin) - ctrl.fillLeftMargin) * percent) / 100; _local3._height = (ctrl._height - ctrl.fillTopMargin) - ctrl.fillBottomMargin; } } } function startHandleDrag(controlIndex) { var _local2 = controls[controlIndex]; var _local5 = _local2.handle_mc; if ((_local2.startHandleDrag == undefined) || (!_local2.startHandleDrag())) { var _local3 = _local2._y + _local2.handleY; var _local4 = ((_local2.origWidth == undefined) ? (_local2._width) : (_local2.origWidth)); _local5.startDrag(false, _local2._x + _local2.handleLeftMargin, _local3, (_local2._x + _local4) - _local2.handleRightMargin, _local3); } _local2.isDragging = true; } function stopHandleDrag(controlIndex) { var _local2 = controls[controlIndex]; var _local3 = _local2.handle_mc; if ((_local2.stopHandleDrag == undefined) || (!_local2.stopHandleDrag())) { _local3.stopDrag(); } _local2.isDragging = false; } function positionHandle(controlIndex) { var _local2 = controls[controlIndex]; var _local3 = _local2.handle_mc; if (_local3 == undefined) { return(undefined); } if ((_local2.positionHandle != undefined) && (_local2.positionHandle())) { return(undefined); } var _local4 = ((_local2.origWidth == undefined) ? (_local2._width) : (_local2.origWidth)); var _local5 = (_local4 - _local2.handleRightMargin) - _local2.handleLeftMargin; _local3._x = (_local2._x + _local2.handleLeftMargin) + ((_local5 * _local2.percentage) / 100); _local3._y = _local2._y + _local2.handleY; if (_local2.fullness_mc != undefined) { positionBar(_local2, "fullness", _local2.percentage); } } function positionBar(ctrl, type, percent) { if ((ctrl.positionBar != undefined) && (ctrl.positionBar(type, percent))) { return(undefined); } var _local2 = ctrl[type + "_mc"]; if (_local2._parent == ctrl) { if (_local2.fill_mc == undefined) { _local2._xscale = (ctrl[type + "XScale"] * percent) / 100; } else { positionMaskedFill(_local2, _local2.fill_mc, percent); } } else { _local2._x = ctrl._x + ctrl[type + "LeftMargin"]; _local2._y = ctrl._y + ctrl[type + "Y"]; if (_local2.fill_mc == undefined) { _local2._width = (((ctrl._width - ctrl[type + "LeftMargin"]) - ctrl[type + "RightMargin"]) * percent) / 100; } else { positionMaskedFill(_local2, _local2.fill_mc, percent); } } } function calcPercentageFromHandle(controlIndex) { var _local2 = controls[controlIndex]; var _local5 = _local2.handle_mc; if ((_local2.calcPercentageFromHandle == undefined) || (!_local2.calcPercentageFromHandle())) { var _local3 = ((_local2.origWidth == undefined) ? (_local2._width) : (_local2.origWidth)); var _local6 = (_local3 - _local2.handleRightMargin) - _local2.handleLeftMargin; var _local4 = _local5._x - (_local2._x + _local2.handleLeftMargin); _local2.percentage = (_local4 / _local6) * 100; if (_local2.fullness_mc != undefined) { positionBar(_local2, "fullness", _local2.percentage); } } if (_local2.percentage < 0) { _local2.percentage = 0; } if (_local2.percentage > 100) { _local2.percentage = 100; } } function handleRelease(controlIndex) { var _local3 = _vc.__get__activeVideoPlayerIndex(); _vc.__set__activeVideoPlayerIndex(_vc.visibleVideoPlayerIndex); if (controlIndex == SEEK_BAR) { seekBarListener(true); } else if (controlIndex == VOLUME_BAR) { volumeBarListener(true); } stopHandleDrag(controlIndex); _vc.__set__activeVideoPlayerIndex(_local3); if (controlIndex == SEEK_BAR) { _vc._scrubFinish(); } } function seekBarListener(finish) { var _local3 = _vc.__get__activeVideoPlayerIndex(); _vc.__set__activeVideoPlayerIndex(_vc.visibleVideoPlayerIndex); var _local4 = controls[SEEK_BAR]; calcPercentageFromHandle(SEEK_BAR); var _local2 = _local4.percentage; if (finish) { clearInterval(_seekBarIntervalID); _seekBarIntervalID = 0; if (_local2 != _lastScrubPos) { _vc.seekPercent(_local2); } _vc.addEventListener("playheadUpdate", this); if (_playAfterScrub) { _vc.play(); } } else if (_vc.getVideoPlayer(_vc.__get__visibleVideoPlayerIndex()).__get__state() == mx.video.VideoPlayer.SEEKING) { } else if ((((_seekBarScrubTolerance <= 0) || (Math.abs(_local2 - _lastScrubPos) > _seekBarScrubTolerance)) || (_local2 < _seekBarScrubTolerance)) || (_local2 > (100 - _seekBarScrubTolerance))) { if (_local2 != _lastScrubPos) { _lastScrubPos = _local2; _vc.seekPercent(_local2); } } _vc.__set__activeVideoPlayerIndex(_local3); } function volumeBarListener(finish) { var _local3 = controls[VOLUME_BAR]; calcPercentageFromHandle(VOLUME_BAR); var _local2 = _local3.percentage; if (finish) { clearInterval(_volumeBarIntervalID); _volumeBarIntervalID = 0; _vc.addEventListener("volumeUpdate", this); } if ((((finish || (_volumeBarScrubTolerance <= 0)) || (Math.abs(_local2 - _lastVolumePos) > _volumeBarScrubTolerance)) || (_local2 < _volumeBarScrubTolerance)) || (_local2 > (100 - _volumeBarScrubTolerance))) { if (_local2 != _lastVolumePos) { if (_isMuted) { cachedSoundLevel = _local2; } else { _vc.__set__volume(_local2); } } } } function doBufferingDelay() { clearInterval(_bufferingDelayIntervalID); _bufferingDelayIntervalID = 0; var _local2 = _vc.__get__activeVideoPlayerIndex(); _vc.__set__activeVideoPlayerIndex(_vc.visibleVideoPlayerIndex); if (_vc.__get__state() == mx.video.FLVPlayback.BUFFERING) { _bufferingOn = true; handleEvent({type:"stateChange", state:mx.video.FLVPlayback.BUFFERING, vp:_vc.__get__visibleVideoPlayerIndex()}); } _vc.__set__activeVideoPlayerIndex(_local2); } function dispatchMessage(ctrl) { if (ctrl.id == SEEK_BAR_HANDLE) { _vc._scrubStart(); } var _local2 = _vc.__get__activeVideoPlayerIndex(); _vc.__set__activeVideoPlayerIndex(_vc.visibleVideoPlayerIndex); switch (ctrl.id) { case PAUSE_BUTTON : _vc.pause(); break; case PLAY_BUTTON : _vc.play(); break; case STOP_BUTTON : _vc.stop(); break; case SEEK_BAR_HANDLE : calcPercentageFromHandle(SEEK_BAR); _lastScrubPos = controls[SEEK_BAR].percentage; _vc.removeEventListener("playheadUpdate", this); if (_vc.__get__playing() || (_vc.__get__buffering())) { _playAfterScrub = true; } else if (_vc.__get__state() != mx.video.VideoPlayer.SEEKING) { _playAfterScrub = false; } _seekBarIntervalID = setInterval(this, "seekBarListener", _seekBarInterval, false); startHandleDrag(SEEK_BAR, SEEK_BAR_HANDLE); _vc.pause(); break; case VOLUME_BAR_HANDLE : calcPercentageFromHandle(VOLUME_BAR); _lastVolumePos = controls[VOLUME_BAR].percentage; _vc.removeEventListener("volumeUpdate", this); _volumeBarIntervalID = setInterval(this, "volumeBarListener", _volumeBarInterval, false); startHandleDrag(VOLUME_BAR, VOLUME_BAR_HANDLE); break; case BACK_BUTTON : _vc.seekToPrevNavCuePoint(); break; case FORWARD_BUTTON : _vc.seekToNextNavCuePoint(); break; case MUTE_ON_BUTTON : case MUTE_OFF_BUTTON : if (!_isMuted) { _isMuted = true; cachedSoundLevel = _vc.volume; _vc.__set__volume(0); } else { _isMuted = false; _vc.__set__volume(cachedSoundLevel); } setEnabledAndVisibleForState(MUTE_OFF_BUTTON, mx.video.FLVPlayback.PLAYING); skinButtonControl(controls[MUTE_OFF_BUTTON]); setEnabledAndVisibleForState(MUTE_ON_BUTTON, mx.video.FLVPlayback.PLAYING); skinButtonControl(controls[MUTE_ON_BUTTON]); break; default : throw new Error("Unknown ButtonControl"); } _vc.__set__activeVideoPlayerIndex(_local2); } function setEnabledAndVisibleForState(index, state) { var _local5 = _vc.__get__activeVideoPlayerIndex(); _vc.__set__activeVideoPlayerIndex(_vc.visibleVideoPlayerIndex); var _local3 = state; if ((_local3 == mx.video.FLVPlayback.BUFFERING) && (!_bufferingOn)) { _local3 = mx.video.FLVPlayback.PLAYING; } switch (index) { case VOLUME_BAR : case VOLUME_BAR_HANDLE : controls[index].myEnabled = true; controls[index].enabled = _controlsEnabled; break; case MUTE_ON_BUTTON : controls[index].myEnabled = !_isMuted; if (controls[MUTE_BUTTON] != undefined) { controls[index]._visible = controls[index].myEnabled; } break; case MUTE_OFF_BUTTON : controls[index].myEnabled = _isMuted; if (controls[MUTE_BUTTON] != undefined) { controls[index]._visible = controls[index].myEnabled; } break; default : switch (_local3) { case mx.video.FLVPlayback.LOADING : case mx.video.FLVPlayback.CONNECTION_ERROR : controls[index].myEnabled = false; break; case mx.video.FLVPlayback.DISCONNECTED : controls[index].myEnabled = _vc.__get__contentPath() != undefined; break; case mx.video.FLVPlayback.SEEKING : break; default : controls[index].myEnabled = true; } } switch (index) { case SEEK_BAR : switch (_local3) { case mx.video.FLVPlayback.STOPPED : case mx.video.FLVPlayback.PLAYING : case mx.video.FLVPlayback.PAUSED : case mx.video.FLVPlayback.REWINDING : case mx.video.FLVPlayback.SEEKING : controls[index].myEnabled = true; break; case mx.video.FLVPlayback.BUFFERING : controls[index].myEnabled = (!_bufferingBarHides) || (controls[BUFFERING_BAR] == undefined); break; default : controls[index].myEnabled = false; } if (controls[index].myEnabled) { controls[index].myEnabled = (!isNaN(_vc.__get__totalTime())) && (_vc.__get__totalTime() > 0); } controls[index].handle_mc.myEnabled = controls[index].myEnabled; controls[index].handle_mc.enabled = controls[index].handle_mc.myEnabled; controls[index].handle_mc._visible = controls[index].myEnabled; var _local4 = (((!_bufferingBarHides) || (controls[index].myEnabled)) || (controls[BUFFERING_BAR] == undefined)) || (!controls[BUFFERING_BAR]._visible); controls[index]._visible = _local4; controls[index].progress_mc._visible = _local4; controls[index].progress_mc.fill_mc._visible = _local4; controls[index].fullness_mc._visible = _local4; controls[index].progress_mc.fill_mc._visible = _local4; break; case BUFFERING_BAR : switch (_local3) { case mx.video.FLVPlayback.STOPPED : case mx.video.FLVPlayback.PLAYING : case mx.video.FLVPlayback.PAUSED : case mx.video.FLVPlayback.REWINDING : case mx.video.FLVPlayback.SEEKING : controls[index].myEnabled = false; break; default : controls[index].myEnabled = true; } controls[index]._visible = controls[index].myEnabled; controls[index].fill_mc._visible = controls[index].myEnabled; break; case PAUSE_BUTTON : switch (_local3) { case mx.video.FLVPlayback.DISCONNECTED : case mx.video.FLVPlayback.STOPPED : case mx.video.FLVPlayback.PAUSED : case mx.video.FLVPlayback.REWINDING : controls[index].myEnabled = false; break; case mx.video.FLVPlayback.PLAYING : controls[index].myEnabled = true; break; case mx.video.FLVPlayback.BUFFERING : controls[index].myEnabled = (!_bufferingBarHides) || (controls[BUFFERING_BAR] == undefined); } if (controls[PLAY_PAUSE_BUTTON] != undefined) { controls[index]._visible = controls[index].myEnabled; } break; case PLAY_BUTTON : switch (_local3) { case mx.video.FLVPlayback.PLAYING : controls[index].myEnabled = false; break; case mx.video.FLVPlayback.STOPPED : case mx.video.FLVPlayback.PAUSED : controls[index].myEnabled = true; break; case mx.video.FLVPlayback.BUFFERING : controls[index].myEnabled = (!_bufferingBarHides) || (controls[BUFFERING_BAR] == undefined); } if (controls[PLAY_PAUSE_BUTTON] != undefined) { controls[index]._visible = !controls[PAUSE_BUTTON]._visible; } break; case STOP_BUTTON : switch (_local3) { case mx.video.FLVPlayback.DISCONNECTED : case mx.video.FLVPlayback.STOPPED : controls[index].myEnabled = false; break; case mx.video.FLVPlayback.PAUSED : case mx.video.FLVPlayback.PLAYING : case mx.video.FLVPlayback.BUFFERING : controls[index].myEnabled = true; } break; case BACK_BUTTON : case FORWARD_BUTTON : if (!(_local3 === mx.video.FLVPlayback.BUFFERING)) { } else { controls[index].myEnabled = (!_bufferingBarHides) || (controls[BUFFERING_BAR] == undefined); } } controls[index].enabled = _controlsEnabled && (controls[index].myEnabled); _vc.__set__activeVideoPlayerIndex(_local5); } function setupSkinAutoHide() { var _local2 = _vc.getVideoPlayer(_vc.__get__visibleVideoPlayerIndex()); if (_skinAutoHide && (skin_mc != undefined)) { skinAutoHideHitTest(); if (_skinAutoHideIntervalID == 0) { _skinAutoHideIntervalID = setInterval(this, "skinAutoHideHitTest", SKIN_AUTO_HIDE_INTERVAL); } } else { skin_mc._visible = __visible; clearInterval(_skinAutoHideIntervalID); _skinAutoHideIntervalID = 0; } } function skinAutoHideHitTest() { if (!__visible) { skin_mc._visible = false; } else { var _local4 = _vc.getVideoPlayer(_vc.__get__visibleVideoPlayerIndex()); var _local3 = _local4.hitTest(_root._xmouse, _root._ymouse, true); if ((!_local3) && (border_mc != undefined)) { _local3 = border_mc.hitTest(_root._xmouse, _root._ymouse, true); } skin_mc._visible = _local3; } } static var version = "1.0.0.103"; static var PAUSE_BUTTON = 0; static var PLAY_BUTTON = 1; static var STOP_BUTTON = 2; static var SEEK_BAR_HANDLE = 3; static var BACK_BUTTON = 4; static var FORWARD_BUTTON = 5; static var MUTE_ON_BUTTON = 6; static var MUTE_OFF_BUTTON = 7; static var VOLUME_BAR_HANDLE = 8; static var NUM_BUTTONS = 9; static var PLAY_PAUSE_BUTTON = 9; static var MUTE_BUTTON = 10; static var BUFFERING_BAR = 11; static var SEEK_BAR = 12; static var VOLUME_BAR = 13; static var NUM_CONTROLS = 14; static var UP_STATE = 0; static var OVER_STATE = 1; static var DOWN_STATE = 2; static var SKIN_AUTO_HIDE_INTERVAL = 200; static var VOLUME_BAR_INTERVAL_DEFAULT = 250; static var VOLUME_BAR_SCRUB_TOLERANCE_DEFAULT = 0; static var SEEK_BAR_INTERVAL_DEFAULT = 250; static var SEEK_BAR_SCRUB_TOLERANCE_DEFAULT = 5; static var BUFFERING_DELAY_INTERVAL_DEFAULT = 1000; }
Symbol 331 MovieClip [__Packages.mx.utils.Delegate] Frame 0
class mx.utils.Delegate extends Object { var func; function Delegate (f) { super(); func = f; } static function create(obj, func) { var _local2 = function () { var _local2 = arguments.callee.target; var _local3 = arguments.callee.func; return(_local3.apply(_local2, arguments)); }; _local2.target = obj; _local2.func = func; return(_local2); } function createDelegate(obj) { return(create(obj, func)); } }
Symbol 332 MovieClip [__Packages.mx.video.SMILManager] Frame 0
class mx.video.SMILManager { var _owner, _url, xml, baseURLAttr, videoTags, width, height; function SMILManager (owner) { _owner = owner; } function connectXML(url) { _url = url; xml = new XML(); xml.onLoad = mx.utils.Delegate.create(this, xmlOnLoad); xml.load(url); return(false); } function xmlOnLoad(success) { try { if (!success) { _owner.helperDone(this, false); } else { baseURLAttr = new Array(); videoTags = new Array(); var _local4 = xml.firstChild; if (_local4.nodeName == null) { throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, ("URL: \"" + _url) + "\" No root node found; if file is an flv it must have .flv extension"); } else if (_local4.nodeName.toLowerCase() != "smil") { throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, (("URL: \"" + _url) + "\" Root node not smil: ") + _local4.nodeName); } var _local5 = false; var _local3 = 0; while (_local3 < _local4.childNodes.length) { var _local2 = _local4.childNodes[_local3]; if (_local2.nodeType != ELEMENT_NODE) { } else if (_local2.nodeName.toLowerCase() == "head") { parseHead(_local2); } else if (_local2.nodeName.toLowerCase() == "body") { _local5 = true; parseBody(_local2); } else { throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, ((((("URL: \"" + _url) + "\" Tag ") + _local2.nodeName) + " not supported in ") + _local4.nodeName) + " tag."); } _local3++; } if (!_local5) { throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, ("URL: \"" + _url) + "\" Tag body is required."); } _owner.helperDone(this, true); } } catch(err:Error) { _owner.helperDone(this, false); throw err; } } function parseHead(parentNode) { var _local4 = false; var _local3 = 0; while (_local3 < parentNode.childNodes.length) { var _local2 = parentNode.childNodes[_local3]; if (_local2.nodeType != ELEMENT_NODE) { } else if (_local2.nodeName.toLowerCase() == "meta") { for (var _local6 in _local2.attributes) { if (_local6.toLowerCase() == "base") { baseURLAttr.push(_local2.attributes[_local6]); } else { throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, ((((("URL: \"" + _url) + "\" Attribute ") + _local6) + " not supported in ") + _local2.nodeName) + " tag."); } } } else if (_local2.nodeName.toLowerCase() == "layout") { if (!_local4) { parseLayout(_local2); _local4 = true; } } _local3++; } } function parseLayout(parentNode) { var _local3 = 0; while (_local3 < parentNode.childNodes.length) { var _local2 = parentNode.childNodes[_local3]; if (_local2.nodeType != ELEMENT_NODE) { } else if (_local2.nodeName.toLowerCase() == "root-layout") { for (var _local5 in _local2.attributes) { if (_local5.toLowerCase() == "width") { width = Number(_local2.attributes[_local5]); } else if (_local5.toLowerCase() == "height") { height = Number(_local2.attributes[_local5]); } } if (((isNaN(width) || (width < 0)) || (isNaN(height))) || (height < 0)) { throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, ((("URL: \"" + _url) + "\" Tag ") + _local2.nodeName) + " requires attributes id, width and height. Width and height must be numbers greater than or equal to 0."); } width = Math.round(width); height = Math.round(height); return(undefined); } _local3++; } } function parseBody(parentNode) { var _local6 = 0; var _local3 = 0; while (_local3 < parentNode.childNodes.length) { var _local2 = parentNode.childNodes[_local3]; if (_local2.nodeType != ELEMENT_NODE) { } else { _local6++; if (_local6 > 1) { throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, ((("URL: \"" + _url) + "\" Tag ") + parentNode.nodeName) + " is required to contain exactly one tag."); } if (_local2.nodeName.toLowerCase() == "switch") { parseSwitch(_local2); } else if ((_local2.nodeName.toLowerCase() == "video") || (_local2.nodeName.toLowerCase() == "ref")) { var _local5 = parseVideo(_local2); videoTags.push(_local5); } } _local3++; } if (videoTags.length < 1) { throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, ("URL: \"" + _url) + "\" At least one video of ref tag is required."); } } function parseSwitch(parentNode) { var _local4 = 0; while (_local4 < parentNode.childNodes.length) { var _local5 = parentNode.childNodes[_local4]; if (_local5.nodeType != ELEMENT_NODE) { } else if ((_local5.nodeName.toLowerCase() == "video") || (_local5.nodeName.toLowerCase() == "ref")) { var _local3 = parseVideo(_local5); if (_local3.bitrate == undefined) { videoTags.push(_local3); } else { var _local6 = false; var _local2 = 0; while (_local2 < videoTags.length) { if ((videoTags[_local2].bitrate == undefined) || (_local3.bitrate < videoTags[_local4].bitrate)) { _local6 = true; videoTags.splice(_local2, 0, videoTags); break; } _local2++; } if (!_local6) { videoTags.push(_local3); } } } _local4++; } } function parseVideo(node) { var _local3 = new Object(); for (var _local4 in node.attributes) { if (_local4.toLowerCase() == "src") { _local3.src = node.attributes[_local4]; } else if (_local4.toLowerCase() == "system-bitrate") { _local3.bitrate = Number(node.attributes[_local4]); } else if (_local4.toLowerCase() == "dur") { _local3.dur = Number(node.attributes[_local4]); } } if (_local3.src == undefined) { throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, ((("URL: \"" + _url) + "\" Attribute src is required in ") + node.nodeName) + " tag."); } return(_local3); } static var version = "1.0.0.103"; static var ELEMENT_NODE = 1; }
Symbol 333 MovieClip [__Packages.mx.video.NCManager] Frame 0
class mx.video.NCManager implements mx.video.INCManager { var _timeoutIntervalId, _tryNCIntervalId, _timeout, _isRTMP, _serverName, _wrappedURL, _portNumber, _appName, _contentPath, _streamName, _streamLength, _streamWidth, _streamHeight, _streams, _autoSenseBW, _payload, _connTypeCounter, _bitrate, _owner, _nc, _protocol, _smilMgr, _ncUri, fallbackServerName, _tryNC; function NCManager () { initNCInfo(); initOtherInfo(); _timeoutIntervalId = 0; _tryNCIntervalId = 0; _timeout = DEFAULT_TIMEOUT; } function initNCInfo() { _isRTMP = undefined; _serverName = undefined; _wrappedURL = undefined; _portNumber = undefined; _appName = undefined; } function initOtherInfo() { _contentPath = undefined; _streamName = undefined; _streamLength = undefined; _streamWidth = undefined; _streamHeight = undefined; _streams = undefined; _autoSenseBW = false; _payload = 0; _connTypeCounter = 0; cleanConns(); } function getTimeout() { return(_timeout); } function setTimeout(t) { _timeout = t; if (_timeoutIntervalId != 0) { clearInterval(_timeoutIntervalId); _timeoutIntervalId = setInterval(this, "_onFCSConnectTimeOut", _timeout); } } function getBitrate() { return(_bitrate); } function setBitrate(b) { if ((_isRTMP == undefined) || (!_isRTMP)) { _bitrate = b; } } function getVideoPlayer() { return(_owner); } function setVideoPlayer(v) { _owner = v; } function getNetConnection() { return(_nc); } function getStreamName() { return(_streamName); } function isRTMP() { return(_isRTMP); } function getStreamLength() { return(_streamLength); } function getStreamWidth() { return(_streamWidth); } function getStreamHeight() { return(_streamHeight); } function connectToURL(url) { initOtherInfo(); _contentPath = url; if (((_contentPath == null) || (_contentPath == undefined)) || (_contentPath == "")) { throw new mx.video.VideoError(mx.video.VideoError.INVALID_CONTENT_PATH); } var _local2 = parseURL(_contentPath); if ((_local2.streamName == undefined) || (_local2.streamName == "")) { throw new mx.video.VideoError(mx.video.VideoError.INVALID_CONTENT_PATH, url); } if (_local2.isRTMP) { var _local3 = canReuseOldConnection(_local2); _isRTMP = true; _protocol = _local2.protocol; _streamName = _local2.streamName; _serverName = _local2.serverName; _wrappedURL = _local2.wrappedURL; _portNumber = _local2.portNumber; _appName = _local2.appName; if ((((_appName == undefined) || (_appName == "")) || (_streamName == undefined)) || (_streamName == "")) { throw new mx.video.VideoError(mx.video.VideoError.INVALID_CONTENT_PATH, url); } _autoSenseBW = _streamName.indexOf(",") != -1; return(_local3 || (connectRTMP())); } if (_local2.streamName.slice(-4).toLowerCase() == ".flv") { var _local3 = canReuseOldConnection(_local2); _isRTMP = false; _streamName = _local2.streamName; return(_local3 || (connectHTTP())); } _smilMgr = new mx.video.SMILManager(this); return(_smilMgr.connectXML(_local2.streamName)); } function connectAgain() { var _local2 = _appName.indexOf("/"); if (_local2 < 0) { _local2 = _streamName.indexOf("/"); if (_local2 >= 0) { _appName = _appName + "/"; _appName = _appName + _streamName.slice(0, _local2); _streamName = _streamName.slice(_local2 + 1); } return(false); } var _local3 = _appName.slice(_local2 + 1); _local3 = _local3 + "/"; _local3 = _local3 + _streamName; _streamName = _local3; _appName = _appName.slice(0, _local2); close(); _payload = 0; _connTypeCounter = 0; cleanConns(); connectRTMP(); return(true); } function reconnect() { if (!_isRTMP) { throw new Error("Cannot call reconnect on an http connection"); } _nc.onStatus = function (info) { this.mc.reconnectOnStatus(this, info); }; _nc.onBWDone = function () { this.mc.onReconnected(); }; _nc.connect(_ncUri, false); } function onReconnected() { delete _nc.onStatus; delete _nc.onBWDone; _owner.ncReconnected(); } function close() { if (_nc) { _nc.close(); } } function helperDone(helper, success) { if (helper != _smilMgr) { return(undefined); } if (!success) { _nc = undefined; _owner.ncConnected(); delete _smilMgr; return(undefined); } _streamWidth = _smilMgr.width; _streamHeight = _smilMgr.height; var _local2; var _local4 = _smilMgr.baseURLAttr[0]; if ((_local4 != undefined) && (_local4 != "")) { _local2 = parseURL(_local4); _isRTMP = _local2.isRTMP; _streamName = _local2.streamName; if (_isRTMP) { _protocol = _local2.protocol; _serverName = _local2.serverName; _portNumber = _local2.portNumber; _wrappedURL = _local2.wrappedURL; _appName = _local2.appName; if ((_appName == undefined) || (_appName == "")) { throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, "Base RTMP URL must include application name: " + _local4); } if (_smilMgr.baseURLAttr.length > 1) { _local2 = parseURL(_smilMgr.baseURLAttr[1]); if (_local2.serverName != undefined) { fallbackServerName = _local2.serverName; } } } } _streams = _smilMgr.videoTags; var _local3 = 0; while (_local3 < _streams.length) { _local4 = _streams[_local3].src; _local2 = parseURL(_local4); if (_isRTMP == undefined) { _isRTMP = _local2.isRTMP; if (_isRTMP) { _protocol = _local2.protocol; if (_streams.length > 1) { throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, "Cannot switch between multiple absolute RTMP URLs, must use meta tag base attribute."); } _serverName = _local2.serverName; _portNumber = _local2.portNumber; _wrappedURL = _local2.wrappedURL; _appName = _local2.appName; if ((_appName == undefined) || (_appName == "")) { throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, "Base RTMP URL must include application name: " + _local4); } } } else if ((((_streamName != undefined) && (_streamName != "")) && (!_local2.isRelative)) && (_streams.length > 1)) { throw new mx.video.VideoError(mx.video.VideoError.INVALID_XML, "When using meta tag base attribute, cannot use absolute URLs for video or ref tag src attributes."); } _streams[_local3].parseResults = _local2; _local3++; } _autoSenseBW = _streams.length > 1; if (!_autoSenseBW) { if (_streamName != undefined) { _streamName = _streamName + _streams[0].parseResults.streamName; } else { _streamName = _streams[0].parseResults.streamName; } _streamLength = _streams[0].dur; } if (_isRTMP) { connectRTMP(); } else { if (_autoSenseBW) { bitrateMatch(); } connectHTTP(); _owner.ncConnected(); } } function bitrateMatch() { var _local3; if (isNaN(_bitrate)) { _local3 = 0; } else { var _local2 = 0; while (_local2 < _streams.length) { if (isNaN(_streams[_local2].bitrate) || (_bitrate <= _streams[_local2].bitrate)) { _local3 = _local2; break; } _local2++; } } if (isNaN(_local3)) { throw new mx.video.VideoError(mx.video.VideoError.NO_BITRATE_MATCH); } if (_streamName != undefined) { _streamName = _streamName + _streams[_local3].src; } else { _streamName = _streams[_local3].src; } _streamLength = _streams[_local3].dur; } function parseURL(url) { var _local2 = new Object(); var _local3 = 0; var _local4 = url.indexOf(":/", _local3); if (_local4 >= 0) { _local4 = _local4 + 2; _local2.protocol = url.slice(_local3, _local4); _local2.isRelative = false; } else { _local2.isRelative = true; } if ((_local2.protocol != undefined) && (((_local2.protocol == "rtmp:/") || (_local2.protocol == "rtmpt:/")) || (_local2.protocol == "rtmps:/"))) { _local2.isRTMP = true; _local3 = _local4; if (url.charAt(_local3) == "/") { _local3++; var _local7 = url.indexOf(":", _local3); var _local8 = url.indexOf("/", _local3); if (_local8 < 0) { if (_local7 < 0) { _local2.serverName = url.slice(_local3); } else { _local4 = _local7; _local2.portNumber = url.slice(_local3, _local4); _local3 = _local4 + 1; _local2.serverName = url.slice(_local3); } return(_local2); } if ((_local7 >= 0) && (_local7 < _local8)) { _local4 = _local7; _local2.serverName = url.slice(_local3, _local4); _local3 = _local4 + 1; _local4 = _local8; _local2.portNumber = url.slice(_local3, _local4); } else { _local4 = _local8; _local2.serverName = url.slice(_local3, _local4); } _local3 = _local4 + 1; } if (url.charAt(_local3) == "?") { var _local9 = url.slice(_local3 + 1); var _local6 = parseURL(_local9); if ((_local6.protocol == undefined) || (!_local6.isRTMP)) { throw new mx.video.VideoError(mx.video.VideoError.INVALID_CONTENT_PATH, url); } _local2.wrappedURL = "?"; _local2.wrappedURL = _local2.wrappedURL + _local6.protocol; if (_local6.server != undefined) { _local2.wrappedURL = _local2.wrappedURL + "/"; _local2.wrappedURL = _local2.wrappedURL + _local6.server; } if (_local6.wrappedURL != undefined) { _local2.wrappedURL = _local2.wrappedURL + "/?"; _local2.wrappedURL = _local2.wrappedURL + _local6.wrappedURL; } _local2.appName = _local6.appName; _local2.streamName = _local6.streamName; return(_local2); } _local4 = url.indexOf("/", _local3); if (_local4 < 0) { _local2.appName = url.slice(_local3); return(_local2); } _local2.appName = url.slice(_local3, _local4); _local3 = _local4 + 1; _local4 = url.indexOf("/", _local3); if (_local4 < 0) { _local2.streamName = url.slice(_local3); return(_local2); } _local2.appName = _local2.appName + "/"; _local2.appName = _local2.appName + url.slice(_local3, _local4); _local3 = _local4 + 1; _local2.streamName = url.slice(_local3); } else { _local2.isRTMP = false; _local2.streamName = url; } return(_local2); } function canReuseOldConnection(parseResults) { if ((_nc == undefined) || (_nc == null)) { return(false); } if (!parseResults.isRTMP) { if (!_isRTMP) { return(true); } _owner.close(); _nc = null; initNCInfo(); return(false); } if (_isRTMP) { if (((((parseResults.serverName == _serverName) && (parseResults.appName == _appName)) && (parseResults.protocol == _protocol)) && (parseResults.portNumber == _portNumber)) && (parseResults.wrappedURL == _wrappedURL)) { return(true); } _owner.close(); _nc = null; } initNCInfo(); return(false); } function connectHTTP() { _nc = new NetConnection(); _nc.connect(null); return(true); } function connectRTMP() { clearInterval(_timeoutIntervalId); _timeoutIntervalId = setInterval(this, "_onFCSConnectTimeOut", _timeout); _tryNC = new Array(); var _local2 = 0; while (_local2 < RTMP_CONN.length) { _tryNC[_local2] = new NetConnection(); _tryNC[_local2].mc = this; _tryNC[_local2].pending = false; _tryNC[_local2].connIndex = _local2; _tryNC[_local2].onBWDone = function (p_bw) { this.mc.onConnected(this, p_bw); }; _tryNC[_local2].onBWCheck = function () { return(++this.mc._payload); }; _tryNC[_local2].onStatus = function (info) { this.mc.connectOnStatus(this, info); }; _local2++; } nextConnect(); return(false); } function nextConnect() { clearInterval(_tryNCIntervalId); _tryNCIntervalId = 0; var _local4; var _local3; if (_connTypeCounter == 0) { _local4 = _protocol; if (_portNumber != undefined) { _local3 = _portNumber; } else { var _local2 = 0; while (_local2 < RTMP_CONN.length) { if (_local4 == RTMP_CONN[_local2].protocol) { _local3 = RTMP_CONN[_local2].port; break; } _local2++; } } } else { _local4 = RTMP_CONN[_connTypeCounter].protocol; _local3 = RTMP_CONN[_connTypeCounter].port; } var _local5 = ((_local4 + ((_serverName == undefined) ? "" : (((("/" + _serverName) + ":") + _local3) + "/"))) + ((_wrappedURL == undefined) ? "" : (_wrappedURL + "/"))) + _appName; _tryNC[_connTypeCounter].pending = true; _tryNC[_connTypeCounter].connect(_local5, _autoSenseBW); if (_connTypeCounter < (RTMP_CONN.length - 1)) { _connTypeCounter++; _tryNCIntervalId = setInterval(this, "nextConnect", 1500); } } function cleanConns() { clearInterval(_tryNCIntervalId); _tryNCIntervalId = 0; if (_tryNC != undefined) { var _local2 = 0; while (_local2 < _tryNC.length) { if (_tryNC[_local2] != undefined) { delete _tryNC[_local2].onStatus; if (_tryNC[_local2].pending) { _tryNC[_local2].onStatus = function (info) { this.mc.disconnectOnStatus(this, info); }; } else { delete _tryNC[_local2].onStatus; _tryNC[_local2].close(); } } delete _tryNC[_local2]; _local2++; } delete _tryNC; } } function tryFallBack() { if (((_serverName == fallbackServerName) || (fallbackServerName == undefined)) || (fallbackServerName == null)) { delete _nc; _nc = undefined; _owner.ncConnected(); } else { _connTypeCounter = 0; cleanConns(); _serverName = fallbackServerName; connectRTMP(); } } function onConnected(p_nc, p_bw) { clearInterval(_timeoutIntervalId); _timeoutIntervalId = 0; delete p_nc.onBWDone; delete p_nc.onBWCheck; delete p_nc.onStatus; _nc = p_nc; _ncUri = _nc.uri; if (_autoSenseBW) { _bitrate = p_bw * 1024; if (_streams != undefined) { bitrateMatch(); } else if (_streamName.indexOf(",") != -1) { var _local3 = _streamName.split(","); var _local2 = 0; while (_local2 < _local3.length) { var _local4 = stripFrontAndBackWhiteSpace(_local3[_local2]); if ((_local2 + 1) < _local3.length) { if (p_bw <= Number(_local3[_local2 + 1])) { _streamName = _local4; break; } } else { _streamName = _local4; break; } _local2 = _local2 + 2; } } } if (_streamName.slice(-4).toLowerCase() == ".flv") { _streamName = _streamName.slice(0, -4); } if ((!_owner.__get__isLive()) && (_streamLength == undefined)) { var _local6 = new Object(); _local6.mc = this; _local6.onResult = function (length) { this.mc.getStreamLengthResult(length); }; _nc.call("getStreamLength", _local6, _streamName); } else { _owner.ncConnected(); } } function connectOnStatus(target, info) { target.pending = false; if (info.code == "NetConnection.Connect.Success") { _nc = _tryNC[target.connIndex]; _tryNC[target.connIndex] = undefined; cleanConns(); } else if (((info.code == "NetConnection.Connect.Failed") || (info.code == "NetConnection.Connect.Rejected")) && (target.connIndex == (RTMP_CONN.length - 1))) { if (!connectAgain()) { tryFallBack(); } } } function reconnectOnStatus(target, info) { if ((info.code == "NetConnection.Connect.Failed") || (info.code == "NetConnection.Connect.Rejected")) { delete _nc; _nc = undefined; _owner.ncReconnected(); } } function disconnectOnStatus(target, info) { if (info.code == "NetConnection.Connect.Success") { delete target.onStatus; target.close(); } } function getStreamLengthResult(length) { _streamLength = length; _owner.ncConnected(); } function _onFCSConnectTimeOut() { cleanConns(); _nc = undefined; if (!connectAgain()) { _owner.ncConnected(); } } static function stripFrontAndBackWhiteSpace(p_str) { var _local1; var _local2 = p_str.length; var _local4 = 0; var _local5 = _local2; _local1 = 0; while (_local1 < _local2) { switch (p_str.charCodeAt(_local1)) { case 9 : case 10 : case 13 : case 32 : break; default : _local4 = _local1; break;!//outer level } _local1++; } _local1 = _local2; while (_local1 >= 0) { switch (p_str.charCodeAt(_local1)) { case 9 : case 10 : case 13 : case 32 : break; default : _local5 = _local1 + 1; break;!//outer level } _local1--; } if (_local5 <= _local4) { return(""); } return(p_str.slice(_local4, _local5)); } static var version = "1.0.0.103"; var DEFAULT_TIMEOUT = 60000; static var RTMP_CONN = [{protocol:"rtmp:/", port:"1935"}, {protocol:"rtmp:/", port:"443"}, {protocol:"rtmpt:/", port:"80"}, {protocol:"rtmps:/", port:"443"}]; }
Symbol 334 MovieClip [__Packages.mx.video.CuePointManager] Frame 0
class mx.video.CuePointManager { var _owner, _id, _asCuePointTolerance, _linearSearchTolerance, _metadataLoaded, allCuePoints, asCuePoints, _disabledCuePoints, flvCuePoints, navCuePoints, eventCuePoints, _asCuePointIndex, __get__playheadUpdateInterval, _disabledCuePointsByNameOnly; function CuePointManager (owner, id) { _owner = owner; _id = id; reset(); _asCuePointTolerance = _owner.getVideoPlayer(_id).__get__playheadUpdateInterval() / 2000; _linearSearchTolerance = DEFAULT_LINEAR_SEARCH_TOLERANCE; } function reset() { _metadataLoaded = false; allCuePoints = null; asCuePoints = null; _disabledCuePoints = null; flvCuePoints = null; navCuePoints = null; eventCuePoints = null; _asCuePointIndex = 0; } function get metadataLoaded() { return(_metadataLoaded); } function set playheadUpdateInterval(aTime) { _asCuePointTolerance = aTime / 2000; //return(__get__playheadUpdateInterval()); } function get id() { return(_id); } function addASCuePoint(timeOrCuePoint, name, parameters) { var _local3; if (typeof(timeOrCuePoint) == "object") { _local3 = deepCopyObject(timeOrCuePoint); } else { _local3 = {time:timeOrCuePoint, name:name, parameters:deepCopyObject(parameters)}; } var _local7 = isNaN(_local3.time) || (_local3.time < 0); if (_local7) { throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "time must be number"); } var _local6 = (_local3.name == undefined) || (_local3.name == null); if (_local6) { throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "name cannot be undefined or null"); } var _local2; _local3.type = "actionscript"; if (((asCuePoints == null) || (asCuePoints == undefined)) || (asCuePoints.length < 1)) { _local2 = 0; asCuePoints = new Array(); asCuePoints.push(_local3); } else { _local2 = getCuePointIndex(asCuePoints, true, _local3.time); _local2 = ((asCuePoints[_local2].time > _local3.time) ? 0 : (_local2 + 1)); asCuePoints.splice(_local2, 0, _local3); } if (((allCuePoints == null) || (allCuePoints == undefined)) || (allCuePoints.length < 1)) { _local2 = 0; allCuePoints = new Array(); allCuePoints.push(_local3); } else { _local2 = getCuePointIndex(allCuePoints, true, _local3.time); _local2 = ((allCuePoints[_local2].time > _local3.time) ? 0 : (_local2 + 1)); allCuePoints.splice(_local2, 0, _local3); } var _local5 = _owner.getVideoPlayer(_id).__get__playheadTime(); if (_local5 > 0) { if (_asCuePointIndex == _local2) { if (_local5 > asCuePoints[_local2].time) { _asCuePointIndex++; } } else if (_asCuePointIndex > _local2) { _asCuePointIndex++; } } else { _asCuePointIndex = 0; } var _local4 = deepCopyObject(asCuePoints[_local2]); _local4.array = asCuePoints; _local4.index = _local2; return(_local4); } function removeASCuePoint(timeNameOrCuePoint) { if (((asCuePoints == null) || (asCuePoints == undefined)) || (asCuePoints.length < 1)) { return(null); } var _local3; switch (typeof(timeNameOrCuePoint)) { case "string" : _local3 = {name:timeNameOrCuePoint}; break; case "number" : _local3 = {time:timeNameOrCuePoint}; break; case "object" : _local3 = timeNameOrCuePoint; } var _local2 = getCuePointIndex(asCuePoints, false, _local3.time, _local3.name); if (_local2 < 0) { return(null); } _local3 = asCuePoints[_local2]; asCuePoints.splice(_local2, 1); _local2 = getCuePointIndex(allCuePoints, false, _local3.time, _local3.name); if (_local2 > 0) { allCuePoints.splice(_local2, 1); } if (_owner.getVideoPlayer(_id).__get__playheadTime() > 0) { if (_asCuePointIndex > _local2) { _asCuePointIndex--; } } else { _asCuePointIndex = 0; } return(_local3); } function setFLVCuePointEnabled(enabled, timeNameOrCuePoint) { var _local4; switch (typeof(timeNameOrCuePoint)) { case "string" : _local4 = {name:timeNameOrCuePoint}; break; case "number" : _local4 = {time:timeNameOrCuePoint}; break; case "object" : _local4 = timeNameOrCuePoint; } var _local12 = isNaN(_local4.time) || (_local4.time < 0); var _local11 = (_local4.name == undefined) || (_local4.name == null); if (_local12 && (_local11)) { throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "time must be number and/or name must not be undefined or null"); } var _local6 = 0; var _local2; var _local5; if (_local12) { if (!_metadataLoaded) { if (_disabledCuePointsByNameOnly[_local4.name] == undefined) { if (!enabled) { if (((_disabledCuePointsByNameOnly == null) || (_disabledCuePointsByNameOnly == undefined)) || (_disabledCuePointsByNameOnly.length < 0)) { _disabledCuePointsByNameOnly = new Object(); } _disabledCuePointsByNameOnly[_local4.name] = new Array(); } } else { if (enabled) { _disabledCuePointsByNameOnly[_local4.name] = undefined; } return(-1); } removeCuePoints(_disabledCuePoints, _local4); return(-1); } if (enabled) { _local6 = removeCuePoints(_disabledCuePoints, _local4); } else { var _local3; _local2 = getCuePointIndex(flvCuePoints, true, -1, _local4.name); while (_local2 >= 0) { _local3 = flvCuePoints[_local2]; _local5 = getCuePointIndex(_disabledCuePoints, true, _local3.time); if ((_local5 < 0) || (_disabledCuePoints[_local5].time != _local3.time)) { _disabledCuePoints = insertCuePoint(_local5, _disabledCuePoints, {name:_local3.name, time:_local3.time}); _local6 = _local6 + 1; } _local2 = getNextCuePointIndexWithName(_local3.name, flvCuePoints, _local2); } } return(_local6); } _local2 = getCuePointIndex(_disabledCuePoints, false, _local4.time, _local4.name); if (_local2 < 0) { if (enabled) { if (!_metadataLoaded) { _local2 = getCuePointIndex(_disabledCuePoints, false, _local4.time); if (_local2 < 0) { _local5 = getCuePointIndex(_disabledCuePointsByNameOnly[_local4.name], true, _local4.time); if (cuePointCompare(_local4.time, null, _disabledCuePointsByNameOnly[_local4.name]) != 0) { _disabledCuePointsByNameOnly[_local4.name] = insertCuePoint(_local5, _disabledCuePointsByNameOnly[_local4.name], _local4); } } else { _disabledCuePoints.splice(_local2, 1); } } return((_metadataLoaded ? 0 : -1)); } } else { if (enabled) { _disabledCuePoints.splice(_local2, 1); _local6 = 1; } else { _local6 = 0; } return((_metadataLoaded ? (_local6) : -1)); } if (_metadataLoaded) { _local2 = getCuePointIndex(flvCuePoints, false, _local4.time, _local4.name); if (_local2 < 0) { return(0); } if (_local11) { _local4.name = flvCuePoints[_local2].name; } } _local5 = getCuePointIndex(_disabledCuePoints, true, _local4.time); _disabledCuePoints = insertCuePoint(_local5, _disabledCuePoints, _local4); _local6 = 1; return((_metadataLoaded ? 1 : -1)); } function removeCuePoints(cuePointArray, cuePoint) { var _local2; var _local4; var _local5 = 0; _local2 = getCuePointIndex(cuePointArray, true, -1, cuePoint.name); while (_local2 >= 0) { _local4 = cuePointArray[_local2]; cuePointArray.splice(_local2, 1); _local2--; _local5++; _local2 = getNextCuePointIndexWithName(_local4.name, cuePointArray, _local2); } return(_local5); } function insertCuePoint(insertIndex, cuePointArray, cuePoint) { if (insertIndex < 0) { cuePointArray = new Array(); cuePointArray.push(cuePoint); } else { if (cuePointArray[insertIndex].time > cuePoint.time) { insertIndex = 0; } else { insertIndex++; } cuePointArray.splice(insertIndex, 0, cuePoint); } return(cuePointArray); } function isFLVCuePointEnabled(timeNameOrCuePoint) { if (!_metadataLoaded) { return(true); } var _local3; switch (typeof(timeNameOrCuePoint)) { case "string" : _local3 = {name:timeNameOrCuePoint}; break; case "number" : _local3 = {time:timeNameOrCuePoint}; break; case "object" : _local3 = timeNameOrCuePoint; } var _local5 = isNaN(_local3.time) || (_local3.time < 0); var _local6 = (_local3.name == undefined) || (_local3.name == null); if (_local5 && (_local6)) { throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "time must be number and/or name must not be undefined or null"); } if (_local5) { var _local2 = getCuePointIndex(flvCuePoints, true, -1, _local3.name); if (_local2 < 0) { return(true); } while (_local2 >= 0) { if (getCuePointIndex(_disabledCuePoints, false, flvCuePoints[_local2].time, flvCuePoints[_local2].name) < 0) { return(true); } _local2 = getNextCuePointIndexWithName(_local3.name, flvCuePoints, _local2); } return(false); } return(getCuePointIndex(_disabledCuePoints, false, _local3.time, _local3.name) < 0); } function dispatchASCuePoints() { var _local5 = _owner.getVideoPlayer(_id).__get__playheadTime(); if ((_owner.getVideoPlayer(_id).__get__stateResponsive() && (asCuePoints != null)) && (asCuePoints != undefined)) { while ((_asCuePointIndex < asCuePoints.length) && (asCuePoints[_asCuePointIndex].time <= (_local5 + _asCuePointTolerance))) { _owner.dispatchEvent({type:"cuePoint", info:deepCopyObject(asCuePoints[_asCuePointIndex++]), vp:_id}); } } } function resetASCuePointIndex(time) { if (((time <= 0) || (asCuePoints == null)) || (asCuePoints == undefined)) { _asCuePointIndex = 0; return(undefined); } var _local2 = getCuePointIndex(asCuePoints, true, time); _asCuePointIndex = ((asCuePoints[_local2].time < time) ? (_local2 + 1) : (_local2)); } function processFLVCuePoints(metadataCuePoints) { _metadataLoaded = true; if (((metadataCuePoints == undefined) || (metadataCuePoints == null)) || (metadataCuePoints.length < 1)) { flvCuePoints = null; navCuePoints = null; eventCuePoints = null; return(undefined); } flvCuePoints = metadataCuePoints; navCuePoints = new Array(); eventCuePoints = new Array(); var _local5; var _local6 = -1; var _local2; var _local4 = _disabledCuePoints; var _local3 = 0; _disabledCuePoints = new Array(); var _local9 = 0; while (_local2 = flvCuePoints[_local9++] , _local2 != undefined) { if ((_local6 > 0) && (_local6 >= _local2.time)) { flvCuePoints = null; navCuePoints = null; eventCuePoints = null; _disabledCuePoints = null; _disabledCuePointsByNameOnly = null; throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "Unsorted cuePoint found after time: " + _local6); } _local6 = _local2.time; while ((_local3 < _local4.length) && (cuePointCompare(_local4[_local3].time, null, _local2) < 0)) { _local3++; } if ((_disabledCuePointsByNameOnly[_local2.name] != undefined) || ((_local3 < _local4.length) && (cuePointCompare(_local4[_local3].time, _local4[_local3].name, _local2) == 0))) { _disabledCuePoints.push({time:_local2.time, name:_local2.name}); } if (_local2.type == "navigation") { navCuePoints.push(_local2); } else if (_local2.type == "event") { eventCuePoints.push(_local2); } if (((allCuePoints == null) || (allCuePoints == undefined)) || (allCuePoints.length < 1)) { allCuePoints = new Array(); allCuePoints.push(_local2); } else { _local5 = getCuePointIndex(allCuePoints, true, _local2.time); _local5 = ((allCuePoints[_local5].time > _local2.time) ? 0 : (_local5 + 1)); allCuePoints.splice(_local5, 0, _local2); } } delete _disabledCuePointsByNameOnly; _disabledCuePointsByNameOnly = null; delete _disabledCuePointsByNameOnly; _disabledCuePointsByNameOnly = null; } function processCuePointsProperty(cuePoints) { if (((cuePoints == undefined) || (cuePoints == null)) || (cuePoints.length == 0)) { return(undefined); } var _local4 = 0; var _local8; var _local6; var _local7; var _local5; var _local9; var _local2 = 0; while (_local2 < (cuePoints.length - 1)) { switch (_local4) { case 6 : addOrDisable(_local9, _local5); _local4 = 0; case 0 : if (cuePoints[_local2++] != "t") { throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "unexpected cuePoint parameter format"); } if (isNaN(cuePoints[_local2])) { throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "time must be number"); } _local5 = new Object(); _local5.time = cuePoints[_local2] / 1000; _local4++; break; case 1 : if (cuePoints[_local2++] != "n") { throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "unexpected cuePoint parameter format"); } if ((cuePoints[_local2] == undefined) || (cuePoints[_local2] == null)) { throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "name cannot be null or undefined"); } _local5.name = unescape(cuePoints[_local2]); _local4++; break; case 2 : if (cuePoints[_local2++] != "t") { throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "unexpected cuePoint parameter format"); } if (isNaN(cuePoints[_local2])) { throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "type must be number"); } switch (cuePoints[_local2]) { case 0 : _local5.type = "event"; break; case 1 : _local5.type = "navigation"; break; case 2 : _local5.type = "actionscript"; break; default : throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "type must be 0, 1 or 2"); } _local4++; break; case 3 : if (cuePoints[_local2++] != "d") { throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "unexpected cuePoint parameter format"); } if (isNaN(cuePoints[_local2])) { throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "disabled must be number"); } _local9 = cuePoints[_local2] != 0; _local4++; break; case 4 : if (cuePoints[_local2++] != "p") { throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "unexpected cuePoint parameter format"); } if (isNaN(cuePoints[_local2])) { throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "num params must be number"); } _local8 = cuePoints[_local2]; _local4++; if (_local8 == 0) { _local4++; } else { _local5.parameters = new Object(); } break; case 5 : _local6 = cuePoints[_local2++]; _local7 = cuePoints[_local2]; if (typeof(_local6) == "string") { _local6 = unescape(_local6); } if (typeof(_local7) == "string") { _local7 = unescape(_local7); } _local5.parameters[_local6] = _local7; _local8--; if (_local8 != 0) { break; } _local4++; } _local2++; } if (_local4 == 6) { addOrDisable(_local9, _local5); } else { throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "unexpected end of cuePoint param string"); } } function addOrDisable(disable, cuePoint) { if (disable) { if (cuePoint.type == "actionscript") { throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "Cannot disable actionscript cue points"); } setFLVCuePointEnabled(false, cuePoint); } else if (cuePoint.type == "actionscript") { addASCuePoint(cuePoint); } } function unescape(origStr) { var _local3 = origStr; var _local1 = 0; while (_local1 < cuePointsReplace.length) { var _local2 = _local3.split(cuePointsReplace[_local1++]); if (_local2.length > 1) { _local3 = _local2.join(cuePointsReplace[_local1]); } _local1++; } return(_local3); } function getCuePointIndex(cuePointArray, closeIsOK, time, name, start, len) { if (((cuePointArray == null) || (cuePointArray == undefined)) || (cuePointArray.length < 1)) { return(-1); } var _local13 = isNaN(time) || (time < 0); var _local16 = (name == undefined) || (name == null); if (_local13 && (_local16)) { throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "time must be number and/or name must not be undefined or null"); } if ((start == undefined) || (start == null)) { start = 0; } if ((len == undefined) || (len == null)) { len = cuePointArray.length; } if ((!_local16) && (closeIsOK || (_local13))) { var _local8; var _local2; if (_local13) { _local8 = start; } else { _local8 = getCuePointIndex(cuePointArray, closeIsOK, time); } _local2 = _local8; while (_local2 >= start) { if (cuePointArray[_local2].name == name) { break; } _local2--; } if (_local2 >= start) { return(_local2); } _local2 = _local8 + 1; while (_local2 < len) { if (cuePointArray[_local2].name == name) { break; } _local2++; } if (_local2 < len) { return(_local2); } return(-1); } var _local6; if (len <= _linearSearchTolerance) { var _local11 = start + len; var _local3 = start; while (_local3 < _local11) { _local6 = cuePointCompare(time, name, cuePointArray[_local3]); if (_local6 == 0) { return(_local3); } if (_local6 < 0) { break; } _local3++; } if (closeIsOK) { if (_local3 > 0) { return(_local3 - 1); } return(0); } return(-1); } var _local12 = Math.floor(len / 2); var _local15 = start + _local12; _local6 = cuePointCompare(time, name, cuePointArray[_local15]); if (_local6 < 0) { return(getCuePointIndex(cuePointArray, closeIsOK, time, name, start, _local12)); } if (_local6 > 0) { return(getCuePointIndex(cuePointArray, closeIsOK, time, name, _local15 + 1, (_local12 - 1) + (len % 2))); } return(_local15); } function getNextCuePointIndexWithName(name, array, index) { if ((name == undefined) || (name == null)) { throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "name cannot be undefined or null"); } if ((array == null) || (array == undefined)) { throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "cuePoint.array undefined"); } if ((isNaN(index) || (index < -1)) || (index >= array.length)) { throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "cuePoint.index must be number between -1 and cuePoint.array.length"); } var _local1; _local1 = index + 1; while (_local1 < array.length) { if (array[_local1].name == name) { break; } _local1++; } if (_local1 < array.length) { return(_local1); } return(-1); } static function cuePointCompare(time, name, cuePoint) { var _local2 = Math.round(time * 1000); var _local3 = Math.round(cuePoint.time * 1000); if (_local2 < _local3) { return(-1); } if (_local2 > _local3) { return(1); } if ((name != null) || (name != undefined)) { if (name == cuePoint.name) { return(0); } if (name < cuePoint.name) { return(-1); } return(1); } return(0); } function getCuePoint(cuePointArray, closeIsOK, timeNameOrCuePoint) { var _local3; switch (typeof(timeNameOrCuePoint)) { case "string" : _local3 = {name:timeNameOrCuePoint}; break; case "number" : _local3 = {time:timeNameOrCuePoint}; break; case "object" : _local3 = timeNameOrCuePoint; } var _local2 = getCuePointIndex(cuePointArray, closeIsOK, _local3.time, _local3.name); if (_local2 < 0) { return(null); } _local3 = deepCopyObject(cuePointArray[_local2]); _local3.array = cuePointArray; _local3.index = _local2; return(_local3); } function getNextCuePointWithName(cuePoint) { if ((cuePoint == null) || (cuePoint == undefined)) { throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "cuePoint parameter undefined"); } if (isNaN(cuePoint.time) || (cuePoint.time < 0)) { throw new mx.video.VideoError(mx.video.VideoError.ILLEGAL_CUE_POINT, "time must be number"); } var _local3 = getNextCuePointIndexWithName(cuePoint.name, cuePoint.array, cuePoint.index); if (_local3 < 0) { return(null); } var _local4 = deepCopyObject(cuePoint.array[_local3]); _local4.array = cuePoint.array; _local4.index = _local3; return(_local4); } static function deepCopyObject(obj, recurseLevel) { if (((obj == undefined) || (obj == null)) || (typeof(obj) != "object")) { return(obj); } if (recurseLevel == undefined) { recurseLevel = 0; } var _local2 = new Object(); for (var _local4 in obj) { if ((recurseLevel == 0) && ((_local4 == "array") || (_local4 == "index"))) { } else if (typeof(obj[_local4]) == "object") { _local2[_local4] = deepCopyObject(obj[_local4], recurseLevel + 1); } else { _local2[_local4] = obj[_local4]; } } return(_local2); } static var DEFAULT_LINEAR_SEARCH_TOLERANCE = 50; static var cuePointsReplace = ["&quot;", "\"", "&#39;", "'", "&#44;", ",", "&amp;", "&"]; }
Symbol 349 Button
on (release) { attachMovie("eEgg", "eEgg", 500); }
Symbol 354 Button
on (release) { _root.opening = true; }
Symbol 357 Button
on (press) { getURL ("http://www.dingoeatingfuzz.com", _top); }
Symbol 364 Button
on (release) { _root.nextFrame(); }
Symbol 387 Button
on (release) { gotoAndStop (48); }
Symbol 388 Button
on (release) { gotoAndStop (50); }
Symbol 389 Button
on (release) { gotoAndStop (47); }
Symbol 390 Button
on (release) { gotoAndStop (45); }
Symbol 391 Button
on (release) { gotoAndStop (46); }
Symbol 392 Button
on (release) { gotoAndStop (49); }
Symbol 393 Button
on (release) { gotoAndStop (44); }
Symbol 394 Button
on (release) { gotoAndStop (39); }
Symbol 395 Button
on (release) { gotoAndStop (41); }
Symbol 396 Button
on (release) { gotoAndStop (43); }
Symbol 397 Button
on (release) { gotoAndStop (42); }
Symbol 398 Button
on (release) { gotoAndStop (40); }
Symbol 399 Button
on (release) { gotoAndStop (38); }
Symbol 400 Button
on (release) { gotoAndStop (37); }
Symbol 466 Button
on (release) { _root.nextFrame(); _root.stop(); }
Symbol 469 MovieClip Frame 1
stop();
Symbol 470 Button
on (release) { fof.nextFrame(); }
Symbol 471 Button
on (release) { fof.prevFrame(); }
Symbol 573 MovieClip Frame 1
stop();
Symbol 640 MovieClip Frame 1
stop();
Symbol 655 Button
on (release) { attachMovie("DVmc", "DPmc", 159); DPmc._x = 3; DPmc._y = 3; }
Symbol 656 Button
on (release) { attachMovie("DPmc", "DPmc", 159); DPmc._x = 3; DPmc._y = 3; }
Symbol 657 Button
on (release) { attachMovie("PSmc", "DPmc", 159); DPmc._x = 3; DPmc._y = 3; }
Symbol 662 Button
on (release) { _root.Tspeed = _root.Tspeed * -1; }
Symbol 698 MovieClip Frame 1
stop();
Symbol 710 Button
on (release) { attachMovie("RGB", "RGB", 300); RGB._x = 350; RGB._y = 240; }
Symbol 723 Button
on (release) { this.play(); }
Symbol 783 Button
on (release) { this.gotoAndPlay(1); }
Symbol 785 Button
on (release) { this.gotoAndPlay(2); }
Symbol 786 Button
on (release) { this.gotoAndPlay(1); }
Symbol 852 Button
on (release) { gotoAndPlay (2); }
Symbol 853 Button
on (release) { gotoAndPlay (2070); }
Symbol 856 MovieClip Frame 1
stop();
Symbol 856 MovieClip Frame 2061
stop();
Symbol 856 MovieClip Frame 4191
stop();
Symbol 894 MovieClip Frame 1
stop();
Symbol 923 MovieClip Frame 1
stop();
Symbol 955 Button
on (release) { _root.i++; _root.attachMovie("GRvid", "GRvid", 200 + _root.i); _root.GRvid._x = 360; _root.GRvid._y = 240; }
Symbol 957 Button
on (release) { _root.i++; _root.attachMovie("MCvid", "MCvid", 200 + _root.i); _root.MCvid._x = 360; _root.MCvid._y = 240; }
Symbol 960 Button
on (release) { _root.i++; _root.attachMovie("BTNvid", "BTNvid", 200 + _root.i); _root.BTNvid._x = 360; _root.BTNvid._y = 240; }
Symbol 979 MovieClip Frame 1
stop();
Symbol 979 MovieClip Frame 6
_root.i = 0;
Symbol 1023 MovieClip Frame 1
stop();
Symbol 1174 MovieClip Frame 1
stop();
Symbol 1220 MovieClip Frame 1
stop();
Symbol 1226 Button
on (release) { if (showz0r._visible == false) { showz0r._visible = true; } else { showz0r._visible = false; } }
Instance of Symbol 1228 MovieClip "showz0r" in Symbol 1232 MovieClip Frame 1
onClipEvent (load) { this._visible = false; }
Symbol 1245 MovieClip Frame 1
stop();
Symbol 1567 MovieClip Frame 1
stop();
Symbol 1599 MovieClip Frame 1
stop();
Symbol 1635 MovieClip Frame 1
stop();

Library Items

Symbol 1 Sound [S5]
Symbol 2 Sound [S1]
Symbol 3 Sound [S4]
Symbol 4 Sound [S2]
Symbol 5 Sound [S3]
Symbol 6 GraphicUsed by:18 20 25 256 613
Symbol 7 GraphicUsed by:11
Symbol 8 GraphicUsed by:11
Symbol 9 GraphicUsed by:11
Symbol 10 GraphicUsed by:11
Symbol 11 ButtonUses:7 8 9 10Used by:18 20 25 94
Symbol 12 BitmapUsed by:13
Symbol 13 GraphicUses:12Used by:14
Symbol 14 MovieClipUses:13Used by:18
Symbol 15 FontUsed by:16 19 21 39 43 54 62 63 71 84 86 88 111 113 114 115 116 120 121 122 123 124 125 126 128 130 131 132 133 135 136 137 138 140 142 143 144 145 146 148 149 150 151 152 155 156 157 158 159 160 161 162 163 164 171 172 173 174 182 183 207 209 212 213 214 215 218 220 221 223 226 229 231 232 235 240 246 249 252 254 255 290 335 415 419 423 427 430 433 435 439 443 448 455 458 459 460 463 467 476 479 480 484 485 489 490 494 495 500 501 504 505 509 510 514 515 518 522 526 527 531 532 536 537 541 542 546 550 551 555 557 561 562 563 564 565 570 571 579 584 587 588 589 590 591 592 593 594 595 600 604 608 609 610 611 616 620 623 624 625 626 627 628 629 630 631 632 633 634 638 644 647 651 664 668 671 677 680 681 684 687 690 693 696 701 704 705 706 711 712 713 716 731 732 741 742 751 752 761 762 776 777 780 781 784 798 799 801 804 805 808 809 817 825 832 833 834 835 836 837 838 839 840 850 854 855 857 860 863 866 867 868 872 873 874 875 878 879 882 886 889 892 897 900 903 904 905 906 907 908 912 915 918 921 925 927 930 932 934 935 937 942 943 944 945 958 961 963 965 967 969 973 975 977 981 982 983 984 985 986 987 988 989 993 994 995 998 1001 1004 1005 1006 1007 1011 1013 1018 1021 1031 1036 1039 1042 1043 1050 1051 1052 1056 1057 1058 1062 1063 1064 1068 1069 1070 1073 1074 1075 1080 1081 1082 1083 1088 1089 1092 1098 1104 1108 1112 1119 1167 1170 1172 1182 1186 1188 1192 1194 1198 1200 1204 1206 1207 1212 1218 1222 1233 1234 1237 1239 1240 1243 1265 1323 1326 1340 1341 1345 1447 1462 1549 1550 1554 1557 1560 1565 1570 1573 1576 1577 1578 1579 1580 1586 1589 1590 1591 1594 1597 1601 1605 1607 1610 1612 1613 1614 1616 1619 1623 1625 1629 1632
Symbol 16 TextUses:15Used by:17
Symbol 17 MovieClipUses:16Used by:18
Symbol 18 MovieClip [PSmc]Uses:11 14 17 6
Symbol 19 TextUses:15Used by:20
Symbol 20 MovieClip [DVmc]Uses:11 19 6
Symbol 21 TextUses:15Used by:22
Symbol 22 MovieClipUses:21Used by:25
Symbol 23 BitmapUsed by:24
Symbol 24 GraphicUses:23Used by:25
Symbol 25 MovieClip [DPmc]Uses:11 22 24 6
Symbol 26 GraphicUsed by:94
Symbol 27 GraphicUsed by:31
Symbol 28 GraphicUsed by:31
Symbol 29 GraphicUsed by:31
Symbol 30 GraphicUsed by:31 1030
Symbol 31 ButtonUses:27 28 29 30Used by:94
Symbol 32 GraphicUsed by:35
Symbol 33 GraphicUsed by:35
Symbol 34 GraphicUsed by:35
Symbol 35 ButtonUses:32 33 34Used by:94
Symbol 36 FontUsed by:37 40 44 45 46 47 48 49 50 51 52 53 55 57 59 60 61 64 65 66 67 68 69 70 72 73 74 75 76 77 78 79 80 81 82 83 85 87 89 90 91 120 139 141 149 175 178 179 291 336 337 338 339 340 344 346 355 358 360 361 362 365 367 368 369 370 371 372 373 374 375 376 377 378 379 380 385 408 409 410 413 414 418 420 447 449 452 456 457 463 464 465 468 472 473 477 478 479 480 481 483 484 485 486 488 489 490 491 493 494 495 496 498 500 501 502 503 504 505 506 508 509 510 511 513 515 516 517 518 519 521 522 523 525 526 527 528 530 531 532 533 535 536 537 538 540 541 542 543 545 546 547 549 550 551 552 554 555 556 557 558 560 564 565 566 569 570 571 572 574 575 580 581 585 586 596 598 601 602 614 615 617 619 621 622 635 637 639 641 642 645 646 648 649 652 653 658 659 660 665 666 669 670 672 674 678 679 685 686 688 689 694 695 697 699 700 701 702 703 704 707 709 711 714 715 717 718 843 844 845 846 847 848 858 859 864 865 869 871 877 881 882 883 885 887 888 890 891 893 895 896 898 899 901 902 909 911 916 917 919 920 922 924 926 931 933 938 939 940 941 952 953 954 956 959 964 966 970 974 976 978 980 991 996 1002 1012 1014 1015 1016 1019 1022 1024 1032 1040 1042 1050 1051 1053 1057 1059 1063 1065 1069 1071 1074 1076 1116 1168 1171 1173 1175 1183 1187 1193 1199 1205 1208 1213 1219 1221 1223 1235 1237 1238 1241 1244 1246 1247 1266 1267 1268 1269 1270 1271 1324 1325 1342 1344 1448 1449 1551 1553 1555 1556 1557 1558 1559 1561 1562 1566 1568 1569 1574 1575 1581 1583 1587 1588 1595 1596 1598 1600 1602 1606 1611 1615 1620 1624 1626 1627 1628 1630 1631 1633
Symbol 37 TextUses:36Used by:94
Symbol 38 GraphicUsed by:94
Symbol 39 TextUses:15Used by:94
Symbol 40 TextUses:36Used by:94
Symbol 41 GraphicUsed by:42
Symbol 42 MovieClipUses:41Used by:94 262
Symbol 43 TextUses:15Used by:94
Symbol 44 TextUses:36Used by:94
Symbol 45 TextUses:36Used by:94
Symbol 46 TextUses:36Used by:94
Symbol 47 TextUses:36Used by:94
Symbol 48 TextUses:36Used by:94
Symbol 49 TextUses:36Used by:94
Symbol 50 TextUses:36Used by:94
Symbol 51 TextUses:36Used by:94
Symbol 52 TextUses:36Used by:94
Symbol 53 TextUses:36Used by:94
Symbol 54 TextUses:15Used by:94
Symbol 55 TextUses:36Used by:94
Symbol 56 GraphicUsed by:94
Symbol 57 TextUses:36Used by:94
Symbol 58 GraphicUsed by:94
Symbol 59 TextUses:36Used by:94
Symbol 60 TextUses:36Used by:94
Symbol 61 TextUses:36Used by:94
Symbol 62 TextUses:15Used by:94
Symbol 63 TextUses:15Used by:94
Symbol 64 TextUses:36Used by:94
Symbol 65 TextUses:36Used by:94
Symbol 66 TextUses:36Used by:94
Symbol 67 TextUses:36Used by:94
Symbol 68 TextUses:36Used by:94
Symbol 69 TextUses:36Used by:94
Symbol 70 TextUses:36Used by:94
Symbol 71 TextUses:15Used by:94
Symbol 72 TextUses:36Used by:94
Symbol 73 TextUses:36Used by:94
Symbol 74 TextUses:36Used by:94
Symbol 75 TextUses:36Used by:94
Symbol 76 TextUses:36Used by:94
Symbol 77 TextUses:36Used by:94
Symbol 78 TextUses:36Used by:94
Symbol 79 TextUses:36Used by:94
Symbol 80 TextUses:36Used by:94
Symbol 81 TextUses:36Used by:94
Symbol 82 TextUses:36Used by:94
Symbol 83 TextUses:36Used by:94
Symbol 84 TextUses:15Used by:94
Symbol 85 TextUses:36Used by:94
Symbol 86 TextUses:15Used by:94
Symbol 87 TextUses:36Used by:94
Symbol 88 TextUses:15Used by:94
Symbol 89 TextUses:36Used by:94
Symbol 90 TextUses:36Used by:93 852 853
Symbol 91 TextUses:36Used by:93 852 853
Symbol 92 GraphicUsed by:93 852 853
Symbol 93 ButtonUses:90 91 92Used by:94
Symbol 94 MovieClip [RGB]Uses:11 31 35 37 26 38 39 40 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 93
Symbol 95 GraphicUsed by:98
Symbol 96 GraphicUsed by:98
Symbol 97 GraphicUsed by:98
Symbol 98 ButtonUses:95 96 97Used by:147 177 256
Symbol 99 GraphicUsed by:102
Symbol 100 GraphicUsed by:102
Symbol 101 GraphicUsed by:102
Symbol 102 ButtonUses:99 100 101Used by:147 177 256
Symbol 103 GraphicUsed by:106
Symbol 104 GraphicUsed by:106
Symbol 105 GraphicUsed by:106
Symbol 106 ButtonUses:103 104 105Used by:147 177 256
Symbol 107 GraphicUsed by:108
Symbol 108 ButtonUses:107Used by:147 177 256
Symbol 109 GraphicUsed by:147 177 256
Symbol 110 GraphicUsed by:147 177 256
Symbol 111 TextUses:15Used by:147
Symbol 112 GraphicUsed by:147 177 256
Symbol 113 TextUses:15Used by:147
Symbol 114 TextUses:15Used by:147
Symbol 115 TextUses:15Used by:147
Symbol 116 TextUses:15Used by:147
Symbol 117 BitmapUsed by:118
Symbol 118 GraphicUses:117Used by:147
Symbol 119 GraphicUsed by:147 177 256
Symbol 120 TextUses:15 36Used by:147
Symbol 121 TextUses:15Used by:147
Symbol 122 TextUses:15Used by:147
Symbol 123 TextUses:15Used by:147
Symbol 124 TextUses:15Used by:147
Symbol 125 TextUses:15Used by:147
Symbol 126 TextUses:15Used by:147
Symbol 127 GraphicUsed by:147
Symbol 128 TextUses:15Used by:147
Symbol 129 GraphicUsed by:147
Symbol 130 TextUses:15Used by:147
Symbol 131 TextUses:15Used by:147
Symbol 132 TextUses:15Used by:147
Symbol 133 TextUses:15Used by:147
Symbol 134 GraphicUsed by:147
Symbol 135 TextUses:15Used by:147
Symbol 136 TextUses:15Used by:147
Symbol 137 TextUses:15Used by:147
Symbol 138 TextUses:15Used by:147
Symbol 139 TextUses:36Used by:147
Symbol 140 TextUses:15Used by:147
Symbol 141 TextUses:36Used by:147
Symbol 142 TextUses:15Used by:147
Symbol 143 TextUses:15Used by:147
Symbol 144 TextUses:15Used by:147
Symbol 145 TextUses:15Used by:147
Symbol 146 TextUses:15Used by:147
Symbol 147 MovieClip [BTNvid]Uses:98 102 106 108 110 111 109 112 113 114 115 116 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
Symbol 148 TextUses:15Used by:177
Symbol 149 TextUses:15 36Used by:177
Symbol 150 TextUses:15Used by:177
Symbol 151 TextUses:15Used by:177
Symbol 152 TextUses:15Used by:177
Symbol 153 BitmapUsed by:154
Symbol 154 GraphicUses:153Used by:177
Symbol 155 TextUses:15Used by:177
Symbol 156 TextUses:15Used by:177
Symbol 157 TextUses:15Used by:177
Symbol 158 TextUses:15Used by:177
Symbol 159 TextUses:15Used by:177
Symbol 160 TextUses:15Used by:177
Symbol 161 TextUses:15Used by:177
Symbol 162 TextUses:15Used by:177
Symbol 163 TextUses:15Used by:177
Symbol 164 TextUses:15Used by:177
Symbol 165 GraphicUsed by:176 177
Symbol 166 GraphicUsed by:176 177
Symbol 167 GraphicUsed by:176 177
Symbol 168 GraphicUsed by:176 177
Symbol 169 GraphicUsed by:176 177
Symbol 170 GraphicUsed by:176 177
Symbol 171 TextUses:15Used by:177
Symbol 172 TextUses:15Used by:177
Symbol 173 TextUses:15Used by:177
Symbol 174 TextUses:15Used by:177
Symbol 175 TextUses:36Used by:177
Symbol 176 MovieClipUses:170 169 168 167 166 165Used by:177
Symbol 177 MovieClip [GRvid]Uses:98 102 106 108 110 148 109 112 149 150 151 152 154 155 119 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176
Symbol 178 TextUses:36Used by:256
Symbol 179 TextUses:36Used by:256
Symbol 180 BitmapUsed by:181 206 936
Symbol 181 GraphicUses:180Used by:256
Symbol 182 TextUses:15Used by:256
Symbol 183 TextUses:15Used by:256
Symbol 184 FontUsed by:185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205
Symbol 185 TextUses:184Used by:256
Symbol 186 TextUses:184Used by:256
Symbol 187 TextUses:184Used by:256
Symbol 188 TextUses:184Used by:256
Symbol 189 TextUses:184Used by:256
Symbol 190 TextUses:184Used by:256
Symbol 191 TextUses:184Used by:256
Symbol 192 TextUses:184Used by:256
Symbol 193 TextUses:184Used by:256
Symbol 194 TextUses:184Used by:256
Symbol 195 TextUses:184Used by:256
Symbol 196 TextUses:184Used by:256
Symbol 197 TextUses:184Used by:256
Symbol 198 TextUses:184Used by:256
Symbol 199 TextUses:184Used by:256
Symbol 200 TextUses:184Used by:256
Symbol 201 TextUses:184Used by:256
Symbol 202 TextUses:184Used by:256
Symbol 203 TextUses:184Used by:256
Symbol 204 TextUses:184Used by:256
Symbol 205 TextUses:184Used by:256
Symbol 206 GraphicUses:180Used by:256
Symbol 207 TextUses:15Used by:256
Symbol 208 GraphicUsed by:256
Symbol 209 TextUses:15Used by:256
Symbol 210 BitmapUsed by:211 216 1582
Symbol 211 GraphicUses:210Used by:256
Symbol 212 TextUses:15Used by:256
Symbol 213 TextUses:15Used by:256
Symbol 214 TextUses:15Used by:256
Symbol 215 TextUses:15Used by:256
Symbol 216 GraphicUses:210Used by:256
Symbol 217 GraphicUsed by:256
Symbol 218 TextUses:15Used by:256
Symbol 219 GraphicUsed by:256
Symbol 220 TextUses:15Used by:256
Symbol 221 TextUses:15Used by:256
Symbol 222 GraphicUsed by:256
Symbol 223 TextUses:15Used by:256
Symbol 224 GraphicUsed by:256
Symbol 225 GraphicUsed by:256
Symbol 226 TextUses:15Used by:256
Symbol 227 GraphicUsed by:256
Symbol 228 GraphicUsed by:256
Symbol 229 TextUses:15Used by:256
Symbol 230 GraphicUsed by:256
Symbol 231 TextUses:15Used by:256
Symbol 232 TextUses:15Used by:256
Symbol 233 GraphicUsed by:256
Symbol 234 GraphicUsed by:256
Symbol 235 TextUses:15Used by:256
Symbol 236 BitmapUsed by:238 239 242 1093
Symbol 237 BitmapUsed by:238 239 242 243 244 245 247 248 250 251 1077 1079 1085 1087 1091 1093 1095 1097 1099 1101 1103 1106 1107 1110 1111 1114 1117 1242
Symbol 238 GraphicUses:236 237Used by:256
Symbol 239 GraphicUses:236 237Used by:256
Symbol 240 TextUses:15Used by:256
Symbol 241 GraphicUsed by:256
Symbol 242 GraphicUses:236 237Used by:256
Symbol 243 GraphicUses:237Used by:256
Symbol 244 GraphicUses:237Used by:256
Symbol 245 GraphicUses:237Used by:256
Symbol 246 TextUses:15Used by:256
Symbol 247 GraphicUses:237Used by:256
Symbol 248 GraphicUses:237Used by:256
Symbol 249 TextUses:15Used by:256
Symbol 250 GraphicUses:237Used by:256
Symbol 251 GraphicUses:237Used by:256
Symbol 252 TextUses:15Used by:256
Symbol 253 ShapeTweeningUsed by:256
Symbol 254 TextUses:15Used by:256
Symbol 255 TextUses:15Used by:256
Symbol 256 MovieClip [MCvid]Uses:98 102 106 108 110 178 109 112 179 181 182 183 119 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 211 6 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255
Symbol 257 GraphicUsed by:261
Symbol 258 GraphicUsed by:261
Symbol 259 GraphicUsed by:261
Symbol 260 GraphicUsed by:261
Symbol 261 ButtonUses:257 258 259 260Used by:262
Symbol 262 MovieClip [eEgg]Uses:261 42
Symbol 263 GraphicUsed by:268 277 288 289 300
Symbol 264 GraphicUsed by:268
Symbol 265 GraphicUsed by:268 277 288 289 300
Symbol 266 GraphicUsed by:268
Symbol 267 GraphicUsed by:268
Symbol 268 ButtonUses:263 264 265 266 267Used by:316
Symbol 269 GraphicUsed by:270
Symbol 270 MovieClipUses:269Used by:273
Symbol 271 GraphicUsed by:272
Symbol 272 MovieClipUses:271Used by:273
Symbol 273 MovieClipUses:270 272Used by:316
Symbol 274 GraphicUsed by:277
Symbol 275 GraphicUsed by:277
Symbol 276 GraphicUsed by:277
Symbol 277 ButtonUses:263 274 265 275 276Used by:284
Symbol 278 GraphicUsed by:283
Symbol 279 GraphicUsed by:283
Symbol 280 GraphicUsed by:283
Symbol 281 GraphicUsed by:283
Symbol 282 GraphicUsed by:283
Symbol 283 ButtonUses:278 279 280 281 282Used by:284
Symbol 284 MovieClipUses:277 283Used by:316
Symbol 285 GraphicUsed by:288 289
Symbol 286 GraphicUsed by:288 289
Symbol 287 GraphicUsed by:288 289
Symbol 288 ButtonUses:263 285 265 286 287Used by:316
Symbol 289 ButtonUses:263 285 265 286 287Used by:316
Symbol 290 EditableTextUses:15Used by:296
Symbol 291 EditableTextUses:36Used by:296
Symbol 292 GraphicUsed by:293
Symbol 293 MovieClipUses:292Used by:296
Symbol 294 FontUsed by:295
Symbol 295 EditableTextUses:294Used by:296
Symbol 296 MovieClipUses:290 291 293 295Used by:316
Symbol 297 GraphicUsed by:300
Symbol 298 GraphicUsed by:300
Symbol 299 GraphicUsed by:300
Symbol 300 ButtonUses:263 297 265 298 299Used by:316
Symbol 301 GraphicUsed by:302
Symbol 302 MovieClipUses:301Used by:316
Symbol 303 GraphicUsed by:308
Symbol 304 GraphicUsed by:308
Symbol 305 GraphicUsed by:308
Symbol 306 GraphicUsed by:308
Symbol 307 GraphicUsed by:308
Symbol 308 ButtonUses:303 304 305 306 307Used by:314
Symbol 309 GraphicUsed by:313
Symbol 310 GraphicUsed by:313
Symbol 311 GraphicUsed by:313
Symbol 312 GraphicUsed by:313
Symbol 313 ButtonUses:309 310 311 312Used by:314
Symbol 314 MovieClipUses:308 313Used by:316
Symbol 315 GraphicUsed by:316
Symbol 316 MovieClip [radio]Uses:268 273 284 288 289 296 300 302 314 315Used by:Timeline
Symbol 318 GraphicUsed by:319
Symbol 319 MovieClipUses:318Used by:325
Symbol 320 VideoUsed by:321
Symbol 321 MovieClip [VideoPlayer]Uses:320Used by:325
Symbol 322 BitmapUsed by:323
Symbol 323 GraphicUses:322Used by:324
Symbol 324 MovieClip [Icon]Uses:323Used by:325
Symbol 325 MovieClip [FLVPlayback]Uses:319 321 324
Symbol 335 EditableTextUses:15Used by:Timeline
Symbol 336 TextUses:36Used by:Timeline
Symbol 337 TextUses:36Used by:341
Symbol 338 TextUses:36Used by:341
Symbol 339 TextUses:36Used by:341
Symbol 340 TextUses:36Used by:341
Symbol 341 MovieClipUses:337 338 339 340Used by:Timeline
Symbol 342 GraphicUsed by:343
Symbol 343 MovieClipUses:342Used by:Timeline
Symbol 317 MovieClip [__Packages.mx.video.FLVPlayback]
Symbol 326 MovieClip [__Packages.mx.video.VideoPlayer]
Symbol 327 MovieClip [__Packages.mx.video.INCManager]
Symbol 328 MovieClip [__Packages.mx.events.EventDispatcher]
Symbol 329 MovieClip [__Packages.mx.video.VideoError]
Symbol 330 MovieClip [__Packages.mx.video.UIManager]
Symbol 331 MovieClip [__Packages.mx.utils.Delegate]
Symbol 332 MovieClip [__Packages.mx.video.SMILManager]
Symbol 333 MovieClip [__Packages.mx.video.NCManager]
Symbol 334 MovieClip [__Packages.mx.video.CuePointManager]
Symbol 344 EditableTextUses:36Used by:Timeline
Symbol 345 ShapeTweeningUsed by:Timeline
Symbol 346 EditableTextUses:36Used by:Timeline
Symbol 347 GraphicUsed by:Timeline
Symbol 348 GraphicUsed by:349
Symbol 349 ButtonUses:348Used by:Timeline
Symbol 350 GraphicUsed by:354
Symbol 351 GraphicUsed by:354
Symbol 352 GraphicUsed by:354
Symbol 353 GraphicUsed by:354
Symbol 354 ButtonUses:350 351 352 353Used by:Timeline
Symbol 355 TextUses:36Used by:357
Symbol 356 GraphicUsed by:357
Symbol 357 ButtonUses:355 356Used by:Timeline
Symbol 358 TextUses:36Used by:366
Symbol 359 GraphicUsed by:366 469 573 640 698 894 923 979 1023 1174 1220 1245 1567 1599 1635
Symbol 360 TextUses:36Used by:366
Symbol 361 TextUses:36Used by:364 466
Symbol 362 TextUses:36Used by:364 466
Symbol 363 GraphicUsed by:364 466
Symbol 364 ButtonUses:361 362 363Used by:366 698 894 923 979 1023 1174 1220 1245 1567 1599
Symbol 365 TextUses:36Used by:366
Symbol 366 MovieClipUses:358 360 364 365 359Used by:Timeline
Symbol 367 TextUses:36Used by:Timeline
Symbol 368 TextUses:36Used by:Timeline
Symbol 369 TextUses:36Used by:Timeline
Symbol 370 TextUses:36Used by:Timeline
Symbol 371 TextUses:36Used by:Timeline
Symbol 372 TextUses:36Used by:Timeline
Symbol 373 TextUses:36Used by:Timeline
Symbol 374 TextUses:36Used by:Timeline
Symbol 375 TextUses:36Used by:Timeline
Symbol 376 TextUses:36Used by:Timeline
Symbol 377 TextUses:36Used by:Timeline
Symbol 378 TextUses:36Used by:Timeline
Symbol 379 TextUses:36Used by:Timeline
Symbol 380 TextUses:36Used by:Timeline
Symbol 381 GraphicUsed by:Timeline
Symbol 382 GraphicUsed by:383 384 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 470 471
Symbol 383 MovieClipUses:382Used by:384 470 471
Symbol 384 ButtonUses:383 382Used by:Timeline
Symbol 385 TextUses:36Used by:Timeline
Symbol 386 MovieClipUses:382Used by:387 388 389 390 391 392 393 394 395 396 397 398 399 400 401
Symbol 387 ButtonUses:386 382Used by:Timeline
Symbol 388 ButtonUses:386 382Used by:Timeline
Symbol 389 ButtonUses:386 382Used by:Timeline
Symbol 390 ButtonUses:386 382Used by:Timeline
Symbol 391 ButtonUses:386 382Used by:Timeline
Symbol 392 ButtonUses:386 382Used by:Timeline
Symbol 393 ButtonUses:386 382Used by:Timeline
Symbol 394 ButtonUses:386 382Used by:Timeline
Symbol 395 ButtonUses:386 382Used by:Timeline
Symbol 396 ButtonUses:386 382Used by:Timeline
Symbol 397 ButtonUses:386 382Used by:Timeline
Symbol 398 ButtonUses:386 382Used by:Timeline
Symbol 399 ButtonUses:386 382Used by:Timeline
Symbol 400 ButtonUses:386 382Used by:Timeline
Symbol 401 ButtonUses:386 382Used by:Timeline
Symbol 402 GraphicUsed by:403
Symbol 403 MovieClipUses:402Used by:Timeline
Symbol 404 GraphicUsed by:405
Symbol 405 MovieClipUses:404Used by:Timeline
Symbol 406 GraphicUsed by:407
Symbol 407 MovieClipUses:406Used by:Timeline
Symbol 408 TextUses:36Used by:469 1635
Symbol 409 TextUses:36Used by:469
Symbol 410 TextUses:36Used by:469
Symbol 411 BitmapUsed by:412
Symbol 412 GraphicUses:411Used by:469
Symbol 413 TextUses:36Used by:469 1635
Symbol 414 TextUses:36Used by:469
Symbol 415 TextUses:15Used by:469
Symbol 416 BitmapUsed by:417 422 426 429 432 438 442 446 474 643 650 663 667 673
Symbol 417 GraphicUses:416Used by:469
Symbol 418 TextUses:36Used by:469 1635
Symbol 419 TextUses:15Used by:469
Symbol 420 TextUses:36Used by:469
Symbol 421 GraphicUsed by:424 431 434 436
Symbol 422 GraphicUses:416Used by:424
Symbol 423 TextUses:15Used by:424
Symbol 424 ButtonUses:421 422 423Used by:469
Symbol 425 GraphicUsed by:428
Symbol 426 GraphicUses:416Used by:428
Symbol 427 TextUses:15Used by:428
Symbol 428 ButtonUses:425 426 427Used by:469
Symbol 429 GraphicUses:416Used by:431
Symbol 430 TextUses:15Used by:431
Symbol 431 ButtonUses:421 429 430Used by:469
Symbol 432 GraphicUses:416Used by:434
Symbol 433 TextUses:15Used by:434
Symbol 434 ButtonUses:421 432 433Used by:469
Symbol 435 TextUses:15Used by:436
Symbol 436 ButtonUses:421 435Used by:469
Symbol 437 GraphicUsed by:440
Symbol 438 GraphicUses:416Used by:440
Symbol 439 TextUses:15Used by:440
Symbol 440 ButtonUses:437 438 439Used by:469
Symbol 441 GraphicUsed by:445
Symbol 442 GraphicUses:416Used by:445
Symbol 443 TextUses:15Used by:445
Symbol 444 GraphicUsed by:445
Symbol 445 ButtonUses:441 442 443 444Used by:469
Symbol 446 GraphicUses:416Used by:469
Symbol 447 TextUses:36Used by:469 1635
Symbol 448 TextUses:15Used by:469
Symbol 449 TextUses:36Used by:469
Symbol 450 BitmapUsed by:451
Symbol 451 GraphicUses:450Used by:469
Symbol 452 TextUses:36Used by:469 1635
Symbol 453 BitmapUsed by:454
Symbol 454 GraphicUses:453Used by:469
Symbol 455 TextUses:15Used by:469
Symbol 456 TextUses:36Used by:469
Symbol 457 TextUses:36Used by:469 1635
Symbol 458 TextUses:15Used by:469
Symbol 459 TextUses:15Used by:469
Symbol 460 TextUses:15Used by:469
Symbol 461 BitmapUsed by:462
Symbol 462 GraphicUses:461Used by:469
Symbol 463 TextUses:15 36Used by:469
Symbol 464 TextUses:36Used by:469
Symbol 465 TextUses:36Used by:469 1635
Symbol 466 ButtonUses:361 362 363Used by:469 573 640
Symbol 467 TextUses:15Used by:469
Symbol 468 TextUses:36Used by:469
Symbol 469 MovieClipUses:408 409 410 412 359 413 414 415 417 418 419 420 424 428 431 434 436 440 445 446 447 448 449 451 452 454 455 456 457 458 459 460 462 463 464 465 466 467 468Used by:Timeline
Symbol 470 ButtonUses:383 382Used by:Timeline
Symbol 471 ButtonUses:383 382Used by:Timeline
Symbol 472 TextUses:36Used by:573
Symbol 473 TextUses:36Used by:573
Symbol 474 GraphicUses:416Used by:475
Symbol 475 MovieClipUses:474Used by:573
Symbol 476 TextUses:15Used by:573
Symbol 477 TextUses:36Used by:573
Symbol 478 TextUses:36Used by:573
Symbol 479 TextUses:36 15Used by:573
Symbol 480 TextUses:36 15Used by:573
Symbol 481 TextUses:36Used by:573
Symbol 482 GraphicUsed by:573
Symbol 483 TextUses:36Used by:573
Symbol 484 TextUses:36 15Used by:573
Symbol 485 TextUses:36 15Used by:573
Symbol 486 TextUses:36Used by:573
Symbol 487 GraphicUsed by:573
Symbol 488 TextUses:36Used by:573
Symbol 489 TextUses:36 15Used by:573
Symbol 490 TextUses:36 15Used by:573
Symbol 491 TextUses:36Used by:573
Symbol 492 GraphicUsed by:573
Symbol 493 TextUses:36Used by:573
Symbol 494 TextUses:36 15Used by:573
Symbol 495 TextUses:36 15Used by:573
Symbol 496 TextUses:36Used by:573
Symbol 497 GraphicUsed by:573
Symbol 498 TextUses:36Used by:573
Symbol 499 GraphicUsed by:573
Symbol 500 TextUses:36 15Used by:573
Symbol 501 TextUses:36 15Used by:573
Symbol 502 TextUses:36Used by:573
Symbol 503 TextUses:36Used by:573
Symbol 504 TextUses:36 15Used by:573
Symbol 505 TextUses:36 15Used by:573
Symbol 506 TextUses:36Used by:573
Symbol 507 GraphicUsed by:573
Symbol 508 TextUses:36Used by:573
Symbol 509 TextUses:36 15Used by:573
Symbol 510 TextUses:36 15Used by:573
Symbol 511 TextUses:36Used by:573
Symbol 512 GraphicUsed by:573
Symbol 513 TextUses:36Used by:573
Symbol 514 TextUses:15Used by:573
Symbol 515 TextUses:36 15Used by:573
Symbol 516 TextUses:36Used by:573
Symbol 517 TextUses:36Used by:573
Symbol 518 TextUses:36 15Used by:573
Symbol 519 TextUses:36Used by:573
Symbol 520 GraphicUsed by:573
Symbol 521 TextUses:36Used by:573
Symbol 522 TextUses:36 15Used by:573
Symbol 523 TextUses:36Used by:573
Symbol 524 GraphicUsed by:573
Symbol 525 TextUses:36Used by:573
Symbol 526 TextUses:36 15Used by:573
Symbol 527 TextUses:36 15Used by:573
Symbol 528 TextUses:36Used by:573
Symbol 529 GraphicUsed by:573
Symbol 530 TextUses:36Used by:573
Symbol 531 TextUses:36 15Used by:573
Symbol 532 TextUses:36 15Used by:573
Symbol 533 TextUses:36Used by:573
Symbol 534 GraphicUsed by:573
Symbol 535 TextUses:36Used by:573
Symbol 536 TextUses:36 15Used by:573
Symbol 537 TextUses:36 15Used by:573
Symbol 538 TextUses:36Used by:573
Symbol 539 GraphicUsed by:573
Symbol 540 TextUses:36Used by:573
Symbol 541 TextUses:36 15Used by:573
Symbol 542 TextUses:36 15Used by:573
Symbol 543 TextUses:36Used by:573
Symbol 544 GraphicUsed by:573
Symbol 545 TextUses:36Used by:573
Symbol 546 TextUses:36 15Used by:573
Symbol 547 TextUses:36Used by:573
Symbol 548 GraphicUsed by:573
Symbol 549 TextUses:36Used by:573
Symbol 550 TextUses:36 15Used by:573
Symbol 551 TextUses:36 15Used by:573
Symbol 552 TextUses:36Used by:573
Symbol 553 GraphicUsed by:573
Symbol 554 TextUses:36Used by:573
Symbol 555 TextUses:36 15Used by:573
Symbol 556 TextUses:36Used by:573
Symbol 557 TextUses:36 15Used by:573
Symbol 558 TextUses:36Used by:573
Symbol 559 GraphicUsed by:573
Symbol 560 TextUses:36Used by:573
Symbol 561 TextUses:15Used by:573
Symbol 562 TextUses:15Used by:573
Symbol 563 TextUses:15Used by:573
Symbol 564 TextUses:36 15Used by:573
Symbol 565 TextUses:36 15Used by:573
Symbol 566 TextUses:36Used by:573
Symbol 567 BitmapUsed by:568
Symbol 568 GraphicUses:567Used by:573
Symbol 569 TextUses:36Used by:573
Symbol 570 TextUses:36 15Used by:573
Symbol 571 TextUses:36 15Used by:573
Symbol 572 TextUses:36Used by:573
Symbol 573 MovieClipUses:472 473 475 476 477 359 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 568 569 466 570 571 572Used by:Timeline
Symbol 574 TextUses:36Used by:640 1023 1220
Symbol 575 TextUses:36Used by:640
Symbol 576 BitmapUsed by:577 583 597 603 612 618 636 910 990 992 997 1003 1020
Symbol 577 GraphicUses:576Used by:578
Symbol 578 MovieClipUses:577Used by:640
Symbol 579 TextUses:15Used by:640
Symbol 580 TextUses:36Used by:640 1023
Symbol 581 TextUses:36Used by:640 1023 1220
Symbol 582 GraphicUsed by:640
Symbol 583 GraphicUses:576Used by:640 923 1023
Symbol 584 TextUses:15Used by:640
Symbol 585 TextUses:36Used by:640
Symbol 586 TextUses:36Used by:640 1023 1220
Symbol 587 TextUses:15Used by:640
Symbol 588 TextUses:15Used by:640
Symbol 589 TextUses:15Used by:640
Symbol 590 TextUses:15Used by:640
Symbol 591 TextUses:15Used by:640
Symbol 592 TextUses:15Used by:640
Symbol 593 TextUses:15Used by:640
Symbol 594 TextUses:15Used by:640
Symbol 595 TextUses:15Used by:640
Symbol 596 TextUses:36Used by:640
Symbol 597 GraphicUses:576Used by:640
Symbol 598 TextUses:36Used by:640 1023 1220
Symbol 599 GraphicUsed by:640
Symbol 600 TextUses:15Used by:640
Symbol 601 TextUses:36Used by:640
Symbol 602 TextUses:36Used by:640 1023 1220
Symbol 603 GraphicUses:576Used by:613
Symbol 604 TextUses:15Used by:613
Symbol 605 BitmapUsed by:606 607
Symbol 606 GraphicUses:605Used by:613
Symbol 607 GraphicUses:605Used by:613
Symbol 608 TextUses:15Used by:613
Symbol 609 TextUses:15Used by:613
Symbol 610 TextUses:15Used by:613
Symbol 611 TextUses:15Used by:613
Symbol 612 GraphicUses:576Used by:613
Symbol 613 ButtonUses:603 6 604 606 607 608 609 610 611 612Used by:640
Symbol 614 TextUses:36Used by:640
Symbol 615 TextUses:36Used by:640
Symbol 616 TextUses:15Used by:640
Symbol 617 TextUses:36Used by:640
Symbol 618 GraphicUses:576Used by:640
Symbol 619 TextUses:36Used by:640 1023 1220
Symbol 620 TextUses:15Used by:640
Symbol 621 TextUses:36Used by:640
Symbol 622 TextUses:36Used by:640 1023 1220
Symbol 623 TextUses:15Used by:640
Symbol 624 TextUses:15Used by:640
Symbol 625 TextUses:15Used by:640
Symbol 626 TextUses:15Used by:640
Symbol 627 TextUses:15Used by:640
Symbol 628 TextUses:15Used by:640
Symbol 629 TextUses:15Used by:640
Symbol 630 TextUses:15Used by:640
Symbol 631 TextUses:15Used by:640
Symbol 632 TextUses:15Used by:640
Symbol 633 TextUses:15Used by:640
Symbol 634 TextUses:15Used by:640
Symbol 635 TextUses:36Used by:640
Symbol 636 GraphicUses:576Used by:640
Symbol 637 TextUses:36Used by:640 1023 1220
Symbol 638 TextUses:15Used by:640
Symbol 639 TextUses:36Used by:640
Symbol 640 MovieClipUses:574 575 578 579 580 359 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 466 638 639Used by:Timeline
Symbol 641 TextUses:36Used by:698 1174
Symbol 642 TextUses:36Used by:698
Symbol 643 GraphicUses:416Used by:698
Symbol 644 TextUses:15Used by:698
Symbol 645 TextUses:36Used by:698
Symbol 646 TextUses:36Used by:698 1174
Symbol 647 TextUses:15Used by:698
Symbol 648 TextUses:36Used by:698
Symbol 649 TextUses:36Used by:698 1174
Symbol 650 GraphicUses:416Used by:698
Symbol 651 TextUses:15Used by:698
Symbol 652 TextUses:36Used by:698
Symbol 653 TextUses:36Used by:698 1174
Symbol 654 GraphicUsed by:655 656 657 710
Symbol 655 ButtonUses:654Used by:698
Symbol 656 ButtonUses:654Used by:698
Symbol 657 ButtonUses:654Used by:698
Symbol 658 TextUses:36Used by:662
Symbol 659 TextUses:36Used by:662
Symbol 660 TextUses:36Used by:662
Symbol 661 GraphicUsed by:662
Symbol 662 ButtonUses:658 659 660 661Used by:698
Symbol 663 GraphicUses:416Used by:698
Symbol 664 TextUses:15Used by:698
Symbol 665 TextUses:36Used by:698
Symbol 666 TextUses:36Used by:698 1174
Symbol 667 GraphicUses:416Used by:698
Symbol 668 TextUses:15Used by:698
Symbol 669 TextUses:36Used by:698
Symbol 670 TextUses:36Used by:698 1174
Symbol 671 TextUses:15Used by:698
Symbol 672 TextUses:36Used by:698
Symbol 673 GraphicUses:416Used by:698
Symbol 674 TextUses:36Used by:698 1174
Symbol 675 BitmapUsed by:676
Symbol 676 GraphicUses:675Used by:698
Symbol 677 TextUses:15Used by:698
Symbol 678 TextUses:36Used by:698
Symbol 679 TextUses:36Used by:698 1174
Symbol 680 TextUses:15Used by:698
Symbol 681 TextUses:15Used by:698
Symbol 682 BitmapUsed by:683
Symbol 683 GraphicUses:682Used by:698
Symbol 684 TextUses:15Used by:698
Symbol 685 TextUses:36Used by:698
Symbol 686 TextUses:36Used by:698 1174
Symbol 687 TextUses:15Used by:698
Symbol 688 TextUses:36Used by:698
Symbol 689 TextUses:36Used by:698 1174
Symbol 690 TextUses:15Used by:698
Symbol 691 BitmapUsed by:692
Symbol 692 GraphicUses:691Used by:698
Symbol 693 TextUses:15Used by:698
Symbol 694 TextUses:36Used by:698
Symbol 695 TextUses:36Used by:698 1174
Symbol 696 TextUses:15Used by:698
Symbol 697 TextUses:36Used by:698
Symbol 698 MovieClipUses:641 642 643 644 645 359 646 647 648 649 650 651 652 653 655 656 657 662 663 664 665 666 667 668 669 670 671 672 673 674 676 677 678 679 680 681 683 684 685 686 687 688 689 690 692 693 694 695 364 696 697Used by:Timeline
Symbol 699 TextUses:36Used by:894 979
Symbol 700 TextUses:36Used by:894
Symbol 701 TextUses:15 36Used by:894
Symbol 702 TextUses:36Used by:894
Symbol 703 TextUses:36Used by:894 979
Symbol 704 TextUses:15 36Used by:894
Symbol 705 TextUses:15Used by:894
Symbol 706 TextUses:15Used by:894
Symbol 707 TextUses:36Used by:894
Symbol 708 GraphicUsed by:894
Symbol 709 TextUses:36Used by:894 979
Symbol 710 ButtonUses:654Used by:894
Symbol 711 TextUses:15 36Used by:894
Symbol 712 TextUses:15Used by:894
Symbol 713 TextUses:15Used by:894
Symbol 714 TextUses:36Used by:894
Symbol 715 TextUses:36Used by:894 979
Symbol 716 TextUses:15Used by:894
Symbol 717 TextUses:36Used by:894
Symbol 718 TextUses:36Used by:894 979
Symbol 719 GraphicUsed by:856
Symbol 720 GraphicUsed by:723 724 783 785 786
Symbol 721 GraphicUsed by:723 724 783 785 786
Symbol 722 GraphicUsed by:723 724 783 785 786
Symbol 723 ButtonUses:720 721 722Used by:856
Symbol 724 ButtonUses:720 721 722Used by:856
Symbol 725 BitmapUsed by:726 788 789 790 791 792 793 794 795 796 797 800 802 803 806 807 810 811 812 813 814 815 816 841 842 851
Symbol 726 GraphicUses:725Used by:856
Symbol 727 ShapeTweeningUsed by:856
Symbol 728 GraphicUsed by:856
Symbol 729 ShapeTweeningUsed by:856
Symbol 730 GraphicUsed by:856
Symbol 731 TextUses:15Used by:856
Symbol 732 TextUses:15Used by:856
Symbol 733 ShapeTweeningUsed by:856
Symbol 734 GraphicUsed by:856
Symbol 735 ShapeTweeningUsed by:856
Symbol 736 GraphicUsed by:856
Symbol 737 ShapeTweeningUsed by:856
Symbol 738 GraphicUsed by:856
Symbol 739 ShapeTweeningUsed by:856
Symbol 740 GraphicUsed by:856
Symbol 741 TextUses:15Used by:856
Symbol 742 TextUses:15Used by:856
Symbol 743 ShapeTweeningUsed by:856
Symbol 744 GraphicUsed by:856
Symbol 745 ShapeTweeningUsed by:856
Symbol 746 GraphicUsed by:856
Symbol 747 ShapeTweeningUsed by:856
Symbol 748 GraphicUsed by:856
Symbol 749 ShapeTweeningUsed by:856
Symbol 750 GraphicUsed by:856
Symbol 751 TextUses:15Used by:856
Symbol 752 TextUses:15Used by:856
Symbol 753 ShapeTweeningUsed by:856
Symbol 754 GraphicUsed by:856
Symbol 755 ShapeTweeningUsed by:856
Symbol 756 GraphicUsed by:856
Symbol 757 ShapeTweeningUsed by:856
Symbol 758 GraphicUsed by:856
Symbol 759 ShapeTweeningUsed by:856
Symbol 760 GraphicUsed by:856
Symbol 761 TextUses:15Used by:856
Symbol 762 TextUses:15Used by:856
Symbol 763 ShapeTweeningUsed by:856
Symbol 764 GraphicUsed by:856
Symbol 765 ShapeTweeningUsed by:856
Symbol 766 GraphicUsed by:856
Symbol 767 ShapeTweeningUsed by:856
Symbol 768 GraphicUsed by:856
Symbol 769 GraphicUsed by:856
Symbol 770 ShapeTweeningUsed by:856
Symbol 771 GraphicUsed by:856
Symbol 772 GraphicUsed by:856
Symbol 773 ShapeTweeningUsed by:856
Symbol 774 GraphicUsed by:856
Symbol 775 GraphicUsed by:856
Symbol 776 TextUses:15Used by:856
Symbol 777 TextUses:15Used by:856
Symbol 778 ShapeTweeningUsed by:856
Symbol 779 GraphicUsed by:856
Symbol 780 TextUses:15Used by:856
Symbol 781 TextUses:15Used by:856
Symbol 782 GraphicUsed by:856
Symbol 783 ButtonUses:720 721 722Used by:856
Symbol 784 TextUses:15Used by:856
Symbol 785 ButtonUses:720 721 722Used by:856
Symbol 786 ButtonUses:720 721 722Used by:856
Symbol 787 GraphicUsed by:856
Symbol 788 GraphicUses:725Used by:856
Symbol 789 GraphicUses:725Used by:856
Symbol 790 GraphicUses:725Used by:856
Symbol 791 GraphicUses:725Used by:856
Symbol 792 GraphicUses:725Used by:856
Symbol 793 GraphicUses:725Used by:856
Symbol 794 GraphicUses:725Used by:856
Symbol 795 GraphicUses:725Used by:856
Symbol 796 GraphicUses:725Used by:856
Symbol 797 GraphicUses:725Used by:856
Symbol 798 TextUses:15Used by:856
Symbol 799 TextUses:15Used by:856
Symbol 800 GraphicUses:725Used by:856
Symbol 801 TextUses:15Used by:856
Symbol 802 GraphicUses:725Used by:856
Symbol 803 GraphicUses:725Used by:856
Symbol 804 TextUses:15Used by:856
Symbol 805 TextUses:15Used by:856
Symbol 806 GraphicUses:725Used by:856
Symbol 807 GraphicUses:725Used by:856
Symbol 808 TextUses:15Used by:856
Symbol 809 TextUses:15Used by:856
Symbol 810 GraphicUses:725Used by:856
Symbol 811 GraphicUses:725Used by:856
Symbol 812 GraphicUses:725Used by:856
Symbol 813 GraphicUses:725Used by:856
Symbol 814 GraphicUses:725Used by:856
Symbol 815 GraphicUses:725Used by:856
Symbol 816 GraphicUses:725Used by:856
Symbol 817 TextUses:15Used by:856
Symbol 818 FontUsed by:819 821 822 826 829
Symbol 819 TextUses:818Used by:821
Symbol 820 TextUsed by:821
Symbol 821 MovieClipUses:818 819 820Used by:856
Symbol 822 TextUses:818Used by:824
Symbol 823 TextUsed by:824
Symbol 824 MovieClipUses:822 823Used by:856
Symbol 825 TextUses:15Used by:856
Symbol 826 TextUses:818Used by:828
Symbol 827 TextUsed by:828
Symbol 828 MovieClipUses:826 827Used by:856
Symbol 829 TextUses:818Used by:831
Symbol 830 TextUsed by:831
Symbol 831 MovieClipUses:829 830Used by:856
Symbol 832 TextUses:15Used by:856
Symbol 833 TextUses:15Used by:856
Symbol 834 TextUses:15Used by:856
Symbol 835 TextUses:15Used by:856
Symbol 836 TextUses:15Used by:856
Symbol 837 TextUses:15Used by:856
Symbol 838 TextUses:15Used by:856
Symbol 839 TextUses:15Used by:856
Symbol 840 TextUses:15Used by:856
Symbol 841 GraphicUses:725Used by:856
Symbol 842 GraphicUses:725Used by:856
Symbol 843 TextUses:36Used by:856
Symbol 844 TextUses:36Used by:856
Symbol 845 TextUses:36Used by:856
Symbol 846 TextUses:36Used by:856
Symbol 847 TextUses:36Used by:856
Symbol 848 TextUses:36Used by:856
Symbol 849 GraphicUsed by:856
Symbol 850 TextUses:15Used by:856
Symbol 851 GraphicUses:725Used by:856
Symbol 852 ButtonUses:90 91 92Used by:856
Symbol 853 ButtonUses:90 91 92Used by:856
Symbol 854 TextUses:15Used by:856
Symbol 855 TextUses:15Used by:856
Symbol 856 MovieClipUses:723 719 724 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 821 824 825 828 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855Used by:894
Symbol 857 TextUses:15Used by:894
Symbol 858 TextUses:36Used by:894
Symbol 859 TextUses:36Used by:894 979
Symbol 860 TextUses:15Used by:894
Symbol 861 BitmapUsed by:862 876 880 884
Symbol 862 GraphicUses:861Used by:894
Symbol 863 TextUses:15Used by:894
Symbol 864 TextUses:36Used by:894
Symbol 865 TextUses:36Used by:894 979
Symbol 866 TextUses:15Used by:894
Symbol 867 TextUses:15Used by:894
Symbol 868 TextUses:15Used by:894
Symbol 869 TextUses:36Used by:894
Symbol 870 GraphicUsed by:894
Symbol 871 TextUses:36Used by:894 979
Symbol 872 TextUses:15Used by:894
Symbol 873 TextUses:15Used by:894
Symbol 874 TextUses:15Used by:894
Symbol 875 TextUses:15Used by:894
Symbol 876 GraphicUses:861Used by:894
Symbol 877 TextUses:36Used by:894 979
Symbol 878 TextUses:15Used by:894
Symbol 879 TextUses:15Used by:894
Symbol 880 GraphicUses:861Used by:894
Symbol 881 TextUses:36Used by:894 979
Symbol 882 TextUses:15 36Used by:894
Symbol 883 TextUses:36Used by:894
Symbol 884 GraphicUses:861Used by:894
Symbol 885 TextUses:36Used by:894 979
Symbol 886 TextUses:15Used by:894
Symbol 887 TextUses:36Used by:894
Symbol 888 TextUses:36Used by:894 979
Symbol 889 TextUses:15Used by:894
Symbol 890 TextUses:36Used by:894
Symbol 891 TextUses:36Used by:894 979
Symbol 892 TextUses:15Used by:894
Symbol 893 TextUses:36Used by:894
Symbol 894 MovieClipUses:699 700 701 702 359 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 856 857 858 859 860 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 364 892 893Used by:Timeline
Symbol 895 TextUses:36Used by:923 1245
Symbol 896 TextUses:36Used by:923
Symbol 897 TextUses:15Used by:923
Symbol 898 TextUses:36Used by:923
Symbol 899 TextUses:36Used by:923 1245
Symbol 900 TextUses:15Used by:923
Symbol 901 TextUses:36Used by:923
Symbol 902 TextUses:36Used by:923 1245
Symbol 903 TextUses:15Used by:923
Symbol 904 TextUses:15Used by:923
Symbol 905 TextUses:15Used by:923
Symbol 906 TextUses:15Used by:923
Symbol 907 TextUses:15Used by:923
Symbol 908 TextUses:15Used by:923
Symbol 909 TextUses:36Used by:923
Symbol 910 GraphicUses:576Used by:923
Symbol 911 TextUses:36Used by:923 1245
Symbol 912 TextUses:15Used by:923
Symbol 913 BitmapUsed by:914
Symbol 914 GraphicUses:913Used by:923
Symbol 915 TextUses:15Used by:923
Symbol 916 TextUses:36Used by:923
Symbol 917 TextUses:36Used by:923 1245
Symbol 918 TextUses:15Used by:923
Symbol 919 TextUses:36Used by:923
Symbol 920 TextUses:36Used by:923 1245
Symbol 921 TextUses:15Used by:923
Symbol 922 TextUses:36Used by:923
Symbol 923 MovieClipUses:895 896 897 898 359 899 583 900 901 902 903 904 905 906 907 908 909 910 911 912 914 915 916 917 918 919 920 364 921 922Used by:Timeline
Symbol 924 TextUses:36Used by:979
Symbol 925 TextUses:15Used by:979
Symbol 926 TextUses:36Used by:979
Symbol 927 TextUses:15Used by:979
Symbol 928 BitmapUsed by:929 962 968
Symbol 929 GraphicUses:928Used by:979
Symbol 930 TextUses:15Used by:979
Symbol 931 TextUses:36Used by:979
Symbol 932 TextUses:15Used by:979
Symbol 933 TextUses:36Used by:979
Symbol 934 TextUses:15Used by:979
Symbol 935 TextUses:15Used by:979
Symbol 936 GraphicUses:180Used by:979
Symbol 937 TextUses:15Used by:979
Symbol 938 TextUses:36Used by:979
Symbol 939 TextUses:36Used by:979
Symbol 940 TextUses:36Used by:979
Symbol 941 TextUses:36Used by:979
Symbol 942 TextUses:15Used by:979
Symbol 943 TextUses:15Used by:979
Symbol 944 TextUses:15Used by:979
Symbol 945 TextUses:15Used by:979
Symbol 946 GraphicUsed by:950 951 955 957 960 979
Symbol 947 GraphicUsed by:950 951 955 957 960
Symbol 948 GraphicUsed by:950 951 955 957 960
Symbol 949 GraphicUsed by:950 951 955 957 960
Symbol 950 ButtonUses:946 947 948 949Used by:979
Symbol 951 MovieClipUses:946 947 948 949Used by:979
Symbol 952 TextUses:36Used by:979
Symbol 953 TextUses:36Used by:979
Symbol 954 TextUses:36Used by:979
Symbol 955 ButtonUses:946 947 948 949Used by:979
Symbol 956 TextUses:36Used by:979
Symbol 957 ButtonUses:946 947 948 949Used by:979
Symbol 958 TextUses:15Used by:979
Symbol 959 TextUses:36Used by:979
Symbol 960 ButtonUses:946 947 948 949Used by:979
Symbol 961 TextUses:15Used by:979
Symbol 962 GraphicUses:928Used by:979
Symbol 963 TextUses:15Used by:979
Symbol 964 TextUses:36Used by:979
Symbol 965 TextUses:15Used by:979
Symbol 966 TextUses:36Used by:979
Symbol 967 TextUses:15Used by:979
Symbol 968 GraphicUses:928Used by:979
Symbol 969 TextUses:15Used by:979
Symbol 970 TextUses:36Used by:979
Symbol 971 BitmapUsed by:972
Symbol 972 GraphicUses:971Used by:979
Symbol 973 TextUses:15Used by:979
Symbol 974 TextUses:36Used by:979
Symbol 975 TextUses:15Used by:979
Symbol 976 TextUses:36Used by:979
Symbol 977 TextUses:15Used by:979
Symbol 978 TextUses:36Used by:979
Symbol 979 MovieClipUses:699 924 925 926 359 703 927 929 930 931 709 932 933 715 934 935 936 937 938 718 939 940 941 942 943 944 945 950 946 951 952 859 953 954 955 956 957 958 959 960 865 961 962 963 964 871 965 966 877 967 968 881 969 970 885 972 973 974 888 975 976 891 364 977 978Used by:Timeline
Symbol 980 TextUses:36Used by:1023
Symbol 981 TextUses:15Used by:1023
Symbol 982 TextUses:15Used by:1023
Symbol 983 TextUses:15Used by:1023
Symbol 984 TextUses:15Used by:1023
Symbol 985 TextUses:15Used by:1023
Symbol 986 TextUses:15Used by:1023
Symbol 987 TextUses:15Used by:1023
Symbol 988 TextUses:15Used by:1023
Symbol 989 TextUses:15Used by:1023
Symbol 990 GraphicUses:576Used by:1023
Symbol 991 TextUses:36Used by:1023
Symbol 992 GraphicUses:576Used by:1023
Symbol 993 TextUses:15Used by:1023
Symbol 994 TextUses:15Used by:1023
Symbol 995 TextUses:15Used by:1023
Symbol 996 TextUses:36Used by:1023
Symbol 997 GraphicUses:576Used by:1023
Symbol 998 TextUses:15Used by:1023
Symbol 999 BitmapUsed by:1000
Symbol 1000 GraphicUses:999Used by:1023
Symbol 1001 TextUses:15Used by:1023
Symbol 1002 TextUses:36Used by:1023
Symbol 1003 GraphicUses:576Used by:1023
Symbol 1004 TextUses:15Used by:1023
Symbol 1005 TextUses:15Used by:1023
Symbol 1006 TextUses:15Used by:1023
Symbol 1007 TextUses:15Used by:1023
Symbol 1008 GraphicUsed by:1023
Symbol 1009 GraphicUsed by:1023
Symbol 1010 GraphicUsed by:1023
Symbol 1011 TextUses:15Used by:1023
Symbol 1012 TextUses:36Used by:1023
Symbol 1013 TextUses:15Used by:1023
Symbol 1014 TextUses:36Used by:1023
Symbol 1015 TextUses:36Used by:1023
Symbol 1016 TextUses:36Used by:1023
Symbol 1017 GraphicUsed by:1023
Symbol 1018 TextUses:15Used by:1023
Symbol 1019 TextUses:36Used by:1023
Symbol 1020 GraphicUses:576Used by:1023
Symbol 1021 TextUses:15Used by:1023
Symbol 1022 TextUses:36Used by:1023
Symbol 1023 MovieClipUses:574 980 981 580 359 581 982 583 983 586 984 985 986 987 988 989 990 991 992 598 993 994 995 996 997 602 998 1000 1001 1002 1003 619 1004 1005 1006 1007 1008 1010 1009 1011 1012 622 1013 1014 1015 1016 1017 1018 1019 637 364 1020 1021 1022Used by:Timeline
Symbol 1024 TextUses:36Used by:1174
Symbol 1025 GraphicUsed by:1030
Symbol 1026 GraphicUsed by:1030
Symbol 1027 GraphicUsed by:1030
Symbol 1028 GraphicUsed by:1030
Symbol 1029 GraphicUsed by:1030
Symbol 1030 MovieClipUses:30 1025 1026 1027 1028 1029Used by:1174
Symbol 1031 TextUses:15Used by:1174
Symbol 1032 TextUses:36Used by:1174
Symbol 1033 BitmapUsed by:1034
Symbol 1034 GraphicUses:1033Used by:1035
Symbol 1035 ButtonUses:1034Used by:1174
Symbol 1036 TextUses:15Used by:1174
Symbol 1037 BitmapUsed by:1038
Symbol 1038 GraphicUses:1037Used by:1174
Symbol 1039 TextUses:15Used by:1174
Symbol 1040 TextUses:36Used by:1174
Symbol 1041 GraphicUsed by:1049
Symbol 1042 TextUses:15 36Used by:1049
Symbol 1043 TextUses:15Used by:1049
Symbol 1044 BitmapUsed by:1045 1047 1048 1060 1066
Symbol 1045 GraphicUses:1044Used by:1049
Symbol 1046 GraphicUsed by:1049
Symbol 1047 GraphicUses:1044Used by:1049
Symbol 1048 GraphicUses:1044Used by:1049
Symbol 1049 ButtonUses:1041 1042 1043 1045 1046 1047 1048Used by:1174
Symbol 1050 TextUses:36 15Used by:1174
Symbol 1051 TextUses:36 15Used by:1174
Symbol 1052 TextUses:15Used by:1174
Symbol 1053 TextUses:36Used by:1174
Symbol 1054 GraphicUsed by:1174
Symbol 1055 GraphicUsed by:1174
Symbol 1056 TextUses:15Used by:1174
Symbol 1057 TextUses:36 15Used by:1174
Symbol 1058 TextUses:15Used by:1174
Symbol 1059 TextUses:36Used by:1174
Symbol 1060 GraphicUses:1044Used by:1174
Symbol 1061 GraphicUsed by:1174
Symbol 1062 TextUses:15Used by:1174
Symbol 1063 TextUses:36 15Used by:1174
Symbol 1064 TextUses:15Used by:1174
Symbol 1065 TextUses:36Used by:1174
Symbol 1066 GraphicUses:1044Used by:1174
Symbol 1067 GraphicUsed by:1174
Symbol 1068 TextUses:15Used by:1174
Symbol 1069 TextUses:36 15Used by:1174
Symbol 1070 TextUses:15Used by:1174
Symbol 1071 TextUses:36Used by:1174
Symbol 1072 GraphicUsed by:1174
Symbol 1073 TextUses:15Used by:1174
Symbol 1074 TextUses:36 15Used by:1174
Symbol 1075 TextUses:15Used by:1174
Symbol 1076 TextUses:36Used by:1174
Symbol 1077 GraphicUses:237Used by:1084
Symbol 1078 BitmapUsed by:1079
Symbol 1079 GraphicUses:1078 237Used by:1084
Symbol 1080 TextUses:15Used by:1084
Symbol 1081 TextUses:15Used by:1084
Symbol 1082 TextUses:15Used by:1084
Symbol 1083 TextUses:15Used by:1084
Symbol 1084 ButtonUses:1077 1079 1080 1081 1082 1083Used by:1115
Symbol 1085 GraphicUses:237Used by:1090
Symbol 1086 BitmapUsed by:1087
Symbol 1087 GraphicUses:1086 237Used by:1090
Symbol 1088 TextUses:15Used by:1090
Symbol 1089 TextUses:15Used by:1090
Symbol 1090 ButtonUses:1085 1087 1088 1089Used by:1115
Symbol 1091 GraphicUses:237Used by:1094
Symbol 1092 TextUses:15Used by:1094
Symbol 1093 GraphicUses:236 237Used by:1094
Symbol 1094 ButtonUses:1091 1092 1093Used by:1115
Symbol 1095 GraphicUses:237Used by:1100
Symbol 1096 BitmapUsed by:1097
Symbol 1097 GraphicUses:1096 237Used by:1100
Symbol 1098 TextUses:15Used by:1100
Symbol 1099 GraphicUses:237Used by:1100
Symbol 1100 ButtonUses:1095 1097 1098 1099Used by:1115
Symbol 1101 GraphicUses:237Used by:1105
Symbol 1102 BitmapUsed by:1103
Symbol 1103 GraphicUses:1102 237Used by:1105
Symbol 1104 TextUses:15Used by:1105
Symbol 1105 ButtonUses:1101 1103 1104Used by:1115
Symbol 1106 GraphicUses:237Used by:1109
Symbol 1107 GraphicUses:237Used by:1109
Symbol 1108 TextUses:15Used by:1109
Symbol 1109 ButtonUses:1106 1107 1108Used by:1115
Symbol 1110 GraphicUses:237Used by:1113
Symbol 1111 GraphicUses:237Used by:1113
Symbol 1112 TextUses:15Used by:1113
Symbol 1113 ButtonUses:1110 1111 1112Used by:1115
Symbol 1114 GraphicUses:237Used by:1115
Symbol 1115 MovieClipUses:1084 1090 1094 1100 1105 1109 1113 1114Used by:1174
Symbol 1116 TextUses:36Used by:1174
Symbol 1117 GraphicUses:237Used by:1118
Symbol 1118 MovieClipUses:1117Used by:1174
Symbol 1119 TextUses:15Used by:1174
Symbol 1120 GraphicUsed by:1166 1169
Symbol 1121 GraphicUsed by:1166 1169
Symbol 1122 GraphicUsed by:1166 1169
Symbol 1123 GraphicUsed by:1166 1169
Symbol 1124 GraphicUsed by:1166 1169
Symbol 1125 GraphicUsed by:1166 1169
Symbol 1126 GraphicUsed by:1166 1169
Symbol 1127 GraphicUsed by:1166 1169
Symbol 1128 GraphicUsed by:1166 1169
Symbol 1129 GraphicUsed by:1166 1169
Symbol 1130 GraphicUsed by:1166 1169
Symbol 1131 GraphicUsed by:1166 1169
Symbol 1132 GraphicUsed by:1166 1169
Symbol 1133 GraphicUsed by:1166 1169
Symbol 1134 GraphicUsed by:1166 1169
Symbol 1135 GraphicUsed by:1166 1169
Symbol 1136 GraphicUsed by:1166 1169
Symbol 1137 GraphicUsed by:1166 1169
Symbol 1138 GraphicUsed by:1166 1169
Symbol 1139 GraphicUsed by:1166 1169
Symbol 1140 GraphicUsed by:1166 1169
Symbol 1141 GraphicUsed by:1166 1169
Symbol 1142 GraphicUsed by:1166 1169
Symbol 1143 GraphicUsed by:1166 1169
Symbol 1144 GraphicUsed by:1166 1169
Symbol 1145 GraphicUsed by:1166 1169
Symbol 1146 GraphicUsed by:1166 1169
Symbol 1147 GraphicUsed by:1166 1169
Symbol 1148 GraphicUsed by:1166 1169
Symbol 1149 GraphicUsed by:1166 1169
Symbol 1150 GraphicUsed by:1166 1169
Symbol 1151 GraphicUsed by:1166 1169
Symbol 1152 GraphicUsed by:1166 1169
Symbol 1153 GraphicUsed by:1166 1169
Symbol 1154 GraphicUsed by:1166 1169
Symbol 1155 GraphicUsed by:1166 1169
Symbol 1156 GraphicUsed by:1166 1169
Symbol 1157 GraphicUsed by:1166 1169
Symbol 1158 GraphicUsed by:1166 1169
Symbol 1159 GraphicUsed by:1166 1169
Symbol 1160 GraphicUsed by:1166 1169
Symbol 1161 GraphicUsed by:1166 1169
Symbol 1162 GraphicUsed by:1166 1169
Symbol 1163 GraphicUsed by:1166 1169
Symbol 1164 GraphicUsed by:1166 1169
Symbol 1165 GraphicUsed by:1166 1169
Symbol 1166 MovieClipUses:1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165Used by:1174
Symbol 1167 TextUses:15Used by:1174
Symbol 1168 TextUses:36Used by:1174
Symbol 1169 MovieClipUses:1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165Used by:1174
Symbol 1170 TextUses:15Used by:1174
Symbol 1171 TextUses:36Used by:1174
Symbol 1172 TextUses:15Used by:1174
Symbol 1173 TextUses:36Used by:1174
Symbol 1174 MovieClipUses:641 1024 1030 1031 1032 1035 359 646 1036 1038 1039 1040 649 1049 1050 1051 1052 1053 1054 653 1055 1056 1057 1058 1059 1060 666 1061 1062 1063 1064 1065 1066 670 1067 1068 1069 1070 1071 674 1072 1073 1074 1075 1076 679 1115 1116 1118 686 1119 1166 1167 1168 689 1169 1170 1171 695 364 1172 1173Used by:Timeline
Symbol 1175 TextUses:36Used by:1220
Symbol 1176 ShapeTweeningUsed by:1181
Symbol 1177 ShapeTweeningUsed by:1181
Symbol 1178 ShapeTweeningUsed by:1181
Symbol 1179 ShapeTweeningUsed by:1181
Symbol 1180 GraphicUsed by:1181
Symbol 1181 MovieClipUses:1176 1177 1178 1179 1180Used by:1220
Symbol 1182 TextUses:15Used by:1220
Symbol 1183 TextUses:36Used by:1220
Symbol 1184 BitmapUsed by:1185
Symbol 1185 GraphicUses:1184Used by:1220
Symbol 1186 TextUses:15Used by:1220
Symbol 1187 TextUses:36Used by:1220
Symbol 1188 TextUses:15Used by:1220
Symbol 1189 ShapeTweeningUsed by:1191
Symbol 1190 GraphicUsed by:1191
Symbol 1191 MovieClipUses:1189 1190Used by:1220
Symbol 1192 TextUses:15Used by:1220
Symbol 1193 TextUses:36Used by:1220
Symbol 1194 TextUses:15Used by:1220
Symbol 1195 ShapeTweeningUsed by:1197
Symbol 1196 GraphicUsed by:1197
Symbol 1197 MovieClipUses:1195 1196Used by:1220
Symbol 1198 TextUses:15Used by:1220
Symbol 1199 TextUses:36Used by:1220
Symbol 1200 TextUses:15Used by:1220
Symbol 1201 ShapeTweeningUsed by:1203
Symbol 1202 GraphicUsed by:1203
Symbol 1203 MovieClipUses:1201 1202Used by:1220
Symbol 1204 TextUses:15Used by:1220
Symbol 1205 TextUses:36Used by:1220
Symbol 1206 TextUses:15Used by:1220
Symbol 1207 TextUses:15Used by:1220
Symbol 1208 TextUses:36Used by:1220
Symbol 1209 GraphicUsed by:1220
Symbol 1210 BitmapUsed by:1211
Symbol 1211 GraphicUses:1210Used by:1220
Symbol 1212 TextUses:15Used by:1220
Symbol 1213 TextUses:36Used by:1220
Symbol 1214 ShapeTweeningUsed by:1217
Symbol 1215 ShapeTweeningUsed by:1217
Symbol 1216 GraphicUsed by:1217
Symbol 1217 MovieClipUses:1214 1215 1216Used by:1220
Symbol 1218 TextUses:15Used by:1220
Symbol 1219 TextUses:36Used by:1220
Symbol 1220 MovieClipUses:574 1175 1181 1182 1183 359 581 1185 1186 1187 586 1188 1191 1192 1193 598 1194 1197 1198 1199 602 1200 1203 1204 1205 619 1206 1207 1208 1209 622 1211 1212 1213 637 364 1217 1218 1219Used by:Timeline
Symbol 1221 TextUses:36Used by:1245
Symbol 1222 TextUses:15Used by:1245
Symbol 1223 TextUses:36Used by:1245
Symbol 1224 GraphicUsed by:1232
Symbol 1225 GraphicUsed by:1226
Symbol 1226 ButtonUses:1225Used by:1232
Symbol 1227 GraphicUsed by:1228
Symbol 1228 MovieClipUses:1227Used by:1232
Symbol 1229 GraphicUsed by:1232
Symbol 1230 GraphicUsed by:1232
Symbol 1231 GraphicUsed by:1232
Symbol 1232 MovieClipUses:1224 1226 1228 1229 1230 1231Used by:1245
Symbol 1233 TextUses:15Used by:1245
Symbol 1234 TextUses:15Used by:1245
Symbol 1235 TextUses:36Used by:1245
Symbol 1236 GraphicUsed by:1245
Symbol 1237 TextUses:15 36Used by:1245
Symbol 1238 TextUses:36Used by:1245
Symbol 1239 TextUses:15Used by:1245
Symbol 1240 TextUses:15Used by:1245
Symbol 1241 TextUses:36Used by:1245
Symbol 1242 GraphicUses:237Used by:1245
Symbol 1243 TextUses:15Used by:1245
Symbol 1244 TextUses:36Used by:1245
Symbol 1245 MovieClipUses:895 1221 1222 1223 1232 359 899 1233 1234 1235 1236 902 1237 1238 911 1239 1240 1241 1242 917 1243 1244 920 364Used by:Timeline
Symbol 1246 TextUses:36Used by:1567
Symbol 1247 TextUses:36Used by:1567
Symbol 1248 GraphicUsed by:1264
Symbol 1249 GraphicUsed by:1264
Symbol 1250 GraphicUsed by:1264
Symbol 1251 GraphicUsed by:1264
Symbol 1252 GraphicUsed by:1264
Symbol 1253 GraphicUsed by:1264
Symbol 1254 GraphicUsed by:1264
Symbol 1255 GraphicUsed by:1264
Symbol 1256 GraphicUsed by:1264
Symbol 1257 GraphicUsed by:1264
Symbol 1258 GraphicUsed by:1264
Symbol 1259 GraphicUsed by:1264
Symbol 1260 GraphicUsed by:1264
Symbol 1261 GraphicUsed by:1264
Symbol 1262 GraphicUsed by:1264
Symbol 1263 GraphicUsed by:1264
Symbol 1264 MovieClipUses:1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263Used by:1567
Symbol 1265 TextUses:15Used by:1567
Symbol 1266 TextUses:36Used by:1567
Symbol 1267 TextUses:36Used by:1567
Symbol 1268 TextUses:36Used by:1567
Symbol 1269 TextUses:36Used by:1567
Symbol 1270 TextUses:36Used by:1567
Symbol 1271 TextUses:36Used by:1567
Symbol 1272 GraphicUsed by:1288
Symbol 1273 GraphicUsed by:1288
Symbol 1274 GraphicUsed by:1288
Symbol 1275 GraphicUsed by:1288
Symbol 1276 GraphicUsed by:1288
Symbol 1277 GraphicUsed by:1288
Symbol 1278 GraphicUsed by:1288
Symbol 1279 GraphicUsed by:1288
Symbol 1280 GraphicUsed by:1288
Symbol 1281 GraphicUsed by:1288
Symbol 1282 GraphicUsed by:1288
Symbol 1283 GraphicUsed by:1288
Symbol 1284 GraphicUsed by:1288
Symbol 1285 GraphicUsed by:1288
Symbol 1286 GraphicUsed by:1288
Symbol 1287 GraphicUsed by:1288
Symbol 1288 MovieClipUses:1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287Used by:1567
Symbol 1289 GraphicUsed by:1305
Symbol 1290 GraphicUsed by:1305
Symbol 1291 GraphicUsed by:1305
Symbol 1292 GraphicUsed by:1305
Symbol 1293 GraphicUsed by:1305
Symbol 1294 GraphicUsed by:1305
Symbol 1295 GraphicUsed by:1305
Symbol 1296 GraphicUsed by:1305
Symbol 1297 GraphicUsed by:1305
Symbol 1298 GraphicUsed by:1305
Symbol 1299 GraphicUsed by:1305
Symbol 1300 GraphicUsed by:1305
Symbol 1301 GraphicUsed by:1305
Symbol 1302 GraphicUsed by:1305
Symbol 1303 GraphicUsed by:1305
Symbol 1304 GraphicUsed by:1305
Symbol 1305 MovieClipUses:1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304Used by:1567
Symbol 1306 GraphicUsed by:1322
Symbol 1307 GraphicUsed by:1322
Symbol 1308 GraphicUsed by:1322
Symbol 1309 GraphicUsed by:1322
Symbol 1310 GraphicUsed by:1322
Symbol 1311 GraphicUsed by:1322
Symbol 1312 GraphicUsed by:1322
Symbol 1313 GraphicUsed by:1322
Symbol 1314 GraphicUsed by:1322
Symbol 1315 GraphicUsed by:1322
Symbol 1316 GraphicUsed by:1322
Symbol 1317 GraphicUsed by:1322
Symbol 1318 GraphicUsed by:1322
Symbol 1319 GraphicUsed by:1322
Symbol 1320 GraphicUsed by:1322
Symbol 1321 GraphicUsed by:1322
Symbol 1322 MovieClipUses:1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321Used by:1567
Symbol 1323 TextUses:15Used by:1567
Symbol 1324 TextUses:36Used by:1567
Symbol 1325 TextUses:36Used by:1567
Symbol 1326 TextUses:15Used by:1567
Symbol 1327 GraphicUsed by:1339
Symbol 1328 GraphicUsed by:1339
Symbol 1329 GraphicUsed by:1339
Symbol 1330 GraphicUsed by:1339
Symbol 1331 GraphicUsed by:1339
Symbol 1332 GraphicUsed by:1339
Symbol 1333 GraphicUsed by:1339
Symbol 1334 GraphicUsed by:1339
Symbol 1335 GraphicUsed by:1339
Symbol 1336 GraphicUsed by:1339
Symbol 1337 GraphicUsed by:1339
Symbol 1338 GraphicUsed by:1339
Symbol 1339 MovieClipUses:1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338Used by:1567
Symbol 1340 TextUses:15Used by:1567
Symbol 1341 TextUses:15Used by:1567
Symbol 1342 TextUses:36Used by:1567
Symbol 1343 GraphicUsed by:1567
Symbol 1344 TextUses:36Used by:1567
Symbol 1345 TextUses:15Used by:1567
Symbol 1346 GraphicUsed by:1446
Symbol 1347 GraphicUsed by:1446
Symbol 1348 GraphicUsed by:1446
Symbol 1349 GraphicUsed by:1446
Symbol 1350 GraphicUsed by:1446
Symbol 1351 GraphicUsed by:1446
Symbol 1352 GraphicUsed by:1446
Symbol 1353 GraphicUsed by:1446
Symbol 1354 GraphicUsed by:1446
Symbol 1355 GraphicUsed by:1446
Symbol 1356 GraphicUsed by:1446
Symbol 1357 GraphicUsed by:1446
Symbol 1358 GraphicUsed by:1446
Symbol 1359 GraphicUsed by:1446
Symbol 1360 GraphicUsed by:1446
Symbol 1361 GraphicUsed by:1446
Symbol 1362 GraphicUsed by:1446
Symbol 1363 GraphicUsed by:1446
Symbol 1364 GraphicUsed by:1446
Symbol 1365 GraphicUsed by:1446
Symbol 1366 GraphicUsed by:1446
Symbol 1367 GraphicUsed by:1446
Symbol 1368 GraphicUsed by:1446
Symbol 1369 GraphicUsed by:1446
Symbol 1370 GraphicUsed by:1446
Symbol 1371 GraphicUsed by:1446
Symbol 1372 GraphicUsed by:1446
Symbol 1373 GraphicUsed by:1446
Symbol 1374 GraphicUsed by:1446
Symbol 1375 GraphicUsed by:1446
Symbol 1376 GraphicUsed by:1446
Symbol 1377 GraphicUsed by:1446
Symbol 1378 GraphicUsed by:1446
Symbol 1379 GraphicUsed by:1446
Symbol 1380 GraphicUsed by:1446
Symbol 1381 GraphicUsed by:1446
Symbol 1382 GraphicUsed by:1446
Symbol 1383 GraphicUsed by:1446
Symbol 1384 GraphicUsed by:1446
Symbol 1385 GraphicUsed by:1446
Symbol 1386 GraphicUsed by:1446
Symbol 1387 GraphicUsed by:1446
Symbol 1388 GraphicUsed by:1446
Symbol 1389 GraphicUsed by:1446
Symbol 1390 GraphicUsed by:1446
Symbol 1391 GraphicUsed by:1446
Symbol 1392 GraphicUsed by:1446
Symbol 1393 GraphicUsed by:1446
Symbol 1394 GraphicUsed by:1446
Symbol 1395 GraphicUsed by:1446
Symbol 1396 GraphicUsed by:1446
Symbol 1397 GraphicUsed by:1446
Symbol 1398 GraphicUsed by:1446
Symbol 1399 GraphicUsed by:1446
Symbol 1400 GraphicUsed by:1446
Symbol 1401 GraphicUsed by:1446
Symbol 1402 GraphicUsed by:1446
Symbol 1403 GraphicUsed by:1446
Symbol 1404 GraphicUsed by:1446
Symbol 1405 GraphicUsed by:1446
Symbol 1406 GraphicUsed by:1446
Symbol 1407 GraphicUsed by:1446
Symbol 1408 GraphicUsed by:1446
Symbol 1409 GraphicUsed by:1446
Symbol 1410 GraphicUsed by:1446
Symbol 1411 GraphicUsed by:1446
Symbol 1412 GraphicUsed by:1446
Symbol 1413 GraphicUsed by:1446
Symbol 1414 GraphicUsed by:1446
Symbol 1415 GraphicUsed by:1446
Symbol 1416 GraphicUsed by:1446
Symbol 1417 GraphicUsed by:1446
Symbol 1418 GraphicUsed by:1446
Symbol 1419 GraphicUsed by:1446
Symbol 1420 GraphicUsed by:1446
Symbol 1421 GraphicUsed by:1446
Symbol 1422 GraphicUsed by:1446
Symbol 1423 GraphicUsed by:1446
Symbol 1424 GraphicUsed by:1446
Symbol 1425 GraphicUsed by:1446
Symbol 1426 GraphicUsed by:1446
Symbol 1427 GraphicUsed by:1446
Symbol 1428 GraphicUsed by:1446
Symbol 1429 GraphicUsed by:1446
Symbol 1430 GraphicUsed by:1446
Symbol 1431 GraphicUsed by:1446
Symbol 1432 GraphicUsed by:1446
Symbol 1433 GraphicUsed by:1446
Symbol 1434 GraphicUsed by:1446
Symbol 1435 GraphicUsed by:1446
Symbol 1436 GraphicUsed by:1446
Symbol 1437 GraphicUsed by:1446
Symbol 1438 GraphicUsed by:1446
Symbol 1439 GraphicUsed by:1446
Symbol 1440 GraphicUsed by:1446
Symbol 1441 GraphicUsed by:1446
Symbol 1442 GraphicUsed by:1446
Symbol 1443 GraphicUsed by:1446
Symbol 1444 GraphicUsed by:1446
Symbol 1445 GraphicUsed by:1446
Symbol 1446 MovieClipUses:1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445Used by:1567
Symbol 1447 TextUses:15Used by:1567
Symbol 1448 TextUses:36Used by:1567
Symbol 1449 TextUses:36Used by:1567
Symbol 1450 GraphicUsed by:1461
Symbol 1451 GraphicUsed by:1461
Symbol 1452 GraphicUsed by:1461
Symbol 1453 GraphicUsed by:1461
Symbol 1454 GraphicUsed by:1461
Symbol 1455 GraphicUsed by:1461
Symbol 1456 GraphicUsed by:1461
Symbol 1457 GraphicUsed by:1461
Symbol 1458 GraphicUsed by:1461
Symbol 1459 GraphicUsed by:1461
Symbol 1460 GraphicUsed by:1461
Symbol 1461 MovieClipUses:1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460Used by:1567
Symbol 1462 TextUses:15Used by:1567
Symbol 1463 GraphicUsed by:1468
Symbol 1464 GraphicUsed by:1468
Symbol 1465 GraphicUsed by:1468
Symbol 1466 GraphicUsed by:1468
Symbol 1467 GraphicUsed by:1468
Symbol 1468 MovieClipUses:1463 1464 1465 1466 1467Used by:1564 1567
Symbol 1469 GraphicUsed by:1488
Symbol 1470 GraphicUsed by:1488
Symbol 1471 GraphicUsed by:1488
Symbol 1472 GraphicUsed by:1488
Symbol 1473 GraphicUsed by:1488
Symbol 1474 GraphicUsed by:1488
Symbol 1475 GraphicUsed by:1488
Symbol 1476 GraphicUsed by:1488
Symbol 1477 GraphicUsed by:1488
Symbol 1478 GraphicUsed by:1488
Symbol 1479 GraphicUsed by:1488
Symbol 1480 GraphicUsed by:1488
Symbol 1481 GraphicUsed by:1488
Symbol 1482 GraphicUsed by:1488
Symbol 1483 GraphicUsed by:1488
Symbol 1484 GraphicUsed by:1488
Symbol 1485 GraphicUsed by:1488
Symbol 1486 GraphicUsed by:1488
Symbol 1487 GraphicUsed by:1488
Symbol 1488 MovieClipUses:1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487Used by:1567
Symbol 1489 GraphicUsed by:1567
Symbol 1490 GraphicUsed by:1543
Symbol 1491 GraphicUsed by:1543
Symbol 1492 GraphicUsed by:1543
Symbol 1493 GraphicUsed by:1543
Symbol 1494 GraphicUsed by:1543
Symbol 1495 GraphicUsed by:1543
Symbol 1496 GraphicUsed by:1543
Symbol 1497 GraphicUsed by:1543
Symbol 1498 GraphicUsed by:1543
Symbol 1499 GraphicUsed by:1543
Symbol 1500 GraphicUsed by:1543
Symbol 1501 GraphicUsed by:1543
Symbol 1502 GraphicUsed by:1543
Symbol 1503 GraphicUsed by:1543
Symbol 1504 GraphicUsed by:1543
Symbol 1505 GraphicUsed by:1543
Symbol 1506 GraphicUsed by:1543
Symbol 1507 GraphicUsed by:1543
Symbol 1508 GraphicUsed by:1543
Symbol 1509 GraphicUsed by:1543
Symbol 1510 GraphicUsed by:1543
Symbol 1511 GraphicUsed by:1543
Symbol 1512 GraphicUsed by:1543
Symbol 1513 GraphicUsed by:1543
Symbol 1514 GraphicUsed by:1543
Symbol 1515 GraphicUsed by:1543
Symbol 1516 GraphicUsed by:1543
Symbol 1517 GraphicUsed by:1543
Symbol 1518 GraphicUsed by:1543
Symbol 1519 GraphicUsed by:1543
Symbol 1520 GraphicUsed by:1543
Symbol 1521 GraphicUsed by:1543
Symbol 1522 GraphicUsed by:1543
Symbol 1523 GraphicUsed by:1543
Symbol 1524 GraphicUsed by:1543
Symbol 1525 GraphicUsed by:1543
Symbol 1526 GraphicUsed by:1543
Symbol 1527 GraphicUsed by:1543
Symbol 1528 GraphicUsed by:1543
Symbol 1529 GraphicUsed by:1543
Symbol 1530 GraphicUsed by:1543
Symbol 1531 GraphicUsed by:1543
Symbol 1532 GraphicUsed by:1543
Symbol 1533 GraphicUsed by:1543
Symbol 1534 GraphicUsed by:1543
Symbol 1535 GraphicUsed by:1543
Symbol 1536 GraphicUsed by:1543
Symbol 1537 GraphicUsed by:1543
Symbol 1538 GraphicUsed by:1543
Symbol 1539 GraphicUsed by:1543
Symbol 1540 GraphicUsed by:1543
Symbol 1541 GraphicUsed by:1543
Symbol 1542 GraphicUsed by:1543
Symbol 1543 MovieClipUses:1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542Used by:1567
Symbol 1544 BitmapUsed by:1545 1546 1547
Symbol 1545 GraphicUses:1544Used by:1548
Symbol 1546 GraphicUses:1544Used by:1548
Symbol 1547 GraphicUses:1544Used by:1548
Symbol 1548 MovieClipUses:1545 1546 1547Used by:1567
Symbol 1549 TextUses:15Used by:1567
Symbol 1550 TextUses:15Used by:1567
Symbol 1551 TextUses:36Used by:1567
Symbol 1552 GraphicUsed by:1567
Symbol 1553 TextUses:36Used by:1567
Symbol 1554 TextUses:15Used by:1567
Symbol 1555 TextUses:36Used by:1567
Symbol 1556 TextUses:36Used by:1567
Symbol 1557 TextUses:15 36Used by:1567
Symbol 1558 TextUses:36Used by:1567
Symbol 1559 TextUses:36Used by:1567
Symbol 1560 TextUses:15Used by:1567
Symbol 1561 TextUses:36Used by:1567
Symbol 1562 TextUses:36Used by:1567
Symbol 1563 GraphicUsed by:1564
Symbol 1564 MovieClipUses:1468 1563Used by:1567
Symbol 1565 TextUses:15Used by:1567
Symbol 1566 TextUses:36Used by:1567
Symbol 1567 MovieClipUses:1246 1247 1264 1265 1266 359 1267 1268 1269 1270 1271 1288 1305 1322 1323 1324 1325 1326 1339 1340 1341 1342 1343 1344 1345 1446 1447 1448 1449 1461 1462 1468 1488 1489 1543 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 364 1564 1565 1566Used by:Timeline
Symbol 1568 TextUses:36Used by:1599
Symbol 1569 TextUses:36Used by:1599
Symbol 1570 TextUses:15Used by:1599
Symbol 1571 BitmapUsed by:1572
Symbol 1572 GraphicUses:1571Used by:1599
Symbol 1573 TextUses:15Used by:1599
Symbol 1574 TextUses:36Used by:1599
Symbol 1575 TextUses:36Used by:1599
Symbol 1576 TextUses:15Used by:1599
Symbol 1577 TextUses:15Used by:1599
Symbol 1578 TextUses:15Used by:1599
Symbol 1579 TextUses:15Used by:1599
Symbol 1580 TextUses:15Used by:1599
Symbol 1581 TextUses:36Used by:1599
Symbol 1582 GraphicUses:210Used by:1599
Symbol 1583 TextUses:36Used by:1599
Symbol 1584 BitmapUsed by:1585
Symbol 1585 GraphicUses:1584Used by:1599
Symbol 1586 TextUses:15Used by:1599
Symbol 1587 TextUses:36Used by:1599
Symbol 1588 TextUses:36Used by:1599
Symbol 1589 TextUses:15Used by:1599
Symbol 1590 TextUses:15Used by:1599
Symbol 1591 TextUses:15Used by:1599
Symbol 1592 BitmapUsed by:1593
Symbol 1593 GraphicUses:1592Used by:1599
Symbol 1594 TextUses:15Used by:1599
Symbol 1595 TextUses:36Used by:1599
Symbol 1596 TextUses:36Used by:1599
Symbol 1597 TextUses:15Used by:1599
Symbol 1598 TextUses:36Used by:1599
Symbol 1599 MovieClipUses:1568 1569 1570 1572 1573 1574 359 1575 1576 1577 1578 1579 1580 1581 1582 1583 1585 1586 1587 1588 1589 1590 1591 1593 1594 1595 1596 364 1597 1598Used by:Timeline
Symbol 1600 TextUses:36Used by:1635
Symbol 1601 TextUses:15Used by:1635
Symbol 1602 TextUses:36Used by:1635
Symbol 1603 BitmapUsed by:1604
Symbol 1604 GraphicUses:1603Used by:1635
Symbol 1605 TextUses:15Used by:1635
Symbol 1606 TextUses:36Used by:1635
Symbol 1607 TextUses:15Used by:1635
Symbol 1608 BitmapUsed by:1609
Symbol 1609 GraphicUses:1608Used by:1635
Symbol 1610 TextUses:15Used by:1635
Symbol 1611 TextUses:36Used by:1635
Symbol 1612 TextUses:15Used by:1635
Symbol 1613 TextUses:15Used by:1635
Symbol 1614 TextUses:15Used by:1635
Symbol 1615 TextUses:36Used by:1635
Symbol 1616 TextUses:15Used by:1635
Symbol 1617 BitmapUsed by:1618
Symbol 1618 GraphicUses:1617Used by:1635
Symbol 1619 TextUses:15Used by:1635
Symbol 1620 TextUses:36Used by:1635
Symbol 1621 BitmapUsed by:1622
Symbol 1622 GraphicUses:1621Used by:1635
Symbol 1623 TextUses:15Used by:1635
Symbol 1624 TextUses:36Used by:1635
Symbol 1625 TextUses:15Used by:1635
Symbol 1626 TextUses:36Used by:1635
Symbol 1627 TextUses:36Used by:1635
Symbol 1628 TextUses:36Used by:1635
Symbol 1629 TextUses:15Used by:1635
Symbol 1630 TextUses:36Used by:1635
Symbol 1631 TextUses:36Used by:1635
Symbol 1632 TextUses:15Used by:1635
Symbol 1633 TextUses:36Used by:1635
Symbol 1634 GraphicUsed by:1635
Symbol 1635 MovieClipUses:408 1600 1601 1602 359 413 1604 1605 1606 418 1607 1609 1610 1611 447 1612 1613 1614 1615 452 1616 1618 1619 1620 457 1622 1623 1624 465 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634Used by:Timeline

Instance Names

"bar"Frame 1Symbol 343 MovieClip
"easterEgg"Frame 36Symbol 349 Button
"radio"Frame 36Symbol 316 MovieClip [radio]
"fof"Frame 37Symbol 469 MovieClip
"fof"Frame 38Symbol 573 MovieClip
"fof"Frame 39Symbol 640 MovieClip
"fof"Frame 40Symbol 698 MovieClip
"fof"Frame 41Symbol 894 MovieClip
"fof"Frame 42Symbol 923 MovieClip
"fof"Frame 43Symbol 979 MovieClip
"fof"Frame 44Symbol 1023 MovieClip
"fof"Frame 45Symbol 1174 MovieClip
"fof"Frame 46Symbol 1220 MovieClip
"fof"Frame 47Symbol 1245 MovieClip
"fof"Frame 48Symbol 1567 MovieClip
"fof"Frame 49Symbol 1599 MovieClip
"fof"Frame 50Symbol 1635 MovieClip
"tex"Symbol 18 MovieClip [PSmc] Frame 1Symbol 17 MovieClip
"tex"Symbol 25 MovieClip [DPmc] Frame 1Symbol 22 MovieClip
"movez"Symbol 147 MovieClip [BTNvid] Frame 1Symbol 108 Button
"movez"Symbol 177 MovieClip [GRvid] Frame 1Symbol 108 Button
"movez"Symbol 256 MovieClip [MCvid] Frame 1Symbol 108 Button
"dragger"Symbol 273 MovieClip Frame 1Symbol 270 MovieClip
"line"Symbol 273 MovieClip Frame 1Symbol 272 MovieClip
"durBar"Symbol 296 MovieClip Frame 1Symbol 293 MovieClip
"info"Symbol 316 MovieClip [radio] Frame 1Symbol 296 MovieClip
"pp"Symbol 316 MovieClip [radio] Frame 1Symbol 314 MovieClip
"_video"Symbol 321 MovieClip [VideoPlayer] Frame 1Symbol 320 Video
"boundingBox_mc"Symbol 325 MovieClip [FLVPlayback] Frame 1Symbol 319 MovieClip
"showz0r"Symbol 1232 MovieClip Frame 1Symbol 1228 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS1/AS2.
ExportAssets (56)Timeline Frame 1Symbol 1 as "S5"
ExportAssets (56)Timeline Frame 1Symbol 2 as "S1"
ExportAssets (56)Timeline Frame 1Symbol 3 as "S4"
ExportAssets (56)Timeline Frame 1Symbol 4 as "S2"
ExportAssets (56)Timeline Frame 1Symbol 5 as "S3"
ExportAssets (56)Timeline Frame 1Symbol 18 as "PSmc"
ExportAssets (56)Timeline Frame 1Symbol 20 as "DVmc"
ExportAssets (56)Timeline Frame 1Symbol 25 as "DPmc"
ExportAssets (56)Timeline Frame 1Symbol 94 as "RGB"
ExportAssets (56)Timeline Frame 1Symbol 147 as "BTNvid"
ExportAssets (56)Timeline Frame 1Symbol 177 as "GRvid"
ExportAssets (56)Timeline Frame 1Symbol 256 as "MCvid"
ExportAssets (56)Timeline Frame 1Symbol 262 as "eEgg"
ExportAssets (56)Timeline Frame 1Symbol 316 as "radio"
ExportAssets (56)Timeline Frame 1Symbol 321 as "VideoPlayer"
ExportAssets (56)Timeline Frame 1Symbol 324 as "Icon"
ExportAssets (56)Timeline Frame 1Symbol 325 as "FLVPlayback"
ExportAssets (56)Timeline Frame 1Symbol 317 as "__Packages.mx.video.FLVPlayback"
ExportAssets (56)Timeline Frame 1Symbol 326 as "__Packages.mx.video.VideoPlayer"
ExportAssets (56)Timeline Frame 1Symbol 327 as "__Packages.mx.video.INCManager"
ExportAssets (56)Timeline Frame 1Symbol 328 as "__Packages.mx.events.EventDispatcher"
ExportAssets (56)Timeline Frame 1Symbol 329 as "__Packages.mx.video.VideoError"
ExportAssets (56)Timeline Frame 1Symbol 330 as "__Packages.mx.video.UIManager"
ExportAssets (56)Timeline Frame 1Symbol 331 as "__Packages.mx.utils.Delegate"
ExportAssets (56)Timeline Frame 1Symbol 332 as "__Packages.mx.video.SMILManager"
ExportAssets (56)Timeline Frame 1Symbol 333 as "__Packages.mx.video.NCManager"
ExportAssets (56)Timeline Frame 1Symbol 334 as "__Packages.mx.video.CuePointManager"

Dynamic Text Variables

songBandSymbol 290 EditableText"<p align="left"><font face="Verdana" size="12" color="#428949" letterSpacing="0.000000" kerning="1">Band Name</font></p>"
songTitleSymbol 291 EditableText"<p align="left"><font face="Verdana" size="12" color="#428949" letterSpacing="0.000000" kerning="1"><b>Song Title</b></font></p>"
TimezSymbol 295 EditableText"<p align="left"><font face="Arial Black" size="15" color="#428949" letterSpacing="0.000000" kerning="1">0:00/0:00</font></p>"
texSymbol 335 EditableText"<p align="left"></p>"
texSymbol 344 EditableText"<p align="left"></p>"
texSymbol 346 EditableText"<p align="left"></p>"




http://swfchan.com/8/36941/info.shtml
Created: 14/5 -2019 20:28:56 Last modified: 14/5 -2019 20:28:56 Server time: 11/05 -2024 22:13:04