xanim man page on DigitalUNIX

Man page or keyword search:  
man Server   12896 pages
apropos Keyword Search (all sections)
Output format
DigitalUNIX logo
[printable version]

XAnim(1)							      XAnim(1)

NAME
       xanim - multiformat animation/video/audio viewer for X

SYNOPSIS
       xanim  [	 +Vnum	]  [  +Aaopts  ] [ +Ccopts ] [ +Ggopts ] [ +Mmopts ] [
	      +Ssopts ] [ +Wwopts ] [ +Zzopts ] [ +opts ] animfile [ [ +opts ]
	      [ animfile ] ... ]

DESCRIPTION
       XAnim is a program that can display animation/video/audio files of var‐
       ious formats on systems running X11.  XAnim currently supports the fol‐
       lowing animation types:

	      +	 FLI animations.
	      +	 FLC animations.
	      +	 IFF animations. The following features are supported:
	      +	 GIF87a and GIF89a files.
	      +	 GIF89a animation extension support.
	      +	 a  kludgy  text file listing gifs and what order to show them
		 in.
	      +	 DL animations. Formats 1, 2 and partial 3.
	      +	 Amiga PFX(PageFlipper Plus F/X) animations. TEMP DISABLED
	      +	 Amiga MovieSetter animations(For those Eric Schwartz fans).
	      +	 Utah Raster Toolkit RLE images and anims.
	      +	 AVI Animations.
	      +	 Quicktime Animations.
	      +	 SGI Movie Format Files.
	      +	 WAV audio files may have their sound added to	any  animation
		 type  that doesn't already have audio, by specifying the .wav
		 file after the animation file on the command line.
	      +	 AU audio files may have their sound added  to	any  animation
		 type  that doesn't already have audio, by specifying the .wav
		 file after the animation file on the command line.
	      +	 JFIF images. NOTE: use XV for single images. This is more for
		 animation of a sequence of JPEG images.
	      +	 MPEG animations. NOT FULLY SUPPORTED. NO AUDIO. And currently
		 only Type I Frames are displayed. Type B and  Type  P	frames
		 are  currently ignored, but will be added in future revs.  It
		 also doesn't handle MPEGs with audio streams.
	      +	 any combination of the above on the same command line.
	      +	 See the file "Formats.doc" for specific support  details  for
		 each format.
	      NOTE_1:
		 Please	     read     the     "README.dll",	"README.zlib",
		 "cinepak.readme", "indeo.readme" and "creative.readme" files

       XAnim also provides various options that allow the user to  alter  col‐
       ormaps, playback speeds, looping modes and can provide on-the-fly scal‐
       ing of animations with the mouse.

OPTIONS
       A + will generally turn an option on and a - will turn an  option  off.
       This can be reversed at compile time. (see xanim_config.h).

       In  each	 SubMenu,  the options can be run together with no intervening
       spaces. In the list of SubMenu options presented below, the first  let‐
       ter  given  is  the letter that specifies the SubMenu and should NOT be
       repeated if several SubMenu options are to be run together.

       For example, "+Cn +Cs10 +CF4" can also  be  written  as	"+Cns10F4"  or
       "+CF4s10n".

       A + or a - within a SubMenu will be an exit from that submenu.  Options
       will affect all animations following the	 invocation  of	 that  option.
       Some  options  may  be  changed in between animations without affecting
       previous animations.

       In the following sections, an num represents an integer number  and  an
       fnum  represents a floating point number. If a floating point number is
       of an integer amount, the . need not be specified. There should	be  no
       spaces between the option and the numbers.

       aopts SubMenu for Audio Options

	      +ADdev  AIX  Only. Specify audio device. Default is /dev/paud0/1
		      . Another common audio device  is	  /dev/acpa0/1	.  For
		      example: "+AD/dev/acpa0/1".

	      +Ae     Audio  Enable.  XAnim  will  ignore  audio  data if this
		      option is not used.

	      +Ak     This option allows XAnim to skip video frames  in	 order
		      to help keep video in sync with audio.  default is on.

	      +Am     Take  the audio from the next audio-only file and use it
		      with the video file previous to it.  Any	audio  already
		      existing	in  that  video	 file will be discarded. NOTE:
		      XAnim by default will add audio from an audio-only  file
		      to a previous video only(ie not audio) file. This option
		      just forces the issue if the previous file  already  has
		      audio.

	      +AM     Take  the audio from the next audio-only file and use it
		      with the video file previous to  it.  And	 in  addition,
		      scale  the  timing  of that video file to be of the same
		      duration of this audio file.  Any audio already existing
		      in that video file will be discarded.

	      +Apnum  This turns a hardware specific Audio port on or off. The
		      default  port  is	 selectable  in	 xanim_config.h.  It's
		      shipped with internal speaker as default.

	      +Asfnum Scale  Audio  playback  speed  by "fnum". Only the range
		      0.125 to 8.00 is allowed.	 NOTE:	Video  does  not  cur‐
		      rently scale with the audio.

		       0 - internal speaker

		       1 - headphones or external speaker

		       2 - line out

	      +Avnum  Sets  the	 inital Audio Volume(0-100) with 0 the lowest.
		      default is 40.

       copts SubMenu for Color Options

	      +C1     Create a colormap from the first frame  of  a  TrueColor
		      anim  and	 then  remap the remaining frames to this col‐
		      ormap. This can potentially add significant time to  the
		      startup  of  an  animation but usually results in better
		      colors. The animation needs  to  be  buffered  for  this
		      option  to  work. Not valid for TrueColor or DirectColor
		      displays(nor is it needed).

	      +C3     Convert TrueColor anims to  332(StaticColor).  TrueColor
		      anims  are animations that provide separate RGB info for
		      each pixel, rather than each pixel being an index into a
		      global  colormap. AVI(16bit CRAM), QT(RPZA and RLE depth
		      16 and 24) and URT RLE 24	 bit  anims  are  examples  of
		      TrueColor anims. This option is ignored for TrueColor or
		      DirectColor displays.

	      +CA     Create a colormap from each frame of a  TrueColor	 anim.
		      This can be useful if the colors radically change during
		      the course of the animation. This can take  a  VERY,VERY
		      long time at start up. Animation must be buffered.  This
		      option is ignored for TrueColor or DirectColor displays.

	      +Ca     Remap all images to single new cmap created from all  of
		      the colormaps.

	      +Cd     Use  Floyd-Steinberg  dithering  if needed for non-mono‐
		      chrome displays.	This will cause a reduction  in	 play‐
		      back speed.

	      +Cf     Forcibly remap to all frames to 1st frame's cmap.

	      +CF0    Disables +CF4.

	      +CF4    This  option samples the colors of true color animations
		      ahead of time and forms a color lookup table.  Beats the
		      just  truncating to a RGB 332 color table and IMHO beats
		      dithering.  See the +s option below(also in  copts  sub‐
		      menu).  NOTE: this is now on by default.

	      +Cg     Convert  TrueColor  anims	 to gray scale. This option is
		      ignored for TrueColor and DirectColor displays.

	      +Ch     Use histogram to aid in color reduction.	Histrogramming
		      is only done on frames that are buffered.

	      +Cm     This  option  is	currently needed if you want to dither
		      TrueColor anims to a 332	colormap.  Animation  must  be
		      buffered.	 Typically  +bC3dm  is the option to use. This
		      can take a VERY long time at start up.

	      +Cn     Don't create new colormap but  instead  allocate	colors
		      from the X11 Display's default cmap.

	      +Csnum  This  is	the  number of frames the +CF4 option looks at
		      ahead of time. More  frames  potentially	yields	better
		      colors  results,	but  takes  more  time	at  start  up.
		      default is 5.

       gopts SubMenu for Gamma Options

	      +Gafnum Set gamma of animation to be displayed.

	      +Gdfnum Set gamma of display. 1.0 is no change. gamma's  greater
		      than 1.0 typically brighten the animation.

       mopts SubMenu for Median-Cut Quantization Options

	      +Ma     compute box color from average of box.

	      +Mc     compute box color as center of box.

	      +Mbnum  Truncate rgb to num bits before quantizing.

       sopts SubMenu for Scaling Options

	      +Si     Half the height of IFF anims if they are interlaced.(Not
		      completely reliable since not all	 IFF  anims  correctly
		      identify themselves as interlaced).

	      +Sn     Prevents	X11 window from resizing to match animations's
		      size.

	      +Sr     Allow user to resize animation on the fly. Enlarging  an
		      animation can greatly reduce playback speed depending on
		      the power of the cpu.

	      +Ssfnum Scale the size of animation by fnum before displaying.

	      +Shfnum Scale the horizontal  size  of  the  animation  by  fnum
		      before displaying.

	      +Svfnum Scale  the vertical size of the animation by fnum before
		      displaying.

	      +Sxnum  Scale the animation to have width num before displaying.

	      +Synum  Scale the animation to have height num  before  display‐
		      ing.

	      +Sc     Copy  display  scaling factors to display buffering fac‐
		      tors.

	      +SSfnum Scale the size of the animation by fnum before buffering
		      it.

	      +SHfnum Scale  the  horizontal  size  of	the  animation by fnum
		      before buffering it.

	      +SVfnum Scale the vertical size of the animation by fnum	before
		      buffering it.

	      +SXnum  Scale  the  animation to have width num before buffering
		      it.

	      +SYnum  Scale the animation to have height num before  buffering
		      it.

	      +SC     Copy buffer scaling factors to display scaling factors.

       wopts SubMenu for Remote Window and Control Options.

	      NOTE:   See the file Remote_Window.doc for more details.

	      +Wid    Specify X11 Window id of window to draw into.

	      +Wd     Don't refresh window at end of anim.

	      +Wnstring
		      Use  property  string  for  communication.   Default  is
		      XANIM_PROPERTY

	      +Wp     Prepare anim, but don't start playing it.

	      +Wr     Resize X11 Window to fit anim.

	      +Wxnum  Position anim at x coordinate num.

	      +Wynum  Position anim at y coordinate num.

	      +Wc     Position relative to center of anim.

       zopts SubMenu for Special Options

	      +Ze     XAnim will exit after playing through command line once.

	      +Zpnum  XAnim pause at frame num and then wait for  user	input.
		      Several  pauses  may  be specified. Each group of pauses
		      will only affect	the  animation	immediately  following
		      them  on	the  command  line. Pauses will occur at least
		      once.

	      +Zpe    XAnim will pause on the last frame of the animation.

	      +Zr     This option pops up  the	Remote	Control	 Window.  This
		      overrides	 the  default condition set in xanim_config.h.
		      Remote Control support must be compiled into  XAnim  for
		      this to work.

	      +Zv     This option cause XAnim to exit prior to even displaying
		      the animation.  This is useful in conjunction  with  the
		      +v option if you just want to obtain info about the ani‐
		      mation without actually playing it.

       Normal Options

	      +b      Uncompress and buffer  images  before  displaying.  This
		      only  applies  to AVI, QT, IFF, FLI, FLC, JPEG, MPEG and
		      DL animations.  The rest(GIF87a, GIF89a,	PFX  and  RLE)
		      are  currently always uncompressed and buffered. This is
		      cleared by the +f option.

	      +B      Used X11 Shared Memory(if present) for unbuffered anima‐
		      tions only.(This is mutually exclusive with +b above).

	      +D      Use  X11	Multi  Buffering (if present) to smooth anima‐
		      tions by double-buffering.  Default is on.

	      +f      Don't load anim into memory, but read each section  only
		      when  needed.  This  is supported only for AVI, QT, IFF,
		      FLI, FLC, JPEG, MPEG and DL animations.  This option  is
		      cleared by the +b option.	 This saves memory at the cost
		      of speed.

	      +c      let xanim know that iff anim is a nonlooping one.

	      +dnum   debug switch.  num can be from  0(off)  to  5(most)  for
		      level of detail.

	      +F      Floyd-Steinberg dithering when needed.

	      +jnum   num  is  the number of milliseconds between frames. if 0
		      then the time specified in the  animation	 is  used  for
		      timing purposes.

	      +lnum   loop  animation  num number of times before moving on to
		      next animation.

	      +lpnum  ping-pong animation num number of times before moving on
		      to next animation.

	      +N      don't display images. Useful for benchmarking.

	      +o      turns on certain optimizations. See xanim.readme.

	      +p      Use  Pixmap  instead of Image in X11. This option has no
		      effect if the animation is buffered(either by default or
		      with the +b option).

	      +q      Prevents	XAnim from printing out the title header. Use‐
		      ful for when XAnim is called by other programs where  no
		      tty output is desired(doesn't affect +v or +d# options).

	      +root   Tiles animationvideo onto X11 root screen.

	      +r      Allow color cycling for IFF single images.

	      +R      Allow  color  cycling  for IFF anims. (default should be
		      off)

	      +T0     Title option 0. Title is just XAnim.

	      +T1     Title option 1. Title is current anim name. When anim is
		      stopped, the current frame number is included.

	      +T2     Title  option  2. Title is current anim name and current
		      frame number.

	      +v      Verbose mode. Gives  some	 information  about  animation
		      such as size, number of frames, etc.

	      +Vnum   Select  X11 Visual to use when displaying animation. The
		      num is obtained by using the +X option of xanim.

	      +Vclass Select the best X11 Visual of Class class when  display‐
		      ing the animation.  class can be anyone of the following
		      strings and is case insensitive. (ie StaTicGraY is  same
		      as staticgray).

		      staticgray    Select best StaticGray Visual.

		      grayscale	    Select best GrayScale Visual.

		      staticcolor   Select best StaticColor Visual.

		      pseudocolor   Select best PseudoColor Visual.

		      truecolor	    Select best TrueColor Visual.

		      directcolor   Select best DirectColor Visual.

	      +X      X11  verbose mode. Display information about the support
		      X11 visuals.

WINDOW COMMANDS
       Once the animation is up and running there are  various	commands  that
       can be entered into that animation window from the keyboard.

       q	 quit.

       Q	 Quit.

       g	 Stop color cycling.

       p	 Toggle ping pong flag for looping.

       r	 Restore original Colors(useful after g).

       w	 Restore original window size(useful after resizing).

       z	 This  pops  up	 or  removes the Remote Control Window. Remote
		 Control support must be compiled into XAnim for this to work.

       <space>	 Toggle. starts/stops animation.

       ,	 Single step back one frame.

       .	 Single step forward one frame.

       <	 Go back to start of previous anim.

       >	 Go forward to start of next anim.

       m	 Single step back one frame staying within anim.

       /	 Single step forward one frame staying within anim.

       -	 Increase animation playback speed.

       =	 Decrease animation playback speed.

       0	 Reset animation playback speed to original values.

       AUDIO RELATED WINDOW COMMANDS

       1	 Decrement volume by 10.

       2	 Decrement volume by 1.

       3	 Increment volume by 1.

       4	 Increment volume by 10.

       s	 Toggle. Audio Volume(MUTE). on/off.

       8	 Toggle. Main Speaker. on/off.

       9	 Toggle. Headphones. on/off.

MOUSE BUTTONS
       Once the animation is up and running the mouse buttons have the follow‐
       ing functions.

       <Left_Button>
		 Single step back one frame.

       <Middle_Button>
		 Toggle. starts/stops animation.

       <Right_Button>
		 Single step forward one frame.

BUFFERING, PIXMAPS and READ_FROM_FILE Options
       XAnim  by  default  will	 read  the  entire animation into memory. PFX,
       Moviesetter, GIF or URT RLE type animations are always uncompressed and
       stored in memory as individual images.

       For  the	 AVI, QT, IFF, FLI/FLC, JPEG, MPEG and DL animations, only the
       compressed delta is stored.  These deltas are  then  uncompressed  each
       time  they  need	 to be displayed. The buffer option(+b) may be used to
       potentially speed up playback by uncompressing and storing these images
       ahead of time. But more memory is used up in the process.

       When  an	 XPutImage  is	called, the image typically gets copied twice,
       once to memory and then from  there  onto  the  display.	 A  pixmap  is
       directly copied onto the display without the first copy. This is why it
       is sometimes much faster to use	the  pixmap  option(+p).   Each	 image
       isn't  converted	 into  a  pixmap until the first time it is displayed.
       This is why the first loop of an animation using this option  is	 some‐
       times slower than subsequent loops. While the pixmap option may improve
       playback speed, it will slow things down if on-the-fly scaling needs to
       be  performed. This is because XAnim no longer has direct access to the
       image and needs to get a copy of it before it can be scaled.

       The read from file option(+f) causes XAnim not to store the  compressed
       deltas in memory. Instead as each image is to be displayed, XAnim reads
       the corresponding compressed delta from the file, expands it  and  then
       displays	 it. While this can dramatically cut down on memory usage, the
       necessary reads from disk(or whatever) can slow	down  playback	speed.
       XAnim  still  needs to allocate one to three image buffers depending on
       the type of animation and the scaling options used. This option is only
       supported  for AVI, QT, FLI/FLC, IFF, JPEG, MPEG and DL animations. The
       BODY chunk of IFF animations is not included in this. As a  result,  an
       IFF animation that is made up of several BODY chunks will not currently
       benefit from this option.

SCALING Options
       There are two sets of scaling options. One  set,	 the  display  scaling
       factors,	  affects  the	size  of the animation as it is displayed. The
       other set, the buffer scaling factors, affect the size of the images as
       they  are  stored  in memory(buffered). The buffer scaling factors only
       affect animations  that	are  buffered  and  can	 greatly  increase  or
       decrease memory usage.

       These  two  sets	 are completely independent of each other. You can set
       the buffer scaling factors to 20 times the normal  animation  size  and
       not  affect  the	 size at which that animation is displayed. The images
       are stored at 20 times the normal size(and  at  400  times  the	memory
       usage),	but then get scaled back down to normal size before being dis‐
       played. NOTE: that an animation must be buffered in order for the  buf‐
       fer  scaling factors to have any affect on it. The display scaling fac‐
       tors affect all animations.

       You can create pixellation like affects by buffering the	 animation  at
       1/8  it's  normal  size, but keeping the display scaling factors at the
       original size. (IE "xanim +bSS0.125 anim.anim").

       Many times it's faster to store and display  an	animation  with	 large
       dimensions  at  half-size.  The option "+bSS0.5C" or "+bSS0.5s0.5" both
       will accomplish this. To save memory, you could even store  the	anima‐
       tion  at	 half  size  and  yet  display it at full size. "+bSS0.5" will
       accomplish this.

FORWARDS, BACKWARDS and OPTIMIZATION.
       Many type of animations(FLI/FLC/IFF/some AVI and	 QTs)  are  compressed
       with  forward playback in mind only. Each delta only stores the differ‐
       ence between the current frame and the previous frame.  As  a  results,
       most of these animations don't display correctly when played backwards.
       Even when buffered up, these may not work, since XAnim only stores  the
       smallest	 rectangle  that  encompasses  the  changes  from the previous
       frame. You can force XAnim to store the entire frame by specifying  the
       "-o"  option  to	 turn this optimization off. This will most likely use
       more memory and slow down the animation, since more of the image	 needs
       to be stored and/or displayed.

COLOR OPTIONS
       Most  of	 this  will be a TBD for a future rev and what's here might be
       sketchy, incomplete or just plain confusing.

       TrueColor and DirectColor displays don't need to worry  about  most  of
       these  options,	as  the	 animations can be displayed in their original
       colors(ignoring monitor variations etc). However, TrueColor and Direct‐
       Color displays can't display animations that employ color cycling tech‐
       niques where the colormap changes from  frame  to  frame.   DirectColor
       could potentially support this, but not TrueColor.

       For  the	 rest of the displays, the problem becomes matching the colors
       in the animations to the available colors of  the  Display.   For  most
       PseudoColor  displays  this means 256 colors. Many of which are already
       in use by various other programs. XAnim defaults to creating  it's  own
       colormap	 and  using  all the colors from that. The window manager then
       installs this new colormap, whenever the mouse pointer  is  inside  the
       XAnim  animation	 window(Sometimes  a  specific	action	is required to
       change the ColorMap Focus, like clicking in the window  or  pressing  a
       specific	 key).	In  any case, this action usually causes all the other
       colors on the screen to be temporarily "messed-up" until the  mouse  is
       moved out of the animation window. The alternative, is to use the "+Cn"
       option. Now XAnim tries allocating all the colors  it  needs  from  the
       current	colormap.  If  it can't get a certain color, then XAnim choose
       one that is "close" to this certain color. Close	 is  completely	 arbi‐
       trary. The animation is now displayed in colors that are different than
       the original colors. This difference may or may not be noticeable.

       Another big problem is when the animations are what I called  TrueColor
       animations.  Where  each	 pixel is stored as RGB triplets. For example,
       AVI 16 bit CRAM animations. Each pixel has 5 bits of  Red,  5  bits  of
       Green  and 5 bits of Blue info associated with it. This means there can
       be up to 32768 unique colors in each image.  And	 on  most  PseudoColor
       displays	 we  can only display 256 unique colors. Beside getting better
       displays, what can we do? XAnim defaults to truncating the RGB informa‐
       tion  from  555 to 332. That is to 3 bits of Red, 3 bits of Green and 2
       bits of Blue. Less on Blue because the human eye is more	 sensitive  to
       Red and Green than Blue.	 This 332 colormap happens to be 256 colors in
       size, which nicely fits in with our display. If our display only had 64
       colors,	then XAnim is smart enough to truncate things down to 222. Now
       the problem is the colors of the displayed anim are noticeably  differ‐
       ent than the original colors.  Typically you can see color banding etc.
       While this is fine to get a feel for the animation, we can  do  better.
       One  of the solutions XAnim currently offers is the "+bC1" option. What
       this does is choose the the best 256 colors from the first image of the
       animation.  Then each pixel of each subsequent image is remapped to one
       of these 256 colors.  This takes up some CPU time  up  front  and  more
       memory  since  each image needs to be buffered, but results in a colors
       that are closer to the originals.  Another option, "+bCA", chooses  the
       best  256 from each image, then 256 colors from all these colormaps are
       chosen as the final colormap.  This is useful  if  the  colors  in  the
       first  image  aren't  representative of the rest of the animation. This
       can be very slow.  Another option that is  supported,  but  not	really
       optimized  for yet is "+bC3dm". This causes XAnim to use a 332 colormap
       and then apply a Floyd-Steinberg dither algorithm to each image.	  Cur‐
       rently  this  is	 very slow. Different dithers(like Ordered) and better
       optimizations might speed this up in future revs. In general,  handling
       of TrueColor animations in XAnim needs to be improved.

       Another	scenario  where	 colors	 need  to be remapped, is when several
       images or animations with different colormaps  need  to	be  displayed.
       Changing the colormap usually results in an annoying flicker. One solu‐
       tion to this is to remap all of the images/animations to the same  col‐
       ormap.  The "+Ca" option chooses the best colors from all the colormaps
       and then remaps all the images to it. The "+Cf" option,	simply	remaps
       everything  to  the first colormap.  The "+Ch" option is useful when an
       animation's colormap specifies a lot of colors that aren't used.	 XAnim
       looks  through  each  buffered  image of the animation and makes a his‐
       togram of the useage of each color. This information is	then  used  to
       weedout unused or rarely used colors.

QUICKTIME ANIMATIONS
       Quicktime  animations  are usually stored in two separate files. One is
       call a data fork and ends with a ".data". The other is a resource  fork
       and  ends  in  a	 ".rsrc".  Sometimes  these animations are in a "flat‐
       tened/merged fork" format, where	 everything  is	 put  into  one	 file.
       There's	no  standard  naming format for these types of files, although
       usually .qt or .mov is used.

       For example, if you have a quicktime animation made  up	of  two	 files
       named:  "spin.rsrc"  and "spin.data",  you can display them using Xanim
       with  either  of	 the  following	 commands  "xanim  spin"   or	"xanim
       spin.rsrc".   XAnim  is	smart  enough  to  add/modfiy  the ".rsrc" and
       ".data" endings as needed.

       If you use AUFS from the Columbia  Appletalk  Package,  then  Macintosh
       files  have  their  data	 fork  stored  in  the expected place, and the
       resource fork is in a file with the same name in a .resource  subdirec‐
       tory.  Therefore,  if the data fork is in "spin", and the resource fork
       is in ".resource/spin", the movie can be displayed with "xanim spin".

       For "flattened/merged_fork" quicktime animations, you need  to  specify
       the entire file name.

       NOTE: XAnim doesn't support 100% of the quicktime format.

AUTHOR
       Mark Podlipec

       podlipec@ici.net

       http://xanim.va.pubnix.com/home.html	     http://smurfland.cit.buf‐
       falo.edu/xanim/home.html		   http://www.tm.informatik.uni-frank‐
       furt.de/xanim/

4th Berkeley Distribution	    21Mar99			      XAnim(1)
[top]

List of man pages available for DigitalUNIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net