2
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1-Based Variant V1.0//EN"
4
<!ENTITY kappname "&aktion;">
5
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
6
<!ENTITY % addindex "IGNORE">
9
<book lang="&language;">
12
<title>The &aktion; Handbook</title>
16
<firstname>Chris</firstname>
17
<othername>D.</othername>
18
<surname>Corbettis</surname>
20
<address><email>chris@corbettis.fsnet.co.uk</email></address>
24
<othercredit role="developer">
25
<firstname>Guillermo</firstname>
26
<othername>P.</othername>
27
<surname>Marotte</surname>
28
<affiliation><address><email>g-marotte@usa.net</email></address>
30
<contrib>Developer</contrib>
33
<othercredit role="reviewer">
34
<firstname>Lauri</firstname>
35
<surname>Watts</surname>
37
<address><email>lauri@kde.org</email></address>
39
<contrib>Reviewer</contrib>
42
<!-- TRANS:ROLES_OF_TRANSLATORS -->
47
<holder>Chris D. Corbettis</holder>
50
<legalnotice>&FDLNotice;</legalnotice>
52
<date>16/12/2000</date>
53
<releaseinfo>1.00.00</releaseinfo>
56
<para>&aktion; is a video player</para>
60
<keyword>KDE</keyword>
61
<keyword>aKtion</keyword>
62
<keyword>kdemultimedia</keyword>
63
<keyword>mpeg</keyword>
64
<keyword>avi</keyword>
65
<keyword>QuickTime</keyword>
66
<keyword>gif</keyword>
67
<keyword>xanim</keyword>
72
<chapter id="introduction">
73
<title>Introduction</title>
75
<para>&aktion; is a video player front end for
76
<application>Xanim</application>. It supports numerous video codecs
77
found on the Internet, including mpeg1, QuickTime and animated gif.
78
Please report any problems or feature requests to the &kde; mailing
83
<chapter id="using-kapp">
84
<title>Using &aktion;</title>
87
<screeninfo>Here's a screenshot of &aktion;</screeninfo>
90
<imagedata fileref="aktion.png" format="PNG"/>
93
<phrase>Screenshot</phrase>
98
<para>Basic use of &aktion; is very simple.
99
<mousebutton>Right</mousebutton> click in the main window or select the
100
<guiicon>open</guiicon> icon in the toolbar, choose the movie you wish
101
to watch, and press the <guibutton>OK</guibutton> button.</para>
103
<sect1 id="context-menu">
104
<title>The Context Menu</title>
106
<para>The Context menu is accessed by clicking the
107
<mousebutton>right</mousebutton> mouse button over the playback window.
108
It is used to quickly change the playback size, open video files and
109
access the video file information dialog.</para>
111
<para>The Context menu is described further in
112
<xref linkend="video-context-menu"/>.</para>
116
<sect1 id="aktion-fullscreen">
117
<title>Full Screen &aktion;</title>
119
<para>It is possible to watch video playback in full-screen.
120
<mousebutton>Right</mousebutton> click anywhere in &aktion; and choose
121
<guimenuitem>Full Screen</guimenuitem>. To exit,
122
<mousebutton>left</mousebutton> or <mousebutton>right</mousebutton>
123
click on the screen. You may need to enable this feature if it does not
124
currently work.</para>
126
<para>If possible, use the XFree86 VidMode and DGA extensions. These
127
extensions allow the application to automatically change the screen
128
resolution to better fit the size of the video. Traditionally a video
129
of, say, 320x200 would be scaled up on a 800x600 display. This scaling
130
requires extra work and the result is not appealing at all. In the
131
setup dialog there are two check boxes of interest:</para>
135
<term><guilabel>Use XFree86-VidModeExtensions (if available)</guilabel></term>
136
<listitem><para><action>enable full screen mode</action></para></listitem>
139
<term><guilabel>Grab the mouse</guilabel></term>
140
<listitem><para>&aktion;<action> takes control of the mouse in full screen
141
mode</action></para></listitem>
148
<chapter id="commands">
149
<title>Command Reference</title>
151
<sect1 id="video-context-menu">
152
<title>The Video Context Menu</title>
154
<para>The Video Context Menu can be reached by <mousebutton>right</mousebutton>
155
clicking inside the video window while a movie is loaded. </para>
159
<term><guimenuitem>Video Information</guimenuitem></term>
160
<listitem><para>Displays a popup with information about the currently loaded
161
movie, including the number of frames, the type of encoding, and its original
162
pixel size.</para></listitem>
166
<term><guimenuitem>Open File</guimenuitem></term>
167
<listitem><para>Opens a standard &kde; <quote>open file</quote> dialog
168
box, with predefined filters for the file formats supported by
169
&aktion;.</para></listitem>
173
<term><guimenuitem>Setup</guimenuitem></term>
174
<listitem><para>Opens the <guilabel>Setup</guilabel> dialog, where you can
175
configure &aktion;'s behavior.</para></listitem>
179
<term><guimenuitem>Original Size</guimenuitem></term>
180
<listitem><para>Resizes the &aktion; window to the original size of the movie.
181
This obviously has no effect unless you've already resized the movie at some
182
point.</para></listitem>
186
<term><guimenuitem>Half Size</guimenuitem></term>
187
<listitem><para>Resizes the &aktion; window to half the original size of the
188
movie.</para></listitem>
192
<term><guimenuitem>Double Size</guimenuitem></term>
193
<listitem><para>Resizes the &aktion; window to double the original size of the
194
movie.</para></listitem>
198
<term><guimenuitem>Maximized</guimenuitem></term>
199
<listitem><para>Resizes the &aktion; window to the maximum size possible
200
to fit on your screen. The movie will maintain its own aspect ratio
201
(that is, the relationship between its height and width) rather than
202
distorting to fit your screen. A tall thin movie will still be a tall
203
thin movie, but now maximized so that the largest dimension matches your
204
screens largest dimension, with the exception of permanent screen
205
features such as the &kicker; panel.</para></listitem>
209
<term><guimenuitem>Full Screen</guimenuitem></term>
210
<listitem><para>Lets &aktion; take over your screen.</para>
211
<para>Much more information is available in <xref
212
linkend="aktion-fullscreen"/></para></listitem>
219
<title>The Toolbar</title>
222
<screeninfo>The &aktion; toolbar</screeninfo>
225
<imagedata fileref="aktiontoolbar.png" format="PNG"/>
228
<phrase>Toolbars</phrase>
233
<para>The toolbar is displayed along the bottom edge of the &aktion;
234
window. It contains icons as follows:</para>
238
<term><guiicon>Open</guiicon></term>
239
<listitem><para>Opens a standard &kde; <quote>open file</quote> dialog
240
box, with predefined filters for the file formats supported by
241
&aktion;.</para></listitem>
245
<term><guiicon>Play</guiicon></term>
246
<listitem><para>Start playing the movie.</para></listitem>
250
<term><guiicon>Stop</guiicon></term>
251
<listitem><para>Stop playing the movie.</para></listitem>
255
<term><guiicon>Rewind</guiicon></term>
256
<listitem><para>Rewind the movie.</para></listitem>
260
<term><guiicon>Fast Forward</guiicon></term>
261
<listitem><para>Fast Forward the movie.</para></listitem>
265
<term><guiicon>Setup</guiicon></term>
266
<listitem><para>Opens the <link linkend="aktion-setup">Setup</link>
267
dialog.</para></listitem>
271
<term><guiicon>Help</guiicon></term>
272
<listitem><para>Opens the &aktion; help page (this document).</para></listitem>
276
<para>Just above the toolbar, on the right of the &aktion; window, is a
277
volume slider. This can be used to adjust the volume of the movie, from
278
lower (to the left) to higher (to the right).</para>
282
<sect1 id="aktion-setup">
283
<title>The &aktion; Setup dialog</title>
285
<para>The Setup dialog contains five main tabs:</para>
288
<listitem><para><link
289
linkend="setup-audio"><guilabel>Audio</guilabel></link></para></listitem>
290
<listitem><para><link
291
linkend="setup-color"><guilabel>Color</guilabel></link></para></listitem>
292
<listitem><para><link
293
linkend="setup-scaling"><guilabel>Scaling</guilabel></link></para></listitem>
294
<listitem><para><link
295
linkend="setup-capture"><guilabel>Capture</guilabel></link></para></listitem>
296
<listitem><para><link
297
linkend="setup-others"><guilabel>Others</guilabel></link></para></listitem>
300
<para>The dialog also contains standard <guibutton>OK</guibutton> and
301
<guibutton>Cancel</guibutton> buttons. Click <guibutton>OK</guibutton>
302
to close the dialog and save all your changes, and click
303
<guibutton>Cancel</guibutton> to close the dialog and discard all your
306
<sect2 id="setup-audio">
307
<title>Setup <guilabel>Audio</guilabel></title>
309
<para>This tab contains options relating to audio during movies.</para>
313
<term><guilabel>Audio enable</guilabel></term>
314
<listitem><para>Enables audio. If this is unchecked, there will be no sound
315
during movies.</para></listitem>
319
<term><guilabel>Skip frames for audio sync</guilabel></term>
320
<listitem><para>Checking this allows &aktion; to skip over occasional video
321
frames, in order to keep the video and audio synchronised. Enable this if you
322
have a slower machine and find that the video and audio are running at
323
different speeds - often the audio track will finish while the video track is
324
only part way through. There will be a loss of video quality if this is
325
selected, but it will range from imperceptible to almost unwatchable, based
326
mostly on the speed of your machine and how much memory it
327
has.</para></listitem>
331
<term><guilabel>Show volume slider</guilabel></term>
332
<listitem><para>Enable or disable display of the volume slider, above
333
and to the right of the toolbar. This is enabled by default.</para></listitem>
337
<term><guilabel>Initial volume (0-100)</guilabel></term>
338
<listitem><para>Sets the volume at the start of a movie. Changes made
339
on the volume slider will be relative to this level. You may use the
340
spinners to change the value, or type directly in the box.</para></listitem>
346
<sect2 id="setup-color">
347
<title>Setup <guilabel>Color</guilabel></title>
349
<para>This tab provides options to configure &aktion;'s use of color
350
during movies.</para>
354
<term><guilabel>Color mapping (non TrueColor displays)</guilabel></term>
355
<listitem><para>This section applies only to displays of less than
356
TrueColor (16 bit) If you have problems with colors appearing strangely, try
357
these options.</para>
361
<term><guilabel>TrueColor to 322 (static color)</guilabel></term>
362
<listitem><para>If selected, &aktion; will convert movies to the
363
Static322 color map before displaying them.</para></listitem>
367
<term><guilabel>Color lookup table</guilabel></term>
368
<listitem><para>If this item is selected, &aktion; will create a palette
369
to use as a lookup table. You can select how many frames to look ahead
370
to create the table, but the higher the number you select, the more
371
intense the memory use will be. The default is 5</para></listitem>
375
<term><guilabel>TrueColor to grayscale</guilabel></term>
376
<listitem><para>&aktion; will convert the movie to grayscale if this
377
item is selected.</para></listitem>
381
<term><guilabel>None</guilabel></term>
382
<listitem><para>The default is <guilabel>None</guilabel> - &aktion; will
383
not perform any color mapping. You should only try the other options if
384
you have trouble with colors during movie playback.</para></listitem>
391
<term><guilabel>Gamma of display</guilabel>:</term>
392
<listitem><para>Set gamma of display. Gamma values greater than 1.0
393
typically brighten the animation.</para></listitem>
399
<sect2 id="setup-scaling">
400
<title>Setup <guilabel>Scaling</guilabel></title>
402
<para>This tab contains items relating to the display size of the
407
<term><guilabel>Display scale</guilabel></term>
408
<listitem><para>Sets the size of the movie, in relation to its original
409
size</para> <para>You may choose from any of the following values</para>
411
<member>Original size</member>
412
<member>Half size</member>
413
<member>Double size</member>
414
<member>Maximised</member>
415
<member>Full Screen</member>
420
<term><guilabel>Full screen</guilabel></term>
421
<listitem><para>Further options relating to using &aktion; in full screen
425
<term><guilabel>Use XFree86-VidModeExtensions (if available)</guilabel></term>
426
<listitem><para>Enables full screen mode. Explained further in the
427
section on <link linkend="aktion-fullscreen">Using &aktion;
428
fullscreen</link></para></listitem>
431
<term><guilabel>Grab the mouse</guilabel></term>
432
<listitem><para>Takes control of the mouse while in full screen
433
mode.</para></listitem>
442
<sect2 id="setup-capture">
443
<title>Setup <guilabel>Capture</guilabel></title>
445
<para>&aktion; allows you to <quote>capture</quote> or take a
446
<quote>snapshot</quote> of frames from the movie you are viewing, by
447
simply pressing the key <keycap>C</keycap>. This tab contains options
448
relating to this feature.</para>
452
<term><guilabel>Output file format</guilabel></term>
453
<listitem><para>Choose what format your captures will be saved as. You may
454
choose from the following:</para>
458
<member>jpeg</member>
467
<para>The default is png</para></listitem>
470
<term><guilabel>Output file directory</guilabel>:</term>
471
<listitem><para>Choose where the screen captures will be saved. The default is
472
<filename>~</filename> (your home directory.) You may type a path to a
473
different directory directly in the text box, or you can press the
474
<guibutton>...</guibutton> to open a file selection dialog and browse to the
475
desired location.</para></listitem>
481
<sect2 id="setup-others">
482
<title>Setup <guilabel>Others</guilabel></title>
484
<para>This tab contains other miscellaneous options.</para>
488
<term><guilabel>Video Loading</guilabel></term>
489
<listitem><para>This section contains options relating to pre-loading of
490
movies. You may choose one of the following:</para>
493
<term><guilabel>Preload animation into memory</guilabel></term>
494
<listitem><para>Loads the whole animation into your computers memory before it
495
begins to play.</para></listitem>
498
<term><guilabel>Preload and uncompress animation</guilabel></term>
499
<listitem><para>Loads the whole animation into your computers memory, and
500
uncompresses it, before beginning to play it.</para></listitem>
503
<term><guilabel>Read each sector only when needed</guilabel></term>
504
<listitem><para>Performs no preloading, reading each section of the movie from
505
disk as it's needed.</para></listitem>
508
<para>The default is <guilabel>Read each sector only when
509
needed</guilabel></para></listitem>
513
<term><guilabel>Use X11 shared memory</guilabel></term>
514
<listitem><para>This is unavailable if you chose "<guilabel>Preload and
515
uncompress animation</guilabel>" in the section above.It is deselected by
516
default.</para></listitem>
519
<term><guilabel>Use X11 multi buffering</guilabel></term>
520
<listitem><para>If selected, &aktion; will use X11 Buffering (if present) to
521
smooth animations by double-buffering. It is selected by
522
default.</para></listitem>
525
<term><guilabel>Use Pixmap instead of Image in X11</guilabel></term>
526
<listitem><para>If selected, &aktion; will use Pixmap instead of Image in
527
X11shared. This option has no effect if the animation is
528
buffered.</para></listitem>
531
<term><guilabel>Initial directory</guilabel></term>
532
<listitem><para>Set the directory that is shown when you choose to open a new
533
movie. You may type a value directly in the text box, or use the
534
<guibutton>...</guibutton> button to browse to your preferred location. Of
535
course, this is only the default directory, and you can browse to another
536
location when actually opening movies. By default this is empty, which in most
537
cases results in &aktion; beginning to look for movies from your home
538
directory.</para></listitem>
542
<term><guilabel>Loop animation</guilabel></term>
543
<listitem><para>If selected, when the movie reaches its end, it will begin over
544
at the start, until you press the <guiicon>Stop</guiicon>
545
button.</para></listitem>
549
<term><guilabel>Automatically start playing video</guilabel></term>
550
<listitem><para>If this is chosen, &aktion; will begin playing the selected
552
as soon as you have selected it. If this is not checked, you will have to
553
press <guiicon>play</guiicon> yourself to start playing the
554
movie.</para></listitem>
558
<term><guilabel>Extra XAnim parameters</guilabel></term>
560
<listitem><para>If you wish to pass any extra parameters to the underlying
561
<application>XAnim</application> application, you may enter them
562
here.</para></listitem>
572
<chapter id="developers">
573
<title>Developer's Guide to &aktion;</title>
575
<para>&aktion; includes the <classname>KXAnim</classname> widget wrapper, with
577
you can include video playback in your own programs.</para>
579
<!-- Use refentries to describe APIs. Refentries are fairly complicated and you
580
should consult the docbook reference for further details. The example below was
581
taken from that reference and shortened a bit for readability. -->
583
<refentry id="re-1007-kanim">
586
<refentrytitle>KXAnim</refentrytitle>
587
<refmiscinfo>KXAnim Class Reference</refmiscinfo>
591
<refname>KXAnimChildren</refname>
592
<refpurpose>A xanim wrapper to allow video playing in your apps.</refpurpose>
597
<date>18/08/2000</date>
598
</refsynopsisdivinfo>
603
KXAnim (QWidget *parent, const char *name=0)
605
void setFile (QString file)
606
void setAutoResize (bool val)
607
bool getAutoResize ()
609
void setLoop (bool val)
611
QString getVideoFileName ()
612
int getVideoHeight ()
614
float getVideoSpeed ()
615
int getVideoFrames ()
616
QString getVideoCodec ()
617
QString getErrorCode ()
618
QString getErrorString ()
621
void resetXAnimDefaults ()
622
void setAudio (bool val)
623
void setAudioSync (bool val)
624
void setInitialVolume (int val)
625
enum colorMap { static332, lookupTable, grayScale, none }
626
void setColorMapping (colorMap val)
627
void setColorAhead (int val)
628
void setGammaDisplay (float val)
629
void setResizing (bool val)
630
void setScaleFactor (float val)
631
void setScaleHFactor (float val)
632
void setScaleVFactor (float val)
633
void setScaleWidth (int val)
634
void setScaleHeight (int val)
635
void setScaleDisplayToBuffer (bool val)
636
void setScaleFactorB (float val)
637
void setScaleHFactorB (float val)
638
void setScaleVFactorB (float val)
639
void setScaleWidthB (int val)
640
void setScaleHeightB (int val)
641
void setScaleBufferToDisplay (bool val)
642
void setLoading (int val)
643
void setX11Shared (bool val)
644
void setMultiBuffer (bool val)
645
void setUsePixmap (bool val)
646
void setX11VisualClass ( const char *val)
647
void setPauseAt (int val)
648
void setExtraParameters (const char *val)
649
void setExecutable (const char *val)
658
void stepForwardWA ()
661
void volumeIncrement ()
662
void volumeDecrement ()
663
void setVolume (int v)
670
void changeProperty ( const char * c)
671
virtual void closeEvent ( QCloseEvent *)
672
virtual void mousePressEvent ( QMouseEvent *)
677
void mouseClick ( QMouseEvent *)
682
<title>Detailed Description of <classname>KXAnim</classname></title>
684
<para>#include <kxanim.h></para>
686
<para>Inherits: <classname>QWidget</classname></para>
688
<para>Widget class for video playing</para>
690
<para>This widget is an <application>xanim</application> wrapper to
691
easily allow the video playing on your applications.</para>
699
<funcdef><function>KXAnim</function></funcdef>
700
<paramdef>QWidget <parameter>*parent</parameter></paramdef>
701
<paramdef>const char <parameter>*name=0</parameter></paramdef>
703
</funcsynopsis> [public] </term>
704
<listitem><para>Constructor. The parent argument is <emphasis>NOT</emphasis>
705
optional.</para></listitem>
712
<funcdef>void <function>setFile</function></funcdef>
713
<paramdef>QString <parameter>file</parameter></paramdef>
715
</funcsynopsis> [public] </term>
716
<listitem><para>Use this method to tell the player the name of the file to
717
play. The file will not start to play until you call the
718
<function>play()</function> slot. You need to call <function>stop()</function>
719
before you can set a new filename. </para>
720
<para>After calling this method, you should wait for an stopped signal. Just then,
721
the information about the file will be available.</para>
722
<para>Also check for <returnvalue>KXAnim::getErrorNumber</returnvalue> and
723
<function>getErrorString</function> to know if there was some
724
error.</para></listitem>
731
<funcdef>void <function>setAutoResize</function></funcdef>
733
<parameter><replaceable>val</replaceable></parameter></paramdef>
735
</funcsynopsis> [public] </term>
736
<listitem><para>If <parameter>val</parameter>==<returnvalue>true</returnvalue>,
737
the widget will resize by himself after the <function>setFile()</function> to
738
fit to the size of the video. If
739
<parameter>val</parameter>==<returnvalue>false</returnvalue>, the video size
740
will be adjusted to fit to the widget size.</para>
741
<para>The size of the widget is automatically updated by
742
<function>setFile</function> and play But if you need to know the effective size
743
of the widget *before* you call <function>play</function>, you need to call
744
<function>updateSize</function> manually.</para>
745
<para>Default is <returnvalue>true</returnvalue></para></listitem>
752
<funcdef>bool <function>getAutoResize</function></funcdef><void/>
754
</funcsynopsis> [public] </term>
755
<listitem><para>Returns the auto-resize state (see
756
<function>setAutoResize</function> ).</para></listitem>
763
<funcdef>void <function>updateSize</function></funcdef><void/>
765
</funcsynopsis> [public] </term>
767
<para>Updates the widget size to fit video size (taking care of the scale
768
factors that applies). See <function>setAutoResize</function>
776
<funcdef>void <function>setLoop</function></funcdef>
777
<paramdef>bool <parameter><replaceable>val</replaceable></parameter></paramdef>
779
</funcsynopsis> [public] </term>
781
<para>If <parameter>val</parameter>==<returnvalue>true</returnvalue>, the video
782
will loop forever.</para>
783
<para>Default is <returnvalue>true</returnvalue></para></listitem>
790
<funcdef>bool <function>getLoop</function></funcdef><void/>
792
</funcsynopsis> [public] </term>
793
<listitem><para>Returns the loop state ( see <function>setLoop</function>
801
<funcdef>QString <function>getVideoFileName</function></funcdef><void/>
803
</funcsynopsis> [public] </term>
804
<listitem><para>Returns the current video file name (or an empty string, if
805
there's no video yet).</para></listitem>
812
<funcdef>int <function>getVideoHeight</function></funcdef><void/>
814
</funcsynopsis> [public] </term>
815
<listitem><para>Returns the video height (in pixels).</para></listitem>
822
<funcdef>int <function>getVideoWidth</function></funcdef><void/>
824
</funcsynopsis> [public] </term>
825
<listitem><para>Returns the video height (in pixels).</para></listitem>
832
<funcdef>float <function>getVideoSpeed</function></funcdef>
833
<paramdef></paramdef>
834
</funcprototype></funcsynopsis> [public] </term>
835
<listitem><para>Returns the video playback speed (in frames per
836
second).</para></listitem>
843
<funcdef>int <function>getVideoFrames</function></funcdef><void/>
845
</funcsynopsis> [public] </term>
846
<listitem><para>Returns the number of frames in the video.</para></listitem>
853
<funcdef>QString <function>getVideoCodec</function></funcdef><void/>
855
</funcsynopsis> [public] </term>
856
<listitem><para>Returns the string that describes the video
857
codec.</para></listitem>
864
<funcdef>QString <function>getErrorCode</function></funcdef><void/>
866
</funcsynopsis> [public] </term>
867
<listitem><para>Returns the the error code number. You should check this number
868
after a <function>setFile</function>. If the code is
869
<returnvalue>zero</returnvalue> , the there were no errors. To get a string
870
containing a description see
871
<function>getErrorCode</function>.</para></listitem>
878
<funcdef>QString <function>getErrorString</function></funcdef><void/>
880
</funcsynopsis> [public] </term>
881
<listitem><para>Returns the string that describes the error during
882
<function>setFile</function>.</para></listitem>
889
<funcdef>bool <function>isPlaying</function></funcdef><void/>
891
</funcsynopsis> [public] </term>
892
<listitem><para>Returns <returnvalue>true</returnvalue> is the video is in play
893
mode. Otherwise it returns <returnvalue>false</returnvalue>.</para></listitem>
900
<funcdef>bool <function>isActive</function></funcdef><void/>
902
</funcsynopsis> [public] </term>
903
<listitem><para>Returns <returnvalue>true</returnvalue> is the video is
904
active. Otherwise it returns <returnvalue>false</returnvalue>. The widget is
905
<emphasis>NOT</emphasis> Active only when it's stopped. Therefore, you can use
906
this method to check if the video is REALLY stopped. </para></listitem>
913
<funcdef>void <function>resetXAnimDefaults</function></funcdef><void/>
915
</funcsynopsis> [public] </term>
916
<listitem><para>This method reset all the configuration parameters to their
917
default values.</para></listitem>
924
<funcdef>void <function>setAudio</function></funcdef>
925
<paramdef>bool <parameter>val</parameter></paramdef>
927
</funcsynopsis> [public] </term>
928
<listitem><para>If <parameter>val</parameter>==<returnvalue>true</returnvalue>,
929
enables sound output.</para>
930
<para>Default is <returnvalue>true</returnvalue></para>
938
<funcdef>void <function>setAudioSync</function></funcdef>
939
<paramdef>bool <parameter>val</parameter></paramdef>
941
</funcsynopsis> [public] </term>
942
<listitem><para>If <parameter>val</parameter>==<returnvalue>true</returnvalue>,
943
allows <application>xanim</application> skip video frames for audio sync.</para>
944
<para>Default is <returnvalue>true</returnvalue></para></listitem>
951
<funcdef>void <function>setInitialVolume</function></funcdef>
952
<paramdef>int <parameter>val</parameter></paramdef>
954
</funcsynopsis> [public] </term>
955
<listitem><para>Sets the initial audio volume.</para>
956
<para>Default is <returnvalue>40</returnvalue></para></listitem>
961
<!-- Lauri: find out how to do this one!! -->
962
enum colorMap ( static332, lookupTable, grayScale, none ) [public]
964
<para>See setColorMapping .</para>
965
</listitem></varlistentry>
971
<funcdef>void <function>setColorMapping</function></funcdef>
972
<paramdef>colorMap <parameter>val</parameter></paramdef>
974
</funcsynopsis> [public]</term>
975
<listitem><para>Tells <classname>KXAnim</classname> which type of color mapping
976
to use for non truecolor displays.</para>
978
<parameter>val</parameter>==<returnvalue>KXAnim::static322</returnvalue>,
979
<application>xanim</application> will convert truecolor anims to
982
<parameter>val</parameter>==<returnvalue>KXAnim::lookupTable</returnvalue>,
983
<application>xanim</application> will sample the color of truecolor animations
984
ahead of time and forms a color lookup table.</para>
986
<parameter>val</parameter>==<returnvalue>KXAnim::grayScale</returnvalue>,
987
<application>xanim</application> will convert TrueColor animations to gray
989
<para>Those three option are ignored for TrueColor and DirectColor
991
<para>if <parameter>val</parameter>==<returnvalue>KXAnim::none</returnvalue>,
992
<application>xanim</application> will use the default color mapping.</para>
993
<para>Default is <returnvalue>KXAnim::none</returnvalue></para></listitem>
1000
<funcdef>void <function>setColorAhead</function></funcdef>
1001
<paramdef>int <parameter>val</parameter></paramdef>
1003
</funcsynopsis> [public] </term>
1004
<listitem><para>This sets the number of frames ahead to use for the look up
1005
table when using <returnvalue>KXAnim::lookupTable</returnvalue> in
1006
<function>setColorMapping</function>.</para>
1007
<para>Default is <returnvalue>5</returnvalue></para>
1008
</listitem></varlistentry>
1014
<funcdef>void <function>setGammaDisplay</function></funcdef>
1015
<paramdef>float <parameter>val</parameter></paramdef>
1017
</funcsynopsis> [public] </term>
1018
<listitem><para>Set gamma of display. Gamma's greater than 1.0 typically
1019
brighten the animation.</para>
1020
<para>Default is <returnvalue>1.0</returnvalue></para></listitem>
1027
<funcdef>void setResizing</funcdef>
1028
<paramdef>bool <parameter>val</parameter></paramdef>
1030
</funcsynopsis> [public] </term>
1031
<listitem><para>If <parameter>val</parameter>==<returnvalue>true</returnvalue>,
1032
the video size can be changed "on the fly".</para>
1033
<para>Default is <returnvalue>true</returnvalue></para></listitem>
1040
<funcdef>void <function>setScaleFactor</function></funcdef>
1041
<paramdef>float <parameter>val</parameter></paramdef>
1043
</funcsynopsis> [public] </term>
1044
<listitem><para>Scale the size of anim by "<parameter>val</parameter>" before
1046
<para>Default is <returnvalue>1.0</returnvalue> (no scaling)</para></listitem>
1053
<funcdef>void <function>setScaleHFactor</function></funcdef>
1054
<paramdef>float <parameter>val</parameter></paramdef>
1056
</funcsynopsis> [public]</term>
1057
<listitem><para>Scale the horizontal size of anim by
1058
"<parameter>val</parameter>" before displaying.</para>
1059
<para>Default is <returnvalue>1.0</returnvalue> (no scaling)</para></listitem>
1066
<funcdef>void <function>setScaleVFactor</function></funcdef>
1067
<paramdef>float <parameter>val</parameter></paramdef>
1069
</funcsynopsis> [public] </term>
1070
<listitem><para>Scale the vertical size of anim by "<parameter>val</parameter>"
1071
before displaying.</para>
1072
<para>Default is <returnvalue>1.0</returnvalue> (no scaling)</para></listitem>
1079
<funcdef>void <function>setScaleWidth</function></funcdef>
1080
<paramdef>int <parameter>val</parameter></paramdef>
1082
</funcsynopsis> [public] </term>
1083
<listitem><para>Scale the animation to have width "<parameter>val</parameter>"
1084
before displaying.</para>
1085
<para>Default is <returnvalue>0</returnvalue> (no scaling)</para></listitem>
1092
<funcdef>void <function>setScaleHeight</function></funcdef>
1093
<paramdef>int <parameter>val</parameter></paramdef>
1095
</funcsynopsis> [public] </term>
1096
<listitem><para>Scale the animation to have height "<parameter>val</parameter>"
1097
before displaying.</para>
1098
<para>Default is <returnvalue>0</returnvalue> (no scaling)</para></listitem>
1105
<funcdef>void <function>setScaleDisplayToBuffer</function></funcdef>
1106
<paramdef>bool <parameter>val</parameter></paramdef>
1108
</funcsynopsis> [public] </term>
1109
<listitem><para>Copy display scaling factors to buffering scaling
1111
<para>Default is <returnvalue>false</returnvalue>.</para></listitem>
1118
<funcdef>void <function>setScaleFactorB</function></funcdef>
1119
<paramdef>float <parameter>val</parameter></paramdef>
1121
</funcsynopsis> [public] </term>
1122
<listitem><para>Scale the size of anim by "<parameter>val</parameter>" before
1123
buffering it.</para>
1124
<para>Default is <returnvalue>1.0</returnvalue> (no scaling)</para></listitem>
1131
<funcdef>void <function>setScaleHFactorB</function></funcdef>
1132
<paramdef>float <parameter>val</parameter></paramdef>
1134
</funcsynopsis> [public] </term>
1135
<listitem><para>Scale the horizontal size of anim by
1136
"<parameter>val</parameter>" before buffering it.</para>
1137
<para>Default is <returnvalue>1.0</returnvalue> (no scaling)</para></listitem>
1144
<funcdef>void <function>setScaleVFactorB</function></funcdef>
1145
<paramdef>float <parameter>val</parameter></paramdef>
1147
</funcsynopsis> [public] </term>
1148
<listitem><para>Scale the vertical size of anim by "<parameter>val</parameter>"
1149
before buffering it.</para>
1150
<para>Default is <returnvalue>1.0</returnvalue> (no scaling)</para></listitem>
1157
<funcdef>void <function>setScaleWidthB</function></funcdef>
1158
<paramdef>int <parameter>val</parameter></paramdef>
1160
</funcsynopsis> [public] </term>
1161
<listitem><para>Scale the animation to have width "<parameter>val</parameter>"
1162
before buffering it.</para>
1163
<para>Default is <returnvalue>0</returnvalue> (no scaling)</para></listitem>
1170
<funcdef>void <function>setScaleHeightB</function></funcdef>
1171
<paramdef>int <parameter>val</parameter></paramdef>
1173
</funcsynopsis> [public] </term>
1174
<listitem><para>Scale the animation to have height "<parameter>val</parameter>"
1175
before buffering it.</para>
1176
<para>Default is <returnvalue>0</returnvalue> (no scaling)</para></listitem>
1183
<funcdef>void <function>setScaleBufferToDisplay</function></funcdef>
1184
<paramdef>bool <parameter>val</parameter></paramdef>
1186
</funcsynopsis> [public] </term>
1187
<listitem><para>Copy buffering scaling factors to display scaling
1189
<para>Default is <returnvalue>false</returnvalue>.</para></listitem>
1196
<funcdef>void <function>setLoading</function></funcdef>
1197
<paramdef>int <parameter>val</parameter></paramdef>
1199
</funcsynopsis> [public] </term>
1200
<listitem><para><returnvalue>0</returnvalue>: <classname>KXAnim</classname> will
1201
load the entire video into memory.</para>
1202
<para><returnvalue>1</returnvalue>: <classname>KXAnim</classname> will load and
1203
decompress the animation entirely into memory before displaying.</para>
1204
<para><returnvalue>2</returnvalue>: <classname>KXAnim</classname> will read each
1205
sector only when needed</para>
1206
<para>Default is <returnvalue>2</returnvalue>.</para>
1214
<funcdef>void <function>setX11Shared</function></funcdef>
1215
<paramdef>bool <parameter>val</parameter></paramdef>
1217
</funcsynopsis> [public]</term>
1218
<listitem><para>If <parameter>val</parameter>==<returnvalue>true</returnvalue>,
1219
<classname>KXAnim</classname> will use X11 shared memory (this is mutually
1220
exclusive with <function>setPreload</function> .</para>
1221
<para>Default is <returnvalue>false</returnvalue>.</para></listitem>
1228
<funcdef>void <function>setMultiBuffer</function></funcdef>
1229
<paramdef>bool <parameter>val</parameter></paramdef>
1231
</funcsynopsis> [public] </term>
1232
<listitem><para>If <parameter>val</parameter>==<returnvalue>true</returnvalue>,
1233
<classname>KXAnim</classname> will use X11 Buffering (if present) to smooth
1234
animations by double-buffering. </para>
1235
<para>Default is <returnvalue>true</returnvalue>.</para></listitem>
1242
<funcdef>void <function>setUsePixmap</function></funcdef>
1243
<paramdef>bool <parameter>val</parameter></paramdef>
1245
</funcsynopsis> [public] </term>
1246
<listitem><para>If <parameter>val</parameter>==<returnvalue>true</returnvalue>,
1247
<classname>KXAnim</classname> will use Pixmap instead of Image in
1248
X11shared. This option has no effect if the animation is buffered.</para>
1249
<para>Default is <returnvalue>false</returnvalue>.</para></listitem>
1256
<funcdef>void <function>setX11VisualClass</function></funcdef>
1257
<paramdef>const char <parameter>*val</parameter></paramdef>
1259
</funcsynopsis> [public] </term>
1260
<listitem><para>Select the best <quote>X11 Visual of Class...</quote>
1261
when displaying the animation. <parameter>val</parameter> can be anyone
1262
of the following strings and is case insensitive:</para>
1265
<member><returnvalue>default</returnvalue></member>
1266
<member><returnvalue>staticgray</returnvalue></member>
1267
<member><returnvalue>grayscale</returnvalue></member>
1268
<member><returnvalue>staticcolor</returnvalue></member>
1269
<member><returnvalue>pseudocolor</returnvalue></member>
1270
<member><returnvalue>truecolor</returnvalue></member>
1271
<member><returnvalue>directcolor</returnvalue></member>
1274
<para>Default is <returnvalue>default</returnvalue>.</para></listitem>
1281
<funcdef>void <function>setPauseAt</function></funcdef>
1282
<paramdef>int <parameter>val</parameter></paramdef>
1284
</funcsynopsis> [public] </term>
1285
<listitem><para>This will pause <application>XAnim</application> at frame
1286
<parameter>val</parameter>.
1287
<parameter>val</parameter>=<returnvalue>-1</returnvalue> disables this
1289
<para>Default is <returnvalue>-1</returnvalue> (no pause).</para></listitem>
1296
<funcdef>void <function>setExtraParameters</function></funcdef>
1297
<paramdef>const char <parameter>*val</parameter></paramdef>
1299
</funcsynopsis> [public] </term>
1300
<listitem><para>Use this method to pass any extra parameters you want to
1301
<application>xanim</application> (separated by spaces).</para></listitem>
1308
<funcdef>void <function>setExecutable</function></funcdef>
1309
<paramdef>const char <parameter>*val</parameter></paramdef>
1311
</funcsynopsis> [public] </term>
1312
<listitem><para>Use this method to set the executable name for
1313
<application>xanim</application>. Default is "<returnvalue>xanim</returnvalue>",
1314
but you can change it, for instance, if you don't have
1315
<application>xanim</application> in the path.</para></listitem>
1322
<funcdef>void <function>play</function></funcdef><void/>
1324
</funcsynopsis> [public slot] </term>
1325
<listitem><para>Start playing the video.</para></listitem>
1332
<funcdef>void <function>pause</function></funcdef><void/>
1334
</funcsynopsis> [public slot] </term>
1335
<listitem><para>Pauses the video playing (<application>xanim</application> is
1336
still runnig).</para></listitem>
1343
<funcdef>void <function>stop</function></funcdef><void/>
1345
</funcsynopsis> [public slot] </term>
1346
<listitem><para>Stops the video and exit <application>xanim</application> (don't
1347
worry about it, it's transparent for the class user).</para>
1348
<note><para>Calling this slot doesn't mean that the video will stop
1349
immediately. Use the <returnvalue>stopped</returnvalue> signal to know exactly
1350
when the player is set to the inactive mode (see <function>isActive</function>
1351
). </para></note></listitem>
1358
<funcdef>void <function>stepForward</function></funcdef><void/>
1360
</funcsynopsis> [public slot] </term>
1361
<listitem><para>Single step forward one frame. Pauses the video
1362
playing.</para></listitem>
1369
<funcdef>void <function>stepBack</function></funcdef><void/>
1371
</funcsynopsis> [public slot] </term>
1372
<listitem><para>Single step back one frame. Pauses the video
1373
playing.</para></listitem>
1380
<funcdef>void <function>stepForwardWA</function></funcdef><void/>
1382
</funcsynopsis> [public slot] </term>
1383
<listitem><para>Single step forward one frame staying with anim. Pauses the
1384
video playing.</para></listitem>
1391
<funcdef>void <function>stepBackWA</function></funcdef><void/>
1393
</funcsynopsis> [public slot] </term>
1394
<listitem><para>Single step back one frame staying with anim. Pauses the video
1395
playing.</para></listitem>
1402
<funcdef>void <function>toggleSound</function></funcdef><void/>
1404
</funcsynopsis> [public slot] </term>
1405
<listitem><para>Toggle sound between ON/OFF.</para></listitem>
1412
<funcdef>void <function>volumeIncrement</function></funcdef><void/>
1414
</funcsynopsis> [public slot] </term>
1415
<listitem><para>Increment volume by 1.</para></listitem>
1422
<funcdef>void <function>volumeDecrement</function></funcdef><void/>
1424
</funcsynopsis> [public slot] </term>
1425
<listitem><para>Decrement volume by 1.</para></listitem>
1432
<funcdef>void <function>setVolume</function></funcdef>
1433
<paramdef>int <parameter>v</parameter></paramdef>
1435
</funcsynopsis> [public slot] </term>
1436
<listitem><para>Setup volume where <parameter>v</parameter> is a number from
1437
<returnvalue>0</returnvalue> to
1438
<returnvalue>100</returnvalue>.</para></listitem>
1445
<funcdef>void <function>faster</function></funcdef><void/>
1447
</funcsynopsis> [public slot] </term>
1448
<listitem><para>Increase animation playback speed.</para></listitem>
1455
<funcdef>void <function>slower</function></funcdef>
1456
<paramdef></paramdef>
1458
</funcsynopsis> [public slot] </term>
1459
<listitem><para>Decrease animation playback speed.</para></listitem>
1466
<funcdef>void <function>resetSpeed</function></funcdef><void/>
1468
</funcsynopsis> [public slot] </term>
1469
<listitem><para>Reset animation playback speed to original
1470
values.</para></listitem>
1477
<funcdef>void <function>changeProperty</function></funcdef>
1478
<paramdef>const char <parameter>*</parameter> c</paramdef>
1480
</funcsynopsis> [protected] </term>
1481
<listitem><para><emphasis>Don't use it!</emphasis> This is internally used for
1482
the communication with <application>xanim</application>.</para></listitem>
1489
<funcdef>void <function>stopped</function></funcdef><void/>
1491
</funcsynopsis> [signal] </term>
1492
<listitem><para>This signal is emitted after a call to the
1493
<function>stop()</function> slot, and means that the player has
1494
<emphasis>really</emphasis> stopped playing (that
1495
<application>xanim</application> is inactive) (see
1496
<function>stop</function>).</para></listitem>
1503
<funcdef>void <function>mouseClick</function></funcdef>
1504
<paramdef>QMouseEvent <parameter>*</parameter></paramdef>
1506
</funcsynopsis> [signal] </term>
1507
<listitem><para>This signal is emitted when the user clicks into the
1508
widget.</para></listitem>
1518
<title>Questions and Answers</title>
1522
<question><para>What does the Unsupported video codec message
1523
mean?</para></question>
1524
<answer><para>It means the video format can not be played. This may be because
1525
you do not have a full featured <application>xanim</application> installed. See
1526
the next answer for more details.</para>
1527
<para>There are some codecs that will not be playable for the foreseeable
1528
future. The one that may affect you the most is Sorenson as used in QuickTime
1533
<question><para>How do I get the full featured
1534
<application>xanim</application>?</para></question>
1535
<answer><para>Go to the <application>xanim</application> home page and follow
1537
instructions to install the cinepak, indeo and creative video codecs. You may
1538
need to recompile <application>xanim</application>, but check your distributions
1539
documentation as some are easier to install than others.</para></answer>
1543
<question><para>How do I know if the VidMode and DGA extensions are available on
1546
<answer><para>There are two ways to check. Which one you use depends on how you
1547
installed &aktion;. </para>
1550
<term>Installed &aktion; from source</term>
1551
<listitem><para>Check the output of <command>./configure</command>, you should
1552
see <computeroutput>"checking for VidMode extensions..."</computeroutput>. If
1553
the script prints a <computeroutput>"no"</computeroutput> after this line, then
1554
you don't have the extensions.</para></listitem>
1557
<term>Installed &aktion; binary (rpm or deb)</term>
1558
<listitem><para>Look in your system for two files called:
1559
<filename>libXxf86vm.a</filename> and <filename>libXxf86dga.a</filename>, if you
1560
have them, good.</para></listitem>
1563
<para>In both cases, if you don't have the extensions, check that you've
1564
installed the XFree86-devel rpm package from your Linux box. The extensions are
1565
included in this package.</para></answer>
1569
<question><para>How do I know if the VidMode extensions are working on my
1570
system?</para></question>
1571
<answer><para>Try switching video modes with
1572
<keycombo><keycap>CTRL</keycap><keycap>ALT</keycap><keycap>numpad
1573
+</keycap></keycombo>. If nothing happens, you may only need to enable additional
1574
resolutions. See the next answer for more details.</para></answer>
1578
<question><para>How do I set up aditional video modes?</para></question>
1579
<answer><para>You should have a video configuration utility provided with your
1580
distribution. If not, there is always <application>XF86Config</application>
1582
<para>Enable as many resolution modes as you can. At the very least, you will
1583
want to enable 640x400 alongside your standard everyday
1584
resolution.</para></answer>
1589
<chapter id="credits">
1591
<title>Credits and License</title>
1593
<para>&aktion;</para>
1595
<para>Program copyright 2000 Guillermo P. Marotte
1596
<email>g-marotte@usa.net</email></para>
1598
<para>Contributors:</para>
1600
<listitem><para>Benjamin Sher
1601
<email>sher07@bellsouth.net</email></para></listitem>
1604
<para>Xanim author:</para>
1605
<itemizedlist><listitem><para>Mark Podlipec</para></listitem>
1608
<para>Documentation copyright 2000 Chris D. Corbettis
1609
<email>chris@corbettis.fsnet.co.uk</email></para>
1610
<!-- TRANS:CREDIT_FOR_TRANSLATORS -->
1617
<appendix id="installation">
1618
<title>Installation</title>
1620
<sect1 id="getting-kapp">
1621
<title>How to obtain &aktion;</title>
1623
<para>&aktion; is part of the &kde; project <ulink
1624
url="http://www.kde.org">http://www.kde.org</ulink>. &aktion; can be
1625
found in the kdemultimedia package on <ulink
1626
url="ftp://ftp.kde.org/pub/kde/">ftp://ftp.kde.org/pub/kde/</ulink>, the
1627
main ftp site of the &kde; project. </para>
1631
<sect1 id="requirements">
1632
<title>Requirements</title>
1634
<para>In order to successfully use &aktion;, you need &kde; 2 and
1635
<application>xanim</application> 2.70.7.0 or higher. Full screen mode
1636
requires <application>VidMode</application> and <abbrev>DGA</abbrev>
1637
extensions to be installed and working.</para>
1639
<para>All required libraries as well as &aktion; itself can be found on <ulink
1640
url="ftp://ftp.kde.org">The &aktion; home page</ulink> and the <ulink
1641
url="http://xanim.va.pubnix.com/home.html">Xanim home page</ulink></para>
1645
<sect1 id="compilation">
1646
<title>Compilation and Installation</title>
1648
<para>In order to compile and install &aktion; on your system, type the
1649
following in the base directory of the &aktion; distribution:</para>
1652
<prompt>%</prompt> <userinput><command>./configure</command></userinput>
1653
<prompt>%</prompt> <userinput><command>make</command></userinput>
1654
<prompt>%</prompt> <userinput><command>make</command>
1655
<option>install</option></userinput>
1658
<para>Since &aktion; uses <command>autoconf</command> and
1659
<command>automake</command> you should have not trouble compiling
1660
it. Should you run into problems please report them to the &kde; mailing
1665
<sect1 id="configuration">
1666
<title>Configuration</title>
1668
<para>Don't forget to install <application>xanim</application> before
1676
&documentation.index;
1681
sgml-minimize-attributes: nil
1682
sgml-general-insert-case: lower