summaryrefslogtreecommitdiff
path: root/community/gmerlin/gmerlin-texi.patch
blob: b352bf3ff1eb649b098434439d32e2517a31ea46 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
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
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
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
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
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
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
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
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
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
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
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
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
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
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
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
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
diff -Naur gmerlin-1.2.0.orig/doc/gmerlin.orig.texi gmerlin-1.2.0/doc/gmerlin.orig.texi
--- gmerlin-1.2.0.orig/doc/gmerlin.orig.texi	1969-12-31 16:00:00.000000000 -0800
+++ gmerlin-1.2.0/doc/gmerlin.orig.texi	2013-02-27 16:04:03.847930671 -0800
@@ -0,0 +1,1830 @@
+\input texinfo   @c -*-texinfo-*-
+@comment %**start of header
+@setfilename gmerlin.info
+@include version.texi
+@settitle Gmerlin @value{VERSION}
+@dircategory Gmerlin
+@direntry
+* Gmerlin: (gmerlin).           Gmerlin multimedia applications
+@end direntry
+
+
+@syncodeindex pg cp
+@comment %**end of header
+@copying
+This manual is for Gmerlin
+(version @value{VERSION}, @value{UPDATED}).
+
+Copyright @copyright{} 2001-2008 Members of the Gmerlin project.
+
+@quotation
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.1 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,''
+and with the Back-Cover Texts as in (a) below.  A copy of the
+license is included in the section entitled ``GNU Free Documentation
+License.''
+
+(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
+this GNU Manual, like GNU software.  Copies published by the Free
+Software Foundation raise funds for GNU development.''
+@end quotation
+@end copying
+@titlepage
+@title Gmerlin
+@subtitle for version @value{VERSION}, @value{UPDATED}
+@author Burkhard Plaum (@email{gmerlin@@users.sourceforge.net})
+@page
+@vskip 0pt plus 1filll
+@insertcopying
+@end titlepage
+
+@contents
+
+@ifnottex
+@node Top, Basics, (dir), (dir)
+@top Gmerlin userguide
+Gmerlin user guide.
+
+@insertcopying
+@end ifnottex
+
+@menu
+* Basics::
+* Installation::
+* General usage information::
+* Applications::
+* Plugins::
+* FAQ::
+* Get involved::
+@end menu
+
+@node Basics, Installation, Top, Top
+@chapter Basics
+This manual should help you to get familiar with gmerlin software. The
+gmerlin software is quite modular, because it consists of multiple
+packages, most of which can be used independently. In this document,
+it is assumed, that you have all packages installed (See Installation below).
+
+@node Installation, General usage information, Basics, Top
+@chapter Installation
+
+@menu
+* Requirements::
+* Compilation and installation::
+* Binary codecs::
+@end menu
+
+@node Requirements
+@section Requirements
+
+For compiling x264, you need @uref{http://nasm.sourceforge.net/, nasm}
+(@uref{http://www.tortall.net/projects/yasm/, yasm} on x86_64).
+They are included in
+most distributions. Required libraries can be installed from source or from
+binary packages. In the latter case, you must install the development
+packages (e.g. libfoo-devel-1.2.3-4.i386.rpm) also. This is what you need:
+
+@table @emph
+
+@item @uref{http://www.alsa-project.org/, Alsa}
+It's the recommended audio architecture
+
+@item @uref{http://www.tux.org/~ricdude/EsounD.html, esound}
+Only needed if neither Alsa nor OSS work for you.
+
+@item @uref{http://flac.sourceforge.net/, flac}
+For en-/decoding flac files (optional).
+
+@item @uref{http://www.gtk.org/, gtk-2.4.x}
+This is needed for compiling the GUI applications. Without it you'll
+get just the core library, which won't be of much use.
+
+@item @uref{http://www.ijg.org/, libjpeg}
+For reading and writing single JPEG images (strongly recommended)
+
+@item @uref{http://www.libpng.org/pub/png/libpng.html, libpng}
+For reading and writing single PNG images (strongly recommended).
+Also for decoding png encoded Quicktime and AVI files
+
+@item @uref{http://www.remotesensing.org/libtiff/, libtiff}
+For reading and writing single TIFF images (Optional)
+
+@item @uref{http://www.xmlsoft.org/, libxml}
+Required. All kinds of configuration files as well as the media
+tree are xml based.
+
+@item @uref{http://www.vorbis.com/, vorbis}
+Needed for en-/decoding Vorbis files. Also required for the
+theora encoding.
+
+@item @uref{http://musicbrainz.org/products/client/index.html, libmusicbrainz}
+Needed for getting Audio CD metadata using
+@uref{http://musicbrainz.org/, musicbrainz}
+
+@item @uref{http://libcddb.sourceforge.net/, libcddb}
+Needed for getting Audio CD metadata from CDDB servers
+
+@item Headers for libXv and libXinerama
+These are usually shipped with X11 but some distributions pack the header
+files separately (e.g. libxv-dev, libxinerama-dev). libXv is needed for
+hardware accelerated video playback, libXinerama adds support for
+multi-screen configurations.
+
+@item @uref{http://www.samba.org/, libsmbclient}
+For loading smb:// URLs (optional).
+
+@item @uref{http://sourceforge.net/projects/libvisual, libvisual}
+For using libvisual plugins (optional).
+
+@item @uref{http://www.ladspa.org, Ladspa plugins}
+Optional for audio filters/effects. Good experiences were made with
+the plugin packages @uref{http://www.ladspa.org/cmt/,cmt},
+@uref{http://plugin.org.uk, swh-plugins} and
+@uref{http://tap-plugins.sourceforge.net, tap-plugins}. Gmerlin looks for them
+at runtime, so you can install them at any time.
+
+@end table
+
+From now on, there are 2 ways to proceed:
+@itemize @bullet
+@item You can download the
+@uref{http://sourceforge.net/project/showfiles.php?group_id=19684&package_id=151779, gmerlin-dependencies}
+package, unpack it and install it using the instructions in the README file.
+A full dependencies install will provide you with the complete codec support,
+but some packages you already have might be installed a second time.
+Everything, however, gets into /opt/gmerlin, so there will be no conflicts.
+
+@item To have more control over the process, download and install the
+libraries listed below manually. 
+@end itemize
+
+@table @emph
+@item @uref{http://www.gnu.org/software/libcdio/, libcdio}
+Neccessary for the VCD, Audio CD and DVD plugins.
+
+@item @uref{http://www.audiocoding.com/, faad2}
+Needed for MPEG-4 audio support (mp4, aac files).
+
+@item @uref{http://www.audiocoding.com/, faac}
+Needed for MPEG-4 audio encoding (.aac files) and for AAC encoding via
+libquicktime.
+
+@item @uref{http://www.ffmpeg.org/, FFmpeg}
+Many codecs, strongly recommended. You should get a sufficiently new
+version from @uref{http://ffmpeg.mplayerhq.hu/download.html, ffmpeg SVN}
+and use --enable-shared when calling configure. Another option is the
+version in the
+@uref{http://sourceforge.net/project/showfiles.php?group_id=19684&package_id=151779, gmerlin-dependencies} package.
+
+@item @uref{http://www.mp3dev.org/, lame}
+For encoding mp3 files and AVIs with mp3 audio streams with libquicktime.
+
+@item @uref{http://mad.sourceforge.net/, mad}
+For playing MPEG-1/2 audio (e.g. mp3)
+
+@item @uref{http://freshmeat.net/redir/libdvdread/17926/url_homepage/downloads.shtml, libdvdread}
+For playing DVDs. Gmerlins method of accessing DVD drives doesn't
+differ much from others. Thus, DVD playback howtos found in the web
+apply for gmerlin as well.
+
+@item @uref{http://developers.videolan.org/x264.html, x264}
+For H.264 encoding with libquicktime.
+
+@item @uref{http://www.videolan.org/developers/libdca.html, libdca}
+For decoding DTS streams.
+
+@item @uref{http://libmpeg2.sourceforge.net/, libmpeg2}
+For decoding MPEG-1/2 Video (like .mpg files and DVD video)
+
+@item @uref{http://liba52.sourceforge.net/, liba52}
+For playing AC3 (aka DVD audio) streams.
+
+@item @uref{http://www.musepack.net/, libmpcdec}
+For playing musepack files (optional).
+
+@item @uref{http://www.theora.org/, theora}
+For en-/decoding theora video (optional).
+ 
+@item @uref{http://www.speex.org/, speex}
+For en-/decoding Speex streams (optional).
+
+@item @uref{http://libquicktime.sourceforge.net/, libquicktime}
+Optional, for the libquicktime based encoding and decoding plugins.
+Mostly necessary if you want to encode video. For decoding Quicktime,
+gmerlin_avdecoder is a lot better.
+
+@item @uref{http://mjpeg.sourceforge.net/, mjpegtools}
+Optional for en-/decoding yuv4mpeg streams and for encoding high
+quality MPEG video using mpeg2enc and friends.
+
+@end table
+
+@node Compilation and installation
+@section Compilation and installation
+
+If you downloaded a release, make sure, that you have the latest
+version of all packages. Alternatively, you can download the latest
+@uref{http://sourceforge.net/project/showfiles.php?group_id=19684&package_id=151778, gmerlin-all-in-one}
+package. It contains all source packages together
+with optional scripts to build and install them. Check the included
+README file.
+
+We always try to be compatible ther GNU build system. This means, that
+all gmerlin packages are compiled using the usual
+@code{./configure; make; su; make install} prodecure. Type
+@code{./configure --help} to see the supported options.
+
+The order is the following:
+
+@itemize
+@item @uref{http://sourceforge.net/project/showfiles.php?group_id=19684&package_id=50349, gavl}
+@item @uref{http://sourceforge.net/project/showfiles.php?group_id=19684&package_id=14511, gmerlin}
+@item @uref{http://sourceforge.net/project/showfiles.php?group_id=19684&package_id=124659, gmerlin_avdecoder}
+@item @uref{http://sourceforge.net/project/showfiles.php?group_id=19684&package_id=152799, gmerlin-encoders}
+@item @uref{http://sourceforge.net/project/showfiles.php?group_id=19684&package_id=124661, gmerlin-visualizer}
+@end itemize
+
+@node Binary codecs
+@section Binary codecs
+
+These must be downloaded from the @uref{http://www1.mplayerhq.hu/MPlayer/releases/codecs/, MPlayer codec page}. Download the file
+essential-YYYYMMDD.tar.bz2, where YYYYMMDD is some date. Unpack the
+.tar.bz2 and move the included files to /usr/lib/codecs. At this
+location, the DLLs will also be found by other players.
+
+@node General usage information, Applications, Installation, Top
+@chapter General usage information
+
+@menu
+* Configuration data::
+* GUI::
+* GML Syntax: gml.
+* Setting parameters from the commandline::
+@end menu
+
+@node Configuration data
+@section Configuration data
+
+They are saved in the directory @code{~/.gmerlin}, which has subdirectories
+for all applications. The directory "generic" stores common configuration
+data for applications, which have no config dialog. Plugins used by these
+programs can be configured with the gmerlin_plugincfg application. If a
+program misbehaves, especially after a version upgrade, delete the file
+@code{~/.gmerlin/application_dir/config.xml}, where @code{application_dir}
+corresponds to the application. Normally, this shouldn't be necessary.
+
+@node GUI
+@section GUI
+
+@menu
+* Introduction: gui_intro.
+* Static and dynamic parameters: gui_statdyn.
+* Configuring input plugins: gui_i.
+* Configuring filters: gui_f.
+* Log messages: gui_log.
+* Tips: gui_tips.
+@end menu
+
+@node gui_intro
+@subsection Introduction
+
+We try to make this as consistent as possible across the applications.
+In many windows, you'll see context sensitive menus when you right
+click somewhere. Furthermore, tooltips are enabled in all programs by
+default. You can, however, switch them off if they bother you. 
+
+@node gui_statdyn
+@subsection Static and dynamic parameters
+
+All GUI applications have their own configuration data.
+This means, that plugin configurations are not shared between
+these applications.
+
+There is a strict separation between static and plugin dependent
+configurations. 
+
+Most applications have one or more config dialogs
+@ifhtml
+(
+@image{../img/config_16}
+)
+@end ifhtml
+which let you change settings either for several subsystems of the
+application or for plugins, depending on the context.
+To change the plugins themselves, there are separate plugin dialogs
+@ifhtml
+(
+@image{../img/plugin_16}
+)
+@end ifhtml
+which let you select and configure plugins.
+
+It might be a bit tricky to find out if a special option can be set
+via the the plugin dialog or via
+the global config dialog. The general rule is: All features, which are
+supported by the core architecture, are configured in some global
+dialog. You can expect them to be present on every gmerlin installation
+of the same version. The plugin options vary depending on what plugins
+are installed (that's the reason, why they are separated).
+
+@node gui_i
+@subsection Configuring input plugins 
+
+@ifhtml
+@image{../img/gui_i}
+@end ifhtml
+
+This dialog lets you control, how input plugins (or image reader plugins)
+are loaded. The widgets on the right are valid for the plugin, which is selected
+on the left. You have the following options:
+
+@table @b
+@item Parameters
+@ifhtml
+@image{../img/config_16}
+@end ifhtml
+Lets you set parameters of the plugin. These will be valid when an instance of
+the plugin is opened the next time. If you configure hardware plugins in the player,
+you must close and reopen all device albums for the changes to become effective.
+For plugins, which have no options, this button is disabled.
+@item Info
+@ifhtml
+@image{../img/info_16}
+@end ifhtml
+Pops up a window showing much of the information, which is known to the plugin
+registry.
+@item Priority
+This lets you change the priority of the plugin, if multiple plugins are
+available for a gml. The value can be between 1 and 10. Usually, the default
+priorities are ok. But for image files, the priorities of the ``Image stills input plugin'' and the ``Image video input plugin'' decide, whether images are displayed
+as a slideshow or a video.
+@item Protocols
+Lets you configure the supported network protocols. The protocols should rarely
+be changed and changes are overwritten by a new install of the plugin. For plugins,
+which don't support network streams, the protocols cannot be changed.
+@item Extensions
+Lets you configure the file extensions, which are associated with the plugin.
+If you change the extensions, they are overwritten by a new install of the plugin.
+That's a good reason to report missing file extensions to the developers.
+@end table
+
+@node gui_f
+@subsection Configuring filters
+
+@ifhtml
+@image{../img/gui_f}
+@end ifhtml
+
+This dialog lets you build a filter chain to apply additional changes to the
+A/V data. The GUI player will apply most changes during playback (reinitializing the
+playback pipelines if necessary), the transcoder can change filter chains only per
+track. The filters are processed in top-to-bottom order.
+
+You have the following buttons:
+
+@table @b
+@item Add filter
+@ifhtml
+@image{../img/add_16}
+@end ifhtml
+Pops up a dialog, which will let you add new filters to the chain.
+Filter are always added to the end of the chain.
+@item Remove filter
+@ifhtml
+@image{../img/trash_16}
+@end ifhtml
+Deletes the currently selected filter
+@item Configure filter
+@ifhtml
+@image{../img/config_16}
+@end ifhtml
+Set parameters of the currently selected filter 
+@item Move to top
+@ifhtml
+@image{../img/top_16}
+@end ifhtml
+Move filter to the top (= the beginning) of the chain
+@item Move up
+@ifhtml
+@image{../img/up_16}
+@end ifhtml
+Move filter up by one
+@item Move down
+@ifhtml
+@image{../img/down_16}
+@end ifhtml
+Move filter down by one
+@item Move to top
+@ifhtml
+@image{../img/bottom_16}
+@end ifhtml
+Move filter to the bottom (= the end) of the chain
+@end table
+
+@b{Note for the player}
+
+Even though filter parameters are changed on the fly,
+pressing ``cancel'', without pressing ``apply'' before will
+revert all changes you made.
+
+@node gui_log
+@subsection Log messages
+
+@ifhtml
+@image{../img/gui_log}
+
+@end ifhtml
+Messages from pretty much everywhere in the applications are sent through the
+logging mechanism, and finally show up in the log window. It's the first place to
+look, if something does not work as expected (e.g. an URL does not load).
+There are 4 different types of messages, @b{error}, @b{warning}, @b{info} and
+@b{debug}. In the configuration for the log window, you can select, which message
+you want to see, the colors of the messages and the history size.
+@node gui_tips
+@subsection Tips
+
+@itemize
+@item Many buttons, which are associated with a list, are disabled unless you select an item in the list
+@item Doubleclicking onto the background of a slider (@strong{not} the slider itself) resets it to the
+      factory default
+@end itemize
+
+@node gml
+@section GML Syntax
+
+GMLs (Gmerlin media locations) are pretty much similar to URLs or
+MRLs with the difference, that device plugins support passing the device.
+This makes it possible to use gmls with hardware setups, which have
+multiple devices for each plugin.
+
+A gml can be:
+
+@table @bullet
+@item A regular filename
+Optionally preceeded with ``file://''. This means, that @b{/files/music.mp3} is the same as
+@b{file:///files/music.mp3}.
+@item A dash ``-'' or the string ``stdin://'' for reading from stdin
+@item Any valid network URL
+Examples: @b{http://webstream.example.com:8080}, @b{ftp://user:pass@@ftp.example.com/music.mp3}
+@item A "hardare protocol" followed by the device like @b{cda:///dev/hdc}.
+Known hardware protocols are @b{cda} (Audio CD), @b{vcd}, @b{dvd} and
+@b{dvb}. The supported protocols may vary according to your installation.
+@end table
+
+
+@node Setting parameters from the commandline
+@section Setting parameters from the commandline
+
+Gmerlin configuration handling provides the same features for both GUI
+applications and commandline programs. The natural result is, that the
+commandline syntax is a bit more complicated, since parameters can be
+nested.
+
+In General options have the form
+
+@code{'parameter1=value1:parameter2=value2...'}
+
+The quotes are necessary, if the string contains characters, which
+have a special meaning for the shell.
+
+The syntax of values depends on the type:
+@table @strong
+@item Boolean
+Value can be either 0 or 1.
+@item Integer values
+An integer number.
+@item Float values
+A floating point (i.e. fractional) number.
+@item Strings
+A string. Colons ':' should be escaped with '\'.
+@item Time
+Time is in the format @code{@{[[HH:]MM:]SS@}} while the seconds can be
+fractional. Hours and Minutes are optional, thus any format of
+@code{@{5.5@}}, @code{@{0:05.5@}} or @code{@{0:00:05.5}@} is valid for a time
+of 5.5 seconds. Writing @code{0} instead of @code{00} is also ok.
+@item Enumeration with suboptions
+Value is in the form
+@code{string[@{subparameter1=subvalue1:subparameter2=subvalue2...@}]}.
+The subparameters are optional. E.g. if the option is for selecting a
+plugin, setting string to @code{foo} will select the plugin @code{foo} and
+pass the subparameters (if avaliable) to the @code{foo} plugin.
+@item List or chain with suboptions
+This is like enumeration with suboptions with the difference, that
+you can concatenate multiple options together with colons (:) and
+must enclose everything with braces. For example:
+
+@code{@{opt1@{param1=value1@}:opt2@{param2=value2@}@}}
+
+If you use @code{-help}, you'll also see supported ranges for
+numeric types, or supported options for strings (if available).
+
+@end table
+
+@node Applications, Plugins, General usage information, Top
+@chapter Applications
+
+@menu
+* GUI Player::
+* Player remote control::
+* GUI Transcoder::
+* Transcoder remote control::
+* Commandline player::
+* Commandline recorder::
+* Alsamixer::
+* Visualizer::
+* Keyboard daemon::
+@end menu
+
+@node GUI Player
+@section GUI Player
+Type @code{gmerlin} with optionally any number of files or URLs to start this.
+
+@menu
+* Invoking gmerlin: gmerlin_player_usage.
+* Main window::
+* Media tree::
+* Video window::
+* Track information: gmerlin_player_trackinfo.
+* Configuring playback pipelines: gmerlin_player_avconfig.
+* Shortcuts: gmerlin_player_shortcuts.
+@end menu
+
+@node gmerlin_player_usage
+@subsection Invoking gmerlin
+
+@include gmerlin_player.texi
+
+@node Main window
+@subsection Main window
+@ifhtml
+@image{../img/player_mainwin}
+
+@end ifhtml
+
+It's a usual player window, with self explanatory buttons.
+
+@menu
+* Main menu: player_mainmenu.
+* Display: player_display.
+@end menu
+
+@node player_mainmenu
+@subsubsection Main menu
+
+The menu button will show the main menu of the player. Here, you can
+control practically the whole application:
+
+@table @b
+@item Audio, video and subtitles
+  See @ref{gmerlin_player_avconfig, Configuring playback pipelines}.
+@item Chapters
+@ifhtml
+@image{../img/player_chapters}
+
+@end ifhtml
+Chapters in gmerlin are just seekpoints with optional labels.
+If an input plugin supports chapters (e.g. of DVDs), gmerlin will
+make them available through the chapter menu.
+@item Visualizations
+@ifhtml
+@image{../img/player_vis}
+
+@end ifhtml
+If the upper menu item is enabled and the video window isn't used otherwise,
+Visualizations will be turned on.
+The audio stream of an Audio/video track can be visualized by disabling the video stream
+of that file (See @ref{gmerlin_player_avconfig, Configuring playback pipelines}).
+
+Then you can set some plugin-independent options
+@ifhtml
+@image{../img/config_16}
+@end ifhtml
+and finally the plugin itself 
+@ifhtml
+@image{../img/plugin_16}
+@end ifhtml
+. The menu for visualization plugin works exactly the same as for output plugins
+(See @ref{gmerlin_player_avconfig, Configuring playback pipelines}).
+
+@item Windows
+@ifhtml
+@image{../img/player_windows}
+
+@end ifhtml
+Here, you can show or hide the @ref{gui_log, Log window}, the
+@ref{gmerlin_player_trackinfo, Track info window} and the @ref{Media tree}.
+
+@item Options
+@ifhtml
+@image{../img/player_options}
+
+@end ifhtml
+Here, you can set @b{Preferences}
+@ifhtml
+@image{../img/config_16}
+@end ifhtml
+, configure @ref{gui_i, Input plugins}
+@ifhtml
+@image{../img/plugin_16}
+@end ifhtml
+, select
+@b{skins} or configure the @ref{Keyboard daemon}.
+
+@item Commands
+@ifhtml
+@image{../img/player_commands}
+
+@end ifhtml
+Here you have some commonly used commands. The good news about the
+shortcuts is, that they work in the
+media tree and in the video window as well.
+
+Only exception are the shortcuts, which map to ASCII-characters
+(Pause and Seek to start), they don't work in the media tree and in albums.
+
+Use this menu as a quick-help for all global
+shortcuts.
+
+@item Accessories
+@ifhtml
+@image{../img/player_accessories}
+
+@end ifhtml
+Here, you can conventiently fire up some other gmerlin applications
+like the @ref{GUI Transcoder}, the @ref{Visualizer} and the
+@ref{Alsamixer}.
+
+@end table
+
+@node player_display
+@subsubsection Display
+
+@ifhtml
+@image{../img/player_display}
+
+@end ifhtml
+The display is divided into several areas. Left of the
+time display, gmerlin shows an icon denoting the current
+operation mode (playing, paused etc.). Right of the time display,
+you have 2 fields. By left-clicking into the upper field, you can
+change the displayed time value. Options are
+@table @b
+@item Default
+Time is counted since track start
+@item ALL
+Time is counted since album start
+@item REM
+Remaining time until track end
+@item ALL REM
+Remaining time until album end
+@end table
+
+In the lower field, you can left-click to change the repeat mode.
+Options are @b{no repeat}, @b{repeat current track} and
+@b{repeat current album}.
+
+At the bottom, there is the scrolltext. It displayes the name of the currently played
+track (which can change e.g. for live radio stations), or a brief error messages if
+something goes wrong. Note, that in the latter case, you get more information from the
+@ref{gui_log, Log Window}.
+
+@node Media tree
+@subsection Media tree
+
+@ifhtml
+@image{../img/player_tree_tabbed}
+@end ifhtml
+
+The media tree can be used to store and organize your media collection.
+It consists of virtual folders called @emph{albums}. You can create albums,
+subalbums and move stuff between them like you want. The media files
+always stay at the same place in the filesystem. The albums can be either
+in own windows (Windowed mode) or as tabs in the tree window (tabbed mode). You
+cah switch this with the right-click menu of the tree widget.
+The tree- and album windows remember their screen positions.
+
+@menu
+* Tree widget: player_treewidget.
+* Album widget: player_albumwidget.
+@end menu
+
+@node player_treewidget
+@subsubsection Tree widget
+
+@b{Doubleclicking} an album opens it if it was closed or vice versa.
+
+@b{Creating albums} is done by right selecting the parent album in
+the tree and click the ``New album'' button
+@ifhtml
+@image{../img/folder_new_16}
+@end ifhtml
+or ``Album->New'' in the right-click menu. In the new empty album, you can then
+load files or URLs. Another option to import whole directory trees, is to
+click ``Album->New from directory''. It will pop up a directory selection dialog.
+The directory can optionally be scanned recursively. The tracks are either in one
+(flat) album, or in subalbums according to the directory structure.
+Note that importing large directories takes some time.
+
+@b{Deleting albums} is done by selecting them in the tree and
+clicking the ``remove'' button
+@ifhtml
+@image{../img/trash_16}
+@end ifhtml
+(or by choosing Album->Remove in the right click menu. Please note
+the following:
+
+@itemize @bullet
+@item Removing albums is done without confirmation
+@item All subalbums are removed as well
+@item This (as well as removing tracks) cannot be undone
+@item Good news: gmerlin @b{never} removes media files from disk
+@end itemize
+
+@b{Moving albums} is done with Drag & Drop
+
+@b{Loading files or URLs} into an open or closed album can be done by
+dragging it from a filemanager or webbrowser into the target album in the tree widget.
+
+Some @b{special albums} are automatically created in addition to the
+regular albums (which are created by you):
+
+@itemize @bullet
+@item @emph{Incoming:}
+@ifhtml
+@image{../img/incoming_closed_16}
+@end ifhtml
+
+It's the destination for tracks, which come from
+the comandline or from the remote.
+
+@item @emph{Favourites:}
+@ifhtml
+@image{../img/favourites_closed_16}
+@end ifhtml
+
+Each regular album has a Favourites button
+@ifhtml
+@image{../img/favourites_16}
+@end ifhtml
+, which
+lets you copy the selected tracks to the favourites. It's useful for
+quickly making a selection of tracks from multiple different albums.
+
+@item @emph{Plugin and device albums:}
+@ifhtml
+@image{../img/hardware_16}
+@end ifhtml
+
+Each plugin, which handles devices like removable disc drives
+@ifhtml
+@image{../img/drive_running_16}
+@end ifhtml
+or tuners
+@ifhtml
+@image{../img/tuner_16}
+@end ifhtml
+will create a plugin album. The available devices are
+then autoscanned and added as subalbums. Device albums are a bit limited:
+You can delete or reorder tracks, but you cannot move tracks from/to other
+albums.
+
+@end itemize
+
+@node player_albumwidget
+@subsubsection Album widget
+
+The album widget can either be in an own window (when the tree is in tabbed mode)
+or in a notebook right of the tree widget. It lists all tracks of that album.
+At the bottom there is a toolbar and a display of the total playback time of the album.
+
+A @b{track} in gmerlin is a piece of media, which can have an arbitrary number of audio-,
+video- and subtitle @b{streams}. A track can be divided into @b{chapters} (which are just
+seekpoints). Some files (like ALBW wrapped mp3s or concatenated Ogg streams), will show
+up as multiple tracks. You can move them around in the whole tree as if they were separate
+files.
+
+@b{Doubleclicking} an album opens it if it was closed or vice versa.
+
+The @b{right click menu} offers lots of options and shortcuts, not all of them are
+documented here.
+
+@b{Adding tracks} can happen in multiple ways:
+
+@itemize @bullet
+@item Drag Files or URLs from filenanagers or webbrowsers into an album
+@item Use the buttons
+@ifhtml
+@image{../img/folder_open_16}
+@end ifhtml
+@ifhtml
+@image{../img/earth_16}
+@end ifhtml
+in the album toolbar, or the right click menu
+@end itemize
+
+@b{Drag and Drop} is supported:
+@itemize @bullet
+@item From most webbrowsers and filenmanagers into the album (see above)
+@item From one regular album to another. By default, tracks are moved.
+  Press the @key{CTRL}-key before dragging, and the tracks will be copied.
+@item Inside all albums to sort the tracks
+@item From an album window into the tree window to transfer tracks to
+  another album
+@item From the album to text editors or graphics programs, which support
+dropping text. You'll get a string representation of the tracks, which
+will make designing disk covers easier.
+@end itemize
+
+@b{Error tracks} are tracks, which failed to load last time you tried.
+They are marked red but remain in the album. If they are on removable
+disks or in the network, you might retry playing them when they become
+available. To delete all error tracks, go to ``Select error tracks'' in the
+right click menu to select them. Then, press @kbd{@key{CTRL}+DELETE}
+to get rid of them.
+
+For keyboard commands, see @ref{gmerlin_player_shortcuts, Shortcuts}.
+
+@node Video window
+@subsection Video window
+
+This comes only when gmerlin has to show some video or still images. It
+is created and owned by the video output plugin (i.e. it has nothing to
+do with the core GUI). Currently, only an X11 plugin is available. It
+has some special features: You can zoom or squeeze the image to make
+your favourite tradeoff between aspect ratio distortion, black borders
+or cropped images. All global gmerlin @ref{gmerlin_player_shortcuts, Shortcuts} work
+also in the video window, as well as some special ones.
+
+@node gmerlin_player_trackinfo
+@subsection Track information
+@ifhtml
+@image{../img/player_trackinfo}
+
+@end ifhtml
+
+Here, you see detailed information of the currently (or last) played track
+in a tree structure. The right-click menu lets you copy either the whole contents or
+the currently selected row to the clipboard as plain text.
+
+@node gmerlin_player_avconfig
+@subsection Configuring playback pipelines
+
+The configuration for audio, video and subtitle handling is almost the same.
+
+@b{Stream menu}
+
+For each category, you have a stream menu.
+
+@ifhtml
+@image{../img/player_avconfig_menu}
+@end ifhtml
+
+In the upper part, you can select the available streams.
+You can also switch the stream off.
+
+In the lower part, you can set global (= plugin independent) options
+@ifhtml
+@image{../img/config_16}
+@end ifhtml
+, Filters
+@ifhtml
+@image{../img/filter_16}
+@end ifhtml
+ (See @ref{gui_f, Configuring filters})
+and the output plugin
+@ifhtml
+@image{../img/plugin_16}
+@end ifhtml
+.
+
+@b{Output plugin menu}
+
+@ifhtml
+@image{../img/player_avconfig_plugin}
+@end ifhtml
+
+In the upper part, you can change the output plugin (even during playback).
+In the lower part, you can configure
+@ifhtml
+@image{../img/config_16}
+@end ifhtml
+the plugin or show information  
+@ifhtml
+@image{../img/info_16}
+@end ifhtml
+about the plugin.
+
+@node gmerlin_player_shortcuts
+@subsection Shortcuts
+
+The following global shortcuts are available in the main window, the media
+tree including albums and the video window:
+
+@table @kbd
+@item @key{CTRL}+G
+Pop up current album and goto current track
+
+@item @key{CTRL}+O
+Pop up preferences dialog
+
+@item @key{CTRL}+P
+Pop up input plugin dialog
+
+@item @key{CTRL}+Q
+Quit program
+
+@item @key{CTRL}+PAGEDOWN
+Goto next track
+
+@item @key{CTRL}+PAGEUP
+Goto previous track
+
+@item @key{CTRL}+@key{SHIFT}+PAGEDOWN
+Goto next chapter
+
+@item @key{CTRL}+@key{SHIFT}+PAGEUP
+Goto previous chapter
+
+@item @key{CTRL}+RIGHT
+Seek forward
+
+@item @key{CTRL}+LEFT
+Seek backward
+
+@item @key{SHIFT}+RIGHT
+Decrease volume
+
+@item @key{SHIFT}+LEFT
+Increase volume
+
+@item @key{CTRL}+M
+Toggle mute
+
+@item 0
+(Zero) Seek to start. This is not available in the media tree and the albums.
+
+@item Space
+Toggle pause. This is not available in the media tree and the albums.
+
+@item @key{CTRL}+G
+Goto current track. This raises the current album and moves to the
+current track within that album.
+
+@item F9
+Copy current track to favourites
+
+@item @key{CTRL}+Q
+Quit gmerlin
+@end table
+
+The following additional chortcuts are available in the @ref{Video window}:
+
+@table @kbd
+
+@item CTRL+PLUS/MINUS
+Increase/decrease aspect ratio (squeeze). Zoom and squeeze are a simple way to choose your
+personal tradeoff between aspect ratio distortion, missing image parts and black borders.
+
+@item CTRL+MOUSEWHEEL
+Increase/decrease aspect ratio (squeeze).
+
+@item ALT+PLUS/MINUS
+Increase/decrease zoom factor
+
+@item ALT+MOUSEWHEEL
+Increase/decrease zoom factor
+
+@item @key{CTRL}+HOME
+Reset zoom and squeeze
+
+@item HOME
+Resize the window to the size of the video. If the video has nonsquare
+pixels, the window width is adjustetd accordingly.
+
+@item @key{SHIFT}+HOME
+Shrink the window such that no black borders are visible abound the video
+
+@item B/b
+Increase/decrease brightness. 
+
+@item S/s
+Increase/decrease saturation.
+
+@item C/c
+Increase/decrease contrast.
+
+Brightness, saturation and contrast work only, if the hardware and the currently used display driver
+support this.
+
+@item TAB
+Toggle fullscreen/windowed mode
+@item f
+Toggle fullscreen/windowed mode
+@item Esc
+Exit fullscreen mode
+@end table
+
+The following additional shortcuts are available inside @ref{player_albumwidget, albums}:
+
+@table @kbd
+@item UP/DOWN
+Move the cursor one track up/down
+
+@item PAGEUP/PAGEDOWN
+Move the cursor one page up/down
+
+@item Mousewheel
+Scroll
+
+@item SHIFT+UP/DOWN
+Move the cursor one track up/down and select track
+
+@item SHIFT+PAGEUP/PAGEDOWN
+Move the cursor one page up/down and select tracks
+
+@item @key{CTRL}+UP/DOWN
+Move the cursor one track up/down and unselect track
+
+@item ALT+HOME
+Move selected tracks to the top
+
+@item ALT+END
+Move selected tracks to the bottom
+
+@item ALT+MOUSEWHEEL
+Increase/decrease zoom factor
+
+
+@item @key{CTRL}+C
+Copy selected tracks to clipboard
+
+@item @key{CTRL}+X
+Cut selected tracks to clipboard
+
+@item @key{CTRL}+V
+Paste tracks from clipboard at the current cursor position
+
+@item @key{CTRL}+DELETE
+Delete selected tracks
+
+@item @key{CTRL}+F
+Search for tracks
+
+@item @key{CTRL}+I
+Display info about the currently selected track
+
+@item F10
+Copy selected tracks to favourites
+@end table
+
+@node Player remote control
+@section Player remote control
+
+@code{gmerlin_remote} is the command for remotely controlling the
+GUI player. It can be used as a helper application if webbrowsers
+or filenmanagers or for all kinds of remote control methods (including
+keyboard- or infrared-daemons), which can execute arbitrary shell
+commands. One example for a generic keyboard daemon, which can call
+@code{gmerlin_remote} is the @ref{Keyboard daemon, Gmerlin Keyboard daemon}.
+
+@menu
+* Invoking gmerlin_remote: gmerlin_remote.
+* Examples: gmerlin_remote_examples.
+@end menu
+
+@node gmerlin_remote
+@subsection Invoking gmerlin_remote
+
+@include gmerlin_remote.texi
+
+@node gmerlin_remote_examples
+@subsection Examples
+
+@table @code
+@item gmerlin_remote -play
+Play the current track (same as pressing the ``play'' button)
+
+@item gmerlin_remote -host remote.example.com -play
+Connect to @code{remote.example.com} and play the current track there
+
+@item gmerlin_remote -seek-rel -10.0
+Seek 10 seconds backwards
+
+@item gmerlin_remote -next
+Go to next track
+
+@item gmerlin_remote -chapter +
+Go to next chapter
+
+@item gmerlin_remote -openplay cda:///dev/scd0
+Open and play an audio CD in the first SCSI drive and start playing.
+Use commands like this in your desktop configuration for handling removable
+media.
+
+@item gmerlin_remote -launch -addplay http://webradio.example.com/stream.ogg
+Add the given gml to the Incoming
+@ifhtml
+@image{../img/incoming_closed_16}
+@end ifhtml
+album (launching a new player if necessary) and play it. Use commands like this as
+MIME-Handler in webbrowsers and filemanagers. A shortcut for this command is the
+script
+@code{gmerlin_launcher}.
+@end table
+
+
+@node GUI Transcoder
+@section GUI Transcoder
+
+@menu
+* Invoking gmerlin_transcoder: gmerlin_transcoder.
+* Quick intro: gmerlin_transcoder_intro.
+* Main window: gmerlin_transcoder_window.
+* Configuring encoder plugins: gmerlin_transcoder_enc.
+* Configuring tracks: gmerlin_transcoder_tracks.
+@end menu
+
+@node gmerlin_transcoder
+@subsection Invoking gmerlin_transcoder
+
+@include gmerlin_transcoder.texi
+
+@node gmerlin_transcoder_intro
+@subsection Quick intro
+
+Gmerlin transoder can transcode every supported input file
+to any of the supported output files. It has some unique features,
+which seperate it from other transcoding applications. Most notably:
+
+@table @b
+@item Per stream settings
+All settings are configured for each stream separately. This means,
+different streams can have different formats, different filters and
+even different codecs (of course only if the container supports it)
+
+@item Subtitle support
+There are plugins for exporting subitles to separate files or to the
+same file, where the A/V data gets written. Alternatively, you can
+blend subtitles onto the video frames (for containers, which don't
+support subtitles).
+
+@item Profile support
+Finding out the right encoder parameters can be a time-consuming task.
+@code{gmerlin_transcoder} allows you to save all settings and load them later.
+Once you have found out your favourite encoder settings for a specific task,
+transcoding is a matter of
+@itemize @bullet
+@item Loading the profile
+@item Adding tracks to the tasklist
+@item Clicking the transcode button
+@end itemize
+
+@item Postprocessing support
+There are postprocessors, which take the encoded files and
+make e.g. Audio CDs (with cdtext) from it. It also contains a frontend for cdrdao,
+so you can burn them as well.
+
+@item Chapter support
+@code{gmerlin_transcoder} imports all chapter seekpoints from the source, and writes
+them  into the file (currently only supported for Quicktime and mp4).
+You can also edit chapter lists or create new ones
+@item Language codes
+@code{gmerlin_transcoder} lets you import, edit and export language codes for
+the Audio- and subtitle streams
+@item 2 Pass encoding
+For plugins, which support it, we can do 2-transcoding. There is also a
+generic volume normalizer built in.
+@end table
+
+There is a @ref{transcoder_tasklist, tasklist},
+in which the tracks are queued. All newly loaded tracks
+get the globally configured settings (plugins, formats, filters). You can then
+fine-tune the tracks by configuring them individually. Changing track
+parameters for multiple tracks at once isn't possible. Instead, make the
+settings, save them to a profile and load the profile before loading the
+tracks.
+
+@node gmerlin_transcoder_window
+@subsection Main window
+
+@ifhtml
+@image{../img/transcoder_mainwin}
+@end ifhtml
+
+The window contains of the following elements:
+
+@menu
+* Menu bar: transcoder_menubar.
+* Display: transcoder_display.
+* Progress bar: transcoder_progressbar.
+* Tasklist: transcoder_tasklist.
+@end menu
+
+@node transcoder_menubar
+@subsubsection Menu bar
+
+Here you have all @b{global} commands and settings.
+The item @b{Tasklist} has @b{per track} commands and settings.
+
+@b{File menu}
+
+@table @b
+@item Load tasklist...
+@ifhtml
+@image{../img/folder_open_16}
+@end ifhtml
+Pops up a file selection dialog and loads the chosen tasklist.
+The tracks are appended to already existing tracks in the list.
+Has a shortcut in the @b{upper} toolbar.
+@item Save tasklist...
+@ifhtml
+@image{../img/save_16}
+@end ifhtml
+Pops up a file selection dialog for saving the current tasklist.
+Has a shortcut in the @b{upper} toolbar.
+@item Quit
+@ifhtml
+@image{../img/quit_16}
+@end ifhtml
+Stop the current transcoding action (if any) and quit
+Has a shortcut in the @b{upper} toolbar.
+@end table
+
+@b{Options menu}
+@table @b
+@item Preferences
+@ifhtml
+@image{../img/config_16}
+@end ifhtml
+Here, you configure the GUI and the default settings for newly added tracks.
+The preferences are saved in the profile.
+
+@item Configure plugins
+@ifhtml
+@image{../img/plugin_16}
+@end ifhtml
+Here, you set the default plugins for newly added tracks. You can
+configure input plugins (See @ref{gui_i, Configuring input plugins})
+and encoders (See @ref{gmerlin_transcoder_enc, Configuring encoders}).
+The plugin settings are saved in the profile.
+
+@item Load profile...
+@ifhtml
+@image{../img/folder_open_16}
+@end ifhtml
+Pops up a file selection dialog and loads the chosen profile.
+All configuration and plugin settings for new tracks will be
+changed immediately.
+@item Save profile...
+@ifhtml
+@image{../img/save_16}
+@end ifhtml
+Pops up a file selection dialog for saving the current configuration
+to a profile.
+
+@end table
+
+@b{Actions}
+
+@table @b
+@item Start transcoding
+@ifhtml
+@image{../img/run_16}
+@end ifhtml
+This will start transcoding of the tracks in the trasklist in top-to-bottom
+order. While transcoding you can still add/delete/edit tracks in the list.
+Has a shortcut in the @b{upper} toolbar.
+@item Stop transcoding
+@ifhtml
+@image{../img/stop_16}
+@end ifhtml
+Stops transcoding. If the currently transcoded track is not a
+live stream, the produced files are deleted from disk (unless you disable
+this in the preferences). The currently decoded track is moved back to the
+top of the tasklist.
+Has a shortcut in the @b{upper} toolbar.
+@end table
+
+@b{Tasklist}
+
+This menu acts on the tasklist as a whole or the selected track(s).
+
+@table @b
+@item Add... -> Files...
+@ifhtml
+@image{../img/folder_open_16}
+@end ifhtml
+Pops up a file selection dialog, which lets you add files (optionally
+with a specific input plugin) to the end of the tasklist. 
+Has a shortcut in the @b{lower} toolbar.
+@item Add... -> URLs...
+@ifhtml
+@image{../img/earth_16}
+@end ifhtml
+Pops up a window, which lets you enter an URL (optionally
+with a specific input plugin) to the end of the tasklist. 
+Has a shortcut in the @b{lower} toolbar.
+@item Add... -> Drives...
+@ifhtml
+@image{../img/drive_running_16}
+@end ifhtml
+Pops up a window, which lets open a removeable disk (e.g.
+and Audio CD) and append it's tracks to the end of the
+tasklist. You must specify the device @b{and} the plugin.
+Has a shortcut in the @b{lower} toolbar.
+@item Selected... -> Move up...
+@ifhtml
+@image{../img/top_16}
+@end ifhtml
+Move the selected tracks to the top of the list, so they will be
+transcoded first.
+@item Selected... -> Move down...
+@ifhtml
+@image{../img/down_16}
+@end ifhtml
+Move the selected tracks to the bottom of the list, so they will be
+transcoded last
+@item Selected... -> Remove...
+@ifhtml
+@image{../img/trash_16}
+@end ifhtml
+Remove the selected tracks (without confirmation or undo).
+Has a shortcut in the @b{lower} toolbar.
+@item Selected... -> Configure...
+@ifhtml
+@image{../img/config_16}
+@end ifhtml
+Configure the selected track. 
+Has a shortcut in the @b{lower} toolbar.
+@item Selected... -> Edit chapters...
+@ifhtml
+@image{../img/chapter_16}
+@end ifhtml
+Pop up the chapter editor. If the source has chapters, you'll
+find them here. You can also add/delete/move chapters. Chapters
+can also have names (currently only supported by the libquicktime encoder).
+Has a shortcut in the @b{lower} toolbar.
+
+@item Selected... -> Change encoders...
+@ifhtml
+@image{../img/plugin_16}
+@end ifhtml
+Here, you set the encoding plugins of the selected tracks.
+(See @ref{gmerlin_transcoder_enc, Configuring encoders}).
+Has a shortcut in the @b{lower} toolbar.
+
+@item Edit... -> Cut
+@ifhtml
+@image{../img/cut_16}
+@end ifhtml
+Cut selected tracks to the clipboard.
+Has a shortcut in the @b{lower} toolbar.
+
+@item Edit... -> Copy
+@ifhtml
+@image{../img/copy_16}
+@end ifhtml
+Copy selected tracks to the clipboard.
+Has a shortcut in the @b{lower} toolbar.
+
+@item Edit... -> Paste
+@ifhtml
+@image{../img/paste_16}
+@end ifhtml
+Paste tracks or album entries from the @ref{GUI Player}
+from the clipboard. Has a shortcut in the @b{lower} toolbar.
+@item Postprocess...
+Pops up a dialog to configure postprocessing.
+Postprocessing plugins are invoked whenever
+the tasklist gets empty. It adds all tracks, which have
+been encoded since batch transcoding was started.
+Postprocessors make some sanity checks of the files they get,
+and won't try to burn e.g. audio CDs with MPEG data.
+@end table
+
+@b{Windows}
+
+Here, you can show and hide the @ref{gui_log, log window}.
+
+@node transcoder_display
+@subsubsection Display
+Displays the currently performed action and the estimated
+remaining time for the current action. The time display in the lower right
+corner shows the total playback time of the tasklist.
+
+@node transcoder_progressbar
+@subsubsection Progress bar
+Displays the progress of the current action.
+
+@node transcoder_tasklist
+@subsubsection Tasklist
+
+A queue for tracks to be transcoded. Right clicking into the
+list pops up a menu, which is the same as in the menubar.
+
+New tracks can be added in various ways:
+
+@itemize @bullet
+@item By dragging files or URLs from filenanagers or webbrowsers into the tasklist
+@item By using the buttons in lower toolbar or the right click menu
+@item From the @ref{GUI Player} by right clicking into an album end select Selected->Transcode. If multiple transcoders are open, the
+instance, which listens on the remote port (can be only one at a time),
+gets the track.
+@item By dragging tracks from a gmerlin album into the tasklist
+@end itemize
+
+@node gmerlin_transcoder_enc
+@subsection Configuring encoders
+@ifhtml
+@image{../img/transcoder_enc}
+@end ifhtml
+
+This dialog exists in the global settings as well as in the per track
+settings. It describes a complete encoder setup.
+
+There are 2 different modes for encoding: Either all A/V streams go into
+one file, or into separate files (i.e. it's not possible to group some
+A/V streams and write others separately). You control this by clicking
+``Encode audio into video file'' checkbox. Subtitles can be written into
+the video file, or into a separate file. You can select this independently for
+text- and overlay subtitles with the corresponding checkbuttons.
+
+Note, that some streams are always written to a separate file (regardless
+of the check-box settings) if the video encoder plugin doesn't support streams
+of that type.
+
+Then, you can set encoder plugins for each stream type. The menu selects
+the plugin. Right of the menu, there are buttons for displaying plugin info
+@ifhtml
+@image{../img/info_16}
+@end ifhtml
+and setting global options 
+@ifhtml
+@image{../img/config_16}
+@end ifhtml
+(like ID3 generation or fileformat flavours). These settings can be changed
+on a per track basis in the @ref{gmerlin_transcoder_tracks,
+ track configuration dialog}.
+
+Finally, there are the default audio-
+@ifhtml
+@image{../img/audio_16}
+@end ifhtml
+and video
+@ifhtml
+@image{../img/video_16}
+@end ifhtml
+settings. Here, you mostly configure codec parameters like bitrates, etc.
+To further tweak these settings of a per stream base, you'll find the
+same options for each stream in the @ref{gmerlin_transcoder_tracks,
+ track configuration dialog}.
+
+@node gmerlin_transcoder_tracks
+@subsection Configuring tracks
+@ifhtml
+@image{../img/transcoder_track}
+@end ifhtml
+
+It's a standard gmerlin configuration dialog, which is built dynamically
+depending on the stream layout of the source and the encoder setup. On
+the left you see a tree structure of all settings:
+@table @b
+@item General
+Sets global settings like basename of the file and an optional subdirectory
+of the encoding directory, where the file(s) will be written. Note, that
+the toplevel destination directory is configured globally, not per track.
+
+If you select ``postprocess only'', the input file will be sent directly
+to the postprocessing plugin. Enable this for files, which already have a
+format supported by the postprocessor.
+
+Finally you can choose to transcode only a certain selection given by
+the start- and/or end time.
+
+@item Metadata
+Here, any available metadata are imported from the input, and you can
+edit them. Note that not all medatada fields are supported by all output
+formats. Some formats don't support metadata at all.
+
+@item Global encoder options
+For each enabled encoding plugin, you can configure global settings here.
+
+@item Stream options
+For each stream, you have @b{Generic options}. Here you can en- or disable
+the stream, set the language and the format. In addition for subtitles,
+you can choose whether to convert text- to overlay subtitles, blend
+subtitles onto video frames or encode them separately.
+
+For Audio and video streams, you can also set up @ref{gui_f, filters}.
+
+For text subtitles, the @b{render options} let you configure the
+font and colors of the subtitles, if they are converted to overlay
+subtitles.
+
+The @b{default format} of subtitles is for the rare case, that you want
+to convert subtitles to a video stream. It's only used if you encode subtitles
+but no corresponding video stream.
+
+The last tree- node for each stream has always the codec option of the
+output plugin for the respective streams. Here, you can change encoder
+settings for each stream separately. 
+@end table
+
+@node Transcoder remote control
+@section Transcoder remote control
+
+@menu
+* Invoking gmerlin_transcoder_remote: gmerlin_transcoder_remote.
+@end menu
+
+@node gmerlin_transcoder_remote
+@subsection Invoking gmerlin_transcoder_remote
+
+@include gmerlin_transcoder_remote.texi
+
+
+@node Commandline player
+@section Commandline player
+
+@menu
+* Invoking gmerlin_play: gmerlin_play.
+@end menu
+
+@node gmerlin_play
+@subsection Invoking gmerlin_play
+
+@include gmerlin_play.texi
+
+@node Commandline recorder
+@section Commandline recorder
+
+@menu
+* Invoking gmerlin-record: gmerlin-record.
+@end menu
+
+@node gmerlin-record
+@subsection Invoking gmerlin-record
+
+@include gmerlin_record.texi
+
+@node Alsamixer
+@section Alsamixer
+
+@ifhtml
+@image{../img/alsamixer}
+@end ifhtml
+
+Type @code{gmerlin_alsamixer} to start this.
+This is a mixer program, which is still convenient, if you have
+multiple soundcards with 100s of options each. It provides widgets
+for almost all soundcard parameters, which are supported by alsa.
+
+By right clicking on a control, you get a menu where you can:
+
+@itemize @bullet
+@item Move controls inside the window
+@ifhtml
+@image{../img/first_16}
+@image{../img/left_16}
+@image{../img/right_16}
+@image{../img/last_16}
+@end ifhtml
+
+@item Move controls to own windows
+@ifhtml
+@image{../img/windowed_16}
+@end ifhtml
+. To move them back to main window,
+  simply close the control-windows. 
+@item Pop up an options dialog
+@ifhtml
+@image{../img/config_16}
+@end ifhtml
+, where you can select which controls should be shown at all.
+@end itemize
+
+All window configurations and coordinates are remembered. The actual mixer
+settings are @emph{not} remembered, since this is done globally by the
+Alsa startup scripts.
+
+@node Visualizer
+@section Visualizer
+
+@ifhtml
+@image{../img/visualizer}
+
+@end ifhtml
+
+Type @code{gmerlin_visualizer} to start this.
+Gmerlin visualizer opens your soundard for recording and displays a
+visualization in a window. It supports fullscreen and mouse- and
+keyboard interaction with visuals for visualization plugins, which
+support this.
+If you move the mouse or press the ``Menu key'', the toolbar will show
+up (either method can be disabled). It will be hidden again after
+the mouse is idle for some seconds.
+
+In the @b{upper left row}, you can change the input plugin, show info
+about the plugin
+@ifhtml
+@image{../img/info_16}
+@end ifhtml
+or configure the visualization
+@ifhtml
+@image{../img/config_16}
+@end ifhtml
+.
+
+In the @b{lower left row}, you can change the recording- and
+display plugins
+@ifhtml
+@image{../img/plugin_16}
+@end ifhtml
+, set global (plugin independent) options 
+@ifhtml
+@image{../img/config_16}
+@end ifhtml
+, restart the visualization
+@ifhtml
+@image{../img/refresh_16}
+@end ifhtml
+, switch to fullscreen
+@ifhtml
+@image{../img/fullscreen_16}
+@end ifhtml
+or back
+@ifhtml
+@image{../img/windowed_16}
+@end ifhtml
+. Moreover you can show or hide the @ref{gui_log, Log window}
+@ifhtml
+@image{../img/log_16}
+@end ifhtml
+or exit
+@ifhtml
+@image{../img/quit_16}
+@end ifhtml
+the application.
+
+The @b{VU-meter} at the right displays the recording level as it comes
+from the device (i.e. @b{before} the visualizer gain is applied).
+
+You have the following @b{Shortcuts}:
+
+@table @kbd
+@item f
+Toggle fullscreen mode
+@item Tab
+Toggle fullscreen mode
+@item Escape
+Exit fullscreen mode
+@item Menu
+Show toolbar
+@end table
+
+All other keyboard- and mouse events are propagated to the display
+plugin and then to the visualization plugin.
+
+@node Keyboard daemon
+@section Keyboard daemon
+@ifhtml
+@image{../img/kbd_mainwin}
+
+@end ifhtml
+The gmerlin keyboard daemon is an X11 application, which grabs key combinations
+and executes commands. You will communicate mostly via
+the configuration utility @code{gmerlin_kbd_config}. It's independent of
+keyboard model definitions, because it allows to enter the keyboard combination
+in the config dialog directly. It's independent of gmerlin or any other
+multimedia architecture, since the actions can be arbitrary shell commands.
+
+You can manually start and stop the keyboard daemon, add, edit and delete
+key combinations and tell the daemon to apply the changes.
+
+To automatically start the keyboard daemon at each X11 start, find out
+where to enter start commands in your desktop configuration add the
+command @code{/usr/local/bin/gmerlin_kbd}. Change @code{/usr/local} to
+your install prefix if necessary.
+
+Messages from the keyboard daemon show up in @file{/var/log/messages} or
+in another syslog file depending on your system setup.
+
+@node Plugins, FAQ, Applications, Top
+@chapter Plugins
+
+@include plugins.texi
+
+@node FAQ, Get involved, Plugins, Top
+@chapter FAQ
+
+@menu
+* General questions::
+* Installation questions::
+* Usage questions::
+@end menu
+
+@node General questions
+@section General questions
+
+@node Installation questions
+@section Installation questions
+
+@strong{Q:} @emph{Why do I have to install so many packages to get all features?}
+
+@strong{A:} Because having one huge package is not good for people, who want to use
+only one small subset of the included libraries or applications. To make installation
+a bit easier, there are the gmerlin-dependencies and gmerlin-all-in-one packages.
+
+@strong{Q:} @emph{How do I enable Ladspa plugins?}
+
+@strong{A:} Gmerlin looks for Ladspa plugins in @code{/usr/lib/ladspa} and
+@code{/usr/local/lib/ladspa} by default. Additional paths can be set with the
+@code{LADSPA_PATH} enviromnent variable.
+
+@strong{Q:} @emph{Which Ladspa plugins work with gmerlin?}
+
+@strong{A:} All plugins, which have either 1 or 2 input and output ports. The numbers
+of input- and output ports must be equal.
+
+@strong{Q:} How do I enable DVB?
+
+@strong{A:} Gmerlin looks for DVB devices in /dev/dvb. Then, you must pass gmerlin
+  a channel configuration file created with the @uref{http://www.linuxtv.org/wiki/index.php/LinuxTV_dvb-apps,dvb-apps}
+  tools. Check the documentation coming with dvb-apps for how to create channel files. Gmerlin looks for channel maps
+  in the directories @code{$HOME/.szap}, @code{$HOME/.tzap}, @code{$HOME/.czap},
+  @code{$HOME/.azap}, @code{$HOME/.mplayer} and @code{$HOME/.xine}. The first time, you load the DVB plugin,
+  and each time you changed your channel map, the plugin will tune to each transponder and get the full
+  information about the programs (the information provided by dvp-apps is not sufficient). This can take some time.
+  
+@node Usage questions
+@section Usage questions
+
+@strong{Q:} @emph{Ok, I compiled gmerlin and started the player, now how do I  play a file?}
+
+@strong{A:} The easiest way is to open the Incoming or Favourites album
+and use one of the buttons at the bottom to open a file or URL. Or drag the
+file from a filemanager into an album. Later you might want to create
+your own albums.
+
+@strong{Q:} @emph{Can I play a VCD image from harddisk before burning?}
+
+@strong{A:} Yes. If you use vcdimager, you have 2 files: a .bin file and a .cue
+   file. If you load the .cue file with the avdecoder plugin, you'll be
+   able to play the VCD image.
+
+@strong{Q:} @emph{Can I play a DVD image from harddisk or from a mounted DVD drive?}
+
+@strong{A:} Yes, in the dvd directory, go to the subdirectory @code{video_ts} and load the
+   file @code{video_ts.ifo}.
+   
+@strong{Q:} @emph{Can I play an audio CD image from harddisk before burning?}
+
+@strong{A:} Not yet.
+
+@strong{Q:} @emph{How can I make gmerlin the default audio CD player on my Desktop environment?}
+
+@strong{A:} First, find out how to configure the default audio CD player on your system.
+   Usually, you can set a command, which is executed, when a new audio cd is inserted.
+   Assuming your cdrom device is @code{/dev/hdd}, the command for opening and playing
+   an audio cd is:
+
+   @code{gmerlin_remote -launch -openplay cda:///dev/hdd}
+
+   If you just want ot open the CD (without starting playback), use:
+
+   @code{gmerlin_remote -launch -open cda:///dev/hdd}
+   
+@strong{Q:} @emph{How can I make gmerlin the default DVD player on my Desktop environment?}
+
+@strong{A:} Same as for audio CDs, but replace @code{cda://} with @code{dvd://}.
+
+@strong{Q:} @emph{How can I configure gmerlin as a Mime handler for media files on my Desktop environment?}
+
+@strong{A:} Find out how to set up mime handlers (e.g. right click onto a file and select ``Open with...'').
+   Then, enter the command @code{gmerlin_launcher}.
+   
+@strong{Q:} @emph{How can I map multimedia keys on my keyboard to gmerlin functions?}
+
+@strong{A:} You need some way to configure custom shell commands for multimedia keys. Check the
+documentation of your Desktop system. To remote control gmerlin, use the commandline program
+@code{gmerlin_remote}. Type @code{gmerlin_remote -help} for supported options and commands.
+   
+@node Get involved, , FAQ, Top
+@chapter Get involved
+
+Contribution to gmerlin can happen at several skill levels:
+
+@itemize @bullet
+@item Report bugs and installation problems, tell about features you'd like to see.
+@item Tell us about files, which cannot be played. An URL and some infos (other applications
+      which play the file fine) can help a lot.
+@item Make skins. In /usr/local/gmerlin/skins/Default/skin.xml, you'll find an example skin description file.
+@item Assembler gurus can write more speed optimized routines for gavl
+@item Mathematics gurus can write more accurate routines for the higher quality
+levels of gavl. 
+@end itemize
+
+@bye
+
diff -Naur gmerlin-1.2.0.orig/doc/gmerlin.texi gmerlin-1.2.0/doc/gmerlin.texi
--- gmerlin-1.2.0.orig/doc/gmerlin.texi	2013-02-27 16:56:41.202827892 -0800
+++ gmerlin-1.2.0/doc/gmerlin.texi	2013-02-27 16:58:29.743890528 -0800
@@ -461,7 +461,7 @@
 
 A gml can be:
 
-@table @bullet
+@table @b
 @item A regular filename
 Optionally preceeded with ``file://''. This means, that @b{/files/music.mp3} is the same as
 @b{file:///files/music.mp3}.