This file is indexed.

/usr/share/hydrogen/data/doc/manual.docbook is in hydrogen-doc 0.9.7-6.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

   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
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
<?xml version="1.0" encoding="UTF-8"?> <!-- -*- mode:nxml; indent-tabs-mode:nil; fill-column:80; -*- -->
  <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.0//EN"
                      "http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd">
<book id="Hydrogen-manual" lang="en">

  <bookinfo>
    <title>Hydrogen Manual</title>
    <authorgroup>
      <author>
        <firstname>Antonio</firstname>
        <surname>Piraino</surname>
      </author>
      <author>
        <firstname>Alessandro</firstname>
        <surname>Cominu</surname>
      </author>
      <author>
        <firstname>Thijs</firstname>
        <surname>Van Severen</surname>
      </author>
      <author>
        <firstname>Sebastian</firstname>
        <surname>Moors</surname>
      </author>


    </authorgroup>

    <date>06/september/2016</date>

    <abstract>
      <para>Hydrogen is a software synthesizer which can be used alone,
      emulating a drum machine based on patterns, or via an external MIDI
      keyboard/sequencer software. Hydrogen compiles on Linux, Mac OS X and Windows.</para>
    </abstract>
  </bookinfo>

  <!--
      ###################
      # FIRST CHAPTER   #
      ###################
  -->

  <chapter id="chap.introduction">
    <title>Introduction</title>

    <section id="sect.download">
      <title>Download</title>

      <para>
        You can download Hydrogen from 
        <ulink url="http://www.hydrogen-music.org/hcms/node/21">http://www.hydrogen-music.org</ulink>.  
        On the 'Downloads' page you can find several binaries (installers) for Linux, Mac and Windows.  (note that some versions may not be available for Windows and Mac)
      </para>

      <para>
        If you want to compile Hydrogen yourself (see <xref linkend="sect.compilation"/>), you can download the latest source files directly from our
        git repository with:

        <screen><prompt>$</prompt> <command>git clone git://github.com/hydrogen-music/hydrogen.git</command></screen>

        A certain release can be fetched with:

        <screen><prompt>$</prompt> <command>git checkout tags/0.9.6</command></screen>
      </para>

      <para>Compiling Hydrogen depends on the following libraries:</para>

      <itemizedlist mark="opencircle">
        <listitem>
          <para>qt (&gt;= 4.3) at <ulink url="http://www.qt.io">http://www.qt.io</ulink></para>
        </listitem>
        <listitem>
          <para>libsndfile at <ulink url="http://www.mega-nerd.com/libsndfile/">http://www.mega-nerd.com/libsndfile/</ulink></para>
        </listitem>
        <listitem>
          <para>ALSA (&gt;= 1.x) at <ulink url="http://www.alsa-project.org">http://www.alsa-project.org</ulink>
          (only if you wish to use ALSA as audio driver)</para>
        </listitem>
        <listitem>
          <para>Jack Audio Connection Kit (&gt;= 0.80) at 
          <ulink url="http://jackaudio.org/">http://jackaudio.org/</ulink>
          (only if you wish to use Jack as audio driver)</para>
        </listitem>
        <listitem>
          <para>PortAudio at <ulink url="http://www.portaudio.com">http://www.portaudio.com</ulink>
          (only if you wish to use PortAudio as audio driver)</para>
        </listitem>
        <listitem>
          <para>PulseAudio at <ulink url="http://www.pulseaudio.org">http://www.pulseaudio.org</ulink>
          (only if you wish to use PulseAudio as audio driver)</para>
        </listitem>
        <listitem>
          <para>Flac at <ulink url="http://flac.sf.net">http://flac.sf.net</ulink> (only if you
          wish to use flac samples)</para>
        </listitem>
        <listitem>
          <para>ladspa at <ulink url="http://www.ladspa.org">http://www.ladspa.org</ulink> (only if you wish
          to use ladspa effects)</para>
        </listitem>
        <listitem>
          <para>liblrdf at <ulink url="http://sf.net/projects/lrdf">http://sf.net/projects/lrdf</ulink> (only if you wish to use lrdf to categorise effects)</para>
        </listitem>
        <listitem>
          <para>lash at <ulink url="http://lash.nongnu.org">http://lash.nongnu.org</ulink> (only if
          you wish to use lash)</para>
        </listitem>
      </itemizedlist>

      <para>Please install them with your distribution's package manager. If
      you're running a debian-based system, you can install the libraries
      with:</para>

      <screen>
        <prompt>$</prompt> <command>apt-get install libqt4-dev g++ libasound2-dev \
        libjack-dev liblrdf0-dev libflac++-dev libtar-dev libsndfile1-dev \
        liblash-dev libportaudio-dev libportmidi-dev libpulse-dev</command>
      </screen>

    </section>

<!-- COMPILATION  -->

    <section id="sect.compilation">
      <title>Build</title>

      <para>Depending on the branch you are compiling you will need to use cmake. Check the INSTALL.txt and the README.txt files for more info (located in the top level dir once you downloaded the sources).</para>
      

        <para>Compiling with cmake can be done easily by using the build.sh script. Go to the directory where the git repository
        was cloned and run the build.sh script without any arguments to display the help :</para>

        <screen>
           <prompt>$</prompt> <command>./build.sh</command>
        </screen>
      
        <para>The help is now displayed (and is self-explanatory) :
        </para>
      
        <screen>
          <command>   r[m]     => all built, temp and cache files</command>
          <command>   c[lean]  => remove cache files</command>
          <command>   m[ake]   => launch the build process</command>
          <command>   d[oc]    => build html documentation</command>
          <command>   g[raph]  => draw a dependecies graph</command>
          <command>   h[elp]   => show the build options</command>
          <command>   x|exec   => execute hydrogen</command>
          <command>   t[ests]  => execute tests</command>
          <command>   p[kg]    => build source package</command>
          <command>ex: ./build.sh r m pkg x</command>
        </screen>

        <para>To build Hydrogen run the build script with the 'm' option :
        </para>
      
        <screen>
           <prompt>$</prompt> <command>./build.sh m</command>
        </screen>              
      
    </section>

    <section id="sect.preferences">
      <title>Preferences</title>

      <para>First of all you should make sure that the audio engine is
      configured properly.  The preferences dialog can be accessed via the tools
      menu (tools -&gt; preferences).</para>

      <section id="sect.preferences.general_tab">
        <title>The General tab</title>
        
        <para>On the "General" tab (<xref linkend="fig.preferences.general_tab"/>) you can 
        choose to automatically reopen the last used song and/or playlist.  This can save you 
        the trouble of having to reopen the song you are working on every time you open 
        Hydrogen.  Auto loading the playlist can come in handy when you are using Hydrogen live.</para>
        <para>If you want to use Lash for session management you should enable 
        it here so Hydrogen allows interaction with Lash.  If jou are using Jack Session for session management
        you have to option to let Hydrogen automatically save the song file in the Jack Session Directory.</para>
        <para>The Beat Counter drift compensation and start offset allow you to compensate
         for system latency when you are using the Beat Counter function (see <xref linkend="sect.tap_tempo"/>)</para>
        <para>The Max number of bars in a song can be set here (currently limited to 800) 
        and if you want to use rubberband for sample time-streching (see <xref linkend="sect.layer_editing.section2"/>)
        you need to enter the path where rubberband is installed on you system here.</para>
        <!-- THIJS : NEED TO AD LINK TO SAMPLE EDITOR -->
        
        <figure id="fig.preferences.general_tab">
          <title>The General Tab</title>
          <mediaobject>
            <imageobject>
              <imagedata fileref="img/PreferencesGeneral_V3.png" format="PNG"/>
            </imageobject>
          </mediaobject>
        </figure>
        

      </section>

      <section id="sect.preferences.audio_tab">
        <title>The Audio System tab</title>

        <para>From the "Audio System" tab (<xref
        linkend="fig.preferences.audio_tab"/>) it is possible to modify the
        audio driver being used (OSS, Jack, ALSA, PortAudio, PulseAudio, CoreAudio) with its buffer and
        sampling rate (unless you are using JACK, in this case the audio driver
        configuration should happen before starting the JACK server).</para>

        <para>We can set some features of Hydrogen like "Create per-instrument outputs" 
        this will create 1 output per instrument that you can connect to any other Jack enabled application.
        This can be useful if you want to add effects to a single instrument with
        jack-rack for example.  "Connect to Default Output Pair" connects the output to the
        default ports: uncheck this if you want to connect the JACK output to other
        ports without having to disconnect them first.</para>

        <para>Also keep an eye on the value of "Polyphony": depending on your
        CPU you may want to change the max simultaneous notes in order to
        prevent hydrogen from overrunning the audio driver.</para>
        <para>The "Interpolate resampling" parameter allows you to select your preferred
        interpolation methode.</para>

        <figure id="fig.preferences.audio_tab">
          <title>The Audio System Tab</title>
          <mediaobject>
            <imageobject>
              <imagedata fileref="img/PreferencesAudioSystem_V3.png" format="PNG"/>
            </imageobject>
          </mediaobject>
        </figure>

        <para>
          The following drivers are available:
        </para>

        <itemizedlist>

          <listitem>
            <para><emphasis role="bold">jackd</emphasis>: The Jack driver is a
            professional audio server which permits very low lag and exchanges
            with other audio software. <emphasis>We strongly recommend using
            this driver to have the best out of Hydrogen</emphasis>.  JACK
            server will start automatically if not already running.</para>
          </listitem>

          <listitem>
            <para><emphasis role="bold">ALSA</emphasis>: the widely adopted
            Linux standard audio drivers</para>
          </listitem>

          <listitem>
            <para><emphasis role="bold">OSS</emphasis>: The Oss audio driver
            uses /dev/dsp and it's based on the OSS interface which is supported
            by the vast majority of sound cards available for Linux; this said,
            the use of this audio driver blocks /dev/dsp until Hydrogen is
            closed i.e. unusable by any other software. Use it as last
            resort.</para>
          </listitem>

          <listitem>
            <para><emphasis role="bold">PortAudio</emphasis>: an open-source
            multi platform audio driver</para>
          </listitem>

          <listitem>
            <para><emphasis role="bold">CoreAudio</emphasis>: a driver for Mac
            OS X (experimental)</para>
		  </listitem>

          <listitem>
            <para><emphasis role="bold">PulseAudio</emphasis>: a driver for the cross platform
            PulseAudio sound server.</para>
		  </listitem>


        </itemizedlist>
      </section>

      <section id="sect.preferences.midi_tab">
        <title>The Midi System tab</title>

        <para>The "Midi System" tab (<xref linkend="fig.preferences.midi_tab"/>)
        contains all MIDI settings. Here you can choose the MIDI driver (ALSA, PortMidi, 
        CoreMidi or JackMidi) input, and channel(s) that Hydrogen should respond to.  
        <note><para>If you want to use Jack Session management you should select the 
        JackMidi driver.  Jack Session management can only (re)store Jack midi connections.</para></note>
        You can also define midi bindings: link a midi note/message to an action. 
        To do this simply press the red 'REC' button left of the event-action binding line.  
        A popup will inform you that Hydrogen is waiting for your input.  Press/hit/turn 
        the key/pad/knob on your midi keyboard (or controller) that you want to link to 
        this action.  The popup will close and the Event Param value will now show the 
        midi note value of the key you pressed.  Once this is done you can select an Action 
        from the action drop-down list.  Note that some actions (like SELECT_NEXT_PATTERN) 
        also require an Action Param that references the pattern you want to select with this midi action.</para>
       <para>See <xref linkend="sect.midi"/> for more info on Midi actions.</para>

        <figure id="fig.preferences.midi_tab">
          <title>The MIDI System Tab</title>
          <mediaobject>
            <imageobject>
              <imagedata fileref="img/PreferencesMidiSystem_V2.png" format="PNG"/>
            </imageobject>
          </mediaobject>
        </figure>
      </section>

      <section id="sect.preferences.appearance_tab">
        <title>The Appearance tab</title>

        <para>The "Appearance" tab (<xref
        linkend="fig.preferences.appearance_tab"/>) let's you modify Hydrogen look 
        and feel (font settings and interface style). On this tab you can also change the 
        VU meters fall-off speed and switch between Single pane and Tabbed interface
        mode (see <xref linkend="sect.UIoverview"/>)
        </para>

        <figure id="fig.preferences.appearance_tab">
          <title>The Appearance Tab</title>
          <mediaobject>
            <imageobject>
              <imagedata fileref="img/PreferencesAppearance_V2.png" format="PNG"/>
            </imageobject>
          </mediaobject>
        </figure>
      </section>


      <section id="sect.preferences.audio_engine_tab">
        <title>The Audio Engine tab (debug only)</title>

        <para>The "Audio Engine" tab (<xref linkend="fig.preferences.audio_engine_tab"/>) 
        is a window that shows various stats about
        Hydrogen and the audio driver. In case JACK is used, buffer and sampling
        rate should be set before starting Hydrogen (JACK automatically starts
        when an application tries to connect).</para>
        <para>Note that the Audio Engine tab is only available if Hydrogen was complied with 
        debug support.</para>

        <figure id="fig.preferences.audio_engine_tab">
          <title>The Audio Engine tab</title>
          <mediaobject>
            <imageobject>
              <imagedata fileref="img/AudioEngineInfoDialog.png" format="PNG"/>
            </imageobject>
          </mediaobject>
        </figure>
      </section>


    </section>
  </chapter>


  <!--
      ####################
      # SECOND CHAPTER   #
      ####################
  -->

  <chapter id="chap.using_hydrogen">
    <title>Using Hydrogen</title>

<!-- FILETYPES -->
    <section id="sect.file_types">
      <title>Used Filetypes</title>

      <para>Before working with Hydrogen, please familiarize with these
      filetypes:</para>

      <itemizedlist>
        <listitem>
          <para><emphasis role="bold">*.h2pattern</emphasis>: XML file
          describing a single pattern. Patterns are group of beats and are
          managed in the pattern editor.</para>
        </listitem>
        <listitem>
          <para><emphasis role="bold">*.h2song</emphasis>: XML file describing
          the whole song (or sequence). Songs are group of patterns with their
          properties and are manager using the song editor</para>
        </listitem>
        <listitem>
          <para><emphasis role="bold">*.h2playlist</emphasis>: XML file
          describing a playlist. A Playlist is a (ordered) group of songs.</para>
        </listitem>
        <listitem>
          <para><emphasis role="bold">*.h2drumkit</emphasis>: a compressed and
          archived folder containing all sound samples composing a drumkit and a
          description XML file. Drumkits are basically group of sound
          samples.</para>
        </listitem>
      </itemizedlist>
    </section>

<!--   UI OVERVIEW  -->
    <section id="sect.UIoverview">
      <title>The main User Interface : an overview</title>

      <para>The Main UI comes in 2 flavors : the (classic) Single Pane mode (ideal for
      large- and medium size screens), and the Tabbed mode (optimized for netbook screen 
      sizes).
      </para>
      <para>
      Below you can see the main UI split up in 5 parts : the Main Menu, Main 
      Toolbar, Song Editor, Pattern Editor and the Instrument and Sound Library Editor.
        These sections will be explained in detail further down in this manual.</para>
      
      <figure id="fig.UI_overview">
        <title>The Main UI in Single Pane mode</title>

        <mediaobject>
          <imageobject>
            <imagedata fileref="img/GUI_Sections_0.9.5_v2.png" format="PNG"/>
          </imageobject>
        </mediaobject>
      </figure>

      <figure id="fig.tabbed_UI_overview">
        <title>The Main UI in Tabbed mode</title>

        <mediaobject>
          <imageobject>
            <imagedata fileref="img/MainUI_tabbed.png" format="PNG"/>
          </imageobject>
        </mediaobject>
      </figure>

      
    </section>

<!--  MAIN MENU -->
    <section id="sect.main_menu">
      <title>Main menu</title>

      <para><emphasis role="bold">Projects</emphasis>: this menu offers file
      related functions.</para>

      <itemizedlist>
        <listitem>
          <para><emphasis>New</emphasis> - Create a new song</para>
        </listitem>
        <listitem>
          <para><emphasis>Show Info</emphasis> - Set general properties of the
          song such as name, author, license and generic notes</para>
        </listitem>
        <listitem>
          <para><emphasis>Open</emphasis> - Open a song</para>
        </listitem>
        <listitem>
          <para><emphasis>Open Demo</emphasis> - Open a demo song (demo songs
          are stored in
          <emphasis>$INSTALLPATH/share/hydrogen/data/demo_songs</emphasis>)</para>
        </listitem>
        <listitem>
          <para><emphasis>Open recent</emphasis> - Open a menu showing last used
          songs</para>
        </listitem>
        <listitem>
          <para><emphasis>Save</emphasis> - Save changes to current song</para>
        </listitem>
        <listitem>
          <para><emphasis>Save as</emphasis> - Save current song specifying a
          name (default path:
          <emphasis>$HOME/.hydrogen/data/songs)</emphasis></para>
        </listitem>
        <listitem>
          <para><emphasis>Open pattern</emphasis> - Open a saved pattern
          belonging to the current drumkit</para>
        </listitem>
        <listitem>
          <para><emphasis>Export pattern as</emphasis> - Saves a
          pattern. It will be stored in
          <emphasis>$HOME/.hydrogen/data/patterns/drumkit_name</emphasis></para>
        </listitem>
        <listitem>
          <para><emphasis>Export MIDI file</emphasis> - Export current song in
          MIDI format</para>
        </listitem>
        <listitem>
          <para><emphasis>Export song</emphasis> - Export current song in WAV
          format (see <xref linkend="sect.song_editor.export_song"/>)</para>
        </listitem>
        <listitem>
          <para><emphasis>Quit</emphasis> - Quit Hydrogen</para>
        </listitem>
      </itemizedlist>

      <para><emphasis role="bold">Undo</emphasis>: Undo/Redo functions.</para>
      
        <itemizedlist>
        <listitem>
          <para><emphasis>Undo</emphasis> - Lets you undo your last action</para>
        </listitem>
        <listitem>
          <para><emphasis>Redo</emphasis> - Lets you redo the last undone action</para>
        </listitem>
        <listitem>
          <para><emphasis>Command History</emphasis> - Gives you an overview of your previous
          actions</para>
        </listitem>
        </itemizedlist>

      <para><emphasis role="bold">Instruments</emphasis>: this menu offers
      instruments and drumkit (sound libraries) functions.</para>

      <itemizedlist>
        <listitem>
          <para><emphasis>Add instrument</emphasis> - Add a new instrument to
          your current drumkit</para>
        </listitem>
        <listitem>
          <para><emphasis>Clear all</emphasis> - Delete all instruments from the
          current drumkit</para>
        </listitem>
        <listitem>
          <para><emphasis>Save library</emphasis> - Saves all instruments
          settings (and their sound samples) in
          <emphasis>$HOME/.hydrogen/data/library_name</emphasis></para>
        </listitem>
        <listitem>
          <para><emphasis>Export library</emphasis> - Compress all instruments
          samples and settings in a drumkit in
          <emphasis>$HOME/.hydrogen/data/library_name</emphasis></para>
        </listitem>
        <listitem>
          <para><emphasis>Import library</emphasis> - Imports another drumkit
          from the local filesystem or download it from a remote location
          through an XML feed. The XML file that should be provided is <emphasis
          role="bold">NOT</emphasis> RSS compliant (see <ulink
          url="http://www.hydrogen-music.org/feeds/drumkit_list.php" >Hydrogen
          website</ulink> for an example). To load another drumkit in your
          current working session of Hydrogen, read <xref
          linkend="sect.sound_library"/>.</para>
        </listitem>
      </itemizedlist>

      <para><emphasis role="bold">Tools</emphasis>: opens the mixer, the director, the
      playlist editor, the instrument rack and the general preferences
      window.</para>

      <itemizedlist>
        <listitem>
          <para><emphasis>Playlist editor</emphasis> - A tool to manage
          playlists.</para>
        </listitem>
        <listitem>
          <para><emphasis>Director</emphasis> - Open the director window.</para>
        </listitem>
        <listitem>
          <para><emphasis>Mixer</emphasis> - Open the mixer window.</para>
        </listitem>
        <listitem>
          <para><emphasis>Instrument rack</emphasis> - Open the instrument rack
          panel.</para>
        </listitem>
        <listitem>
          <para><emphasis>Preferences</emphasis> - Open the main preferences
          window. Read <xref linkend="sect.preferences"/> on how to configure
          Hydrogen.</para>
        </listitem>
      </itemizedlist>

      <para><emphasis role="bold">Debug</emphasis>: tools mainly for debugging
      and monitoring Hydrogen (only available when compiled with debug
      support !).</para>

      <itemizedlist>
        <listitem>
          <para><emphasis>Show audio engine info - </emphasis>Open a monitor
          with various <link
          linkend="sect.preferences.audio_engine_tab">stats</link></para>
        </listitem>
        <listitem>
          <para><emphasis>debug action - </emphasis> Insert debug
          commands.</para>
        </listitem>
        <listitem>
          <para><emphasis>Print Objects - </emphasis>Print on stdout current
          objects map.</para>
        </listitem>
      </itemizedlist>

      <para><emphasis role="bold">Info</emphasis></para>

      <itemizedlist>
        <listitem>
          <para><emphasis>User manual - </emphasis>Open a window with this
          manual :)</para>
        </listitem>
        <listitem>
          <para><emphasis>About - </emphasis>The usual window with license
          information, acknowledgements, etc.</para>
        </listitem>
      </itemizedlist>
    </section>


<!--   MAIN TOOLBAR  -->
    <section id="sect.main_toolbar">
      <title>The main toolbar</title>

      <para>Before analyzing the two main frames of Hydrogen, let's take a quick
      look at the main toolbar and its components:</para>

      <itemizedlist>
        <listitem>
          <para>Pilot the song using the start, stop, pause, etc. buttons</para>
        </listitem>
        <listitem>
          <para>Choose between "pattern" or "song" mode: in "pattern" mode only
          the currently selected pattern will play, while in "song" mode all
          patterns inserted will be played.</para>
        </listitem>
        <listitem>
          <para>An advanced tap tempo function: choose note length and how many
          notes to wait before recalculating BPM, then hit the comma key
          repeatedly until the 'R' letter appears and then the BPM will be
          updated.  (see <xref linkend="sect.tap_tempo"/>)</para>
        </listitem>
        <listitem>
          <para>Manually set BPM</para>
        </listitem>
        <listitem>
          <para>Manage JACK transport</para>
        </listitem>
        <listitem>
          <para>Open the mixer and the instrument rack panels</para>
        </listitem>
      </itemizedlist>

      <figure id="fig.main_toolbar">
        <title>The Main Toolbar</title>

        <mediaobject>
          <imageobject>
            <imagedata fileref="img/MainToolbar_V2.png" format="PNG"/>
          </imageobject>
        </mediaobject>
      </figure>

      <itemizedlist mark="opencircle">
        <listitem>
          <para><inlinemediaobject><imageobject><imagedata
          fileref="img/background_Control_V2.png" format="PNG"/>
          </imageobject></inlinemediaobject></para>

          <para>Main controls to start <emphasis role="bold">[Hotkey =
          Spacebar]</emphasis>, stop, record, fast forward, rewind, loop a song or a
          pattern.</para>
        </listitem>

        <listitem>
          <para><inlinemediaobject><imageobject>
          <imagedata fileref="img/background_Mode.png" format="PNG"/>
          </imageobject></inlinemediaobject></para>

          <para>Set Pattern/Song Mode. When Song mode is selected Hydrogen will play 
          the complete song. This is the sequence of patterns you have created in the Song 
          Editor (see <xref linkend="sect.song_editor"/>). When Pattern mode is selected 
          Hydrogen will play the pattern that is currently selected, and thus displayed 
          in the Pattern Editor (see <xref linkend="sect.pattern_editor"/>).</para>
        </listitem>
        
        <listitem>
          <para><inlinemediaobject><imageobject>
          <imagedata fileref="img/MeasureSettings.png" format="PNG"/>
          </imageobject></inlinemediaobject></para>

          <para>Set measure type and Beat Counter (see <xref linkend="sect.tap_tempo"/>).</para>
          
        </listitem>
        
        

        <listitem>
          <para><inlinemediaobject><imageobject>
            <imagedata fileref="img/background_BPM.png" format="PNG"/>
          </imageobject></inlinemediaobject></para>

          <para>Set speed of playing (range: 30-400 bpm) <emphasis
          role="bold">[Hotkey = mouse wheel]</emphasis> and button to
          enable/disable metronome</para>
        </listitem>

        <listitem>
          <para><inlinemediaobject><imageobject>
          <imagedata fileref="img/MidiIN_CPU.png" format="PNG"/>
          </imageobject></inlinemediaobject></para>

            <para>Shows CPU load and MIDI events.  The CPU bargraph gives you an indication of the CPU load.  The MIDI led lights up every time Hydrogen receives a midi message.</para>
        </listitem>
<!--
        <listitem>
          <para><inlinemediaobject><imageobject>
            <imagedata fileref="img/midi_in.png" format="PNG"/>
          </imageobject></inlinemediaobject></para>

          <para>Shows MIDI events.</para>
        </listitem>
-->
        <listitem>
          <para><inlinemediaobject><imageobject>
            <imagedata fileref="img/JackTrans_Master.png" format="PNG"/>
          </imageobject></inlinemediaobject></para>

          <para>Click J. TRANS to enable Jack transport.  If the J. MASTER button is pressed Hydrogen will work as 'master', else it will act as 'slave'
          to another 'master' program (e.g. Ardour). Note that this applet is only
          available if Jack Audio Driver is selected, <emphasis>NOT</emphasis> when the Audio driver is set to 'Auto'.</para>
        </listitem>
        
       <listitem>
          <para><inlinemediaobject><imageobject>
            <imagedata fileref="img/mixer-instrrack_btn.png" format="PNG"/>
          </imageobject></inlinemediaobject></para>

          <para>
          The last section gives you quick access to the Mixer window and the Instrument Rack.
            The LCD screen displays what Hydrogen is up to.
          </para>
        </listitem>        
        
      </itemizedlist>


    <!--  TAP TEMPO -->

      <section id="sect.tap_tempo">
        <title>Tap Tempo and BeatCounter</title>

        <para>It is possible to change the tempo at any time using the tap-tempo and
        BeatCounter features of Hydrogen.  You can do this while the song is playing or
        while the song is stopped.  To change the tempo, hit the
        <keycap>,</keycap> (comma) key in the tempo you want.
        After the correct number of keystrokes have been detected (see 
        below for details), the tempo will change to the average tempo 
        you tapped the comma key.  If you continue to tap,
        these new taps will become a part of a rolling average.  If you tap
        accidentally, or if you wait too long between taps, the tap tempo
        counter will start over.</para>

        <para>The Tap Tempo is a part of the BeatCounter, which is essentially a
        Tap Tempo on steroids.  By default the BeatCounter display is not
        visible.  To see the BeatCounter widget click the upright button
        (<guilabel>BC</guilabel>) between Song/Pattern mode selector and the
        BPM-widget, or, simply press the comma key.
        (<keycap>,</keycap>).</para>

        <para>The tempo that you tap will be considered even beats of the song's 
        beat type.  The beat type can be set to 1/8 (for eight-note beats), 1/4 (for
        quarter-note beats), 1/2 (for half-note beats), and 1/1 (for whole-note
        beats).  To change the beat type use the left +/- buttons.  To change
        the Countdown Counter value, use the right +/- buttons.  The Countdown 
        Counter value can be set between 2 and 16 beats.  (I.e. if you set the beat to 6, you will
        have to tap 6 times before the new tempo is computed and set.)  When the
        display shows an <guilabel>R</guilabel>, it means that the BeatCounter
        is ready to start from 0.  When you tap the comma key, the R will change to
        1, and will increment with every keystroke until it reaches the Countdown 
        Counter value (shown just below the 'R').</para>

        <para>The button in the bottom right-hand controls the auto-start
        feature, and it toggles between <guilabel>S</guilabel> and
        <guilabel>P</guilabel>.  When it shows <guilabel>P</guilabel> for
        (<emphasis>Play</emphasis>), the song will set the new tempo and
        automatically start to play after you tap the right number of beats (if
        it's not already playing, of course).  This way, if you have the
        BeatCounter set up for 4/4, you can tap 1-2-3-4, and start playing on
        the next beat.  When it shows <guilabel>S</guilabel> (for <emphasis>Set
        BPM</emphasis>), the auto-start is disabled.</para>

        <para>For example: Suppose you have a live band, Hydrogen, and a
        softsynth that is controlled by Seq24)... and you want them all to start
        at the same time.  Set the beat type to 1/4 and the number of beats to
        4.  Enable auto-start (button shows <guilabel>P</guilabel>).  Count off
        the band 1-2-3-4 (while tapping the comma key) &mdash; and everyone
        starts on 1.</para>

        <para>Another example: Same situation, but the song doesn't require
        Hydrogen or synths until some point later.  During that time, a human
        (e.g. guitar player) will be setting the tempo.  On the measure before
        Hydrogen is supposed to play, tap the comma key 1-2-3-4 with the
        beat... and you're in on the next beat (at the right tempo).</para>

        <para>If you are using the JACK Transport, the BeatCounter continues to
        work.  If another program is the JACK Transport Master, Hydrogen will
        respond to tempo change events from that application.  Note that in this
        situation, Hydrogen is supposed to be a <emphasis>slave</emphasis>, so
        some of the BeatCounter features will be disabled or will not work
        properly.  If Hydrogen is the JACK Transport Master, tempo changes from
        Hydrogen will be reflected in those programs (if they support
        it).</para>

        <para>Some of the settings to adjust the BeatCounter's latency
        compensation, are located on the General tab of the Preferences Dialog 
        (see <xref linkend="sect.preferences.general_tab"/>
        ). Here you will finde two spinboxes:</para>

        <itemizedlist>
          <listitem><para><emphasis role="bold"><guilabel>Beat counter drift
          compensation in 1/10ms</guilabel></emphasis> &mdash; adjust to
          compensate for latency between the keyboard and the
          program.</para></listitem>

          <listitem><para><emphasis role="bold"><guilabel>Beat counter start
          offset in ms</guilabel></emphasis> &mdash; adjust the time between the
          BeatCounter's last input stroke and when the song starts playing (if
          auto-start is activated).</para></listitem>
        </itemizedlist>

        <para>Note that these can be set to positive (+) or negative (-) values.
        In order to find useful values for these, you will need to take some
        time to play with it.  Also, you may want different values depending on
        the speed of your hardware, audio devices, drivers, etc.  Using the
        BeatCounter effectively requires practice.</para>

      </section>

    </section>


<!-- SONG EDITOR -->
    <section id="sect.song_editor">
      <title>Song Editor</title>

      <para>The "Song Editor" (<xref linkend="fig.song_editor"/>) gives an
      overview of the whole timeline of the song (e.g. intro, verse, bridge,
      chorus and so on); each blue colored square on this panel represents a complete
      bar as shown in the underlying "Pattern Editor" panel. The song editor gives
      you complete freedom to add/remove patterns to the song and to move or 
      copy any part of your song.
      
           
      <figure id="fig.song_editor">
        <title>The Song Editor</title>
        <mediaobject>
          <imageobject>
            <imagedata fileref="img/SongEditor.png" format="PNG" />
          </imageobject>
        </mediaobject>
      </figure>
      </para>

     <section id="sect.song_editor.main_controls">
      <title>Main controls</title>
      <para>
        <inlinemediaobject>
          <imageobject>
            <imagedata fileref="img/bg_topPanel.png" format="PNG"/>
          </imageobject>
        </inlinemediaobject>
      </para>

      <itemizedlist mark="opencircle">

        <listitem>
          <para><inlinemediaobject><imageobject>
            <imagedata fileref="img/btn_clear_off.png" format="PNG"/>
            </imageobject></inlinemediaobject> Completely delete all patterns
            (asks for confirmation!).
          </para>
        </listitem>

        <listitem>
          <para><inlinemediaobject><imageobject>
            <imagedata fileref="img/btn_new_on.png" format="PNG" />
            </imageobject></inlinemediaobject> Create a new pattern (and asks
            for a name).
          </para>
        </listitem>

        <listitem>
          <para><inlinemediaobject><imageobject>
            <imagedata fileref="img/btn_updown.png" format="PNG" />
            </imageobject></inlinemediaobject> Move currently selected pattern
            up or down.</para>
          <para>Note that you can also just drag-and-drop a pattern up/down in the pattern list.</para>
        </listitem>



        <listitem>
          <para><inlinemediaobject><imageobject>
            <imagedata fileref="img/btn_select.png" format="PNG"/>
            </imageobject></inlinemediaobject> Enable Select Mode.  This mode allows 
            you to select a part of the song and delete/move/copy it.</para>
		<para>Once you have selected a part of your song you can <emphasis role="bold">delete</emphasis> 
			it by pressing the Delete button.  You can <emphasis
             role="bold">move</emphasis> it by simply dragging your selection
            to another location, and you can also <emphasis role="bold">copy</emphasis>
             you selection by Ctrl-dragging it to a new location.
          </para>
        </listitem>

        <listitem>
          <para><inlinemediaobject><imageobject>
            <imagedata fileref="img/btn_draw.png" format="PNG"/>
            </imageobject></inlinemediaobject> Enable Draw Mode.  This mode allows
            you to create a song by drawing blocks on the song canvas.</para>
            <para>Clicking a square on the song canvas will add a pattern (the square 
            will turn blue), clicking it again will remove that pattern from the song.
          </para>
        </listitem>

        <listitem>
          <para><inlinemediaobject><imageobject>
            <imagedata fileref="img/btn_pattern_mode.png" format="PNG"/>
            </imageobject></inlinemediaobject> set Hydrogen to "Single pattern mode"
            <inlinemediaobject><imageobject>
            <imagedata fileref="img/stacked_mode_V3.png" format="PNG"/>
            </imageobject></inlinemediaobject>
            or to "Stacked pattern mode".</para>
            <para>For more info on this see the SELECT_NEXT_PATTERN midi action in <xref linkend="sect.midi"/>.
          </para>
        </listitem>
      </itemizedlist>

      </section>
      
      
     <section id="sect.song_editor.tempo_and_markers">
     <title>Tempo markers and song Tags</title>
       <para>This section describes how you can define tempo changes and 
       how you can add tags to your song.</para>
       <para>The majority of songs consist of several parts (intro, verse, chorus ...) and
       often these parts will have a different tempo.  Hydrogen provides an easy way
       to let you change the tempo of a song at any given moment in the song.  This is 
       done by adding Tempo change Markers to your song.</para>
       <para>To add a Tempo change marker to your song you first need to enable the 'BPM' option
       (the BPM button is located just above the Song editors main controls).  Once this is done
       the horizontal bar next to the BPM button changes to a ruler with marks at every bar.
       Now simply left-click this ruler at the bar you want the tempo to change and a
       window will pop up where you can enter the new tempo.
     
        <informalfigure id="fig.add_tempo_change">
         <mediaobject>
           <imageobject>
             <imagedata fileref="img/add_tempo_change.png" format="PNG" />
           </imageobject>
         </mediaobject>
         </informalfigure>
            
       Once you have entered the new tempo and clicked OK, the tempo change will 
       show up on the tempo ruler.  If you click the Tempo marker again you can edit 
       the tempo, change the bar or delete the tempo marker.

        <informalfigure id="fig.tempo_bar">
         <mediaobject>
           <imageobject>
             <imagedata fileref="img/tempo_bar.png" format="PNG" />
           </imageobject>
         </mediaobject>
         </informalfigure>

       </para>

       <para>
       In addidtion to changing the tempo when the song switches from intro > verse, 
       it is also very handy to have a clear indication of this tempo switch (or any other
       event in the song).  For this purpose you can also ad Tags markers to the song.
       These Tags are short text messages you can add to your song at any given 
       moment that will be displayed whenever the song playhead passes by that Tag.</para>
       
       <para>
       To add a Tag to your song simply middle-click on the song ruler (just below the 
       tempo ruler) and a window will pop up where that allows you to add text for any bar.
            
        <informalfigure id="fig.add_tag">
         <mediaobject>
           <imageobject>
             <imagedata fileref="img/add_tag.png" format="PNG" />
           </imageobject>
          </mediaobject>
         </informalfigure>

       Once you are done you will see a small blue 'T' in the song ruler for every tag 
       you have entered.  Middle-click anywhere on the song ruler to edit the tags.

         <informalfigure id="fig.tag_bar">
          <mediaobject>
            <imageobject>
              <imagedata fileref="img/tag_bar.png" format="PNG" />
            </imageobject>
           </mediaobject>
          </informalfigure>
       </para>

       <para>
       Now all we need is a way to see the tags we have entered.  This can be done 
       using the Director window.  Open the Director by pressing Alt-D, or Tools- Director : 

           <informalfigure id="fig.director">
            <mediaobject>
              <imageobject>
                <imagedata fileref="img/screenshot-director.png" format="PNG" />
              </imageobject>
            </mediaobject>
            </informalfigure>
       
       The Director is your best friend when you need a quick overview of what Hydrogen
       is currently doing.  This comes in very handy when you are recording a song, or
       if you are using Hydrogen live on stage.</para>
       
       <para>
       The Director shows you the song name, a visual metronome and of course the 
       song Tags.  Just below the metronome you can see the latest tag, and below that 
       the next upcoming tag.  This way you have a nice overview of what is going on, 
       and what is about to happen in the song
       
     </para>

     </section>


     <section id="sect.song_editor.pattern_options">
     <title>Patterns options</title>

      <para>Right-clicking the name of a pattern will show you a menu 
      where you can change a number of things :</para>
      
     <figure id="fig.song_editor.virtualPattern.selectedMenu">
        <title>The Pattern Options menu</title>

        <mediaobject>
          <imageobject>
            <imagedata fileref="img/Virtual_patterns_menu.png" format="PNG"/>
          </imageobject>
        </mediaobject>
      </figure>
      
      
      <itemizedlist mark="opencircle">

        <listitem>
          <para>Edit : will open the selected pattern in the Pattern Editor.
          </para>
        </listitem>
        
        <listitem>
          <para>Copy : will copy the selected pattern to a new pattern in your song.
          </para>
          <para>Note that patterns with the same name are not allowed.</para>
        </listitem>
        
        <listitem>
          <para>Delete : will completely remove the selected pattern from the song.
          </para>
        </listitem>
        
        <listitem>
          <para>Fill/Clear : will open a window that allows you to fill/clear a 
          part of the song with the selected pattern by entering the start- and end bar.
           <informalfigure id="fig.fill_clear_pattern">
            <mediaobject>
              <imageobject>
                <imagedata fileref="img/fill_clear_pattern.png" format="PNG" />
              </imageobject>
            </mediaobject>
            </informalfigure>
          </para>
        </listitem>
        
        <listitem>
          <para>Properties : will open a window where you can change 
          the name of the pattern and also assign it to a certain category.
           <informalfigure id="fig.pattern_properties">
            <mediaobject>
              <imageobject>
                <imagedata fileref="img/pattern_properties.png" format="PNG" />
              </imageobject>
            </mediaobject>
            </informalfigure>
          </para>
          <para>Note that you can choose one of the existing categories from the dropdown list,
          but you can also enter a new category name in the Pattern Category box.</para>
        </listitem>
        
        <listitem>
          <para>Load Pattern : will open the selected pattern in the Pattern Editor.
          </para>
        </listitem>
        
        <listitem>
          <para>Save Pattern : will open the selected pattern in the Pattern Editor.
          </para>
        </listitem>
        
        <listitem>
          <para>Virtual Pattern : will open the selected pattern in the Pattern Editor.
          </para>
          <para>
	        Virtual patterns are a convenient way of grouping patterns together. 
          For example, say you have a song in which three patterns are always 
          played together at the start of each bar. Previously, the way to do this 
          in the pattern matrix was to explicitly enable the three patterns at each bar.
         </para>
         <para>
        	With virtual patterns we can assign a pattern to be a sort of meta-pattern 
	        that implicitly invokes these three patterns together when the new virtual pattern 
	        is enabled in the pattern matrix. This way, we only need to set one pattern every 
	        bar, instead of three.
         </para>
         <para>
        	Virtual patterns provide a function that's similar to the regular pattern editor, and one could argue that 
	        since a virtual pattern is also a regular pattern, we could have just merged the three 
	        patterns into this new one. However, the advantage that virtual patterns provide is that 
	        if one of the original three patterns changes, the virtual pattern automatically inherits 
        	the change. A virtual pattern can also invoke other virtual patterns.	
         </para>
         
          
        </listitem>        
        
      </itemizedlist>
        
      


      


     
     </section>

     <section id="sect.song_editor.export_song">
     <title>Exporting your song</title>

      <para>Once your song is finished you can export it to an audio file.
      This audio file can then be played on your favorite media player or imported
      in an other audio application.</para>
      <para>
      To do this, go to Project - "Export song" and the following window will pop up:
        <figure id="fig.Export_song">
         <title>Export a song</title>
         <mediaobject>
           <imageobject>
             <imagedata fileref="img/Export_song.png" format="PNG" />
           </imageobject>
         </mediaobject>
        </figure>
      To export a song you need to do 3 things:
     
      </para>
      
       <itemizedlist mark="opencircle">

        <listitem>
          <para>Enter a name and location for the export file in the 'Export filename' field
          </para>
        </listitem>
        
        <listitem>
          <para>Select one of the available templates (e.g. CD, DAT ...) according to your needs:  
          each template has a specific bitrate, resolution, and audio format (WAV, AIFF, FLAC or OGG).
          You can tweak the selected template using the samplerate/sampledepth dropdown boxes
          underneath the template field.
          
          </para>
        </listitem>
        
        <listitem>
          <para>Export mode: 'Export to a single track' will export 1 stereo downmix of your 
          song (= the master output).  'Export to separate tracks' will create files for each 
          instrument/track.  'Both' will create a stereo downmix + audio files for all individual
          instruments.
          </para>
        </listitem>
        
        </itemizedlist>
        
        <para>
        Once all these settings have been configured all you need to do is click the 'Export'
        button and Hydrogen will generate the requested files.
        </para>

      <note>
       <para>
       If you have tempo changes in your song (see <xref linkend="sect.song_editor.tempo_and_markers"/>) 
       these tempo changes will not be exported.  This is a know limitation of the current versions 
       (including 0.9.6)
       </para>
       <para>
       As a workaround you can record the output of Hydrogen with an audio recording
       application (like Ardour, Qtractor ...)
       </para>
      </note>

     </section>


    </section>
    

<!--  PATTERN EDITOR  -->
    <section id="sect.pattern_editor">
    
      <title>Pattern Editor</title>

      <para>The "Pattern Editor" 
      allows you to create or modify the selected pattern by adding/removing notes and tunning 
      a number of per-note properties like velocity and pan.
      The Pattern Editor 
      can be used in 2 modes : 'Drum' mode or 'Piano' mode.  You can switch between these 
      modes by clicking the Drum/Piano button (located on the top-right of the Pattern Editor) 
      <note>
      <itemizedlist mark="opencircle">
      <listitem><para>
      If you are editing a pattern in Single Pattern Mode you will always hear the pattern you are 
      editing when you press play.</para></listitem>
      <listitem><para>If you are working in Stacked Pattern Mode you will hear the <emphasis>active</emphasis> pattern(s), 
      not necessarily the pattern you are currently editing.
      (The active patterns have a small triangle next to the pattern name in the Song Editor). 
      </para></listitem>
      </itemizedlist>
      </note>
      
      </para>
      
      <para>First let's take a look at the (classic) 'Drum' mode :
        <figure id="fig.PatternEditor_DrumMode">
         <title>Pattern Editor in Drum mode</title>
         <mediaobject>
           <imageobject>
             <imagedata fileref="img/PatternEditor_DrumMode.png" format="PNG" />
           </imageobject>
         </mediaobject>
        </figure>
      </para>
      
      <section id="sect.pattern_editor.controls"> 
       
        <title>Pattern Editor Controls</title>
        <para>The top part of the pattern editor contains a number of controls :</para>
      
        <figure id="fig.PatternEditorControls">
         <title>Pattern Editor Controls</title>
         <mediaobject>
           <imageobject>
             <imagedata fileref="img/PatternEditorControls.png" format="PNG" />
           </imageobject>
         </mediaobject>
        </figure>
        
         <para>From left to right : </para>
         <itemizedlist mark="opencircle">

           <listitem><para><emphasis role="bold">SIZE</emphasis> : lets you choose the size of the pattern (the number of bars)</para></listitem>

           <listitem>
            <para>
             <emphasis role="bold">RES</emphasis> : this is the current grid resolution (4 through 64)
            </para>
            <para>
                Remember this constraint concerning the grid: if you are working
                with a resolution of 16 you can't go back to 8 and remove a 16th note. On
                the other hand if you are working with a resolution of 8 and you try to
                insert a note in the middle of two bars (looking for a 16 bars precision),
                notes will be placed in the previous or in the following 8th bar.  This
                constraint can be removed if you disable the whole grid resolution (choose
                "off" from the grid resolution LCD control). Now you'll be able to place
                notes wherever you prefer.</para>
           </listitem>
        
           <listitem><para><emphasis role="bold">HEAR</emphasis> : when enabled Hydrogen 
           will play the sample as it's being added to the pattern.</para></listitem>

           <listitem><para><emphasis role="bold">QUANT</emphasis> : enables/disables quantization.  
           When enabled the beats inserted 
            will automatically respect the grid resolution currently applied.</para></listitem>

           <listitem><para><emphasis role="bold">Drumset / Instrument</emphasis> : 
           when set to Drumset the keys on your midi keyboard will map to the instruments in your drumkit as
           described in the instrument mapping table below.  If you set it to Instrument the keys of your midi 
           keyboard will trigger the instrument that is currently selected.  The pitch of the instrument will follow 
           the key you press on your keyboard.  This feature is mainly used for non-drum instruments.  An example : 
           if you use a sample of a piano for one of your instruments, you will be able to 'play' that piano instrument 
           using your keyboard just like you are playing a piano synth.</para></listitem>

           <listitem><para><emphasis role="bold">Note Length / Note off</emphasis> : these are 2 different
            ways to define the duration of a note. See <xref linkend="sect.pattern_editor.sequence_area"/> for usage.</para></listitem>

           <listitem><para><emphasis role="bold">Drum/Piano</emphasis> : switch Pattern Editor 
           between Drum and Piano mode. (see below)</para></listitem>

         </itemizedlist>

      </section>
      
      <section id="sect.pattern_editor.drumkit">
      <title>Pattern Editor Drumkit</title>
        <para>The section on the left shows you what drumkit is currently selected (GMkit by default) and below that you can see
        the instruments that are part of this kit.</para>
        
        <para>
        <inlinemediaobject id="ifig.pattern_editor_instrument">
          <imageobject>
            <imagedata fileref="img/PatternEditorInstr_V2.png" format="PNG" />
          </imageobject>
        </inlinemediaobject>
        </para>
          
        <para>Each instrument has its own set of features that are accessible by 
        right-clicking the instrument.  From the context menu that pops up you can select </para>
        <itemizedlist mark="opencircle"> 
          <listitem><para><emphasis role="bold">Clear notes</emphasis> : to remove all notes for this instrument in this pattern.  </para></listitem>
          <listitem><para><emphasis role="bold">Fill notes</emphasis> : this allows you to fill
          up the pattern with notes for the selected instrument.  Depending on the choice you make (fill all, fill 1/2, fill 1/4 ...)
          notes will be placed at all, 1/2, 1/4, etc of the note positions <emphasis role="bold">that are allowed by 
          the grid setting</emphasis>.  So be careful not to mix up the 'musical' 1/2-note and the 'fill 1/2' note.</para></listitem>
          <listitem><para><emphasis role="bold">Randomize velocity</emphasis>
          : automatically apply a pseudo-random velocity to each note of that
          instrument in the pattern. The more velocity you set on the instrument,
          the more hydrogen will hit <quote>hard</quote> on that instrument when
          played.
          </para></listitem>
          <listitem><para><emphasis role="bold">Delete Instrument</emphasis> : well, deletes the instrument ;-)</para></listitem>
        </itemizedlist>
        
        <para>The small red and green buttons right of the instrument names are the
        <quote><emphasis role="bold">mute</emphasis></quote> (red) and <quote><emphasis
        role="bold">solo</emphasis></quote> (green) buttons.</para>

        <para>The order of the instruments can be rearranged by simply dragging an instrument 
        up/down in the list and dropping it on a new position within the drumkit.  Doing so 
        will not change anything to the sequence you have created for that instrument, nor will
        it change anything to the song or pattern you are working on.  It <emphasis role="bold">
        will</emphasis> however, have an impact on the <emphasis role="bold">MIDI note 
        mapping</emphasis> : in the table below you can find the link between the instrument
        position, the MIDI note and the qwerty keyboard keys.</para>

      <para><emphasis role="bold">Important Notes</emphasis> :</para>
      <para>The name of the instrument depends on the
      drumkit that is loaded. This list below refers to the GMkit that is loaded by default.
      </para>
      <para>Try to follow the GM midi standard as accurately as possible.  This will ensure that switching between 
      drumkits goes smoothly.  You are of course free to place your instruments anywhere in your drumkit, and
      sometimes it isn't even possible to follow the GM standard, but it makes life a lot easier if you do.</para>
      <para>
      Keep in mind that it is the <emphasis>position</emphasis> of the instrument (within the loaded drumkit) that 
      is linked to a MIDI-note/keyboard-key and <emphasis>not the name</emphasis> of the instrument.
      </para>



      <informalfigure id="fig.InstrumentMapping">
        <mediaobject>
          <imageobject>
            <imagedata fileref="img/InstrumentMapping.png" format="PNG" />
          </imageobject>
        </mediaobject>
      </informalfigure>

      <para>Here's a quick reference of the above bindings for your
      convenience. </para>

      <informalfigure id="fig.letters_keyboard">
        <mediaobject>
          <imageobject>
            <imagedata fileref="img/tastiera.png" format="PNG" />
          </imageobject>
        </mediaobject>
      </informalfigure>
      </section>

      <section id="sect.pattern_editor.sequence_area">
      <title>Pattern Editor Sequence area</title>
        <para>This is where it all happens, this is where you can make music :-)</para>
        <para>In this area you can see your selected pattern and add notes for any instrument. 
        The simplest way to create a pattern is by adding notes using your mouse 
        (and the 'Fill/Clear notes' function described above). Where you can add notes
        depends on the used pattern size and resolution.</para>
        <para>If you are using Hydrogen as a pure 'drum' you just want Hydrogen to 'hit' 
        the instrument wherever there's a 'dot' in the pattern. If you are using Hydrogen as an 'instrument', the 
        length of the note becomes very important. There are 2 ways to define the length of
        a note : in 'Note Length' mode you can add a note by left-cliking, and you can 'stretch' that note by right-click-dragging it.
        This will change the dot into a rectangle that represents the duration of that note.  In 'Note Off' mode you can also add a
        note by left-clicking, but a right-click will now add a blue dot that represents the end of that note. 
        <informalfigure id="fig.NoteOff_NoteLength">
        <mediaobject>
          <imageobject>
            <imagedata fileref="img/NoteOff_NoteLength.png" format="PNG" />
          </imageobject>
        </mediaobject>
        </informalfigure>
        (Figure above, from left>right : a 'normal' note, a note in 'note length' mode, a note in 'note off' mode) 
        </para>

        <para>So far we have only used the mouse to create a pattern, but you can also record your beats by clicking the Record button 
         <inlinemediaobject>
          <imageobject>
           <imagedata fileref="img/Rec_button.png" format="PNG"/>
          </imageobject>
         </inlinemediaobject>
        (see <xref linkend="sect.main_menu"/>) and simply playing your pattern on your 
        MIDI drum or your pc keyboard (see instrument mapping above).  This is probably 
        a more musical way of creating a pattern, but it's up to you to decide what works best for you.
        (Also see <xref linkend="chap.create_song"/> for a basic
        walk-through of how the pattern editor works) </para>
 
      </section>
      
      <section id="sect.pattern_editor.note_properties">
      <title>Pattern Editor Note Properties</title>
      <para>Clicking on an instrument or adding/removing a note next to it 
      will select this instrument.  Once an instrument is selected the note properties 
      for this instrument will be shown in the form of vertical lines in the bottom window.  
      The lines represent the value for the selected property of each note of the selected instrument.  
      You can select another note-property from the note property drop-down list (located bottom-left).  
      There are 4 note properties available : 
      
      <itemizedlist mark="opencircle">
        <listitem>
          <para><emphasis role="bold">Velocity</emphasis> : how hard the note is played (the volume of the note)</para>
          <para>
          Note that the color of the note-dot and the vertical bar will change according to the velocity value you have defined. 
          A light shade of gray means a low velocity (low volume) and the higher you set the velocity the darker the color will be,
          turning red when you reach the point of clipping.
          </para>
        </listitem>
        
        <listitem>
          <para><emphasis role="bold">Pan</emphasis> : with this parameter you can define
           the stereo image of the note (how loud it will be in the left/right output)</para>
        </listitem>
        
        <listitem>
          <para>
          <emphasis role="bold">Lead/Lag</emphasis> : Lead and Lag allows a slight note
          lead or lag in respect of the actual beat. The range is ca. 5 ticks which
          equals around ca. 10 ms at a tempo of 120bpm.  Changing the lead/lag can make a huge
          difference to the way your pattern sounds and feels.  It's a groove thing ;-) 
          </para>
        </listitem>
        
        <listitem>
          <para>
          <emphasis role="bold">Notekey</emphasis> : if you select this note parameter the 
          area where you can modify the parameter will change into a 'piano keyboard'
          </para>
          <informalfigure id="fig.NoteKey">
            <mediaobject>
              <imageobject>
                <imagedata fileref="img/NoteKey.png" format="PNG" />
              </imageobject>
            </mediaobject>
          </informalfigure>
          <para>The striped black and white area represents a piano keyboard and in the gray 
          area you can choose the octave.  By placing a dot on the octave scale and a dot on the 
          'keyboard' you can choose any note.</para>
        </listitem>
      </itemizedlist>
      </para>


      </section>

      <section id="sect.pattern_editor.piano_mode">
      <title>Pattern Editor Piano mode</title>
      <para>Drum mode (see <xref linkend="fig.PatternEditor_DrumMode"/>) focuses on using Hydrogen as a drum machine.
      If you are using Hydrogen as an instrument there is a big chance that the Piano mode is for you.
      It gives you a complete 'piano keyboard' so you can easily put down your tunes.</para>
      <para>You can compare the Piano mode to the Note properties Notekey (described above), only here you have a 
      complete piano keyboard, so you dont have to select the octave first.</para>
       <figure id="fig.PatternEditor_PianoMode">
         <title>Pattern Editor in Piano mode</title>
         <mediaobject>
           <imageobject>
             <imagedata fileref="img/PatternEditor_PianoMode.png" format="PNG" />
           </imageobject>
         </mediaobject>
        </figure>
      </section>
     
    </section>


<!-- MIXER -->
    <section id="sect.mixer">
      <title>Mixer</title>

      <para>The Mixer window can be opened by pressing Alt+M, by clicking 
      Mixer in the Tools menu, or by clicking the Mixer button on the main toolbar.
      </para>
      <para>The Mixer consists of 3 sections (left>right) : the instrument channel strips, 
      the FX plugin rack and the master fader section.  The Hydrogen Mixer works very
       much like a hardware mixer does : it lets you set the volume, pan, FX and several 
       other things for every instrument.

      <figure id="fig.mixer">
        <title>The Mixer</title>
        <mediaobject>
          <imageobject>
            <imagedata fileref="img/Mixer.png" format="PNG" />
          </imageobject>
        </mediaobject>
      </figure>
      </para>

    <section id="sect.mixer.channel_strips">
      <title>Instrument channel strips</title>
       <para>From top to bottom : the 2 top elements on the strip are a 'play' button / 'trig' led combination.
            (
      <inlinemediaobject>
        <imageobject>
          <imagedata fileref="img/btn_play_on_mixer.png" format="PNG" />
        </imageobject>
      </inlinemediaobject>
       )
         The play button lets you trigger the instrument at maximum velocity (handy for checking clipping), 
       and the trig led lights up whenever this instrument is triggered (from the song sequence, 
       or by an external midi controller).  Right of this button/led you will find another led that shows
       you what instrument is currently selected.  This is also the instrument that is selected in the pattern editor.
       As soon as you change one of the settings of a channel strip the instrument will be selected.</para>

       <para>Just below you can find the Mute
       
       <inlinemediaobject>
        <imageobject>
          <imagedata fileref="img/btn_mute_on.png" format="PNG" />
        </imageobject>
       </inlinemediaobject>
      
        and Solo
        
       <inlinemediaobject>
        <imageobject>
          <imagedata fileref="img/btn_solo_on.png" format="PNG" />
        </imageobject>
       </inlinemediaobject>       

        buttons and the Pan(orama) knob. 
       Note that the Mute and Solo states are also reflected in the Song editor.</para>

      <para>
      Next are 4 pre-fader FX send knobs that determine how much of this instrument will be sent to
      the effect plugins in the FX rack.
      
        <informalfigure id="fig.FX_send_knobs">
         <mediaobject>
           <imageobject>
             <imagedata fileref="img/FX_send_knobs.png" format="PNG" />
           </imageobject>
         </mediaobject>
         </informalfigure>
      
      
      
      Just below that you can find an LCD peak-value display,
      and finally the volume fader and VU meter for that instrument.</para>
      <para><emphasis role="bold">IMPORTANT NOTE</emphasis> : keep in mind that the volume and pan settings that you
      find on the Mixer are global settings.  The per-note velocity and pan settings in the Pattern editor
      are settings that are relative to the settings in the Mixer window !</para>


    </section>
    
    <section id="sect.fx_rack_LADSPA">
      <title>FX rack and LADSPA plugins</title>
       <para>The FX rack has 4 bays where you can load a LADSPA effect plugin, but before
        you can load any plugins these must be installed (surprised ?  ;-)</para>
        <para>There are dozens of plugins available for download from various sources :

      <itemizedlist>
        <listitem>
          <para>SWH-Plugins available at <ulink
          url="http://plugin.org.uk">http://plugin.org.uk</ulink>. </para>
          <para>(Note : if you want to compile these plugins
          you need the FFTW tarball from <ulink
          url="http://www.fftw.org">http://www.fftw.org</ulink>)</para>
        </listitem>

        <listitem>
          <para>CMT available at <ulink url="http://www.ladspa.org">http://www.ladspa.org</ulink>.</para>
        </listitem>

        <listitem>
          <para>TAP available at <ulink url="http://tap-plugins.sf.net">http://tap-plugins.sf.net</ulink>.</para>
        </listitem>

        <listitem>
          <para>Calf plugins <ulink url="http://calf.sourceforge.net/">http://calf.sourceforge.net/</ulink>.</para>
        </listitem>

        <listitem>
          <para> ....</para>
        </listitem>

      </itemizedlist>
      </para>
      
      <warning>
        <title>Plugins Kill</title>
        <para>A badly designed LADSPA plugin is capable of
        hanging, crashing, freezing, screeching, overflowing buffers, and even
        phoning home.  If you start having issues with Hydrogen, disable your
        plugins and see if things improve.  Some plugins are not designed for
        real-time use, and some are just plain better than others.</para>
      </warning>

      <para>Once you have installed some plugins you can select one by clicking the
      

      <inlinemediaobject>
        <imageobject>
          <imagedata fileref="img/edit_off.png" format="PNG" />
        </imageobject>
      </inlinemediaobject>

      button.  (if you do not see the FX rack, make sure that the 

      <inlinemediaobject>
        <imageobject>
          <imagedata fileref="img/showFX_on.png" format="PNG" />
        </imageobject>
      </inlinemediaobject>

      button (in the Master section) is enabled)</para>
      <para>Now the FX selector window will pop up :
      
      <figure id="fig.select_effect">
        <title>Select an Effect</title>
        <mediaobject>
          <imageobject>
            <imagedata fileref="img/MixerFXSelect.png" format="PNG" />
          </imageobject>
        </mediaobject>
      </figure>
      
      Once you have selected a plugin you will immediately have access 
      to its parameters:
      
       
        <informalfigure id="figLADSPA_FX_Properties">
         <mediaobject>
           <imageobject>
             <imagedata fileref="img/LADSPA_FX_Properties.png" format="PNG" />
           </imageobject>
         </mediaobject>
         </informalfigure>


      You can select another plugin by clicking the 'Select FX' button. If you quickly want to 
      enable/disable the effect click the 'Deactivate' button (or the Bypass (

      <inlinemediaobject>
        <imageobject>
          <imagedata fileref="img/bypass_over.png" format="PNG" />
        </imageobject>
        </inlinemediaobject>)

      button in the FX rack).  This can be handy for a quick A/B comparison.</para>
      
      <para>After you have selected the FX and tweaked it's parameters you can use the 
      FX return knob to increase/decrease how much of this FX will be returned to the master output.</para>

    </section>
     
    <section id="sect.master">
      <title>Master section</title>
       <para>
       
      The Master section contains the Master volume fader with VU meters and three global Humanize 
      settings for Velocity, Timing and Swing (in order to add a 'human feel' to the song):
      
     <itemizedlist>
        <listitem>
          <para>Velocity : adds a certain randomness to the note velocity. 
           The higher you turn this knob, the more the velocity will be randomized.
          </para>
        </listitem>

        <listitem>
          <para>Timing : adds a certain randomness to the note timing (lead/lag).  
          The higher you turn this knob, the more the timing will be randomized.</para>
        </listitem>
        
       <listitem>
          <para>Swing : this knob will add a certain amount of swing to the song.</para>
        </listitem>        
        
     </itemizedlist>
      
      Note that Hydrogen can also be switched to 'per instrument output' mode (see <xref linkend="sect.preferences.audio_tab"/>),
      and in this mode all channel strip outputs will be available in Jack (not just the Master output).  
      This allows you to route the individual instruments directly into any other Jack enabled application (eg Ardour) and gives you
      a lot more flexibility.</para>
      
      <para>On the bottom-right of the Master section the 'FX' button 
        <inlinemediaobject>
          <imageobject>
            <imagedata fileref="img/showFX_on.png" format="PNG" />
          </imageobject>
        </inlinemediaobject>      
        will show/hide the FX rack, and the 'Peak' button 
       
      <inlinemediaobject>
        <imageobject>
          <imagedata fileref="img/showPeaks_on.png" format="PNG" />
        </imageobject>
      </inlinemediaobject>       
       will enable/disable the VU meters.
       
       <note>
       <para>The VU meter fall off speed can be configured in the preferences window (see <xref linkend="sect.preferences.appearance_tab"/>)</para>
       </note>
       
       </para>
    </section>
    
    
    </section>

    <section id="sect.sound_library">
      <title>Sound Library (Drumkit/Pattern/Song Manager)</title>

      <para>First of all a little history on the Sound library and Drumkits. Hydrogen began as a 
      dedicated drum machine but has evolved into a versatile sound synthesizer/sequencer 
      that is capable of generating and manipulating all sorts of sounds. Hence the original 
      "Drumkit" terminology is slightly misleading. You can load any kind of sound into a
      "Drumkit" and manipulate that sound just like playing a regular synthesizer. This is 
      also the main reason why the Piano mode was added to the pattern editor 
      (see <xref linkend="sect.pattern_editor.piano_mode"/>).</para>
      <para>In this manual (and in other documentation) "Drumkit" and "Soundlibrary" 
      frequently mean the same thing, but not always. The diagram below shows the actual 
      relation between the Soundlibrary and Drumkits:
      <figure id="fig.SoundlibraryHierarchy">
         <title>Soundlibrary/Drumkit hierarchy</title>
         <mediaobject>
           <imageobject>
             <imagedata fileref="img/SoundlibraryHierarchy_V4.png" format="PNG" />
           </imageobject>
         </mediaobject>
        </figure>
      
      As you can see the Soundlibrary contains all Drumkits (System and User drumkits), 
      your saved Patterns and your saved Songs.  Each Drumkit is a collection of a number
      of instruments (snare, kick, sampled voice, bass sound ...) and in its turn an instrument can consist of multiple
      layered samples.  Note that every block has a number of parameters (continue reading for more details).</para>
      <para>This said. let's take a look at the Soundlibrary interface and see what it can do for you:</para>
      <para>The Sound Library saves you time in managing your drum kits,
      favourite patterns, and favourite songs.  When making new songs and new drum
      kits, it allows you to reuse and mix the instruments and patterns from other kits and songs.

      <figure id="fig.soundlibrary">
        <title>The Soundlibrary</title>
        <mediaobject>
          <imageobject>
            <imagedata fileref="img/SoundLibrary.png" format="PNG" />
          </imageobject>
        </mediaobject>
      </figure>
      </para>

      <section id="sect.systemdrumkits">
        <title>System Drumkits</title>

        <para>This lists the drumkits that were installed by your system
        administrator.  The location of these System Drumkits is determined by the compile-time prefix.  On
        Unix-like operating systems, this is usually <filename
        role="directory">/usr/share/hydrogen/data/drumkits</filename>, or
        possibly <filename
        role="directory">/usr/local/share/hydrogen/data/drumkits</filename>.
        These kits are available to all users on the system, and users are
        usually not able to add to them.</para>

        <para>To load a drumkit from here, right-click the drumkit and select
        <guimenuitem>Load</guimenuitem>.  This will replace your current drumkit
        with the one that you selected.  To load a single instrument from that
        kit, left-click the <guibutton>plus</guibutton> to the left of the
        drumkit's name to show all the instruments.  With your left mouse
        button, click and drag the instrument into your current kit.  The
        instrument will be added to the drumkit that you currently have
        loaded.</para>
      </section>

      <section id="sect.userdrumkits">
        <title>(Adding) User Drumkits</title>

        <para>These are your own drum kits that you can manage yourself.  They
        are usually stored in <filename
        role="directory">$HOME/.hydrogen/data/drumkits</filename>.  When you are
        creating a new drumkit, you can save it here by selecting
        <menuchoice><guimenu>Instruments</guimenu><guimenuitem>Save
        library</guimenuitem></menuchoice>.</para>

        <para>
        You can import existing drumkits from other users via <menuchoice>
        <guimenu>Instruments</guimenu><guimenuitem>Import library</guimenuitem>
        </menuchoice>.  The Import window will pop up with the Internet tab selected.
        By default the link to the drumkit list (on hydrogen-music.org) will be filled in, 
        and after pressing the 'Update list' button you will get a complete list of all
        drumkits that are available for download.  In the status column you can see
        if a kit is installed or not.

       <figure id="fig.import_drumkit">
         <title>Import Drumkit</title>
         <mediaobject>
           <imageobject>
             <imagedata fileref="img/Sound_Library_import.png" format="PNG" />
           </imageobject>
         </mediaobject>
       </figure>
  
        If you select one of the drumkits you will see info about this kit in the right
        pane of the Import window: name, description, author and also the license type.

       <warning>
       <para>If you are using Hydrogen for commercial purposes, (creating songs and 
       selling these on-line or in any other way) you need to pay special attention to the
       license type of the drumkit(s) you are using.
       </para>
       <para>
       If the exact license is not available for a drumkit, do _NOT_ assume that it is a CC (or
       other open and free license type).
       </para>
       <para>
       Even if the kit is CC licensed you should always check with the author before using 
       the kit in your songs.
       </para>
       <para>DISCLAIMER : hydrogen is not responsible for the drumkits that are 
       made available for download by our users, either via the hydrogen-music.org site or
       via any other channel.</para>
       
       </warning>

    
       You can install a drumkit by selecting it and clicking 'Download and Install'.
    
       <informalfigure id="fig.downloading_soundlibrary">
         <mediaobject>
           <imageobject>
             <imagedata fileref="img/Downloading_SoundLibrary.png" format="PNG" />
           </imageobject>
         </mediaobject>
        </informalfigure>
    
       Once the kit has been downloaded it will be available in the Sound Library under "User drumkits".
     
       </para>


      </section>
      <section id="sect.sl.songs">
        <title>Songs in the Sound Library</title>

        <para>To save songs in the Sound Library, put them in your data
        directory underneath the <filename role="directory">songs</filename>
        folder (usually <filename role="directory">$HOME/.hydrogen/data/songs)</filename>.
        To remove them, remove the file from that folder.</para>
      </section>      
      
      <section id="sect.sl.patterns">
        <title>Patterns in the Sound Library</title>

        <para>Before you save a pattern to the sound library, be
        sure to give it a title and a category.  Right-click on the pattern, select
        "<guimenuitem>Properties</guimenuitem>" and enter the details.
        You can use one of the categories already
        provided, or create your own categories by simply typing in a category
        name.  The category name is important, because the patterns will be
        filed by category in the Sound Library.</para>

        <para>You can add a pattern to the sound library by right
        clicking the title of the pattern in the song editor, and selecting
        "<guimenuitem>Save Pattern</guimenuitem>".  It will now appear in the Sound
        Library underneath "<guilabel>Patterns</guilabel>" and the category that
        you assigned to the pattern.</para>
        </section>
    </section>

    <section id="sect.instrument_editing">
      <title>Drumkits and Instrument Editing</title>


      
      <!-- Need to add an explaination of what the instrument list
           and instrument editor are. -->

      <section id="sect.instrument_editing.concepts">
        <title>Concepts</title>

        <para>
          The synthesizer in Hydrogen is a sample-based synthesizer.  A sample
          is a piece of pre-recorded audio (usually between 0.1 sec and 3 sec).
          To play a note, the sample is simply played back at the right time.
          There are a few concepts and terms that you should understand when you
          are putting together a drumkit.  (See <xref linkend="glossary"/> for
          more detailed explanations.)
        </para>

        <variablelist>
          <title>Sampling Synthesizer Terms</title>
         
          <varlistentry>
            <term>Sample</term><listitem><para>A short recording of a sound,
            typically between 0.1 and 3.0 seconds long.</para></listitem>
          </varlistentry>
          <varlistentry>
            <term>Gain</term><listitem><para>Volume
            adjustment.</para></listitem>
          </varlistentry>
          <varlistentry>
            <term>Velocity</term><listitem><para>How hard you hit a
            note.</para></listitem>
          </varlistentry>
          <varlistentry>
            <term> ADSR Envelope Generator</term><listitem><para>An
            Attack/Decay/Sustain/Release envelope generator.  After you trigger
            a note, Hydrogen will <emphasis>attack</emphasis> the note by
            increasing its volume from 0 to the full velocity of the note.
            After reaching full velocity, it will <emphasis>decay</emphasis> the
            note by lowering the volume until it reaches the
            <emphasis>sustain</emphasis> level.  When the note is
            <emphasis>released</emphasis>, Hydrogen reduces the volume from the
            sustain level back down to 0.  See <ulink url="http://en.wikipedia.org/wiki/ADSR_envelope">ADSR
            Envelope</ulink> for more info</para></listitem>
          </varlistentry>
          <varlistentry>
            <term>Attack</term><listitem><para>The amount of <emphasis
            role="bold">time</emphasis> to go from 0 to full
            velocity.</para></listitem>
          </varlistentry>
          <varlistentry>
            <term>Decay</term><listitem><para>The amount of <emphasis
            role="bold">time</emphasis> to go from full velocity to the sustain
            volume.</para></listitem>
          </varlistentry>
          <varlistentry>
            <term>Sustain</term><listitem><para>The <emphasis
            role="bold">level</emphasis> (how loud) to hold the note between the
            sustain and the release.  It is a percentage of the velocity.  It
            does not depend on time.</para></listitem>
          </varlistentry>
          <varlistentry>
            <term>Release</term><listitem><para>The amount of <emphasis
            role="bold">time</emphasis> to go from the sustain volume back down
            to 0.</para></listitem>
          </varlistentry>

        </variablelist>

        <para>
          Typical samples that are used in Hydrogen are: the sound of a single
          drum hit, the sound of a single cymbal hit, the sound of a single
          cowbell hit.  Whenever you put a note in the pattern (or play a note
          using MIDI), Hydrogen will play whatever sound you have loaded.  So,
          to put together a drum kit you need to gather short recordings of the
          bass drum, each tom, each cymbal, the high hat open, the high hat
          closed, the snare drum (snare on), the snare drum (snare off), rim
          shots, etc.
        </para>

        <para>
          However, there are no rules about what a sample can be.  It's not
          uncommon to use Hydrogen to trigger non-drum sounds like: audio clips
          of people talking, a clip from a song, sound effects, audio clips from
          movies, and famous people speaking.  Be creative!
        </para>

      </section>
      <section id="sect.instrument_editing.new_kit">
       <title>Creating a New Drumkit</title>
       <para>In the next paragraphs we will show you how to create a complete drumkit.  
       Keeping in mind the 'Soundlibrary hierarchy' (see <xref linkend="fig.SoundlibraryHierarchy"/>)
       we will use a top-down approach, so we will start at the Drumkit level and work our way 
       down to the samples.</para> 
        
       <para>Creating a new drumkit with Hydrogen is done with the Instrument
       Editor.  You can load samples, set envelope
       parameters, set the gain, and other advanced features like mute
       groups, a low-pass resonance filter, and pitch randomization.</para>

       <para>TIP : Instead of creating your own drumkit, you can also use or download
       existing drumkits using the <xref linkend="sect.sound_library"/>.</para>

        <para>Lets make a  brand new drum kit :</para>
        <itemizedlist>
          <listitem><para>select
          <menuchoice>
            <guimenu>Instruments</guimenu>
            <guimenuitem>"Clear All"</guimenuitem>
          </menuchoice>

          .  This will give you a bank of 32 blank instruments.  To delete
          instruments, right-click on on each instrument and select
          "<guimenuitem>Delete Instrument</guimenuitem>".  To add more instruments,
          select

          <menuchoice>
            <guimenu>Instruments</guimenu>
            <guimenuitem>"Add instrument"</guimenuitem>
          </menuchoice>
          .</para>
          </listitem>


          <listitem>
          <para>Select an instrument to start editing it.  This is done by
          left-clicking on the name of the instrument in the instrument list (at
          the left).  You will notice that the name of the instrument in the
          Instrument Editor matches the one that you clicked.</para>
          </listitem>
         
          <listitem>
          <para>Once you have your drum kit working the way you want, select

          <menuchoice>
            <guimenuitem>Instruments</guimenuitem>
            <guimenuitem>"Save library"</guimenuitem>
          </menuchoice>

          .  You will be prompted for the name of the kit to save.  If you wish to
          <emphasis>overwrite</emphasis> an existing kit, you will need to type in
          the same name as the kit that you want to replace.</para>
         </listitem>

         <listitem>
          <para>Drumkits are automatically stored in the <filename
          class="directory">data</filename> directory (i.e. <filename
          class="directory">$HOME/.hydrogen/data/drumkits</filename>).</para>
         </listitem>

         <listitem>
          <para>To export a drumkit (for sharing with others), it must first be
          loaded into your Sound Library.  Then, select

          <menuchoice>
            <guimenuitem>Instruments</guimenuitem>
            <guimenuitem>"Export library"</guimenuitem>
          </menuchoice>

          from the menu.  Select the drum kit that you wish to export, and give it
          a file name to save it to.</para>
          </listitem>
        </itemizedlist>

      </section>
      
      <section id="sect.instrument_editing.parameters">
        <title>Instrument Parameters</title>

        <para>In the instrument editor, click on the
        <guibutton>General</guibutton> button.  Here you can adjust several
        parameters that apply to the instrument (applies to all layers as well).
        
        <figure id="instrumenteditor.general">
        <title>The Instrument editor General view</title>
        <mediaobject>
          <imageobject>
            <imagedata fileref="img/Instrument_General.png" format="PNG" />
          </imageobject>
        </mediaobject>
        </figure>
        
        The parameters are:</para>
        <itemizedlist>
          <listitem>
            <para><emphasis role="bold">Envelope parameters</emphasis>:
            <guibutton>Attack</guibutton>, <guibutton>Decay</guibutton>,
            <guibutton>Sustain</guibutton>, <guibutton>Release</guibutton>.
            (See <xref linkend="def.envelopegenerator"/>)</para>
          </listitem>
          <listitem>
            <para><emphasis role="bold"><guibutton>Gain</guibutton></emphasis>:
            The overall volume of the instrument.</para>
          </listitem>
          <listitem>
            <para><emphasis role="bold"><guibutton>Mute
            Group</guibutton></emphasis>: Which mute group this instrument is a
            member of (see <xref linkend="def.mutegroup"/>).</para>
          </listitem>
          <listitem>
            <para><emphasis role="bold">Filter Parameters</emphasis>:
            <guibutton>Byp</guibutton>ass, <guibutton>Cutoff</guibutton>,
            <guibutton>Resonance</guibutton>.</para>
          </listitem>
          <listitem>
            <para><emphasis role="bold"><guibutton>Random
            Pitch</guibutton></emphasis></para>
          </listitem>
          <listitem>
            <para><emphasis role="bold"><guibutton>Midi out Channel and Note</guibutton></emphasis></para>
          </listitem>
          <listitem>
            <para><emphasis role="bold"><guibutton>Auto Stop-Note</guibutton></emphasis></para>
          </listitem>
        </itemizedlist>

        <para>It's important that you understand <xref
        linkend="sect.instrument_editing.concepts"/> in order to continue
        on.</para>

        <section id="sect.instrument_editing.envelope_parameters">
          <title>Envelope Parameters</title>

          <para>When the instrument is triggered, its volume is run through an
          ADSR Envelope.  The parameters operate as follows:</para>

          <itemizedlist>
            <listitem>
              <para><emphasis role="bold">Attack</emphasis> &mdash; the amount
              of <emphasis>time</emphasis> that the volume of the sample goes
              from 0 to the full velocity of the note.  If the value is 0, the
              sample will play immediately at full velocity.  If the value is
              1.0, the sample volume will use the maximum time available for the
              attack parameter.
              <footnote id="fn.adsrtimes">
                <para>The attack, decay, and release parameters are all set by
                the number of <emphasis>audio samples</emphasis>.  This means
                that the time changes depending on the sample rate of your sound
                card.  The max time for each of them is 100,000 audio samples
                (typ. 2.27 sec at 44.1 kHz).</para>
              </footnote>
              </para>
            </listitem>
            <listitem>
              <para><emphasis role="bold">Decay</emphasis> &mdash; the amount of
              <emphasis>time</emphasis> for the volume of the sample to go from
              full velocity down to the sustain volume.  If the value is 0, the
              sample will immediately skip from the attack volume to the sustain
              volume.  If the value is 1.0, the sample volume will use the
              maximum time available for the decay parameter.<footnoteref
              linkend="fn.adsrtimes"/></para>
            </listitem>
            <listitem>
              <para><emphasis role="bold">Sustain</emphasis> &mdash; the
              <emphasis>volume</emphasis> to play the note after the decay phase
              is over, and until the note is released.  If set to 0, the note
              will be silent.  If set to 1.0, the note will play at full
              velocity.</para>
            </listitem>
            <listitem>
              <para><emphasis role="bold">Release</emphasis> &mdash; the
              <emphasis>time</emphasis> to fade out the note from the sustain
              volume back down to 0 (silent).  If set to 0, the note will fade
              out in the minimum amount of time (about 5 ms).  If set to 1, it
              will fade out for the maximum time available.<footnoteref
              linkend="fn.adsrtimes"/></para>
            </listitem>
          </itemizedlist>

          <para>If the sample is shorter than the times that you specify, the
          sample will end, regardless of which phase of the ADSR it is in.  If
          the note is sustained, it does <emphasis>not</emphasis> draw out the
          note while you are holding it.  It only holds the gain (volume)
          parameter during that time.</para>

        </section>

        <section id="sect.instrument_editing.gain_and_mute_group">
          <title>Gain and Mute Group</title>

          <para>The gain sets the overall volume for the sample.  This gain is
          applied after the gain that you set for the layer, and before the gain
          that is set for the mixer.  If the Gain is 0, the instrument will be
          silent.  If the gain is 1.0 the volume of the samples will not be
          adjusted (i.e. 0 dB).  If the gain is set higher, the samples will be
          amplified.</para>

          <warning>
            <para>It is very easy to set the <guibutton>Gain</guibutton> too
            high, causing your sample to clip.  Remember to test the gain with
            full-velocity notes.  If you clip your signal here, it will only get
            worse as Hydrogen processes it.</para>
          </warning>

          <para>Hydrogen provides more mute groups than you know what to do with
          (over 256).  A mute group is a grouping of instruments that are
          mutually exclusive &mdash; only one instrument may be playing at any
          time.  If one is playing and another instrument in the group is
          triggered, it will immediately silence (mute) and start playing the
          other instrument.  This is useful, especially, for instruments like
          hi-hats where the open sound and the closed sound are different
          instruments.</para>

          <para>If the mute group is set to "<guilabel>Off</guilabel>", then the
          instrument is not part of any mute grouping.  If the mute group is set
          to any number, then that is the group that the instrument is a part
          of.  To set other instruments into the same grouping, set their mute
          group parameter to the same number.  (For example, to group all the
          high-hat instruments, you can set all their mute group parameters to
          1.  To have a snare drum mute group, set their mute group parameters
          to 2.)</para>

        </section>

        <section id="sect.instrument_editing.filter_and_random_pitch">
          <title>Filter and Random Pitch</title>

          <para>The filter is a low-pass resonance filter.  If you don't wish to
          use is, click the <guibutton>BYP</guibutton>ass button so that it's
          red.  If it's not red, then the filter is active.  The cutoff
          parameter adjusts the cutoff frequency for the filter.  The resonance
          parameter adjusts how much to resonate the cutoff frequency.  If the
          resonance is set to 0, then the filter is just a simple low-pass
          filter.</para>

          <note>
            <para>The cutoff frequency of the filter varies with the sample rate
            of your audio card.  The range of the knob (0 to 1.0) is optimized
            for a 48,000 kHz sample rate.</para>
            <!-- NOTE:  I tried to reverse engineer the LPRF in the
                 sampler to calculate what the cutoff frequency is.
                 I think it's *something* kind of like this:

                 f = cutoff * samplerate / 2

                 - OR MAYBE -

                 f = sqrt(cutoff) * samplerate / 2   (or / 4)

                 http://en.wikipedia.org/wiki/Low-pass_filter
                 -gabriel
            -->
          </note>

          <para>The random pitch parameter allows you to randomly vary the pitch
          of the sample every time it is triggered.  The value is set between 0
          and 1.0.  The pitch change is fairly small: &plusmn;2 half-steps
          &times; value.  Using this sparingly can help your sequences to sound
          more like a real drummer.</para>

        </section>
        
        

        <section id="sect.instrument_editing.midi_out_settings">
          <title>Midi out settings</title>

          <para>Hydrogen is capable of generating midi messages that you can use 
          to trigger any external midi device or application.  To do this you simply need to 
          configure the Midi out channel and Note for every instrument.  As you can see
          this is a very flexible approach that enables you to trigger samples or sounds
          from multiple devices and/or apps.  Finally you need to make sure the proper 
          Midi routing/wiring is in place and you're set.
          </para>

          <para>From now on every time a note is played for that instrument (in the Hydrogen sequencer) 
          a midi message will be sent to your external app/device and trigger a sound.  
          This way you can use Hydrogen as a pure sequencer for other apps, or combine the 
          internal Hydrogen sampler with multiple external apps/devices.</para>

        </section>        
        
        <section id="sect.instrument_editing.auto_stop_note">
          <title>Auto Stop-Note</title>

          <para>If this box is checked Hydrogen will immediately stop any playing sample that
          belongs to this instrument whenever the instrument is re-triggered.</para>
          <para>This option is particularly useful when you are using long samples like a 
          crash or some existing audio that you have sampled (like a looped voice in a 
          dance/electro song)  For the crash you will need to use the Auto Stop-Note when 
          you are sequencing multiple notes in fast succession and want to make it sound realistic.  If you do 
          not check this option the cymbal will start to sound like multiple cymbals 
          instead of only one (since the sample of each individual hit will be played completely).
          For the voice sample this option is useful if you are trying to get that 'stuttering' effect.

          </para>

        </section>        
        
        
      </section>
      
      
      <section id="sect.instrument_editing.new_instrument">
        <title>Creating an Instrument and Layers</title>

        <para>For each instrument in a drum kit, you can load several samples
        and set different synthesizer parameters.  This section will step you
        through how to create a new instrument and load the samples.</para>

        <para>To begin creating an instrument, select
        <menuchoice>
          <guimenu>Instruments</guimenu>
          <guimenuitem>Add instrument</guimenuitem>
          </menuchoice>.  This will give you a blank
        instrument to start from.</para>

        <para>Now, you need two samples.  Any .WAV or .FLAC file will do.
        Hydrogen provides several in the <filename
        class="directory">data/drumkits</filename> directory.</para>

        <para>In the instrument editor, click on <guibutton>Layers</guibutton>.
        You can layer several samples into the instrument.  Which one is played
        depends on the velocity of the incoming note.  Click <guibutton>Load
        Layer</guibutton> and point the <guimenu>Audio File Browser</guimenu> to
        your sample.  Note that the <guimenu>Audio File Browser</guimenu> will
        allow you to preview the sample before you load it.  It will also allow
        you to load more than one sample at a time.  But for now, only load
        one.</para>

        <para>After you load the sample, you'll see that there is now a
        <guilabel>1</guilabel> at the top, and the topmost rectangle has turned
        light blue.  To load a second sample, click the slot just below it, and
        then click <guibutton>Load Layer</guibutton> to bring in another
        sample.</para>

        <para>After bringing in both samples, you'll probably notice that only
        the <emphasis>first</emphasis> sample is being played whenever you
        trigger the instrument.  This is because you need to set the
        <emphasis>velocity</emphasis> ranges for the layers.  Move your mouse to
        the sides of the light blue rectangles and you see that you get a
        left-right drag cursor.  Now drag the sample to the left or right (like
        a curtain).  You will now see Layer 2 appear.</para>
        
        <figure id="instrumenteditor.layers">
        <title>The Instrument editor Layers view</title>
        <mediaobject>
          <imageobject>
            <imagedata fileref="img/Instrument_Layers.png" format="PNG" />
          </imageobject>
        </mediaobject>
        </figure>

        <para>The velocity setting for the layer is 0-velocity on the left, and
        full velocity on the right.  Set up Layer 1 to sound for soft notes, and
        Layer 2 to sound for hard notes (i.e. Layer 1 on the left and Layer 2
        on the right).</para>

        <para>Now, in the pattern area, set up a simple pattern that plays this
        instrument.  Adjust the velocity settings on each note so that you can
        get the different samples to sound.  Now set the pattern to loop and
        notice how your different samples are getting triggered.  (To learn
        about editing a pattern, see <xref
        linkend="sect.pattern_editor"/>)</para>

        <para>For each layer, you can set the <guibutton>Gain</guibutton> and
        the <guibutton>Pitch</guibutton>.  The pitch also has a
        <guibutton>Fine</guibutton> adjustment.</para>

        <para>Use the <guibutton>Gain</guibutton> adjustment to control how loud
        the sample will play.  This is necessary because it's extremely
        difficult to get a set of samples that all sound at about the same
        volume.  By adjusting here, the samples that were recorded too quietly
        can be turned up to match your loud samples (that had to be turned
        down).</para>

        <warning>
          <para>It is very easy to set the <guibutton>Gain</guibutton> too high,
          causing your sample to clip.  Remember to test the gain with
          full-velocity notes.  If you clip your signal here, it will only get
          worse as Hydrogen processes it.</para>
        </warning>

        <para>The pitch of the sample can be modified with the pitch controls.
        The <guibutton>Pitch</guibutton> knob adjust the pitch in musical
        half-steps.  (So, -12 is down 1 octave).  The pitch on the right adjusts
        the pitch &plusmn;50 cents.  (One half-step is 100 cents.)</para>

        <note>
          <para>The pitch is adjusted by playing the sample back faster or
          slower.  This is called the Doppler Effect.  So, if you have a
          1-second sample that you turn down -12 (1 octave), your sample will
          only last for .5-seconds.  If you do not want this to happen you should
          use rubberband instead (see <xref linkend="sect.layer_editing.section2"/>)</para>
        </note>

        <para>You can hear the sample in a layer by clicking the layer id (just 
        below the 'General' and 'Layers' buttons) and the 'Delete Layer' button 
        will delete the currently selected layer.</para>

      </section>

      <section id="sect.layer_editing">
        <title>Sample Editor</title>
        <para>So far we have created a multilayered Drumkit, set a number of 
        instrument parameters, played with velocity settings and so on.  Now it's 
        time to go one step deeper and edit the samples using one of the newest
        Hydrogen features: the Sample Editor.</para>
        <para>The Sample Editor allows you to tweak and manipulate your samples.
        This is a function that will really speed up the creation of a drumkit since
        you can do the fine-tunning of the sample within Hydrogen. In pre-0.9.5 builds
        the typical workflow would be to prepare your sample in an external sound editor,
        import the sample in Hydrogen, test it, go back to the audio editor, import again, 
        test ...  The sample editor allows you to do most of the sample manipulation 
        within Hydrogen.  This mean less switching between Hydrogen and your audio editor
        and more time to make music !</para>
        
        <note>
        <para>The changes you make to
        your samples in the Sample Editor are <emphasis role="bold">non-destructive
        </emphasis> and are saved <emphasis role="bold">per song</emphasis>.  
        So the original sample will not be changed,
        and you can reuse the same sample in multiple songs with different Sample Editor
        settings.</para>
        </note>
        
        <figure id="sample.editor">
        <title>The Sample Editor</title>
        <mediaobject>
          <imageobject>
            <imagedata fileref="img/SampleEditor_V5.png" format="PNG" />
          </imageobject>
        </mediaobject>
        </figure>        
        
        <para>The Sample Editor consists of 3 sections (as indicated in the figure above):</para>
       
        <section id="sect.layer_editing.section1">
        <title>Sample Editor in/out points</title>
        <para>
        In this section you can set the start, stop and loop points for the sample by dragging the 
        the 3 markers:
        <itemizedlist>
          <listitem><para>S-marker (green) : indicates the Start-point (in-point) of the sample.</para></listitem>
          <listitem><para>E-marker (red) : indicates the End-point (out-point) of the sample.</para></listitem>
          <listitem><para>L-marker (blue) : determines the loop-in point of your sample</para></listitem>
        </itemizedlist>
        You can easily move one of the markers by grabbing them close to the
        letter that marks them.  Whenever you grab one of the markers you will see a detail
        view of the position of that marker on the second (smaller) window on the right, making it easy to 
        find the zero-crossings in the sample.  This detail window also has a slider next to
        it that allows you to zoom in and out on the vertical axis. Think of it as a sort of 
        volume 'zoom'.
        </para>
        <para>Underneath these 2 windows you can find (from left>right) : the position of the Start
        marker, the position of the Loop marker, the Loop mode, the number of loops and the
        position of the End marker.  The position of the markers is expressed in number of
        samples from the very beginning of the sample.  These values will change if you drag the markers,
        but you can also fine-tune the marker position by using the up/down arrows of the spinboxes, 
        the up/down keys on your keyboard, or by using your mouse scroll wheel while hovering
        above the spinboxes.</para>
        <para>Apart from the marker positions there are 2 settings that apply to the Sample
        Editor's loop function: loop mode and loop number.  With the loop function you can
        repeat the part of your sample <emphasis>that is in between the Loop- and the 
        End-marker</emphasis>. The way it is looped is determined by the Loop mode 
        (forward, revers or ping-pong) and the number of times it is looped is determined
        by the Loop number.</para>
        <para>If you want to hear a preview of the tweaking you have done so far, you first need to
        press the 'Apply Changes' button (@ the bottom of section 3) and then the Play button to
        hear the result.</para>
        </section>
        
        <section id="sect.layer_editing.section2">
        <title>Sample Editor rubberband</title>
        <para>This section of the Sample Editor allows you to control the Rubberband settings.
        Rubberband is a tool that can change the tempo of a sample without changing 
        the sample's pitch (and vice versa).</para>
        <para>If you are using Ubuntu you can install rubberband from the Software Center 
        (rubberband-cli).  For other linux distros check your package manager.  For other platforms
        please check <ulink url="http://breakfastquay.com/rubberband/">the rubberband site
        </ulink>.  After installing rubberband you should check if the path to the rubberband cli is 
        configured correctly (see <xref linkend="sect.preferences.general_tab"/>).</para>
        
        <para>If rubberband is installed correctly you will have access to the rubberband 
        settings, and an extra button named 'RUB' will be available in the Main Toolbar,
        right of the BPM LCD display:
        
       <informalfigure id="rubberband_button">
        <mediaobject>
          <imageobject>
            <imagedata fileref="img/MainControls_Rubberband_btn.png" format="PNG" />
          </imageobject>
        </mediaobject>
        </informalfigure>                
        
        </para>
        <para>Back to the rubberband settings : 
        <itemizedlist mark="opencircle">
         <listitem><para>Sample length to beat : when set to 'off', rubberband functionality is disabled. 
         Normally this parameter should be set to the length of the part of the sample between 
         the Start and End marker, expressed in number of beats.</para>
         </listitem>
         <listitem><para>Pitch : this setting allows you to change the pitch of the sample, expressed in 
         semitones,cent.</para>
         </listitem>
         <listitem><para>Crispness : this setting does not affect tempo or pitch, but changes the way
         the sample sounds.</para>
         </listitem>
        </itemizedlist>
        </para>
        <para><emphasis role="bold">Note</emphasis>: If you want Hydrogen to recalculate the sample length on the fly (using rubberband)
        you must enable the 'RUB' button (see figure above).</para>
        
        </section>
        
        
        <section id="sect.layer_editing.section3">
        <title>Sample Editor volume/pan</title>
        <para>In the bottom section of the Sample Editor you can see the end result 
        of the tweaks you have made by pressing the Apply Changes button.  You can
        also change the the Volume and Panorama (Pan) of your sample here.
        This is done by creating 'envelopes' like the 
        ones you find in numerous DAW's for automation.  To edit an
        envelope you first need to select 'Volume' or 'Panorama'in the upper right 
        corner of section 3.  The Volume envelope is blue, and the pan envelope is yellow.
        Left clicking in the bottom window will ad a node to an envelope and also 
        allows you to drag an existing node.  Right-clicking a node will delete it. 
        Don't forget to Apply Changes before you play your tweaked sample.</para>
        </section>
        
      </section>
      
      <section id="sect.instrument_editing.tips">
        <title>Tips on Editing Instruments</title>

        <para>With all of the different parameters available to tweak, it can be
        difficult to set up something that sounds nice when you're done.  Here are 
        a few tips on setting up an instrument:</para>

        <para><emphasis role="bold">Turn down the gain.</emphasis> Every gain
        knob (i.e. an amplifier), this is a <emphasis>gain stage</emphasis>.  
        With every gain stage you have, it's
        easy to overdrive your signal &mdash; which means the signal gets
        distorted by clipping.  In addition, if you have two samples that, by
        themselves, peg your meters &mdash; what do you think happens when you
        combine them?  That's right, you overdrive the signal again.</para>

        <para>If things sound bad and distorted, start by turning down the gain
        setting on the layer... especially if it's larger than 1.0.  Then turn
        down the instrument gain.  Then any gain on a LADSPA effect.  Then the
        fader on the mixer.  Then the master output fader.</para>

        <para><emphasis role="bold">Test samples at full velocity.</emphasis>
        Your sample will be played louder if the velocity is higher.  So, if you
        set everything to sound nice and full with velocity at 0.7, what will
        happen when you get a full velocity of 1.0?  (<emphasis>Hint:
        clipping.</emphasis>)</para>

        <para><emphasis role="bold">Try to use samples that are -6 dB
        max.</emphasis> Visually, this means samples that peak at only
        1/2 of full scale.  Otherwise, turn your layer gain to about
        .5.</para>

        <para><emphasis role="bold">Remove all DC offsets from the
        sample.</emphasis> In a sample editor, there is usually a line down the
        center of your sample's waveform.  This is the zero-line.  The beginning
        of your sample should be on this line.  The end of your sample should
        also be on this line.  However, if your signal is a little above or a
        little below this line, you will hear a click at the beginning and the
        end of your sample whenever it is played.  If your sample editor doesn't
        provide any tools to fix a DC offset problem, you can eliminate the
        noise by putting a slight fade-in/out at the ends of your sample.</para>

        <para><emphasis role="bold">The ADSR will not be longer than your
        sample.</emphasis> If you have a short sample, it doesn't matter how
        long you set the attack and delay &mdash; the sample will stop playing
        at the end.</para>

        <para><emphasis role="bold">Things change with the sample
        rate.</emphasis> If you have a really nice setup with all your
        parameters painstakenly tweaked... things <emphasis>will</emphasis>
        change if you change the sample rate of your audio card.  Many of
        Hydrogen's internal settings and parameters are based on how many
        samples go by, not on how many seconds go by.  The sorts of things
        that change are: anything time-base (like attack and release) and
        anything frequency based (like the cutoff frequency).</para>

      </section>
    </section>

   
    
    <section id="sect.midi">
      <title>Midi</title>
      
      <para>In this section you can find more info about defining MIDI actions 
       and how they can be useful for you.  Before you can work with midi actions
       you should have your Midi devices, drivers and connections configured
       correctly (see <xref linkend="sect.preferences.midi_tab"/>).
      </para>

      <para>Lets take a look at the available options :
      <informalfigure id="midi_actions">
        <mediaobject>
          <imageobject>
            <imagedata fileref="img/Midi_Actions.png" format="PNG" />
          </imageobject>
        </mediaobject>
        </informalfigure>                
      </para>

      <section id="sect.midi.events">
        <title>Midi Events</title>

        <para>An Event is an incoming Midi message, coming from a MIDI controller or 
        an external sequencer.</para>
        <para>If you look at the Events list you will see that there are 3 types of Events 
        available (as described in the Midi standard): </para>

        
        <itemizedlist mark="opencircle">

         <listitem><para>
	         <emphasis role="bold">NOTE</emphasis>: input coming from a regular black/white key of a keyboard or a drumpad
	       </para></listitem>
	     
         <listitem><para>
	         <emphasis role="bold">CC</emphasis>: controller commands coming from faders or rotary controllers
	       </para></listitem>
	     
         <listitem><para>
	         <emphasis role="bold">MMC_x</emphasis>: <ulink url="http://en.wikipedia.org/wiki/MIDI_Machine_Control">
	         machine control events</ulink> coming from play/stop... buttons on a controller
	       </para></listitem>
	     
        </itemizedlist>
        
        
       <para>
       The Param. (parameter) value to the right of the Event is the identifier of the note/button/controller
       that is linked to this Action.  This parameter can be entered manually, or automatically by 
       using the Midi learn function (see <xref linkend="sect.preferences.midi_tab"/>).
       </para>       
       
       <note><para>You can also activate the Midi learn function by Shift-clicking most of the gui elements.  
       A 'Waiting for Midi input...' popup informs you that Hydrogen is now waiting for you to press
       a key or turn/move a controller.
       </para>
       <para>If you Shift-click on a gui element that does not support Midi automation a popup will
       inform you.
       </para></note>
       
        
       </section>
       

      <section id="sect.midi.actions">
        <title>Midi Actions</title>

        <para>Next is a list of the available Actions: an Action describes what Hydrogen should do 
        when a specific Midi Event is detected.</para>
        
        <note><para>** Some of the Midi Actions require that the Action Parameter is configured.  The
        Parameter usually references a specific channel, instrument, FXsend...  Keep in mind that the 
        Parameter value is <emphasis>zero-based</emphasis>. So if you want to reference channel 1 you 
        have to enter '0' in the Parameter field (1 for channel 2, 2 for channel 3 ...)</para></note>


      <itemizedlist mark="opencircle">
      <listitem><para>
	      <emphasis role="bold">PLAY</emphasis> : start playback
	    </para></listitem>
	    
      <listitem><para>
        <emphasis role="bold">PLAY/STOP_TOGGLE</emphasis> : toggles between PLAY and STOP.  Execute this action will 
        start playback, execute it again and playback will stop + the playhead will return
        to the start of the song
	    </para></listitem>
	    
      <listitem><para>
	      <emphasis role="bold">PLAY/PAUSE_TOGGLE</emphasis> : toggles between PLAY and PAUSE.  (the playhead will not return
	      to the start of the song, but will stay at its current position)
	    </para></listitem>
	    
      <listitem><para>
	      <emphasis role="bold">STOP</emphasis> : stops playback and returns to the start of the song
	    </para></listitem>
	    
      <listitem><para>
	      <emphasis role="bold">PAUSE</emphasis> : pauses the song
	    </para></listitem>
	    
      <listitem><para>
        <emphasis role="bold">MUTE</emphasis> : mutes the the Master output (sequencer keeps running)
	    </para></listitem>
	    
      <listitem><para>
	      <emphasis role="bold">UNMUTE</emphasis> : unmutes the Master output (sequencer keeps running)
	    </para></listitem>
	    
      <listitem><para>
	      <emphasis role="bold">MUTE_TOGGLE</emphasis> : toggles between MUTE and UNMUTE (sequencer keeps running)
	    </para></listitem>
	    
      <listitem><para>
	      <emphasis role="bold">NEXT_BAR</emphasis> : jumps to the next bar in the song
	    </para></listitem>
	    
      <listitem><para>
	      <emphasis role="bold">PREVIOUS_BAR</emphasis> : jumps to the previous bar in the song
	    </para></listitem>
	    
      <listitem><para>
	      <emphasis role="bold">BPM_INCR</emphasis> : increments the tempo of the song
	    </para></listitem>
	    
      <listitem><para>
	      <emphasis role="bold">BPM_DECR</emphasis> : decrements the tempo of the song
	    </para></listitem>
	    
      <listitem><para>
	      <emphasis role="bold">BPM_CC_RELATIVE</emphasis> : changes the tempo relative to the current tempo, using a controller
	    </para></listitem>
	    
      <listitem><para>
	      <emphasis role="bold">MASTER_VOLUME_RELATIVE</emphasis> : changes the Master output volume, relative
	      to the current setting (e.g. if you are using rotary encoders)
	    </para></listitem>
	    
      <listitem><para>
	      <emphasis role="bold">MASTER_VOLUME_ABSOLUTE</emphasis> : changes the Master output volume to the 
	      absolute value of the midi control (use with midi fader or pot)
	    </para></listitem>
	    
      <listitem><para>
	      <emphasis role="bold">STRIP_VOLUME_RELATIVE</emphasis> : see MASTER_VOLUME_RELATIVE, but applies to
	      the channel strip defined in the Action Parameter **
	    </para></listitem>
	    
      <listitem><para>
	      <emphasis role="bold">STRIP_VOLUME_ABSOLUTE</emphasis> : see MASTER_VOLUME_ABSOLUTE, but applies to
	      the channel strip defined in the Action Parameter **
	    </para></listitem>
	    
      <listitem><para>
        <emphasis role="bold">EFFECTx_LEVEL_RELATIVE</emphasis> : changes the volume level of effect 'x';
         the value you enter in the Action Parameter determines the channel strip this action applies to **
      </para></listitem>
	    
      <listitem><para>
        <emphasis role="bold">SELECT_NEXT_PATTERN</emphasis> : selects the pattern that is defined in the Action Parameter **
      </para></listitem>
	    
      <listitem><para>
        <emphasis role="bold">SELECT_AND_PLAY_NEXT_PATTERN</emphasis> : combines the SELECT_NEXT_PATTERN with PLAY
	    </para></listitem>
	    
      <listitem><para>
	      <emphasis role="bold">PAN_RELATIVE</emphasis> : changes the panorama setting, relative to the current value;
         the value you enter in the Action Parameter determines the channel strip this action applies to **
	    </para></listitem>
	    
      <listitem><para>
	      <emphasis role="bold">PAN_ABSOLUTE</emphasis> : changes the panorama setting to the absolute value that the linked controller sends to Hydrogen
	    </para></listitem>
	    
      <listitem><para>
	      <emphasis role="bold">BEATCOUNTER</emphasis> : sets the tempo (see <xref linkend="sect.tap_tempo"/>
	    </para></listitem>
	    
      <listitem><para>
	      <emphasis role="bold">TAP_TEMPO</emphasis> : sets the tempo (see <xref linkend="sect.tap_tempo"/>
	    </para></listitem>
	    
      <listitem><para>
	      <emphasis role="bold">SELECT_INSTRUMENT</emphasis> : selects one of the instruments in the drumkit
	    </para></listitem>
	    
   
      </itemizedlist>


     </section>

    </section>

  </chapter>

  <!--
      ##################
      # THIRD CHAPTER  #
      ##################
  -->

  <chapter id="chap.create_song">
    <title>A new song</title>
    <section id="sect.song_vs_pattern">
      <title>"Song" mode and "Pattern" mode</title>

      <para>This section is a quick-and-dirty walkthrough to Hydrogen. Refer to the
      tutorial for a more detailed overview.</para>

      <para>Hydrogen has 2 main modes: "Pattern" mode and "Song" mode (refer to
      <xref linkend="sect.main_toolbar"/> for the buttons that activate each mode). When
      "Pattern" mode is activated the current pattern is continuously repeated.
      This mode is very well suited to tweak your pattern until it's just right, since the 
      pattern you are working on is constantly repeated. This way you can immediately 
      hear the changes you have made. In "Song" mode the whole song is played.  
      This is useful when putting together the patterns to create the structure of the song.</para>
    </section>

    <section id="sect.create_pattern">
      <title>A new pattern</title>




      <para>We'll start from the empty song with an empty pattern created when
      Hydrogen starts up: "pattern" mode should be selected by default. Now
      let's click on the <quote>Play</quote>button, and while the pattern is playing
      let's add notes by left_mouse_clicking in the grid of the Song Editor 
      (<xref linkend="fig.pattern_editor.2"/>). Adjust the grid resolution and BPM
      speed if needed. Remember some constraints of the grid: if you are
      working with a resolution of 16 you can't go back to 8 and remove a
      16th note; same thing happens if you are working with a resolution of
      8 and you try to insert a note in the middle of two bars (looking for
      a 16 bars precision): they will be placed on the previous or on the
      following 8th bar (unless you choose <quote>off</quote> from the Grid Resolution LCD in which case
      you're free to place notes wherever you prefer). <emphasis role="bold">Be
      sure to select the correct pattern in the Song Editor before adding notes
      in the Pattern Editor!</emphasis></para>

      <figure id="fig.pattern_editor.2">
        <title>The Pattern Editor</title>
        <mediaobject>
          <imageobject>
            <imagedata fileref="img/PatternEditor.png" format="PNG" />
          </imageobject>
        </mediaobject>
      </figure>
    </section>

    <section id="sect.create_sequence">
      <title>A new sequence</title>

      <para>Once patterns are created (<xref linkend="fig.insert_notes"/>), we
      can copy/paste/delete them using the Select Mode (see <xref linkend="sect.song_editor.main_controls"/>).
      </para>
      

      <figure id="fig.insert_notes">
        <title>Inserting Notes in a Pattern</title>
        <mediaobject>
          <imageobject>
            <imagedata fileref="img/SongEditor.png" format="PNG" />
          </imageobject>
        </mediaobject>
      </figure>

    </section>

    <section id="sect.create_song.adjust_mixer">
      <title>Adjust from the mixer</title>

      <para>Of course we can always use the mixer window, either when creating
      or playing patterns.</para>

      <para>The Mixer frame (<xref linkend="fig.mixer.2"/>) is made of 32
      independent tracks, each of these is bound to an instrument, plus a
      "Master Output" control and a "FX" button to show and hide the 
      effects panel.
      Every line features 3 buttons (

        <inlinemediaobject>
          <imageobject>
            <imagedata fileref="img/btn_play_on_mixer.png" format="PNG" />
          </imageobject>
        </inlinemediaobject>

        <inlinemediaobject>
          <imageobject>
            <imagedata fileref="img/btn_solo_on.png" format="PNG" />
          </imageobject>
        </inlinemediaobject>

        <inlinemediaobject>
          <imageobject>
            <imagedata fileref="img/btn_mute_on.png" format="PNG" />
          </imageobject>
        </inlinemediaobject>

        ), pan adjust (

        <inlinemediaobject>
          <imageobject>
            <imagedata fileref="img/MixerPan.png" format="PNG" />
          </imageobject>
        </inlinemediaobject>

        ), current maximum peak, volume fader and name of the track. Clicking on

        <inlinemediaobject>
          <imageobject>
            <imagedata fileref="img/btn_solo_on.png" format="PNG" />
          </imageobject>
        </inlinemediaobject>

        will play the selected instrument, cutting the others. The "Mute" button

        <inlinemediaobject>
          <imageobject>
            <imagedata fileref="img/btn_mute_on.png" format="PNG" />
          </imageobject>
        </inlinemediaobject>

        , simply mute <emphasis>that</emphasis> instrument. The maximum peak
        indicates the maximum volume reached from the instrument.   The peak must
        be in a range of 0.0 and 1.0 (in <xref linkend="fig.mixer.2"/> you can
        see a few volumes too loud).  Peaks outside that range will get distorted 
        (especially with OSS audio driver). Keep an eye on each vu-meter and
        if distortion appears, turn the volume down for that instrument.
      </para>

      <figure id="fig.mixer.2">
        <title>The Mixer</title>
        <mediaobject>
          <imageobject>
            <imagedata fileref="img/Mixer.png" format="PNG" />
          </imageobject>
        </mediaobject>
      </figure>
    </section>
  </chapter>
  
  
  <chapter id="chap.shortcuts">
    <title>Shortcut lists</title>
    
      <itemizedlist mark="opencircle">
        <listitem>
          <para>
            <emphasis role="bold">[CTRL + N]</emphasis> = New Project
          </para>
        </listitem>
        <listitem>
          <para>
            <emphasis role="bold">[CTRL + O]</emphasis> = Open File
          </para>
        </listitem>
        <listitem>
          <para>
            <emphasis role="bold">[CTRL + D]</emphasis> = Open Demo
          </para>
        </listitem>
        <listitem>
          <para>
            <emphasis role="bold">[CTRL + S]</emphasis> = Save File
          </para>
        </listitem>
        <listitem>
          <para>
            <emphasis role="bold">[CTRL + SHIFT + S]</emphasis> = Save File as
          </para>
        </listitem>
        <listitem>
          <para>
            <emphasis role="bold">[CTRL + P]</emphasis> = Export Pattern as
          </para>
        </listitem>
        <listitem>
          <para>
            <emphasis role="bold">[CTRL + M]</emphasis> = Export MIDI file
          </para>
        </listitem>
        <listitem>
          <para>
            <emphasis role="bold">[CTRL + E]</emphasis> = Export Song
          </para>
        </listitem>
        <listitem>
          <para>
            <emphasis role="bold">[CTRL + Q]</emphasis> = Quit Hydrogen
          </para>
        </listitem>
        <listitem>
          <para>
            <emphasis role="bold">[ALT + D]</emphasis> = Show Director window
          </para>
        </listitem>
        <listitem>
          <para>
            <emphasis role="bold">[ALT + M]</emphasis> = Show Mixer window
          </para>
        </listitem>
        <listitem>
          <para>
            <emphasis role="bold">[ALT + I]</emphasis> = Show Instrument rack
          </para>
        </listitem>
        <listitem>
          <para>
            <emphasis role="bold">[ALT + P]</emphasis> = Show Preferences window
          </para>
        </listitem>
        <listitem>
          <para>
            <emphasis role="bold">[CTRL + ?]</emphasis> = Show manual
          </para>
        </listitem>
        <listitem>
          <para>
            <emphasis role="bold">[Backspace]</emphasis> = Restart
            song or pattern from the beginning
          </para>
        </listitem>
        <listitem>
          <para>
            <emphasis role="bold">[spacebar]</emphasis> = Play / Pause
          </para>
        </listitem>
        <listitem>
          <para>
            <emphasis role="bold">[,]</emphasis> (comma key) = Beatcounter
          </para>
        </listitem>
       <listitem>
          <para>
            <emphasis role="bold">[\]</emphasis> (backslash) = Tap tempo
          </para>
        </listitem>
        <listitem>
          <para>
            <emphasis role="bold">[+] and [-]</emphasis> = Tempo up / down
          </para>
        </listitem>
        <listitem>
          <para>
            <emphasis role="bold">[F9]</emphasis> = Jump back to previous bar in the song
          </para>
        </listitem>
        <listitem>
          <para>
            <emphasis role="bold">[F10]</emphasis> = Jump to the next bar in the song
          </para>
        </listitem>
        <listitem>
          <para>
            <emphasis role="bold">[F12]</emphasis> = Panic button  (stops the song and mutes all
            playing sounds)
          </para>
        </listitem>
      </itemizedlist>    
    
  </chapter>
  
  <glossary id="glossary">
    <title>Glossary</title>

    <para>This is a glossary of general terms encountered when using Hydrogen,
     synthesizers, drums, or samplers. The definitions here provide more
     detail and explanation than the simplified ones in the text. For
     example, the text of the manual would have you believe that an ADSR is
     the only kind of envelope generator and could only ever control the
     volume. While the simplified definitions help new users start using
     Hydrogen quickly, they can lack the nuances presented here.</para>

    <!--  ...  -->

    <!--   A   -->

    <glossentry id="def.adsr">
      <glossterm>ADSR</glossterm>
      <glossdef>
        <para>A type of envelope generator that allows you to control the
        <link linkend="def.attack">Attack</link>,
        <link linkend="def.decay">Decay</link>,
        <link linkend="def.sustain">Sustain</link>, and
        <link linkend="def.release">Release</link> parameters.
        Generally, the
        parameters are proportional to
        the <link linkend="def.velocity">velocity</link>.</para>

        <para>In Hydrogen, the ADSR envelope generator only controls the volume
        (attenuation).</para>

        <para>Read more about this in the Wikipedia
        Article <ulink url="http://en.wikipedia.org/wiki/ADSR_envelope">ADSR
        Envelope</ulink></para>

        <glossseealso otherterm="def.envelopegenerator"/>
        <glossseealso otherterm="def.attack"/>
        <glossseealso otherterm="def.decay"/>
        <glossseealso otherterm="def.sustain"/>
        <glossseealso otherterm="def.release"/>
      </glossdef>
    </glossentry>

    <glossentry id="def.attack">
      <glossterm>Attack</glossterm>
      <glossdef>
        <para>This is the first phase of an ADSR envelope, and is the amount
        of <emphasis>time</emphasis> to turn the parameter up from
        0 to full velocity after triggering the note.</para>

        <glossseealso otherterm="def.adsr"/>
      </glossdef>
    </glossentry>

    <glossentry id="def.attenuation">
      <glossterm>Attenuation</glossterm>
      <glossdef>
        <para>In filters and mixers, this the amount that a signal is reduced
        (volume).</para>

        <glossseealso otherterm="def.rolloff"/>
      </glossdef>
    </glossentry>

    <!--   B   -->

    <glossentry id="def.bandpassfilter">
      <glossterm>Band-Pass Filter</glossterm>
      <glossdef>
        <para>A filter that preserves a certain band of frequencies, and
        attenuates (silences) all others.  This is often done by combining a
        high-pass and a low-pass filter.</para>

        <glossseealso otherterm="def.filter"/>
        <glossseealso otherterm="def.highpassfilter"/>
        <glossseealso otherterm="def.lowpassfilter"/>
      </glossdef>
    </glossentry>

    <!--   C   -->

    <glossentry id="def.clipping">
      <glossterm>Clipping</glossterm>
      <glossdef>
        <para>A phenomenon that happens to a signal when the signal is too large
        for whatever is receiving it.  The peaks of the signal (which are
        normally smooth curves) get cut off straight at the max volume
        (clipped).  This distorts the sound and is usually undesirable.</para>

        <para>An example of clipping is when you play music louder than your
        speaker can handle.  Parts of the music sound harsh and fuzzy.</para>
      </glossdef>
    </glossentry>

    <glossentry id="def.cutoff">
      <glossterm>Cutoff Frequency</glossterm>
      <glossdef>
        <para>On high-pass and low-pass filters, this is the frequency that
        divides between those that pass, and those that are attenuated
        (silenced).  In a high-pass resonance filter, or a low-pass resonance
        filter, the cutoff is also the frequency zone that gets boosted.</para>

        <para>For example, if you have a low-pass filter and you set the cutoff
        frequency high (i.e. 20kHz)... the filter will not affect the sound.
        All the audible frequencies will pass through undisturbed.  As you lower
        the cutoff frequency to something like 40 Hz (the low string on a bass
        guitar), it sounds like someone is putting a blanket over the speaker.
        The higher frequencies are being attenuated above 30 Hz.</para>

        <glossseealso otherterm="def.filter"/>
        <glossseealso otherterm="def.highpassfilter"/>
        <glossseealso otherterm="def.lowpassfilter"/>
        <glossseealso otherterm="def.resonancefilter"/>
      </glossdef>
    </glossentry>

    <!--   D   -->

    <glossentry id="def.decay">
      <glossterm>Decay</glossterm>
      <glossdef>
        <para>After reaching full velocity from the attack, this is the amount
        of <emphasis>time</emphasis> to turn the parameter down from full
        velocity to the sustain level.</para>

        <glossseealso otherterm="def.adsr"/>
      </glossdef>
    </glossentry>

    <glossentry id="def.dc-offsety">
      <glossterm>DC-offsety</glossterm>
      <glossdef>
        <para>DC offset, or DC coefficient is the mean value of the wavefor.m</para>
        <para>DC offset is usually undesirable. For example, in audio processing, a 
        sound that has DC offset will not be at its loudest possible volume when
        normalized (because the offset consumes headroom), and this problem can 
        possibly extend to the mix as a whole, since a sound with DC offset and a sound
        without DC offset will have DC offset when mixed. It may also cause other artifacts
        depending on what is being done with the signal.</para>
        
      </glossdef>
    </glossentry>

    <!--   E   -->

    <glossentry id="def.envelopegenerator">
      <glossterm>Envelope Generator</glossterm>
      <glossdef>
        <para>A way to control (change) a parameter over time as a response to
        triggering, holding, and releasing a note.</para>

        <!-- TRANSLATORS: This is a witty English expression that means, "Did I
             just say something really complicated, and you quit paying attention?
             I'll try it again a little more informally." -->
        <para>Did your eyes just glaze over? Let's try again:</para>

        <para>Imagine that you're playing a note on the keyboard and you have
        your other hand on a knob (volume, filter cutoff, etc.).  As you play
        the note, you twist the knob (often up, then down... or down, then up).
        You do the same thing on each note.  That's what an envelope generator
        does.  See also <link linkend="def.adsr">ADSR</link></para>
      </glossdef>
    </glossentry>

    <!--   F   -->

    <glossentry id="def.fader">
      <glossterm>Fader</glossterm>
      <glossdef>
        <para>A slider control used to adjust the attenuation (volume) in a
        mixer.  Faders always have an "audio" taper, which means that the
        attenuation amount changes on an exponential scale.</para>
      </glossdef>
    </glossentry>

    <glossentry id="def.filter">
      <glossterm>Filter</glossterm>
      <glossdef>
        <para>A device that changes a sound by attenuating specific frequencies.
        A tone knob is an example of a simple, low-pass filter.</para>

        <glossseealso otherterm="def.bandpassfilter"/>
        <glossseealso otherterm="def.highpassfilter"/>
        <glossseealso otherterm="def.lowpassfilter"/>
        <glossseealso otherterm="def.resonancefilter"/>
      </glossdef>
    </glossentry>

    <!--   G   -->

    <glossentry id="def.gain">
      <glossterm>Gain</glossterm>
      <glossdef>
        <para>In an amplifier, this adjust how much (or how little) a signal is
        amplified (volume).  A higher gain value is a louder signal.</para>
      </glossdef>
    </glossentry>

    <!--   H   -->

    <glossentry id="def.highpassfilter">
      <glossterm>High-Pass Filter</glossterm>
      <glossdef>
        <para>A filter that attenuates (silences) low frequencies, but allows
        high frequencies to pass through.</para>

        <glossseealso otherterm="def.filter"/>
        <glossseealso otherterm="def.cutoff"/>
      </glossdef>
    </glossentry>

    <!--   I   -->

    <glossentry id="def.instrument">
      <glossterm>Instrument</glossterm>
      <glossdef>
        <para>In Hydrogen, an instrument is a single noise-maker (like a bass
        drum kick, or a tom).</para>
      </glossdef>
    </glossentry>
    <!--   J   -->

    <!--   K   -->

    <!--   L   -->

    <glossentry id="def.layer">
      <glossterm>Layer</glossterm>
      <glossdef>
        <para>In an instrument you can load several different samples (each one
        called a <emphasis role="bold">layer</emphasis>), and have a different
        sample play depending on the velocity of the note.  Only one sample at a
        time will play.</para>

        <para>Suppose you have a sample of a floor tom being struck softly.  If
        you simply play the sample louder &mdash; it will
        <emphasis>not</emphasis> sound the same as a real tom that has been
        struck very hard.  If you wish to mimic this in your instrument, you can
        load one sample for soft playing, and a different sample for loud
        playing.</para>

        <glossseealso otherterm="def.instrument"/>
      </glossdef>
    </glossentry>

    <glossentry id="def.lowpassfilter">
      <glossterm>Low-Pass Filter</glossterm>
      <glossdef>
        <para>A filter that attenuates (silences) high frequencies, but allows
        low frequencies to pass through.</para>

        <glossseealso otherterm="def.filter"/>
        <glossseealso otherterm="def.cutoff"/>
      </glossdef>
    </glossentry>

    <!--   M   -->

    <glossentry id="def.mute">
      <glossterm>Mute</glossterm>
      <glossdef>
        <para>To make no noise.  A setting on an instrument that prevents any
        audio output.</para>
      </glossdef>
    </glossentry>

    <glossentry id="def.mutegroup">
      <glossterm>Mute Group</glossterm>
      <glossdef>
        <para>A group of instruments (samples) that should mute (stop playing)
        immediately after another instrument in the group is triggered.</para>

        <para>This is typically used in hi-hats, where there's a different
        instrument (sample) for when the hi-hat is open or closed.  With a real
        hi-hat, the sound of the open hi-hat will stop as soon as you close it.
        However, if you use two samples &mdash; the open sound will continue
        even after you have triggered the closed sound.  By placing both
        instruments in the same mute group (group #1, for example)... triggering
        closed sound will immediately stop the open sound (and vice
        versa).</para>
      </glossdef>
    </glossentry>

    <!--   N   -->

    <!--   O   -->

    <glossentry id="def.octave">
      <glossterm>Octave</glossterm>
      <glossdef>
        <para>A span of frequencies where the top-most frequency is exactly
        twice the frequency of the bottom frequency.</para>

        <para>For example, the range 20 Hz to 40 Hz is an octave.  So is 120 Hz
        to 240 Hz, and 575 Hz to 1150 Hz.  While the frequency differences are
        very different (20 Hz, 120 Hz, and 575 Hz, respectively), to the human
        ear they <emphasis>sound</emphasis> like the same distance.</para>
      </glossdef>
    </glossentry>

    <!--   P   -->

    <!--   Q   -->

    <!--   R   -->

    <glossentry id="def.release">
      <glossterm>Release</glossterm>
      <glossdef>
        <para>After the note is released, this is the amount of
        <emphasis>time</emphasis> to reduce the parameter from the sustain level
        to 0.</para>

        <glossseealso otherterm="def.adsr"/>
      </glossdef>
    </glossentry>

    <glossentry id="def.resonance">
      <glossterm>Resonance</glossterm>
      <glossdef>
        <para>When referring to a resonance filter, this is the parameter that
        determines how much of a boost (gain) to give the frequencies at the
        cutoff.</para>

        <glossseealso otherterm="def.resonancefilter"/>
      </glossdef>
    </glossentry>

    <glossentry id="def.resonancefilter">
      <glossterm>Resonance Filter</glossterm>
      <glossdef>
        <para>A filter that gives a large boost to a very narrow range of
        frequencies.  Typically it will be part of a high-pass or a low-pass
        filter, where the boosted frequencies are centered on the cut-off
        frequency.</para>

        <glossseealso otherterm="def.filter"/>
        <glossseealso otherterm="def.cutoff"/>
        <glossseealso otherterm="def.resonance"/>
      </glossdef>
    </glossentry>

    <glossentry id="def.rolloff">
      <glossterm>Roll-off</glossterm>
      <glossdef>
        <para>This is the amount that frequencies are attenuated (suppressed) as
        the frequency changes (typically measured in dB/octave).</para>

        <para>For example, in a low-pass filter the frequencies below the cutoff
        frequency are not attenuated (they pass-through with the same volume).
        Same with the cutoff frequency.  As you go above the cutoff frequency,
        the frequencies that are near the cutoff frequency are not attenuated
        very much at all.  However, the frequencies that are much higher than
        the cutoff are attenuated (suppressed) a lot.  This is usually
        approximated by a straight line (on a log scale) and measured in in dB
        of attenuation per octave of frequency.</para>

        <glossseealso otherterm="def.attenuation"/>
        <glossseealso otherterm="def.filter"/>
      </glossdef>
    </glossentry>

    <!--   S   -->

    <glossentry id="def.sample">
      <glossterm>Sample</glossterm>
      <glossdef>
        <para>A short recording of a sound, typically between .1 and 3.0 seconds
        long.</para>
      </glossdef>
    </glossentry>

    <glossentry id="def.sustain">
      <glossterm>Sustain</glossterm>
      <glossdef>
        <para>The <emphasis>level</emphasis> to hold the parameter after
        finishing the decay time.  This level will be maintained until the not
        is released.</para>
        <glossseealso otherterm="def.adsr"/>
      </glossdef>
    </glossentry>

    <!--   T   -->

    <!--   U   -->

    <!--   V   -->

    <glossentry id="def.velocity">
      <glossterm>Velocity</glossterm>
      <glossdef>
        <para>How hard you hit a note.</para>

        <para>MIDI devices are required to send this information along with the
        note.  Synthesizers use this information to adjust several parameters on
        the sample (typically the volume).  In Hydrogen, it is only used to
        adjust how loud the sample is played back.</para>
      </glossdef>
    </glossentry>

    <!--   W   -->

    <!--   X   -->

    <!--   Y   -->

    <!--   Z   -->

  </glossary>
</book>