-
Notifications
You must be signed in to change notification settings - Fork 10
/
manual_en.html
3212 lines (3054 loc) · 510 KB
/
manual_en.html
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
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Hydrogen v1.2.3 Manual</title><link rel="stylesheet" type="text/css" href="res/docbook.css"><script src="res/docbook.js" type="text/javascript"></script><meta name="generator" content="DocBook XSL Stylesheets V1.79.1"><meta name="description" content="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 runs on Linux, Mac OS X and Windows."><meta name="viewport" content="width=device-width,initial-scale=1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div lang="en" class="book"><div class="titlepage"><div><div><h1 class="title"><a name="Hydrogen-manual"></a>Hydrogen v1.2.3 Manual</h1></div><div><h2 class="subtitle">2024-01-12</h2></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="firstname">Antonio</span> <span class="surname">Piraino</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Alessandro</span> <span class="surname">Cominu</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Thijs</span> <span class="surname">Van Severen</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Sebastian</span> <span class="surname">Moors</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Colin</span> <span class="surname">Evans</span></h3></div><div class="author"><h3 class="author"><span class="firstname">Philipp</span> <span class="surname">Müller</span></h3></div></div></div><div><div class="abstract"><p class="title"><b>Abstract</b></p><p>Hydrogen is a software synthesizer which can be used alone,
emulating a drum machine based on patterns, or via an external <abbr class="abbrev">MIDI</abbr>
keyboard/sequencer software. Hydrogen runs on Linux, Mac OS X and Windows.</p></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="part"><a href="#part.1">I. Introduction</a></span></dt><dd><dl><dt><span class="chapter"><a href="#chpt.download">1. Download</a></span></dt><dt><span class="chapter"><a href="#chpt.compilation">2. Build</a></span></dt><dt><span class="chapter"><a href="#chpt.keyboard_and_mouse">3. Keyboard and Mouse</a></span></dt><dd><dl><dt><span class="sect1"><a href="#idm83">3.1.
Keyboard usage in Editors
</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="#part.using_hydrogen">II. Using Hydrogen</a></span></dt><dd><dl><dt><span class="chapter"><a href="#chpt.overview">4. Overview</a></span></dt><dd><dl><dt><span class="sect1"><a href="#chpt.overview.gui">4.1. Main User Interface</a></span></dt><dt><span class="sect1"><a href="#chpt.overview.drumkits">4.2. Drumkit Concept</a></span></dt><dt><span class="sect1"><a href="#chpt.overview.virtual_keyboard">4.3. Virtual Keyboard</a></span></dt><dt><span class="sect1"><a href="#chpt.overview.recording">4.4. Recording in Hydrogen</a></span></dt><dt><span class="sect1"><a href="#chpt.overview.session_management">4.5. Session Management</a></span></dt><dt><span class="sect1"><a href="#chpt.overview.cli">4.6. Command-line Options</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chpt.preferences">5. Preferences</a></span></dt><dd><dl><dt><span class="sect1"><a href="#chpt.preferences.general_tab">5.1. General</a></span></dt><dt><span class="sect1"><a href="#chpt.preferences.audio_tab">5.2. Audio System</a></span></dt><dt><span class="sect1"><a href="#chpt.preferences.midi_tab">5.3. MIDI System</a></span></dt><dt><span class="sect1"><a href="#chpt.preferences.osc_tab">5.4. OSC</a></span></dt><dt><span class="sect1"><a href="#chpt.preferences.appearance_tab">5.5. Appearance</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chpt.main_menu">6. Main Menu</a></span></dt><dd><dl><dt><span class="sect1"><a href="#sect.main_menu.projects">6.1. Project</a></span></dt><dt><span class="sect1"><a href="#sect.main_menu.undo">6.2. Undo</a></span></dt><dt><span class="sect1"><a href="#sect.main_menu.drumkits">6.3. Drumkits</a></span></dt><dt><span class="sect1"><a href="#sect.main_menu.instruments">6.4. Instruments</a></span></dt><dt><span class="sect1"><a href="#sect.main_menu.view">6.5. View</a></span></dt><dt><span class="sect1"><a href="#sect.main_menu.options">6.6. Options</a></span></dt><dt><span class="sect1"><a href="#sect.main_menu.debug">6.7. Debug</a></span></dt><dt><span class="sect1"><a href="#sect.main_menu.info">6.8. Info</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chpt.main_toolbar">7. Main Toolbar</a></span></dt><dd><dl><dt><span class="sect1"><a href="#sect.main_toolbar.transport_control">7.1.
Transport Control
</a></span></dt><dt><span class="sect1"><a href="#sect.main_toolbar.tap_tempo_beat_counter">7.2. Tap Tempo and Beat Counter</a></span></dt><dt><span class="sect1"><a href="#sect.main_toolbar.bpm_control_and_metronome">7.3. BPM Control and Metronome</a></span></dt><dt><span class="sect1"><a href="#sect.main_toolbar.cpu_usage_midi_in">7.4. CPU Usage and MIDI in</a></span></dt><dt><span class="sect1"><a href="#sect.main_toolbar.jack_control">7.5. JACK Control</a></span></dt><dt><span class="sect1"><a href="#sect.main_toolbar.gui_state">7.6. GUI State</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chpt.song_editor">8. Song Editor</a></span></dt><dd><dl><dt><span class="sect1"><a href="#chpt.song_editor.main_controls">8.1. Main Controls</a></span></dt><dt><span class="sect1"><a href="#chpt.song_editor.editor_modes">8.2. Song Editor modes</a></span></dt><dt><span class="sect1"><a href="#chpt.song_editor.sidebar">8.3. Sidebar</a></span></dt><dt><span class="sect1"><a href="#chpt.song_editor.timeline">8.4. Timeline</a></span></dt><dt><span class="sect1"><a href="#chpt.song_editor.tag">8.5. Tags</a></span></dt><dt><span class="sect1"><a href="#chpt.song_editor.playbackTrack">8.6. Playback Track</a></span></dt><dt><span class="sect1"><a href="#sect.song_editor.automation_path">8.7. Automation Path</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chpt.pattern_editor">9. Pattern Editor</a></span></dt><dd><dl><dt><span class="sect1"><a href="#chpt.pattern_editor.general">9.1. General</a></span></dt><dt><span class="sect1"><a href="#chpt.pattern_editor.drumkit">9.2. Drum Pattern Editor</a></span></dt><dt><span class="sect1"><a href="#chpt.pattern_editor.note_properties">9.3. Note Properties Editor</a></span></dt><dt><span class="sect1"><a href="#chpt.pattern_editor.piano_mode">9.4. Piano Roll Editor</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chpt.sound_library">10. Sound Library (Drumkit/Pattern/Song Manager)</a></span></dt><dd><dl><dt><span class="sect1"><a href="#chpt.sound_library.drumkits">10.1. Drumkits</a></span></dt><dt><span class="sect1"><a href="#sect.sl.songs">10.2. Songs</a></span></dt><dt><span class="sect1"><a href="#sect.sl.patterns">10.3. Patterns</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chpt.instrument_editor">11. Instrument Editor</a></span></dt><dd><dl><dt><span class="sect1"><a href="#chpt.instrument_editor.general">11.1. General</a></span></dt><dt><span class="sect1"><a href="#chpt.instrument_editor.layers">11.2. Layers</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chpt.sample_editor">12. Sample Editor</a></span></dt><dd><dl><dt><span class="sect1"><a href="#chpt.sample_editor.wave_display">12.1. Wave Display and Region Editing</a></span></dt><dt><span class="sect1"><a href="#chpt.sample_editor.pitch">12.2. Pitch Shifting</a></span></dt><dt><span class="sect1"><a href="#chpt.sample_editor.playback_and_envelope_editor">12.3. Playback and Envelope Editor</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chpt.mixer">13. Mixer</a></span></dt><dd><dl><dt><span class="sect1"><a href="#chpt.mixer.channel_strips">13.1. Instrument Channel Strips</a></span></dt><dt><span class="sect1"><a href="#chpt.mixer.component_strips">13.2. Component Channel Strips</a></span></dt><dt><span class="sect1"><a href="#sect.fx_rack_LADSPA">13.3. FX Rack and LADSPA Plugins</a></span></dt><dt><span class="sect1"><a href="#chpt.mixer.master_fader_strip">13.4. Master Fader Strip</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chpt.director">14. Director</a></span></dt><dt><span class="chapter"><a href="#chpt.playlist_editor">15. Playlist Editor</a></span></dt><dd><dl><dt><span class="sect1"><a href="#chpt.playlist_editor.main_window">15.1. Main Window</a></span></dt><dt><span class="sect1"><a href="#chpt.playlist_editor.menu">15.2. Menu</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chpt.midi">16. MIDI</a></span></dt><dd><dl><dt><span class="sect1"><a href="#chpt.midi.input">16.1. MIDI Input</a></span></dt><dt><span class="sect1"><a href="#chpt.midi.note">16.2. MIDI Note Rendering</a></span></dt><dt><span class="sect1"><a href="#chpt.midi.output">16.3. MIDI Output</a></span></dt><dt><span class="sect1"><a href="#chpt.midi.controlling">16.4. MIDI Controlling</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chpt.osc">17. OSC API</a></span></dt><dd><dl><dt><span class="sect1"><a href="#chpt.osc.basics">17.1. Basics</a></span></dt><dt><span class="sect1"><a href="#chpt.osc.commands">17.2. Commands</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="#part.demos">III. Examples</a></span></dt><dd><dl><dt><span class="chapter"><a href="#chpt.create_song">18. A New Song</a></span></dt><dd><dl><dt><span class="sect1"><a href="#sect.song_vs_pattern">18.1. Song Mode and Pattern Mode</a></span></dt><dt><span class="sect1"><a href="#sect.create_pattern">18.2. A New Pattern</a></span></dt><dt><span class="sect1"><a href="#sect.create_sequence">18.3. A New Sequence</a></span></dt><dt><span class="sect1"><a href="#sect.create_song.adjust_mixer">18.4. Adjust from the Mixer</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chpt.examples.drumkit">19. Create a New Drumkit</a></span></dt><dd><dl><dt><span class="sect1"><a href="#chpt.examples.drumkit.new_kit">19.1. Creating a New Drumkit</a></span></dt><dt><span class="sect1"><a href="#chpt.examples.drumkit.new_instrument">19.2. Creating a New Instrument</a></span></dt><dt><span class="sect1"><a href="#chpt.instrument_editor.tips">19.3. Tips on Editing Instruments</a></span></dt></dl></dd></dl></dd><dt><span class="part"><a href="#appendix">IV. Appendix</a></span></dt><dd><dl><dt><span class="chapter"><a href="#chpt.license">20. Licensing</a></span></dt><dd><dl><dt><span class="sect1"><a href="#chpt.license.parsing">20.1. License Parsing</a></span></dt><dt><span class="sect1"><a href="#chpt.license.common_licenses">20.2. Common Licenses</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chpt.file_types">21. Used File Types</a></span></dt><dt><span class="chapter"><a href="#chap.shortcuts">22. Shortcut Lists</a></span></dt><dt><span class="glossary"><a href="#glossary">Glossary</a></span></dt></dl></dd></dl></div><div class="list-of-figures"><p><b>List of Figures</b></p><dl><dt>4.1. <a href="#fig.UI_overview">The Main UI in Single Pane mode</a></dt><dt>4.2. <a href="#fig.tabbed_UI_overview">The Main UI in Tabbed mode</a></dt><dt>5.1. <a href="#fig.preferences.general_tab">The General Tab</a></dt><dt>5.2. <a href="#fig.preferences.audio_tab">The Audio System Tab</a></dt><dt>5.3. <a href="#fig.preferences.midi_tab">The MIDI System Tab</a></dt><dt>5.4. <a href="#fig.preferences.osc_tab">The OSC Tab</a></dt><dt>5.5. <a href="#fig.preferences.appearance_tab.interface">The Interface Tab</a></dt><dt>5.6. <a href="#fig.preferences.appearance_tab.colors">The Colors Tab</a></dt><dt>5.7. <a href="#fig.preferences.appearance_tab.font">The Font Tab</a></dt><dt>6.1. <a href="#fig.main_menu">The Main Menu</a></dt><dt>6.2. <a href="#fig.import_drumkit">Import Drumkit</a></dt><dt>6.3. <a href="#fig.preferences.audio_engine_tab">The Audio Engine View</a></dt><dt>7.1. <a href="#fig.main_toolbar">The Main Toolbar</a></dt><dt>8.1. <a href="#fig.song_editor">The Song Editor</a></dt><dt>8.2. <a href="#fig.song_editor.virtualPattern.selectedMenu">The Pattern Options menu</a></dt><dt>8.3. <a href="#fig.pattern_properties">The Dialog to Change the Pattern Properties</a></dt><dt>8.4. <a href="#fig.add_tag">Dialog Window for Adding Tags</a></dt><dt>8.5. <a href="#fig.automation_path">The Automation Path Widget</a></dt><dt>9.1. <a href="#fig.PatternEditor_DrumMode">Pattern Editor in Drum Mode</a></dt><dt>9.2. <a href="#fig.PatternEditorControls">Pattern Editor Controls</a></dt><dt>9.3. <a href="#fig.pattern_editor.sidebar">The Sidebar of the Pattern Editor</a></dt><dt>9.4. <a href="#fig.PatternEditor_drumkit">Pattern Editor in Drum Mode</a></dt><dt>9.5. <a href="#fig.note_properties_ruler">The Note Properties Ruler set to Velocity</a></dt><dt>9.6. <a href="#fig.NoteKey">The Note Properties Ruler showing the NoteKey Property</a></dt><dt>9.7. <a href="#fig.PatternEditor_PianoMode">Pattern Editor in Piano Mode</a></dt><dt>10.1. <a href="#fig.soundlibrary">The Soundlibrary</a></dt><dt>11.1. <a href="#instrumenteditor.general">The Instrument editor General view</a></dt><dt>11.2. <a href="#instrumenteditor.layers">The Instrument Editor Layers View</a></dt><dt>11.3. <a href="#fig.instrument_editor.layers.layers">The Layer Section of the Instrument Editor</a></dt><dt>12.1. <a href="#sample.editor">The Sample Editor</a></dt><dt>12.2. <a href="#fig.sample_editor.wave_display">The Wave Display Section of the Sample Editor</a></dt><dt>12.3. <a href="#fig.sample_editor.pitch_shift">The Pitch Shifting Section of the Playlist Editor</a></dt><dt>12.4. <a href="#fig.sample_editor.envelope">The Envelope Section of the Sample Editor</a></dt><dt>13.1. <a href="#fig.mixer">The Mixer</a></dt><dt>13.2. <a href="#fig.mixer.channel_strip">The Instrument Channel Strip in the Mixer</a></dt><dt>13.3. <a href="#fig.mixer.component_strip">The Component Channel Strip in the Mixer</a></dt><dt>13.4. <a href="#fig.mixer.fx_strip">The FX Rack in the Mixer</a></dt><dt>13.5. <a href="#fig.select_effect">Select an Effect</a></dt><dt>13.6. <a href="#fig.mixer.master_strip">The Master Fader Strip in the Mixer</a></dt><dt>14.1. <a href="#fig.director">The Director</a></dt><dt>15.1. <a href="#fig.playlist_editor">The Playlist Editor with Demo Songs loaded</a></dt><dt>16.1. <a href="#midi_actions">Actions are set in MIDI System tab of the Preferences Dialog</a></dt><dt>18.1. <a href="#fig.pattern_editor.2">The Pattern Editor</a></dt><dt>18.2. <a href="#fig.insert_patterns">Inserting Patterns in the Song Sequence</a></dt><dt>18.3. <a href="#fig.mixer.2">The Mixer</a></dt><dt>20.1. <a href="#fig.license.parsing.drumkit.properties">Dialog to view and alter the Properties of a Drumkit</a></dt><dt>47. <a href="#matryoshkaPanning">Visualization of the Interaction of the Different Pan Parameters</a></dt></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>17.1. <a href="#idm4153">All <abbr class="abbrev">OSC</abbr> Messages</a></dt><dt>20.1. <a href="#idm4973">Common Licenses</a></dt><dt>22.1. <a href="#sect.shortcut.table">Shortcut Table</a></dt></dl></div><div class="part"><div class="titlepage"><div><div><h1 class="title"><a name="part.1"></a>Part I. Introduction</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="chapter"><a href="#chpt.download">1. Download</a></span></dt><dt><span class="chapter"><a href="#chpt.compilation">2. Build</a></span></dt><dt><span class="chapter"><a href="#chpt.keyboard_and_mouse">3. Keyboard and Mouse</a></span></dt><dd><dl><dt><span class="sect1"><a href="#idm83">3.1.
Keyboard usage in Editors
</a></span></dt></dl></dd></dl></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a name="chpt.download"></a>Chapter 1. Download</h2></div></div></div><p>
You can download Hydrogen from
<a class="ulink" href="http://www.hydrogen-music.org" target="_blank">http://www.hydrogen-music.org</a>.
On the <a class="ulink" href="http://hydrogen-music.org/downloads/" target="_blank">Downloads</a>
page you can find several binaries (installers) for macOS, Windows, and
Linux.
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
From <span class="bold"><strong>MacOS Big Sur</strong></span> onwards you may
require some extra steps to run Hydrogen on you computer. <a class="ulink" href="https://github.com/hydrogen-music/hydrogen/wiki/Running-Hydrogen-on-macOS" target="_blank">This
page</a>
of the Hydrogen Wiki will guide you through this process step by step.
</p></td></tr></table></div></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a name="chpt.compilation"></a>Chapter 2. Build</h2></div></div></div><p>
As operation systems and build environments change more often and
totally independent from Hydrogen, all build instructions can be found
in our (more dynamic) Github Wiki:
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
<span class="bold"><strong>
<a class="ulink" href="https://github.com/hydrogen-music/hydrogen/blob/master/INSTALL.md" target="_blank">
Linux
</a>
</strong></span>
</p></li><li class="listitem"><p>
<span class="bold"><strong>
<a class="ulink" href="https://github.com/hydrogen-music/hydrogen/wiki/Building-Hydrogen-from-Source-(macOS)" target="_blank">
macOS
</a>
</strong></span>
</p></li><li class="listitem"><p>
<span class="bold"><strong>
<a class="ulink" href="https://github.com/hydrogen-music/hydrogen/wiki/Building-Hydrogen-from-source-(Windows)" target="_blank">
Windows
</a>
</strong></span>
</p></li></ul></div><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
These instructions may not be cutting-edge or might even fail on your
particular system and setup. That is most likely because the
development team uses and has access to just a small subset of
systems.
</p><p>
The <a class="ulink" href="https://github.com/hydrogen-music/hydrogen/blob/master/.appveyor.yml" target="_blank">
AppVeyor build pipelines</a> used to create the Hydrogen releases
might get you back on track. But you can always use the issues or
discussions on Github or our mailing list to ask questions.
</p></td></tr></table></div></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a name="chpt.keyboard_and_mouse"></a>Chapter 3. Keyboard and Mouse</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="sect1"><a href="#idm83">3.1.
Keyboard usage in Editors
</a></span></dt></dl></div><p>
The Hydrogen user interface is designed so that it can be
used entirely with the mouse, with the exception of text entry.
</p><p>
Most actions are performed with the left mouse button (or mouse wheel)
and implement what should be the most obvious behaviour for any
control. The right mouse button may sometimes perform an alternate
action or brings up a context menu. Some common controls also have
alternate actions accessed by clicking while holding a modifier key:
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
<span class="keycap"><strong>Ctrl</strong></span> + <span class="emphasis"><em>left click</em></span> : restore default value of knob or fader.
</p></li><li class="listitem"><p>
<span class="keycap"><strong>Shift</strong></span> + <span class="emphasis"><em>left click</em></span> : bind a
<a class="link" href="#chpt.midi.controlling.events" title="16.4.1. MIDI Events"><abbr class="abbrev">MIDI</abbr>
Event</a> to <abbr class="abbrev">MIDI</abbr>-learnable widget (see <a class="xref" href="#chpt.midi.controlling.learnable" title="16.4.3. MIDI-learnable Widgets">MIDI-learnable Widgets</a>).
</p></li><li class="listitem"><p>
<span class="keycap"><strong>Shift</strong></span> + <span class="emphasis"><em>mouse wheel</em></span>|<span class="keycap"><strong>↑</strong></span>|<span class="keycap"><strong>↓</strong></span> : change values of rotaries and faders at a faster pace.
</p></li></ul></div><p>
All rotaries and faders can also be set by using the keyboard. First, you have to click the widget for it to be focussed, indicated by a coloured highlight (orange per default). Now, you can enter numerical input via your keyboard. All numbers and dots are concatenated. If you want to reset your input or start a different one you can either press <span class="keycap"><strong>ESC</strong></span> or wait a couple of seconds.
</p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm83"></a>3.1.
Keyboard usage in Editors
</h2></div></div></div><p>
The keyboard can also be used for navigating and editing in
the <a class="link" href="#chpt.pattern_editor" title="Chapter 9. Pattern Editor">Pattern</a> and <a class="link" href="#chpt.song_editor" title="Chapter 8. Song Editor">Song Editors</a>, using a combination of
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
<span class="bold"><strong><span class="keycap"><strong>↑</strong></span>|<span class="keycap"><strong>↓</strong></span>|<span class="keycap"><strong>←</strong></span>|<span class="keycap"><strong>→</strong></span></strong></span> : move the
keyboard input cursor's position, or adjust values under
the cursor.
</p></li><li class="listitem"><p>
<span class="bold"><strong><span class="keycap"><strong>Shift</strong></span> + <span class="keycap"><strong>↑</strong></span>|<span class="keycap"><strong>↓</strong></span>|<span class="keycap"><strong>←</strong></span>|<span class="keycap"><strong>→</strong></span></strong></span> :
can be used to make selections of notes or pattern
groups as if the mouse had been dragged over them.
</p></li><li class="listitem"><p>
<span class="bold"><strong><span class="keycap"><strong>Enter</strong></span> and <span class="keycap"><strong>Return</strong></span></strong></span> : generally
performs the same action as a mouse click, but can also
start or end a move (or copy) of items in the same way
a mouse drag would.
</p></li><li class="listitem"><p>
<span class="bold"><strong><span class="keycap"><strong>Tab</strong></span> and <span class="keycap"><strong>Shift</strong></span> + <span class="keycap"><strong>Tab</strong></span></strong></span> : move
between the Pattern, Song and Note Property Editor.
</p></li><li class="listitem"><p>
<span class="bold"><strong><span class="keycap"><strong>Delete</strong></span></strong></span> :
delete notes or patterns.
</p></li><li class="listitem"><p>
<span class="bold"><strong><span class="keycap"><strong>Esc</strong></span></strong></span> :
cancels an ongoing selection, move or copy.
</p></li></ul></div><p>
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
The keyboard input cursor is hidden from view until one of
the above keys is pressed. This keeps the display clear and
uncluttered when using the mouse. You can alter this default behavior in the <a class="link" href="#chpt.preferences.general_tab" title="5.1. General">General tab</a> of the Preferences.
</p></td></tr></table></div><p>
Most other keys on the keyboard can be used to play <a class="link" href="#def.sample" title="Sample">samples</a> (see <a class="xref" href="#chpt.overview.virtual_keyboard" title="4.3. Virtual Keyboard">Virtual Keyboard</a>).
</p></div></div></div><div class="part"><div class="titlepage"><div><div><h1 class="title"><a name="part.using_hydrogen"></a>Part II. Using Hydrogen</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="chapter"><a href="#chpt.overview">4. Overview</a></span></dt><dd><dl><dt><span class="sect1"><a href="#chpt.overview.gui">4.1. Main User Interface</a></span></dt><dt><span class="sect1"><a href="#chpt.overview.drumkits">4.2. Drumkit Concept</a></span></dt><dt><span class="sect1"><a href="#chpt.overview.virtual_keyboard">4.3. Virtual Keyboard</a></span></dt><dt><span class="sect1"><a href="#chpt.overview.recording">4.4. Recording in Hydrogen</a></span></dt><dt><span class="sect1"><a href="#chpt.overview.session_management">4.5. Session Management</a></span></dt><dd><dl><dt><span class="sect2"><a href="#chpt.overview.session_management.nsm">4.5.1. NSM</a></span></dt></dl></dd><dt><span class="sect1"><a href="#chpt.overview.cli">4.6. Command-line Options</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chpt.preferences">5. Preferences</a></span></dt><dd><dl><dt><span class="sect1"><a href="#chpt.preferences.general_tab">5.1. General</a></span></dt><dt><span class="sect1"><a href="#chpt.preferences.audio_tab">5.2. Audio System</a></span></dt><dt><span class="sect1"><a href="#chpt.preferences.midi_tab">5.3. MIDI System</a></span></dt><dt><span class="sect1"><a href="#chpt.preferences.osc_tab">5.4. OSC</a></span></dt><dt><span class="sect1"><a href="#chpt.preferences.appearance_tab">5.5. Appearance</a></span></dt><dd><dl><dt><span class="sect2"><a href="#chpt.preferences.appearance_tab.interface">5.5.1. Interface</a></span></dt><dt><span class="sect2"><a href="#chpt.preferences.appearance_tab.colors">5.5.2. Colors</a></span></dt><dt><span class="sect2"><a href="#chpt.preferences.appearance_tab.font">5.5.3. Font</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#chpt.main_menu">6. Main Menu</a></span></dt><dd><dl><dt><span class="sect1"><a href="#sect.main_menu.projects">6.1. Project</a></span></dt><dt><span class="sect1"><a href="#sect.main_menu.undo">6.2. Undo</a></span></dt><dt><span class="sect1"><a href="#sect.main_menu.drumkits">6.3. Drumkits</a></span></dt><dt><span class="sect1"><a href="#sect.main_menu.instruments">6.4. Instruments</a></span></dt><dt><span class="sect1"><a href="#sect.main_menu.view">6.5. View</a></span></dt><dt><span class="sect1"><a href="#sect.main_menu.options">6.6. Options</a></span></dt><dt><span class="sect1"><a href="#sect.main_menu.debug">6.7. Debug</a></span></dt><dt><span class="sect1"><a href="#sect.main_menu.info">6.8. Info</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chpt.main_toolbar">7. Main Toolbar</a></span></dt><dd><dl><dt><span class="sect1"><a href="#sect.main_toolbar.transport_control">7.1.
Transport Control
</a></span></dt><dt><span class="sect1"><a href="#sect.main_toolbar.tap_tempo_beat_counter">7.2. Tap Tempo and Beat Counter</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.main_toolbar.tap_tempo_beat_counter.tap_tempo">7.2.1. Tap Tempo</a></span></dt><dt><span class="sect2"><a href="#sect.main_toolbar.tap_tempo_beat_counter.beat_counter">7.2.2. Beat Counter</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.main_toolbar.bpm_control_and_metronome">7.3. BPM Control and Metronome</a></span></dt><dt><span class="sect1"><a href="#sect.main_toolbar.cpu_usage_midi_in">7.4. CPU Usage and MIDI in</a></span></dt><dt><span class="sect1"><a href="#sect.main_toolbar.jack_control">7.5. JACK Control</a></span></dt><dt><span class="sect1"><a href="#sect.main_toolbar.gui_state">7.6. GUI State</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chpt.song_editor">8. Song Editor</a></span></dt><dd><dl><dt><span class="sect1"><a href="#chpt.song_editor.main_controls">8.1. Main Controls</a></span></dt><dt><span class="sect1"><a href="#chpt.song_editor.editor_modes">8.2. Song Editor modes</a></span></dt><dd><dl><dt><span class="sect2"><a href="#chpt.song_editor.editor_modes.select">8.2.1. Select Mode</a></span></dt><dt><span class="sect2"><a href="#chpt.song_editor.editor_modes.draw">8.2.2. Draw Mode</a></span></dt><dt><span class="sect2"><a href="#chpt.song_editor.editor_modes.song_mode">8.2.3. Song Mode</a></span></dt><dt><span class="sect2"><a href="#chpt.song_editor.editor_modes.pattern_mode">8.2.4. Selected Pattern Mode</a></span></dt><dt><span class="sect2"><a href="#chpt.song_editor.editor_modes.stacked">8.2.5. Stacked Pattern Mode</a></span></dt></dl></dd><dt><span class="sect1"><a href="#chpt.song_editor.sidebar">8.3. Sidebar</a></span></dt><dt><span class="sect1"><a href="#chpt.song_editor.timeline">8.4. Timeline</a></span></dt><dt><span class="sect1"><a href="#chpt.song_editor.tag">8.5. Tags</a></span></dt><dt><span class="sect1"><a href="#chpt.song_editor.playbackTrack">8.6. Playback Track</a></span></dt><dt><span class="sect1"><a href="#sect.song_editor.automation_path">8.7. Automation Path</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chpt.pattern_editor">9. Pattern Editor</a></span></dt><dd><dl><dt><span class="sect1"><a href="#chpt.pattern_editor.general">9.1. General</a></span></dt><dd><dl><dt><span class="sect2"><a href="#chpt.pattern_editor.general.note_types">9.1.1. Note Types</a></span></dt><dt><span class="sect2"><a href="#chpt.pattern_editor.controls">9.1.2. Controls</a></span></dt><dt><span class="sect2"><a href="#chpt.pattern_editor.sidebar">9.1.3. Sidebar</a></span></dt></dl></dd><dt><span class="sect1"><a href="#chpt.pattern_editor.drumkit">9.2. Drum Pattern Editor</a></span></dt><dt><span class="sect1"><a href="#chpt.pattern_editor.note_properties">9.3. Note Properties Editor</a></span></dt><dt><span class="sect1"><a href="#chpt.pattern_editor.piano_mode">9.4. Piano Roll Editor</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chpt.sound_library">10. Sound Library (Drumkit/Pattern/Song Manager)</a></span></dt><dd><dl><dt><span class="sect1"><a href="#chpt.sound_library.drumkits">10.1. Drumkits</a></span></dt><dt><span class="sect1"><a href="#sect.sl.songs">10.2. Songs</a></span></dt><dt><span class="sect1"><a href="#sect.sl.patterns">10.3. Patterns</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chpt.instrument_editor">11. Instrument Editor</a></span></dt><dd><dl><dt><span class="sect1"><a href="#chpt.instrument_editor.general">11.1. General</a></span></dt><dd><dl><dt><span class="sect2"><a href="#chpt.instrument_editor.envelope_parameters">11.1.1. Envelope Parameters</a></span></dt><dt><span class="sect2"><a href="#chpt.instrument_editor.gain_and_mute_group">11.1.2. Gain and Mute Group</a></span></dt><dt><span class="sect2"><a href="#chpt.instrument_editor.filter">11.1.3. Filter Parameters</a></span></dt><dt><span class="sect2"><a href="#chpt.instrument_editor.pitch_shift_parameters">11.1.4. Pitch Shift Parameters</a></span></dt><dt><span class="sect2"><a href="#chpt.instrument_editor.midi_out_settings">11.1.5. <abbr class="abbrev">MIDI</abbr> Out Settings</a></span></dt><dt><span class="sect2"><a href="#chpt.instrument_editor.HH_pressure_group">11.1.6. Hi-Hat Pressure Group</a></span></dt></dl></dd><dt><span class="sect1"><a href="#chpt.instrument_editor.layers">11.2. Layers</a></span></dt><dd><dl><dt><span class="sect2"><a href="#chpt.instrument_editor.layers.components">11.2.1. Components</a></span></dt><dt><span class="sect2"><a href="#chpt.instrument_editor.layers.layers">11.2.2. Layers</a></span></dt><dt><span class="sect2"><a href="#chpt.instrument_editor.layers.sample_selection">11.2.3. Sample Selection</a></span></dt><dt><span class="sect2"><a href="#chpt.instrument_editor.layers.controls">11.2.4. Controls</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#chpt.sample_editor">12. Sample Editor</a></span></dt><dd><dl><dt><span class="sect1"><a href="#chpt.sample_editor.wave_display">12.1. Wave Display and Region Editing</a></span></dt><dt><span class="sect1"><a href="#chpt.sample_editor.pitch">12.2. Pitch Shifting</a></span></dt><dt><span class="sect1"><a href="#chpt.sample_editor.playback_and_envelope_editor">12.3. Playback and Envelope Editor</a></span></dt></dl></dd><dt><span class="chapter"><a href="#chpt.mixer">13. Mixer</a></span></dt><dd><dl><dt><span class="sect1"><a href="#chpt.mixer.channel_strips">13.1. Instrument Channel Strips</a></span></dt><dt><span class="sect1"><a href="#chpt.mixer.component_strips">13.2. Component Channel Strips</a></span></dt><dt><span class="sect1"><a href="#sect.fx_rack_LADSPA">13.3. FX Rack and LADSPA Plugins</a></span></dt><dt><span class="sect1"><a href="#chpt.mixer.master_fader_strip">13.4. Master Fader Strip</a></span></dt><dd><dl><dt><span class="sect2"><a href="#chpt.mixer.master_fader_strip.humanization">13.4.1. Humanization</a></span></dt><dt><span class="sect2"><a href="#chpt.mixer.master_fader_strip.mixer_settings">13.4.2. Mixer Settings</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#chpt.director">14. Director</a></span></dt><dt><span class="chapter"><a href="#chpt.playlist_editor">15. Playlist Editor</a></span></dt><dd><dl><dt><span class="sect1"><a href="#chpt.playlist_editor.main_window">15.1. Main Window</a></span></dt><dd><dl><dt><span class="sect2"><a href="#chpt.playlist_editor.main_window.song_list">15.1.1. Song List</a></span></dt><dt><span class="sect2"><a href="#chpt.playlist_editor.main_window.controls">15.1.2. Controls</a></span></dt><dt><span class="sect2"><a href="#chpt.playlist_editor.main_window.scripts">15.1.3. Scripts</a></span></dt></dl></dd><dt><span class="sect1"><a href="#chpt.playlist_editor.menu">15.2. Menu</a></span></dt><dd><dl><dt><span class="sect2"><a href="#chpt.playlist_editor.menu.playlist">15.2.1. Playlist</a></span></dt><dt><span class="sect2"><a href="#chpt.playlist_editor.menu.scripts">15.2.2. Scripts</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#chpt.midi">16. MIDI</a></span></dt><dd><dl><dt><span class="sect1"><a href="#chpt.midi.input">16.1. MIDI Input</a></span></dt><dt><span class="sect1"><a href="#chpt.midi.note">16.2. MIDI Note Rendering</a></span></dt><dd><dl><dt><span class="sect2"><a href="#chpt.midi.note.input_mode">16.2.1. Input Mode</a></span></dt><dt><span class="sect2"><a href="#chpt.midi.note.mapping">16.2.2. MIDI Note Mapping</a></span></dt></dl></dd><dt><span class="sect1"><a href="#chpt.midi.output">16.3. MIDI Output</a></span></dt><dd><dl><dt><span class="sect2"><a href="#chpt.midi.output.feedback">16.3.1. MIDI Feedback</a></span></dt></dl></dd><dt><span class="sect1"><a href="#chpt.midi.controlling">16.4. MIDI Controlling</a></span></dt><dd><dl><dt><span class="sect2"><a href="#chpt.midi.controlling.events">16.4.1. MIDI Events</a></span></dt><dt><span class="sect2"><a href="#chpt.midi.controlling.actions">16.4.2. Actions</a></span></dt><dt><span class="sect2"><a href="#chpt.midi.controlling.learnable">16.4.3. MIDI-learnable Widgets</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#chpt.osc">17. OSC API</a></span></dt><dd><dl><dt><span class="sect1"><a href="#chpt.osc.basics">17.1. Basics</a></span></dt><dt><span class="sect1"><a href="#chpt.osc.commands">17.2. Commands</a></span></dt><dd><dl><dt><span class="sect2"><a href="#chpt.osc.commands.syntax">17.2.1. Syntax</a></span></dt><dt><span class="sect2"><a href="#chpt.osc.commands.all_messages">17.2.2. All Commands</a></span></dt></dl></dd></dl></dd></dl></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a name="chpt.overview"></a>Chapter 4. Overview</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="sect1"><a href="#chpt.overview.gui">4.1. Main User Interface</a></span></dt><dt><span class="sect1"><a href="#chpt.overview.drumkits">4.2. Drumkit Concept</a></span></dt><dt><span class="sect1"><a href="#chpt.overview.virtual_keyboard">4.3. Virtual Keyboard</a></span></dt><dt><span class="sect1"><a href="#chpt.overview.recording">4.4. Recording in Hydrogen</a></span></dt><dt><span class="sect1"><a href="#chpt.overview.session_management">4.5. Session Management</a></span></dt><dd><dl><dt><span class="sect2"><a href="#chpt.overview.session_management.nsm">4.5.1. NSM</a></span></dt></dl></dd><dt><span class="sect1"><a href="#chpt.overview.cli">4.6. Command-line Options</a></span></dt></dl></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="chpt.overview.gui"></a>4.1. Main User Interface</h2></div></div></div><div class="figure"><a name="fig.UI_overview"></a><p class="title"><b>Figure 4.1. The Main UI in Single Pane mode</b></p><div class="figure-contents"><div class="mediaobject"><img src="img/generated_en/GUI_Sections_0.9.5_v2.png" alt="The Main UI in Single Pane mode"></div></div></div><br class="figure-break"><p>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).
</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
You can switch between these two modes in the <a class="link" href="#chpt.preferences.appearance_tab.interface" title="5.5.1. Interface">Interface</a> tab of the Appearance tab in the Preferences.
</p></td></tr></table></div><p>
Below you can see the main UI split up in 5 parts: the <a class="link" href="#chpt.main_menu" title="Chapter 6. Main Menu">Main Menu</a>, <a class="link" href="#chpt.main_toolbar" title="Chapter 7. Main Toolbar">Main
Toolbar</a>, <a class="link" href="#chpt.song_editor" title="Chapter 8. Song Editor">Song Editor</a>, <a class="link" href="#chpt.pattern_editor" title="Chapter 9. Pattern Editor">Pattern Editor</a> and the <a class="link" href="#chpt.instrument_editor" title="Chapter 11. Instrument Editor">Instrument</a> and <a class="link" href="#chpt.sound_library" title="Chapter 10. Sound Library (Drumkit/Pattern/Song Manager)">Sound Library Editor</a>.
These sections will be explained in detail further down in this
manual.
</p><div class="figure"><a name="fig.tabbed_UI_overview"></a><p class="title"><b>Figure 4.2. The Main UI in Tabbed mode</b></p><div class="figure-contents"><div class="mediaobject"><img src="img/generated_en/MainUI_tabbed.png" alt="The Main UI in Tabbed mode"></div></div></div><br class="figure-break"></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="chpt.overview.drumkits"></a>4.2. Drumkit Concept</h2></div></div></div><p>Let's start with a little history on the concept of Drumkits within in Hydrogen. It began as a
dedicated drum machine but has evolved into a versatile <a class="link" href="#def.sample" title="Sample">sample</a>-based 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 <a class="link" href="#chpt.pattern_editor.piano_mode" title="9.4. Piano Roll Editor">Piano Roll Editor</a> was introduced.
</p><p>
To sum it up, nowadays a Drumkit is a collection of a number
of instruments (snare, kick, sampled voice, bass sound ...), using one or more <a class="link" href="#def.component" title="Component">components</a> which each can consist of multiple
<a class="link" href="#def.layer" title="Layer">layered</a> samples.
</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
In case you are not familiar with the world of sound synthesis, you can check out the <a class="link" href="#glossary" title="Glossary">Glossary</a> for a number of useful definitions.
</p></td></tr></table></div><p>
Drumkits can most easily be loaded by right-clicking their name in the <a class="link" href="#chpt.sound_library" title="Chapter 10. Sound Library (Drumkit/Pattern/Song Manager)">Sound Library</a>. Once loaded its name will be displayed in the <a class="link" href="#chpt.pattern_editor" title="Chapter 9. Pattern Editor">Pattern Editor</a>. All changes done to the kit, like altering parameters and adding or removing samples or instruments, are stored in the current song. They need to be <a class="link" href="#sect.main_menu.drumkits.save">saved</a> to the drumkit in case you want them to persist and to be applicable to other songs as well. The actions available in the <a class="link" href="#sect.main_menu.drumkits" title="6.3. Drumkits">Drumkits</a> section of the main menu do act on the kit associated with the current song. All options available through the Sound Library on the other hand soley apply to the stock kits. So, reloading the current drumkit will overwrite your local changes in the song using the default parameters stored in the kit's <code class="filename">drumkit.xml</code> file and altering the current kit's properties via the Sound Library does only affect the stock kit and <span class="emphasis"><em>not</em></span> the one associated with your current song.
</p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="chpt.overview.virtual_keyboard"></a>4.3. Virtual Keyboard</h2></div></div></div><p>
For quick checks and recording (or in case you do not have a
<abbr class="abbrev">MIDI</abbr> device at hand), you can also use Hydrogen's
Virtual Keyboard. It emulates note triggering via
<abbr class="abbrev">MIDI</abbr> <span class="emphasis"><em>NOTE_ON</em></span> events (see <a class="xref" href="#chpt.midi.note" title="16.2. MIDI Note Rendering">MIDI Note Rendering</a>).
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
Key strokes of the Virtual Keyboard don't trigger <a class="link" href="#chpt.midi.controlling" title="16.4. MIDI Controlling">Actions</a> associated with
<span class="emphasis"><em>NOTE_ON</em></span> events.
</p></td></tr></table></div><p>
The figure below depicts which keyboard key is associated with which
instrument number in Input Mode <code class="option">Drumkit</code> or instrument
pitch in Input Mode <code class="option">Instrument</code>.
</p><div class="informalfigure"><a name="fig.letters_keyboard"></a><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="img/virtual_keyboard.png" width="100%" alt="Picture illustrating the mapping of Hydrogen's Virtual Keyboard to the layout of the computers' keyboard."></td></tr></table></div></div><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
When using German or French keyboard layout the overall mapping is still the same.
</p></td></tr></table></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="chpt.overview.recording"></a>4.4. Recording in Hydrogen</h2></div></div></div><p>
In addition to manually program patterns using mouse and keyboard you
can also record one or multiple patterns. You can do so using an
external <a class="link" href="#chpt.midi.note" title="16.2. MIDI Note Rendering"><abbr class="abbrev">MIDI</abbr>
device</a>, like an e-drum, or use the <a class="link" href="#chpt.overview.virtual_keyboard" title="4.3. Virtual Keyboard">Virtual Keyboard</a>
provided by Hydrogen.
</p><p>
In order to start recording, first activate the record button
<span class="inlinemediaobject"><img src="img/generated_en/playerControlRecordButton.png" alt="Grey record button with a red circle in its center."></span>
in the <a class="link" href="#sect.main_toolbar.transport_control" title="7.1. Transport Control">Main Toolbar</a> and afterwards press the
<span class="inlinemediaobject"><img src="img/generated_en/playerControlPlayButton.png" alt="Grey play and pause button containing two vertical black lines (left) and a black triangle (right) pointing to the right."></span>
button located right next to it (like in a classical tape recorder).
</p><p>
Using the playback mode of the <a class="link" href="#chpt.song_editor" title="Chapter 8. Song Editor">Song
Editor</a> you can choose between the following two scenarios. When
in <a class="link" href="#chpt.song_editor.editor_modes.pattern_mode" title="8.2.4. Selected Pattern Mode">Pattern
Mode</a> all inserted notes will be added to the pattern currently
selected in the <a class="link" href="#chpt.song_editor.sidebar" title="8.3. Sidebar">Sidebar</a> of the Song
Editor. When, on the other hand, in <a class="link" href="#chpt.song_editor.editor_modes.song_mode" title="8.2.3. Song Mode">Song Mode</a> the
input notes will be added to the active pattern (the one the playhead
is located in and is currently used for playback). If several patterns
are selected in a single row, the input notes will only be added to
the pattern at the bottom.
</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
By <a class="link" href="#chpt.song_editor.main_controls.pattern_editor_lock">locking</a> the Pattern Editor in Song Mode Hydrogen will automatically select the pattern recorded notes will be inserted to.
</p></td></tr></table></div><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
The incoming notes will be added in a non-destructive way. This means when attempting to add a notes at a position already containing one of equal pitch, the new note will be discarded and the old one kept.
</p></td></tr></table></div><div class="informalfigure"><a name="fig.overview.recording.punch_in"></a><div class="mediaobject"><img src="img/punch_in.png" alt="Song ruler with a red rectangle indicating the punch in area."></div></div><p>
You can also limit patterns new notes will be recorded to by defining a continuous <span class="bold"><strong>punch in</strong></span> area via right click and dragging the cursor to the right in the ruler of the <a class="link" href="#chpt.song_editor" title="Chapter 8. Song Editor">Song Editor</a>.
</p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="chpt.overview.session_management"></a>4.5. Session Management</h2></div></div></div><p>
With Session Management you can easily restore complex sessions involving numerous applications including their particular state. Hydrogen does support some Session Management systems too.
</p><div class="warning" style="margin-left: 5%;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="img/admonitions/warning.svg"></td><th align="left">Warning</th></tr><tr><td align="left" valign="top"><p>
All the supported Session Management protocols are Linux only. There is no (tested) support for MacOS and Windows yet.
</p></td></tr></table></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
<span class="bold"><strong><abbr class="abbrev">NSM</abbr></strong></span>:
<a class="ulink" href="http://non.tuxfamily.org/nsm/API.html" target="_blank">Non Session Manager (<abbr class="abbrev">NSM</abbr>)</a> is of 2021 the de facto standard in Session Management tools within the Linux audio community and Hydrogen does over full support and compliance to its API.
</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
We highly recommend using this protocol for Session Management.
</p></td></tr></table></div><p>
</p></li><li class="listitem"><p>
<span class="bold"><strong><abbr class="abbrev">LASH</abbr></strong></span>:
Hydrogen provides a basic support for <a class="ulink" href="http://lash.nongnu.org" target="_blank">LASH Audio Session Handler (<abbr class="abbrev">LASH</abbr>)</a>. This covers recalling the song used within the session but, unlike the NSM support, no recalling of the <abbr class="abbrev">JACK</abbr> connections and no per-session preferences.
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
You have to activate <abbr class="abbrev">LASH</abbr> support in the <a class="link" href="#fig.preferences.general_tab" title="Figure 5.1. The General Tab">General</a> tab of the Preference dialog in order to use it.
</p></td></tr></table></div><p>
</p></li></ul></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="chpt.overview.session_management.nsm"></a>4.5.1. NSM</h3></div></div></div><p>
Hydrogen will be under session management if you start it via a <abbr class="abbrev">NSM</abbr> server application, like <a class="ulink" href="https://github.com/Houston4444/RaySession" target="_blank">RaySession</a>. You can easily check whether Hydrogen is aware of the session by checking out the <code class="option">Project</code> option of the <a class="link" href="#chpt.main_menu" title="Chapter 6. Main Menu">Main Menu</a> as some action will have changed in order to comply to the <abbr class="abbrev">NSM</abbr> API.
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
<span class="bold"><strong>Replace With New Song</strong></span>
instead of <a class="link" href="#sect.main_menu.projects.new">New</a>. Replaces the song associated with the session by an empty one.
</p></li><li class="listitem"><p>
<span class="bold"><strong>Import Into Session</strong></span>
instead of <a class="link" href="#sect.main_menu.projects.open">Open</a>. Replaces the song associated with the session by a song of your choice.
</p></li><li class="listitem"><p>
<span class="bold"><strong>Import Recent Info Session</strong></span>
instead of <a class="link" href="#sect.main_menu.projects.open_recent">Open Recent</a>. Replaces the song associated with the session by one of the recently used songs.
</p></li><li class="listitem"><p>
<span class="bold"><strong>Export From Session As</strong></span>
instead of <a class="link" href="#sect.main_menu.projects.save_as">Save As</a>. Stores the song associated with the session at a location of your choice as <a class="link" href="#chpt.file_types.h2song">.h2song</a> file.
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
In contrast to the <span class="emphasis"><em>Save As</em></span> command the underlying path of the current song will not be changed. All subsequent <span class="emphasis"><em>Save</em></span> actions will store the current state of the song to the file in the session folder and <span class="bold"><strong>not</strong></span> to the path of the exported file.
</p></td></tr></table></div><p>
</p></li></ul></div><p>
Both the song and the preferences associated with the session will be stored in a session folder called <code class="filename">Hydrogen.*</code>. In addition, the drumkit (and its samples) used with the song will linked into the session folder as well. If the link is replaced by a folder containing a valid drumkit, this one will be used over the system and user drumkits.
</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
This allows you to create fully self sufficient backups of your Hydrogen session using <span class="command"><strong>tar -chf</strong></span>. These can even be ported and used on systems which do not have the required drumkits installed.
</p></td></tr></table></div><p>
</p><div class="warning" style="margin-left: 5%;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="img/admonitions/warning.svg"></td><th align="left">Warning</th></tr><tr><td align="left" valign="top"><p>
Note that only the stock <a class="link" href="#chpt.overview.drumkits" title="4.2. Drumkit Concept">drumkit</a> loaded last will be linked in the session folder. In case you only alter instrument parameters or delete instruments or samples this will work perfectly fine. But as soon as you add instruments from other drumkits or external samples, the linked drumkit folder won't contain all samples required by your current song anymore. You need to <a class="link" href="#sect.main_menu.drumkits.save">saved</a> the kit (or create a new one) in order to ensure consistency.
</p></td></tr></table></div><p>
</p></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="chpt.overview.cli"></a>4.6. Command-line Options</h2></div></div></div><p>
After <a class="link" href="#chpt.download" title="Chapter 1. Download">installing</a> Hydrogen on your system you can invoke it from the command-line with a number of different options.
</p><pre class="screen">
<span class="command"><strong>-h, --help Displays this help.</strong></span>
<span class="command"><strong>-v, --version Displays version information.</strong></span>
<span class="command"><strong>-d, --driver <Audiodriver> Use the selected audio driver (auto, jack, pulseaudio, ...)</strong></span>
<span class="command"><strong>-p, --playlist <File> Load a playlist (*.h2playlist) at startup</strong></span>
<span class="command"><strong>-s, --song <File> Load a song (*.h2song) at startup</strong></span>
<span class="command"><strong>-k, --kit <DrumkitName> Load a drumkit at startup</strong></span>
<span class="command"><strong>-i, --install <File> Install a drumkit (*.h2drumkit)</strong></span>
<span class="command"><strong>-V, --verbose <Level> Level, if present, may be None, Error, Warning, Info, Debug</strong></span>
<span class="command"><strong>-L, --log-file <Path> Alternative log file path</strong></span>
<span class="command"><strong>-T, --log-timestamps Add timestamps to all log messages</strong></span>
<span class="command"><strong>-P, --data <Path> Use an alternate system data path</strong></span>
<span class="command"><strong> --config <Path> Use an alternate config file</strong></span>
<span class="command"><strong> --layout <Layout> UI layout ('tabbed' or 'single')</strong></span>
<span class="command"><strong>-O, --osc-port <int> Custom port for OSC connections</strong></span>
<span class="command"><strong>-n, --nosplash Hide splash screen</strong></span>
</pre><p>
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
Which audio drivers are supported depends on both your platform and its installed packages. Your local help message will display all available options.
</p></td></tr></table></div><p>
</p></div></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a name="chpt.preferences"></a>Chapter 5. Preferences</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="sect1"><a href="#chpt.preferences.general_tab">5.1. General</a></span></dt><dt><span class="sect1"><a href="#chpt.preferences.audio_tab">5.2. Audio System</a></span></dt><dt><span class="sect1"><a href="#chpt.preferences.midi_tab">5.3. MIDI System</a></span></dt><dt><span class="sect1"><a href="#chpt.preferences.osc_tab">5.4. OSC</a></span></dt><dt><span class="sect1"><a href="#chpt.preferences.appearance_tab">5.5. Appearance</a></span></dt><dd><dl><dt><span class="sect2"><a href="#chpt.preferences.appearance_tab.interface">5.5.1. Interface</a></span></dt><dt><span class="sect2"><a href="#chpt.preferences.appearance_tab.colors">5.5.2. Colors</a></span></dt><dt><span class="sect2"><a href="#chpt.preferences.appearance_tab.font">5.5.3. Font</a></span></dt></dl></dd></dl></div><p>Using this window most of the configuration options and customization can be altered. The Preferences Dialog can be accessed via the <em class="parameter"><code>Options</code></em> element in the <a class="link" href="#chpt.main_menu" title="Chapter 6. Main Menu">Main Menu</a>.</p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="chpt.preferences.general_tab"></a>5.1. General</h2></div></div></div><div class="figure"><a name="fig.preferences.general_tab"></a><p class="title"><b>Figure 5.1. The General Tab</b></p><div class="figure-contents"><div class="mediaobject"><img src="img/generated_en/PreferencesGeneral_V3.png" alt="The General Tab"></div></div></div><br class="figure-break"><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
<span class="bold"><strong>Language</strong></span>:
chooses one of the translations Hydrogen is available in.
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
For this setting to take effect you have to restart Hydrogen.
</p></td></tr></table></div><p>
</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
If your mother tongue is not available or the corresponding translation is flawed or incomplete, you would have an accessible way to contribute to Hydrogen at hand. Please see the <a class="link" href="#sect.main_menu.info" title="6.8. Info">About</a> dialog in the Info option of the Main menu for information of how to contact the Hydrogen dev team.
</p></td></tr></table></div><p>
</p></li><li class="listitem"><p>
<span class="bold"><strong>Reopen last used song</strong></span>:
determines whether Hydrogen will open the last used song during startup or an empty song instead.
</p></li><li class="listitem"><p>
<span class="bold"><strong>Reopen last used playlist</strong></span>:
determines whether the last used <a class="link" href="#chpt.playlist_editor" title="Chapter 15. Playlist Editor">Playlist</a> will be loaded during startup or none at all.
</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
This can come in handy when you are using Hydrogen live.
</p></td></tr></table></div><p>
</p></li><li class="listitem"><p>
<span class="bold"><strong>Use relative paths for playlist</strong></span>:
specifies whether the paths stored in a <a class="link" href="#chpt.file_types.h2playlist">.h2playlist</a> file will be absolute or relative to the <code class="filename">playlist</code> folder in the Hydrogen data
directory (usually <code class="filename">$HOME/.hydrogen/data/</code>).
</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
Using relative paths might be handy when using your playlist on different computers or user profiles.
</p></td></tr></table></div><p>
</p></li><li class="listitem"><p>
<span class="bold"><strong>Hide keyboard input cursor</strong></span>:
hides the keyboard cursor until you press a key on you keyboard (see <a class="xref" href="#chpt.keyboard_and_mouse" title="Chapter 3. Keyboard and Mouse">Chapter 3</a>). By enabling this feature you can switch to the look and feel of the interaction with the <a class="link" href="#chpt.pattern_editor" title="Chapter 9. Pattern Editor">Pattern Editor</a> and <a class="link" href="#chpt.song_editor" title="Chapter 8. Song Editor">Song Editor</a> prior to Hydrogen v1.1.
</p></li><li class="listitem"><p>
<span class="bold"><strong>Use LASH</strong></span>:
enables <abbr class="abbrev">LASH</abbr> (<abbr class="abbrev">LASH</abbr> Audio Session Handler) support within Hydrogen. This allows you to recover a particular song associated with a session.
</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
You may consider using the more advanced <a class="link" href="#chpt.overview.session_management.nsm" title="4.5.1. NSM">NSM</a> support of Hydrogen which gives you many additional features, like restoring all <abbr class="abbrev">JACK</abbr> connections or creating a per-session configuration.
</p></td></tr></table></div><p>
</p></li><li class="listitem"><p>
<span class="bold"><strong>Beat counter drift compensation in 1/10 ms</strong></span>:
allows you to compensate for system latency. The provided number will be added to each consecutive triggering of the <a class="link" href="#sect.main_toolbar.tap_tempo_beat_counter.beat_counter" title="7.2.2. Beat Counter">Beat Counter</a>. The allowed range is from <code class="option">-200</code> to <code class="option">200</code>.
</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
This is quite handy if you are using different sound cards or external <abbr class="abbrev">MIDI</abbr> devices, like a keyboard or an e-drum, with mismatching clocks.
</p><p>
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
Beat Counter effectively requires practice.
</p></td></tr></table></div><p>
</p></li><li class="listitem"><p>
<span class="bold"><strong>Beat counter start offset in ms</strong></span>:
sets the time between the
Beat Counter's last input stroke and when the song starts playing. Its allowed range is from <code class="option">-500</code> to <code class="option">500</code>.
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
The Beat Counter has to be set to <span class="bold"><strong>Set <abbr class="abbrev">BPM</abbr> and play</strong></span> -
<span class="inlinemediaobject"><img src="img/generated_en/btn_bc_set_play_on.png" alt='Blue button containing a "P".'></span>
should be displayed in the bottom right corner - for this setting to take effect.
</p></td></tr></table></div><p>
</p></li><li class="listitem"><p>
<span class="bold"><strong>Maximum number of bars</strong></span>:
sets the maximum number of supported bars/patterns for a single song. Its allowed range is from <code class="option">1</code> to <code class="option">800</code>.
</p></li><li class="listitem"><p>
<span class="bold"><strong>Maximum number of layers</strong></span>:
sets the maximum number of <a class="link" href="#def.layer" title="Layer">layers</a> for a single instrument. Its allowed range is from <code class="option">16</code> to <code class="option">8192</code>.
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
For this setting to take effect you have to restart Hydrogen.
</p></td></tr></table></div><p>
</p></li><li class="listitem"><p><a name="chpt.preferences.general_tab.autosaves"></a>
<span class="bold"><strong>Numbers of autosaves per hour</strong></span>:
sets how often Hydrogen will generate a backup of your current song in case it contains any unsaved modifications. In case there is an autosave file with a more recent timestamp next to a song, Hydrogen will ask you upon opening whether to restore the unsaved changes or to load the raw song.
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
These autosave files will be hidden and contain an additional suffix "autosave". E.g. if your current song is called <code class="filename">example.h2song</code> the backup will be stored in <code class="filename">.example.autosave.h2song</code> within the same directory. But you do not need to be careful when chosing a song name. Hydrogen will take care of finding a filename for the backup not existing yet.
</p></td></tr></table></div><p>
</p></li><li class="listitem"><p>
<span class="bold"><strong>Path to the Rubberband command-line utility</strong></span>:
sets the absolute path to the <span class="command"><strong>rubberband</strong></span> command line interface (CLI) Hydrogen will use for stretching samples in the <a class="link" href="#chpt.sample_editor.pitch" title="12.2. Pitch Shifting">Sample Editor</a>.
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
This option is only available if your version of Hydrogen does <span class="emphasis"><em>not</em></span> already has Rubber Band support compiled into it. If it does and the option is hot shown, everything is already configured and you don't have to worry about Rubber Band at all.
</p></td></tr></table></div><p>
</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
If you are using Ubuntu, you can install Rubber Band from the Software Center
via the package <code class="option">rubberband-cli</code>. For other Linux distros please check your package manager and for other platforms
please check <a class="ulink" href="http://breakfastquay.com/rubberband/" target="_blank">the Rubber Band site
</a>.
</p></td></tr></table></div><p>
</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
If Rubber Band is installed and configured correctly, you will see an extra button
<span class="inlinemediaobject"><img src="img/generated_en/playerControlRubberbandButton.png" alt='Grey vertical button containing the characters "R", "U", and "B" in adjacent lines.'></span>
button in the <a class="link" href="#sect.main_toolbar.bpm_control_and_metronome" title="7.3. BPM Control and Metronome">Main Toolbar</a>. You can use this behavior to verify your configuration.
</p></td></tr></table></div><p>
</p></li></ul></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="chpt.preferences.audio_tab"></a>5.2. Audio System</h2></div></div></div><div class="figure"><a name="fig.preferences.audio_tab"></a><p class="title"><b>Figure 5.2. The Audio System Tab</b></p><div class="figure-contents"><div class="mediaobject"><img src="img/generated_en/PreferencesAudioSystem_V3.png" alt="The Audio System Tab"></div></div></div><br class="figure-break"><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
<span class="bold"><strong>Audio System</strong></span>: let's you choose the audio driver used by Hydrogen to connect to your computer's sound card.
</p><p>
Available options:
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p><code class="option">Auto</code>: Hydrogen will try a
number of different drivers in a predetermined, OS-dependent order, choose the
first working one, and display the result.
</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
This option is recommended for beginners.
</p></td></tr></table></div><p>
</p></li><li class="listitem"><p><a name="sect.preferences.jack"></a><code class="option">JACK</code>: The <abbr class="abbrev">JACK</abbr> driver is a
professional audio server which permits very low lag and exchanges
with other audio software. The <abbr class="abbrev">JACK</abbr>
server will start automatically if not already running.
</p></li><li class="listitem"><p><code class="option">ALSA</code>: The widely adopted
Linux standard audio driver.</p></li><li class="listitem"><p><code class="option">OSS</code>: The <abbr class="abbrev">OSS</abbr> audio driver
uses <code class="filename">/dev/dsp</code> and it's based on the <abbr class="abbrev">OSS</abbr> interface which is supported
by the vast majority of sound cards available for Linux; this said,
the use of this audio driver blocks <code class="filename">/dev/dsp</code> until Hydrogen is
closed i.e. unusable by any other software. Use it as last
resort.
</p></li><li class="listitem"><p><code class="option">PortAudio</code>: An open-source
multi platform audio driver interface layer.</p></li><li class="listitem"><p><code class="option">CoreAudio</code>: A driver for MacOS.</p></li><li class="listitem"><p><code class="option">PulseAudio</code>: A driver for the cross platform
PulseAudio sound server.</p></li></ul></div></li><li class="listitem"><p>
<span class="bold"><strong>Host API</strong></span> (PortAudio only): some
systems (notably Windows) have more than one native
way for applications to interact with audio hardware (APIs), and not all audio
devices are supported by all APIs. If you don't find
your sound device in the device list, try changing the
Host API setting.
</p></li><li class="listitem"><p>
<span class="bold"><strong>Device</strong></span>:
specifies the particular sound card the audio driver will use.
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
The Preferences dialog does not support hot plugging. In case
you connected your device while the dialog was already opened,
be sure to close and reopen it again.
</p></td></tr></table></div></li><li class="listitem"><p>
<span class="bold"><strong>Buffer size</strong></span>:
specifies the size of the batch of time Hydrogen will
process in one run. Supported values are from
<code class="option">100</code> to <code class="option">5000</code>, although
this can vary depending on audio system and sound
device.
</p><p>
In general, selecting a smaller buffer size will
allow the audio system to reduce latency (the lag
between hitting a key and the sound being played),
but can lead to increased likelihood of audio
glitches.
</p></li><li class="listitem"><p>
<span class="bold"><strong>Sample rate</strong></span>:
specifies the number of data points the audio signal will contain within one second.
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
If you are using the <abbr class="abbrev">JACK</abbr> audio driver, the sample rate can not be altered from within Hydrogen and the audio driver
configuration should happen before starting the <abbr class="abbrev">JACK</abbr> server.
</p></td></tr></table></div><p>
</p></li><li class="listitem"><p><a name="sect.preferences.jack.track_output"></a><span class="bold"><strong>Track output</strong></span>: determines which audio settings will be applied to the outgoing
audio of the per-instrument <abbr class="abbrev">JACK</abbr> output ports.</p><p><code class="option">Post-Fader</code>:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p>note <a class="link" href="#chpt.pattern_editor.note_properties.velocity">velocity</a> and <a class="link" href="#chpt.pattern_editor.note_properties.pan">pan</a></p></li><li class="listitem"><p><a class="link" href="#chpt.instrument_editor.layers.controls.layer_gain">layer gain</a></p></li><li class="listitem"><p>component <a class="link" href="#chpt.instrument_editor.layers.controls.component_gain">gain</a> and <a class="link" href="#chpt.mixer.component_strips.fader_and_lcd">volume</a></p></li><li class="listitem"><p>instrument <a class="link" href="#chpt.instrument_editor.gain_and_mute_group" title="11.1.2. Gain and Mute Group">gain</a>, <a class="link" href="#chpt.instrument_editor.general.sustain">sustain</a>,
<a class="link" href="#chpt.mixer.channel_strips.pan">pan</a>, and
<a class="link" href="#chpt.mixer.channel_strips.fader_and_lcd">volume</a></p></li><li class="listitem"><p>
<a class="link" href="#sect.song_editor.automation_path" title="8.7. Automation Path">automation
path</a> and <a class="link" href="#chpt.mixer.master_fader_strip" title="13.4. Master Fader Strip">velocity humanization</a>
</p></li></ul></div><p><code class="option">Pre-Fader</code>:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p>note <a class="link" href="#chpt.pattern_editor.note_properties.velocity">velocity</a> and <a class="link" href="#chpt.pattern_editor.note_properties.pan">pan</a></p></li><li class="listitem"><p><a class="link" href="#chpt.instrument_editor.layers.controls.layer_gain">layer gain</a></p></li><li class="listitem"><p>instrument <a class="link" href="#chpt.instrument_editor.general.sustain">sustain</a>
</p></li><li class="listitem"><p>
<a class="link" href="#sect.song_editor.automation_path" title="8.7. Automation Path">automation
path</a> and <a class="link" href="#chpt.mixer.master_fader_strip" title="13.4. Master Fader Strip">velocity humanization</a>
</p></li></ul></div><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
This option is only available if the <abbr class="abbrev">JACK</abbr> audio driver was selected and it will only take effect if the <span class="bold"><strong>Connect to default <abbr class="abbrev">JACK</abbr> output ports</strong></span> option is checked.
</p></td></tr></table></div></li><li class="listitem"><p><span class="bold"><strong>Connect to default <abbr class="abbrev">JACK</abbr> output
ports</strong></span>: connects the main stereo <abbr class="abbrev">JACK</abbr> output ports of the <a class="link" href="#chpt.mixer.master_fader_strip" title="13.4. Master Fader Strip">Master Fader Strip</a> to
the default <abbr class="abbrev">JACK</abbr> input ports of your system
(<span class="emphasis"><em>system:playback_1</em></span> and
<span class="emphasis"><em>system:playback_2</em></span>). This will be done every time Hydrogen
starts up or the <abbr class="abbrev">JACK</abbr> audio driver is restarted.</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
This option is only available if the <abbr class="abbrev">JACK</abbr> audio driver was selected.
</p></td></tr></table></div></li><li class="listitem"><p><a name="sect.preferences.jack.per_instrument_outs"></a><span class="bold"><strong>Create per-instrument
<abbr class="abbrev">JACK</abbr> output ports</strong></span>: in addition to the main stereo output
Hydrogen will register <abbr class="abbrev">JACK</abbr> output ports for every single
instrument.
</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
This can be useful if you want to add effects to a
single instrument with jack-rack for example.
</p></td></tr></table></div><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
This option is only available if the <abbr class="abbrev">JACK</abbr> audio driver was selected.
</p></td></tr></table></div><div class="warning" style="margin-left: 5%;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="img/admonitions/warning.svg"></td><th align="left">Warning</th></tr><tr><td align="left" valign="top"><p>
There are no <abbr class="abbrev">JACK</abbr> output ports for the <a class="link" href="#sect.main_toolbar.bpm_control_and_metronome" title="7.3. BPM Control and Metronome">Metronome</a> and the <a class="link" href="#chpt.song_editor.playbackTrack" title="8.6. Playback Track">Playback Track</a>. Their audio is only available via the main stereo output ports of Hydrogen.
</p></td></tr></table></div></li><li class="listitem"><p>
<span class="bold"><strong>Enable <a class="link" href="#sect.main_toolbar.jack_control" title="7.5. JACK Control"><abbr class="abbrev">JACK</abbr>
Timebase support</a></strong></span>: whether Hydrogen will respond to
or ignore the incoming tempo and bar, beat, tick (BBT) position
information sent by the <abbr class="abbrev">JACK</abbr> server.
</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
Some <abbr class="abbrev">JACK</abbr> clients are not well written or have fallen into despair. As a result Hydrogen could receive nuisance signals messing up its playback. If you encounter weird jumps in the transport position and/or Hydrogen is out of sync after relocating the transport position, you might try to uncheck this option.
</p></td></tr></table></div><p>
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
This option is only available if the <abbr class="abbrev">JACK</abbr> audio driver was selected.
</p></td></tr></table></div><p>
</p></li><li class="listitem"><p>
<span class="bold"><strong>Apply and restart output</strong></span>:
restarts the audio driver and makes all settings specified above take effect without closing and reopening the entire Preferences dialog.
</p></li><li class="listitem"><p>
<span class="bold"><strong>Polyphony</strong></span>:
specifies the maximum number of notes played simultaneously. Supported values are from <code class="option">1</code> to <code class="option">512</code>.
</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
Depending on your CPU Hydrogen might be overrunning your audio driver due to this parameter.
</p></td></tr></table></div><p>
</p></li><li class="listitem"><p>
<span class="bold"><strong>Metronome volume</strong></span>:
sets the volume of the <a class="link" href="#sect.main_toolbar.bpm_control_and_metronome" title="7.3. BPM Control and Metronome">Metronome</a>. Supported values are from <code class="option">1</code> to <code class="option">100</code>.
</p></li><li class="listitem"><p>
<span class="bold"><strong>Interpolate resampling</strong></span>:
specifies the type of resampling applied if a <a class="link" href="#def.sample" title="Sample">sample</a> does not use the same Sample Rate as Hydrogen.
</p></li></ul></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="chpt.preferences.midi_tab"></a>5.3. MIDI System</h2></div></div></div><div class="figure"><a name="fig.preferences.midi_tab"></a><p class="title"><b>Figure 5.3. The MIDI System Tab</b></p><div class="figure-contents"><div class="mediaobject"><img src="img/generated_en/MidiSystem_V2.png" alt="The MIDI System Tab"></div></div></div><br class="figure-break"><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
<span class="bold"><strong><abbr class="abbrev">MIDI</abbr> driver</strong></span>:
selects the <abbr class="abbrev">MIDI</abbr> driver Hydrogen will use to
receive and send <abbr class="abbrev">MIDI</abbr> messages.
</p></li><li class="listitem"><p>
<span class="bold"><strong>Input</strong></span>:
selects the device/port Hydrogen will expect <abbr class="abbrev">MIDI</abbr>
messages to receive from (see <a class="xref" href="#chpt.midi.input" title="16.1. MIDI Input">MIDI Input</a>).
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
For now the list of available <span class="bold"><strong>Input</strong></span> and <span class="bold"><strong>Output</strong></span> MIDI devices/ports is compiled for
the current MIDI driver when opening the Preferences dialog. If
you switch to another driver or connect a device while the
dialog is already open, be sure to close and reopen it again in
order to have an updated list.
</p></td></tr></table></div></li><li class="listitem"><p><a name="chpt.preferences.midi_tab.output"></a>
<span class="bold"><strong>Output</strong></span>:
selects the device/port Hydrogen will send <abbr class="abbrev">MIDI</abbr>
messages to (see <a class="xref" href="#chpt.midi.output" title="16.3. MIDI Output">MIDI Output</a>).
</p></li><li class="listitem"><p><a name="chpt.preferences.midi_tab.channel"></a>
<span class="bold"><strong>Channel</strong></span>: specifies whether
Hydrogen should listen to <span class="bold"><strong>incoming</strong></span> <abbr class="abbrev">MIDI</abbr> messages on
one particular channel out of the 16 available ones or on all of
them.
</p><p>
Outgoing <abbr class="abbrev">MIDI</abbr> traffic is not affected. The
corresponding channels are set on a per-instrument basis in the
<a class="link" href="#chpt.instrument_editor.midi_out_settings" title="11.1.5. MIDI Out Settings">Instrument
Editor</a>.
</p></li><li class="listitem"><p><a name="chpt.preferences.midi_tab.ignore_note_off"></a>
<span class="bold"><strong>Ignore note-off</strong></span>:
specifies whether Hydrogen will respond to the <span class="emphasis"><em>NOTE_OFF</em></span> <abbr class="abbrev">MIDI</abbr> messages.
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
This makes better use of the drumkit samples used in Hydrogen when working with certain external <abbr class="abbrev">MIDI</abbr> devices. But it may also discard <span class="emphasis"><em>Cymbal choke</em></span> messages in some e-drums.
</p></td></tr></table></div><p>
</p></li><li class="listitem"><p>
<span class="bold"><strong>Enable <abbr class="abbrev">MIDI</abbr> feedback</strong></span>:
specifies whether Hydrogen will send a message about updated
values every time a certain parameter is changed (see <a class="xref" href="#chpt.midi.output.feedback" title="16.3.1. MIDI Feedback">MIDI Feedback</a>).
</p></li><li class="listitem"><p><a name="chpt.preferences.midi_tab.discard_messages"></a>
<span class="bold"><strong>Discard <abbr class="abbrev">MIDI</abbr> messages after action has been triggered</strong></span>:
specifies whether a <abbr class="abbrev">MIDI</abbr> note - after performing the <a class="link" href="#chpt.midi.controlling.actions" title="16.4.2. Actions">Actions</a> associated with it - should be played back or be discard.
</p></li><li class="listitem"><p><a name="chpt.preferences.midi_tab.input_as_output"></a>
<span class="bold"><strong>Use output note as input note</strong></span>:
if checked the instrument mapped to an incoming
<abbr class="abbrev">MIDI</abbr> note is determined by its <a class="link" href="#chpt.instrument_editor.midi_out_settings" title="11.1.5. MIDI Out Settings"><abbr class="abbrev">MIDI</abbr>
Out Settings</a> in the Instrument Editor. Otherwise, the <a class="link" href="#chpt.midi.note.mapping" title="16.2.2. MIDI Note Mapping">default <abbr class="abbrev">MIDI
mapping</abbr></a> (based on the instrument order in the
<a class="link" href="#chpt.pattern_editor" title="Chapter 9. Pattern Editor">Pattern Editor</a>) will be
used (see <a class="xref" href="#chpt.midi.note.mapping" title="16.2.2. MIDI Note Mapping">MIDI Note Mapping</a>).
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
This option only takes effect if <span class="bold"><strong>Input Mode</strong></span> in the <a class="link" href="#sect.main_menu.options" title="6.6. Options">Options</a> tab of the Main Menu is set to <code class="option">Drumkit</code>.
</p></td></tr></table></div><p>
</p></li></ul></div><p>
Using the table in the lower part of the tab you can associate <a class="link" href="#chpt.midi.controlling.actions" title="16.4.2. Actions">Actions</a> provided by Hydrogen with incoming <abbr class="abbrev">MIDI</abbr> messages. How this is done will be explained in the <a class="xref" href="#chpt.midi.controlling.actions" title="16.4.2. Actions">Actions</a>.
</p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="chpt.preferences.osc_tab"></a>5.4. OSC</h2></div></div></div><div class="figure"><a name="fig.preferences.osc_tab"></a><p class="title"><b>Figure 5.4. The OSC Tab</b></p><div class="figure-contents"><div class="mediaobject"><img src="img/generated_en/PreferencesOSC.png" alt="The OSC Tab"></div></div></div><br class="figure-break"><p>The <abbr class="abbrev">OSC</abbr> tab (<a class="xref" href="#fig.preferences.osc_tab" title="Figure 5.4. The OSC Tab">Figure 5.4</a>) let's
you modify all options associated with <abbr class="abbrev">OSC</abbr> (Open Sound Control) (see
chapter <a class="link" href="#chpt.osc" title="Chapter 17. OSC API">OSC API</a> for details).
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
In order to see and access the <span class="bold"><strong>Enable OSC feedback</strong></span> and <span class="bold"><strong>Import port</strong></span> option, <span class="bold"><strong>Enable OSC support</strong></span> has to be checked first.
</p></td></tr></table></div><p>
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="bold"><strong>Enable OSC support</strong></span>: Allows
Hydrogen to receive <abbr class="abbrev">OSC</abbr> commands send by external programs.</p></li><li class="listitem"><p><span class="bold"><strong>Enable OSC feedback</strong></span>: Hydrogen
will broadcast <abbr class="abbrev">OSC</abbr> messages to all registered clients each time does
change. A client can register to receive <abbr class="abbrev">OSC</abbr> messages by sending
a message to Hydrogen previously. The <span class="bold"><strong>state broadcast as feedback</strong></span> is
composed of the following <abbr class="abbrev">OSC</abbr> paths:
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p><a class="link" href="#chpt.osc.command.master_volume_absolute">/Hydrogen/<span class="bold"><strong>MASTER_VOLUME_ABSOLUTE</strong></span></a></p></li><li class="listitem"><p><a class="link" href="#chpt.osc.command.toggle_metronome">/Hydrogen/<span class="bold"><strong>TOGGLE_METRONOME</strong></span></a></p></li><li class="listitem"><p><a class="link" href="#chpt.osc.command.mute_toggle">/Hydrogen/<span class="bold"><strong>MUTE_TOGGLE</strong></span></a></p></li><li class="listitem"><p><a class="link" href="#chpt.osc.command.strip_volume_absolute">/Hydrogen/<span class="bold"><strong>STRIP_VOLUME_ABSOLUTE/X</strong></span></a></p></li><li class="listitem"><p><a class="link" href="#chpt.osc.command.strip_volume_relative">/Hydrogen/<span class="bold"><strong>STRIP_VOLUME_RELATIVE/X</strong></span></a></p></li><li class="listitem"><p><a class="link" href="#chpt.osc.command.pan_absolute">/Hydrogen/<span class="bold"><strong>PAN_ABSOLUTE/X</strong></span></a></p></li><li class="listitem"><p><a class="link" href="#chpt.osc.command.strip_mute_toggle">/Hydrogen/<span class="bold"><strong>STRIP_MUTE_TOGGLE/X</strong></span></a></p></li><li class="listitem"><p><a class="link" href="#chpt.osc.command.strip_solo_toggle">/Hydrogen/<span class="bold"><strong>STRIP_SOLO_TOGGLE/X</strong></span></a></p></li></ul></div><p>
</p></li><li class="listitem"><p><span class="bold"><strong>Incoming port</strong></span>: Specifies the
<abbr class="abbrev">OSC</abbr> port Hydrogen will be register to. Values up to <code class="option">20000</code> are supported.</p></li></ul></div><p>
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>If the chosen <abbr class="abbrev">OSC</abbr> port is already occupied, Hydrogen will pick
an alternative one on startup and displays it via a popup as well as
in the <abbr class="abbrev">OSC</abbr> tab of the Preferences Dialog.
</p></td></tr></table></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="chpt.preferences.appearance_tab"></a>5.5. Appearance</h2></div></div></div><p>
The settings available in the <span class="emphasis"><em>Appearance</em></span> tab let you modify the look of Hydrogen and are treated differently than the ones found in other tabs. While the latter are stored in the <code class="filename">hydrogen.conf</code> file in Hydrogen's data folder, the appearance is stored in <a class="link" href="#chpt.file_types.h2theme">.h2theme</a> files in the dedicated <code class="filename">theme</code> subfolder. The idea is that while the remaining settings are tailored to your local setup, a theme is something that is easily portable. E.g. you can create a custom dark theme and share it with the Hydrogen community without them having to adopt it to their local setup.
</p><p>
This can be done using the
<span class="inlinemediaobject"><img src="img/generated_en/preferencesExportThemeButton.png" alt='Grey record button with label "Export Theme".'></span>
and
<span class="inlinemediaobject"><img src="img/generated_en/preferencesImportThemeButton.png" alt='Grey record button with label "Import Theme".'></span>
buttons. All changes applied to a theme (unless indicated otherwise in the dialog) will take effect immediately. If you are satisfied with the result, accept the dialog by clicking the OK button to save it. If you, however, want to reset all options to their state encountered when opening the dialog or importing last theme, hit the
<span class="inlinemediaobject"><img src="img/generated_en/preferencesResetThemeButton.png" alt='Grey record button with label "Reset Appearance Tab".'></span>
button or close the dialog.
</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="chpt.preferences.appearance_tab.interface"></a>5.5.1. Interface</h3></div></div></div><div class="figure"><a name="fig.preferences.appearance_tab.interface"></a><p class="title"><b>Figure 5.5. The Interface Tab</b></p><div class="figure-contents"><div class="mediaobject"><img src="img/generated_en/preferencesInterfaceTab.png" alt="The Interface Tab"></div></div></div><br class="figure-break"><p>
The <span class="emphasis"><em>Interface</em></span> tab covers the overall appearance of Hydrogen.
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
<span class="bold"><strong>Style</strong></span>:
specifies a certain look of GUI elements, like menus, scrollbars, and dialog windows.
</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
Using this option you might be able to better integrate Hydrogen into your operating system.
</p></td></tr></table></div><p>
</p></li><li class="listitem"><p>
<span class="bold"><strong>Meters falloff speed</strong></span>:
specifies how fast the visual update of the peak values shown in the <a class="link" href="#chpt.mixer.channel_strips" title="13.1. Instrument Channel Strips">Instrument Channel Strips</a>, <a class="link" href="#chpt.mixer.component_strips" title="13.2. Component Channel Strips">Component Channel Strips</a>, and <a class="link" href="#chpt.mixer.master_fader_strip" title="13.4. Master Fader Strip">Master Fader Strip</a> will be done.
</p></li><li class="listitem"><p>
<span class="bold"><strong>Default interface layout</strong></span>:
specifies whether the GUI of Hydrogen will be arranged in <a class="link" href="#fig.UI_overview" title="Figure 4.1. The Main UI in Single Pane mode">Single Pane mode</a> or <a class="link" href="#fig.tabbed_UI_overview" title="Figure 4.2. The Main UI in Tabbed mode">Tabbed mode</a> (see <a class="link" href="#chpt.overview.gui" title="4.1. Main User Interface">Main User Interface</a> for details).
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
In order for this setting to take effect, Hydrogen has to be restarted.
</p></td></tr></table></div><p>
</p></li><li class="listitem"><p>
<span class="bold"><strong>High-resolution display scaling</strong></span>:
specifies whether the underlying bitmap graphics of the GUI should be scaled to larger sizes by Qt in order for Hydrogen to look nice with your system's resolution settings.
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
In order for this setting to take effect, Hydrogen has to be restarted.
</p></td></tr></table></div><p>
</p></li><li class="listitem"><p>
<span class="bold"><strong>Icon color</strong></span>:
while the color of all button labels can be set in the <a class="link" href="#chpt.preferences.appearance_tab.colors" title="5.5.2. Colors">Colors</a> tab, the icons hold the color used in the corresponding <abbr class="abbrev">SVG</abbr> file and can not be altered freely. To still allow you to change the overall colors conveniently, Hydrogen is shipped with all icons available in either <code class="option">Black</code> and <code class="option">White</code> color.
</p></li><li class="listitem"><p>
<span class="bold"><strong>Coloring method for Song Editor elements</strong></span>:
determines the coloring of the grid boxes indicating the presence of a pattern in the <a class="link" href="#chpt.song_editor" title="Chapter 8. Song Editor">Song Editor</a>. The options available are:
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p>
<code class="option">Automatic</code>:
uses as many colors as there are patterns in the song.
</p></li><li class="listitem"><p>
<code class="option">Custom</code>:
uses a certain number of colors in a repeated way.
</p></li></ul></div><p>
By chosing <code class="option">Custom</code> two more settings will become available:
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p>
<span class="bold"><strong>Number of colors in Song Editor</strong></span>:
how many different colors should be used.
</p></li><li class="listitem"><p>
<span class="bold"><strong>Selected colors</strong></span>:
a list of color buttons. Clicking one will open a dialog allowing you to change its color.
</p></li></ul></div></li></ul></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="chpt.preferences.appearance_tab.colors"></a>5.5.2. Colors</h3></div></div></div><div class="figure"><a name="fig.preferences.appearance_tab.colors"></a><p class="title"><b>Figure 5.6. The Colors Tab</b></p><div class="figure-contents"><div class="mediaobject"><img src="img/generated_en/preferencesColorsTab.png" alt="The Colors Tab"></div></div></div><br class="figure-break"><p>
The <span class="emphasis"><em>Colors</em></span> tab exposes most of the colors used within Hydrogen.
</p><p>
You can select a color by clicking its name in the tree you find on the left side. It is grouping the individual colors into
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
<span class="bold"><strong>General</strong></span>:
basic Qt colors. Most of them are used in many parts of the GUI. But some of them might be not used at all. So, don't worry in case altering one of these does not result in visual changes.
</p></li><li class="listitem"><p>
<span class="bold"><strong>Widgets</strong></span>:
colors in small and interactive elements of the GUI, like buttons or combo boxes.
</p></li><li class="listitem"><p>
<span class="bold"><strong>Song Editor</strong></span>:
colors specific to the <a class="link" href="#chpt.song_editor" title="Chapter 8. Song Editor">Song Editor</a>.
</p></li><li class="listitem"><p>
<span class="bold"><strong>Pattern Editor</strong></span>:
colors specific to the <a class="link" href="#chpt.pattern_editor" title="Chapter 9. Pattern Editor">Pattern Editor</a>.
</p></li></ul></div><p>
</p><p>
Once selected you can change a color by either clicking the large colored rectangle in the upper right part of the tab (which opens a color dialog) or by using the spinboxes and sliders in the lower right part. The latter represent the colors components according to the <abbr class="abbrev">RGB</abbr> as well as the <abbr class="abbrev">HSV</abbr> color model.
</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="chpt.preferences.appearance_tab.font"></a>5.5.3. Font</h3></div></div></div><div class="figure"><a name="fig.preferences.appearance_tab.font"></a><p class="title"><b>Figure 5.7. The Font Tab</b></p><div class="figure-contents"><div class="mediaobject"><img src="img/generated_en/preferencesFontTab.png" alt="The Font Tab"></div></div></div><br class="figure-break"><p>The <span class="emphasis"><em>Font</em></span> tab contains all options affecting strings, characters, and numbers displayed in the GUI.
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
<span class="bold"><strong>Application font</strong></span>:
specifies the font family used for headings, larger labels, and most parts of the dialogs and popups.
</p></li><li class="listitem"><p>
<span class="bold"><strong>Item font</strong></span>:
specifies the font family used for smaller elements, like the name of patterns in the <a class="link" href="#chpt.song_editor.sidebar" title="8.3. Sidebar">Sidebar</a> of the Song Editor or the name of the samples in the <a class="link" href="#chpt.instrument_editor.layers" title="11.2. Layers">Layers view</a> of the Instrument Editor.
</p></li><li class="listitem"><p>
<span class="bold"><strong>Widget font</strong></span>:
specifies the font family used for small and interactive elements of the GUI, like buttons.
</p></li><li class="listitem"><p>
<span class="bold"><strong>Font size</strong></span>:
accessibility option to increase or decrease the overall font size of Hydrogen.
</p></li></ul></div></div></div></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a name="chpt.main_menu"></a>Chapter 6. Main Menu</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="sect1"><a href="#sect.main_menu.projects">6.1. Project</a></span></dt><dt><span class="sect1"><a href="#sect.main_menu.undo">6.2. Undo</a></span></dt><dt><span class="sect1"><a href="#sect.main_menu.drumkits">6.3. Drumkits</a></span></dt><dt><span class="sect1"><a href="#sect.main_menu.instruments">6.4. Instruments</a></span></dt><dt><span class="sect1"><a href="#sect.main_menu.view">6.5. View</a></span></dt><dt><span class="sect1"><a href="#sect.main_menu.options">6.6. Options</a></span></dt><dt><span class="sect1"><a href="#sect.main_menu.debug">6.7. Debug</a></span></dt><dt><span class="sect1"><a href="#sect.main_menu.info">6.8. Info</a></span></dt></dl></div><div class="figure"><a name="fig.main_menu"></a><p class="title"><b>Figure 6.1. The Main Menu</b></p><div class="figure-contents"><div class="mediaobject"><img src="img/generated_en/MainMenu.png" alt="The Main Menu"></div></div></div><br class="figure-break"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.main_menu.projects"></a>6.1. Project</h2></div></div></div><p>This menu offers file
related functions.</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
If you are using Hydrogen within a <abbr class="abbrev">NSM</abbr> session, some of the options below will be called and behave differently (see <a class="xref" href="#chpt.overview.session_management.nsm" title="4.5.1. NSM">Section 4.5.1</a> for details).
</p></td></tr></table></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><a name="sect.main_menu.projects.new"></a><span class="bold"><strong>New</strong></span>: creates a new and empty song.</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
Prior to version 1.2 of Hydrogen new songs were based on <code class="filename">DefaultSong.h2song</code> in Hydrogen's data folder and all <a class="link" href="#chpt.preferences.general_tab.autosaves">backups</a> of unsaved changes were associated with it. This had the unfortunate downside that it was quite easy to lose all changes made in a new song in case you forget to change it.
</p><p>
Since 1.2 new songs are not associated with any file anymore and Hydrogen makes sure the backup file generated does not exist yet and no data gets overwritten. In addition, when working on a newly created song and closing the application without saving the changes, e.g. due to a power outage, Hydrogen is now capable of restoring these changes from the backup file and prompts you at the beginning of the next session whether it should do so.
</p><p>
If you are used to altering the <code class="filename">DefaultSong.h2song</code> and use it as a template, you can still do the same by <a class="link" href="#sect.main_menu.projects.open">opening</a> and <a class="link" href="#sect.main_menu.projects.save_as">saving</a> it using a different name.
</p></td></tr></table></div></li><li class="listitem"><p><span class="bold"><strong>Song Properties</strong></span>: sets general properties of the
song such as name, author, <a class="link" href="#chpt.license" title="Chapter 20. Licensing">license</a>, and generic notes.</p></li><li class="listitem"><p><a name="sect.main_menu.projects.open"></a><span class="bold"><strong>Open</strong></span>: opens an existing song (a <a class="link" href="#chpt.file_types.h2song">.h2song</a> file).</p></li><li class="listitem"><p><a name="sect.main_menu.projects.open_demo"></a><span class="bold"><strong>Open Demo</strong></span>: opens one of the demo songs shipped with Hydrogen.
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
The demo songs are stored in <code class="filename">$INSTALL_PATH/share/hydrogen/data/demo_songs</code>).
</p></td></tr></table></div><p>
</p></li><li class="listitem"><p><a name="sect.main_menu.projects.open_recent"></a><span class="bold"><strong>Open Recent</strong></span>: opens a menu showing the last used songs (ordered from most recent to least recent).</p></li><li class="listitem"><p><span class="bold"><strong>Save</strong></span>: saves changes to current song.</p></li><li class="listitem"><p><a name="sect.main_menu.projects.save_as"></a><span class="bold"><strong>Save As</strong></span>: saves current song as <a class="link" href="#chpt.file_types.h2song">.h2song</a> file to a path of your choice.
</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
In order for Hydrogen to automatically list it in the <a class="link" href="#sect.sl.songs" title="10.2. Songs">Songs section of the Sound Library</a>, you have to store it in the <code class="filename">songs</code> subfolder of Hydrogen data directory (<code class="filename">$HOME/.hydrogen/data/songs/</code>).
</p></td></tr></table></div><p>
</p></li><li class="listitem"><p><span class="bold"><strong>Open Pattern</strong></span>: opens a pattern (a <a class="link" href="#chpt.file_types.h2pattern">.h2pattern</a> file)
belonging to the current drumkit.</p></li><li class="listitem"><p><a name="sect.main_menu.projects.export_pattern_as"></a><span class="bold"><strong>Export Pattern As</strong></span>: saves a
pattern as a <a class="link" href="#chpt.file_types.h2pattern">.h2pattern</a> file.
</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
In order for Hydrogen to automatically list it in the <a class="link" href="#sect.sl.patterns" title="10.3. Patterns">Patterns section of the Sound Library</a>, you have to store it in
<code class="filename">$HOME/.hydrogen/data/patterns/drumkit_name/</code>.
</p></td></tr></table></div><p>
</p></li><li class="listitem"><p><span class="bold"><strong>Export MIDI File</strong></span>: exports the current song in
<abbr class="abbrev">MIDI</abbr> format.</p></li><li class="listitem"><p><a name="sect.main_form.export_song"></a><span class="bold"><strong>Export Song</strong></span>: exports the current song into an audio file.</p><p>The <span class="bold"><strong>Export mode</strong></span> option <code class="option">Export to a single track</code> will export one stereo downmix of your song - the master output. <code class="option">Export to separate tracks</code> will create files for each
instrument/track. <code class="option">Both</code> will create a stereo downmix as well as audio files for all individual
instruments.
</p><p>
For audio formats <span class="emphasis"><em>FLAC</em></span>,
<span class="emphasis"><em>Ogg/Vorbis</em></span>, <span class="emphasis"><em>Ogg/Opus</em></span>,
and <span class="emphasis"><em>MP3</em></span> the option <code class="option">Compression
Level</code> instead of <code class="option">Samplerate</code> and
<code class="option">SampleDepth</code> is available. For
<span class="emphasis"><em>FLAC</em></span> it trades off export time against
resulting file size. For all other formats (all lossy
compression ones) it trades off audio quality against resulting
file size.
</p></li><li class="listitem"><p><span class="bold"><strong>Export LilyPond File</strong></span>: exports the current song to LilyPond.</p><div class="warning" style="margin-left: 5%;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="img/admonitions/warning.svg"></td><th align="left">Warning</th></tr><tr><td align="left" valign="top"><p>
It has the following limitations: Only the <span class="emphasis"><em>GMRockKit</em></span> and no triplets are supported.</p></td></tr></table></div></li><li class="listitem"><p><span class="bold"><strong>Quit</strong></span>: exits Hydrogen.</p></li></ul></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.main_menu.undo"></a>6.2. Undo</h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="bold"><strong>Undo</strong></span>: lets you undo your last action.</p></li><li class="listitem"><p><span class="bold"><strong>Redo</strong></span>: lets you redo the last undone action.</p></li><li class="listitem"><p><span class="bold"><strong>Undo History</strong></span>: gives you an overview of your previous
actions.</p></li></ul></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.main_menu.drumkits"></a>6.3. Drumkits</h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><a name="sect.main_menu.drumkits.new"></a><span class="bold"><strong>New</strong></span>: creates a new and empty <a class="link" href="#chpt.overview.drumkits" title="4.2. Drumkit Concept">drumkit</a> by clearing all the instruments of the current one.
</p></li><li class="listitem"><p><a name="sect.main_menu.drumkits.open"></a>
<span class="bold"><strong>Open</strong></span>:
opens one of the registered drumkits and replaces the currently loaded one.
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
Using this option you can only load drumkits that have been already imported into Hydrogen. If you just received a new one from an external source, be sure to use the <a class="link" href="#sect.main_form.import_drumkit">Import</a> option described below.
</p></td></tr></table></div><p>
</p></li><li class="listitem"><p><a name="sect.main_menu.drumkits.properties"></a>
<span class="bold"><strong>Properties</strong></span>:
sets general properties of the drumkit associated with the current song, such as name, author, <a class="link" href="#chpt.license" title="Chapter 20. Licensing">license</a>, general information, image, and image license.
</p></li><li class="listitem"><p><a name="sect.main_menu.drumkits.save"></a><span class="bold"><strong>Save</strong></span>: saves all settings of the drumkit associated with the current (including those of their instruments and sound samples).
</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
See <a class="xref" href="#chpt.overview.drumkits" title="4.2. Drumkit Concept">Drumkit Concept</a> and <a class="xref" href="#chpt.license" title="Chapter 20. Licensing">Licensing</a> for further information.
</p></td></tr></table></div><p>
</p></li><li class="listitem"><p><a name="sect.main_menu.drumkits.save_as"></a><span class="bold"><strong>Save As</strong></span>: saves all settings of the current drumkit (including those of their instruments and sound samples) as new drumkit.
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
The new drumkit will be a physical copy of the old one and is stored into the <code class="filename">$HOME/.hydrogen/data/drumkits/</code> folder.
</p></td></tr></table></div><p>
</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
See <a class="xref" href="#chpt.overview.drumkits" title="4.2. Drumkit Concept">Drumkit Concept</a> and <a class="xref" href="#chpt.license" title="Chapter 20. Licensing">Licensing</a> for further information.
</p></td></tr></table></div><p>
</p></li><li class="listitem"><p><a name="sect.main_form.export_drumkit"></a><span class="bold"><strong>Export</strong></span>: compresses and stores all instrument samples and settings of the current drumkit into a folder of your choice as <a class="link" href="#chpt.file_types.h2drumkit">.h2drumkit</a> file.
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
For compatibility reasons you can also export your drumkit in a format used in older versions ( <= 0.9.6 ) of Hydrogen. By doing so you need to select a single <a class="link" href="#def.component" title="Component">component</a> to export since having multiple ones was not supported back than.
</p></td></tr></table></div><p>
</p></li><li class="listitem"><p><a name="sect.main_form.import_drumkit"></a><span class="bold"><strong>Import</strong></span>: imports a drumkit (a <a class="link" href="#chpt.file_types.h2drumkit">.h2drumkit</a> file) from the local filesystem.
</p></li><li class="listitem"><p><a name="sect.main_form.online_import_drumkit"></a><span class="bold"><strong>Online Import</strong></span>: imports another drumkit from a remote location
through a <abbr class="abbrev">XML</abbr> feed. The <abbr class="abbrev">XML</abbr> file that should be provided is <span class="bold"><strong>NOT</strong></span> <abbr class="abbrev">RSS</abbr> compliant (see <a class="ulink" href="http://www.hydrogen-music.org/feeds/drumkit_list.php" target="_blank">Hydrogen
website</a> for an example).
</p><p>
</p><div class="figure"><a name="fig.import_drumkit"></a><p class="title"><b>Figure 6.2. Import Drumkit</b></p><div class="figure-contents"><div class="mediaobject"><img src="img/generated_en/Sound_Library_import.png" alt="Import Drumkit"></div></div></div><p><br class="figure-break">
The Import window will pop up with the <span class="emphasis"><em>Internet</em></span> tab selected.
By default the link to the drumkit list (on <a class="ulink" href="http://hydrogen-music.org" target="_blank">http://hydrogen-music.org</a>) will be filled in,
and after pressing the <span class="bold"><strong>Update list</strong></span> button you will get a complete list of all
drumkits that are available for download. In the <span class="emphasis"><em>Status</em></span> column on the you can see
if a kit is installed or not.
</p><p>
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
<a class="link" href="#chpt.license" title="Chapter 20. Licensing">license</a>.
</p><p>
You can install a drumkit by selecting it and clicking <span class="bold"><strong>Download and Install</strong></span>.
</p><div class="informalfigure"><a name="fig.downloading_soundlibrary"></a><div class="mediaobject"><img src="img/Downloading_SoundLibrary.png" alt="Widget with progress bar popping up during the download of a drumit."></div></div><p>
Once the kit has been downloaded it will be available in the <a class="link" href="#chpt.sound_library.drumkits" title="10.1. Drumkits">Sound Library</a> under <span class="emphasis"><em>User drumkits</em></span>.
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
In the rare case a drumkit or one of its contained sample files
features <span class="bold"><strong>UTF-8</strong></span> encoded characters
but your system's locale is not properly set up to handle these,
those characters will be omitted. For the kit itself it just means it
will carry a slightly different name. But renamed sample files can't
be found by Hydrogen anymore when loading the kit. In case you see a
popup dialog during installation complaining about encoding, be sure
to check the instruments of the imported kit and reassign missing
samples using the <a class="link" href="#chpt.instrument_editor.layers.layers" title="11.2.2. Layers">Instrument
Editor</a>.
</p><p>
A description of <span class="bold"><strong>how to fix encoding issues on Windows</strong></span> can be found in our <a class="ulink" href="https://github.com/hydrogen-music/hydrogen/wiki/Fix-encoding-issues-on-Windows" target="_blank">Wiki</a>.
</p></td></tr></table></div></li></ul></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.main_menu.instruments"></a>6.4. Instruments</h2></div></div></div><p>This menu offers
instruments functions.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="bold"><strong>Add Instrument</strong></span>: adds a new instrument to the current drumkit.</p></li><li class="listitem"><p><span class="bold"><strong>Clear All</strong></span>: deletes all instruments from the current drumkit leaving only an empty one.</p></li><li class="listitem"><p><span class="bold"><strong>Add Component</strong></span>: adds a <a class="link" href="#def.component" title="Component">component</a> to the current drumkit.</p></li></ul></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.main_menu.view"></a>6.5. View</h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="bold"><strong>Playlist Editor</strong></span>: opens the <a class="link" href="#chpt.playlist_editor" title="Chapter 15. Playlist Editor">Playlist Editor</a> window.</p></li><li class="listitem"><p><span class="bold"><strong>Director</strong></span>: opens the <a class="link" href="#chpt.director" title="Chapter 14. Director">Director</a> window.</p></li><li class="listitem"><p><span class="bold"><strong>Mixer</strong></span>: opens the <a class="link" href="#chpt.mixer" title="Chapter 13. Mixer">Mixer</a> window.</p></li><li class="listitem"><p><span class="bold"><strong>Instrument Rack</strong></span>: shows or hides the widget of the main window containing both the <a class="link" href="#chpt.instrument_editor" title="Chapter 11. Instrument Editor">Instrument Editor</a> and the <a class="link" href="#chpt.sound_library" title="Chapter 10. Sound Library (Drumkit/Pattern/Song Manager)">Sound Library</a>.</p></li><li class="listitem"><p><span class="bold"><strong>Automation Path</strong></span>: shows or hides the <a class="link" href="#sect.song_editor.automation_path" title="8.7. Automation Path">Automation Path</a>
panel.</p></li><li class="listitem"><p><span class="bold"><strong>Timeline</strong></span>: shows or hides the <a class="link" href="#chpt.song_editor.timeline" title="8.4. Timeline">Timeline</a> panel.</p></li><li class="listitem"><p><span class="bold"><strong>Playback Track</strong></span>: shows or hides the <a class="link" href="#chpt.song_editor.playbackTrack" title="8.6. Playback Track">Playback Track</a> panel.</p></li><li class="listitem"><p><span class="bold"><strong>Full screen</strong></span>: maximises the window size to the whole screen area.</p></li></ul></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.main_menu.options"></a>6.6. Options</h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><a name="sect.main_menu.options.input_mode"></a>
<span class="bold"><strong>Input mode</strong></span>: sets the current
<a class="link" href="#chpt.midi.note.input_mode" title="16.2.1. Input Mode">Input Mode</a>.
</p></li><li class="listitem"><p><span class="bold"><strong>Preferences</strong></span>: opens the main preferences
window (see <a class="xref" href="#chpt.preferences" title="Chapter 5. Preferences">Preferences</a> for details).</p></li></ul></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.main_menu.debug"></a>6.7. Debug</h2></div></div></div><p>Tools mainly for debugging
and monitoring Hydrogen.</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
The Debug option is only available if Hydrogen was compiled with
debug support.
</p></td></tr></table></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><a name="chpt.preferences.audio_engine_tab"></a><span class="bold"><strong>Show Audio Engine Info</strong></span>: opens a window that shows
various stats about Hydrogen and the audio driver.
</p><div class="figure"><a name="fig.preferences.audio_engine_tab"></a><p class="title"><b>Figure 6.3. The Audio Engine View</b></p><div class="figure-contents"><div class="mediaobject"><img src="img/generated_en/AudioEngineInfoDialog.png" alt="The Audio Engine View"></div></div></div><p><br class="figure-break">
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
In case <abbr class="abbrev">JACK</abbr> is used,
buffer and sampling rate should be set in the configuration of the <abbr class="abbrev">JACK</abbr>
server before starting Hydrogen (<abbr class="abbrev">JACK</abbr> automatically starts when an
application tries to connect).
</p></td></tr></table></div><p>
</p></li><li class="listitem"><p><a name="chpt.main_menu.debug.show_filesystem_info"></a><span class="bold"><strong>Show Filesystem Info</strong></span>:
opens a window that shows you the paths to the user and system data directory as well as to the folder used to create temporary files.
</p></li><li class="listitem"><p><a name="chpt.main_menu.debug.log_level"></a>
<span class="bold"><strong>Log Level</strong></span>:
specifies which log messages will be written into the log file.
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p>
<code class="option">None</code>: No messages will be written at all.
</p></li><li class="listitem"><p>
<code class="option">Error</code>: Only messages concerning critical errors will be written out.
</p></li><li class="listitem"><p>
<code class="option">Warning</code>: Like <code class="option">Error</code> but in addition also general warnings about potential bugs or inconsistencies will be written out.
</p></li><li class="listitem"><p>
<code class="option">Info</code>: Like <code class="option">Warning</code> but also all info messages indicating the correct behavior of Hydrogen will be written out.
</p></li><li class="listitem"><p><a name="chpt.main_menu.debug.log_level.info"></a>
<code class="option">Debug</code>: Like <code class="option">Info</code> but also internal help messages used for developing will be written out.
</p></li></ul></div><p>
</p></li><li class="listitem"><p><a name="chpt.main_menu.debug.open_log_file"></a><span class="bold"><strong>Open Log File</strong></span>:
opens Hydrogen's log in either the terminal the application was started in or in a new terminal instance.</p></li></ul></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.main_menu.info"></a>6.8. Info</h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="bold"><strong>User Manual</strong></span>: opens a window with a version of this manual installed on your local computer.</p></li><li class="listitem"><p><span class="bold"><strong>About</strong></span>: the usual window with license
information, acknowledgments, etc.</p></li><li class="listitem"><p><span class="bold"><strong>Report Bug</strong></span>: opens the <a class="ulink" href="https://github.com/hydrogen-music/hydrogen/issues" target="_blank">Hydrogen issue page at github.com</a> in your default Internet browser.
You can open a new issue to communicate a bug here (first search if there exists already an issue about it).</p></li><li class="listitem"><p><span class="bold"><strong>Donate</strong></span>: make a donation to developers/maintainers.</p></li></ul></div></div></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a name="chpt.main_toolbar"></a>Chapter 7. Main Toolbar</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="sect1"><a href="#sect.main_toolbar.transport_control">7.1.
Transport Control
</a></span></dt><dt><span class="sect1"><a href="#sect.main_toolbar.tap_tempo_beat_counter">7.2. Tap Tempo and Beat Counter</a></span></dt><dd><dl><dt><span class="sect2"><a href="#sect.main_toolbar.tap_tempo_beat_counter.tap_tempo">7.2.1. Tap Tempo</a></span></dt><dt><span class="sect2"><a href="#sect.main_toolbar.tap_tempo_beat_counter.beat_counter">7.2.2. Beat Counter</a></span></dt></dl></dd><dt><span class="sect1"><a href="#sect.main_toolbar.bpm_control_and_metronome">7.3. BPM Control and Metronome</a></span></dt><dt><span class="sect1"><a href="#sect.main_toolbar.cpu_usage_midi_in">7.4. CPU Usage and MIDI in</a></span></dt><dt><span class="sect1"><a href="#sect.main_toolbar.jack_control">7.5. JACK Control</a></span></dt><dt><span class="sect1"><a href="#sect.main_toolbar.gui_state">7.6. GUI State</a></span></dt></dl></div><div class="figure"><a name="fig.main_toolbar"></a><p class="title"><b>Figure 7.1. The Main Toolbar</b></p><div class="figure-contents"><div class="mediaobject"><img src="img/generated_en/MainToolbar_V2.png" alt="The Main Toolbar"></div></div></div><br class="figure-break"><p>Before analyzing the two main frames of Hydrogen, let's take a quick
look at the main toolbar and its components.</p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.main_toolbar.transport_control"></a>7.1.
Transport Control
</h2></div></div></div><div class="informalfigure"><a name="fig.main_toolbar.transport_control"></a><div class="mediaobject"><img src="img/generated_en/background_Control_V2.png" alt="Part of the Main Toolbar responsible for the transport control. From left to right: rewind, record, pause and play, stop, fast forward, and loop button."></div></div><p>Using these buttons you can <span class="bold"><strong>start</strong></span>
<span class="inlinemediaobject"><img src="img/generated_en/playerControlPlayButton.png"></span>
(also bound to <span class="keycap"><strong>Space</strong></span>, see <a class="xref" href="#chap.shortcuts" title="Chapter 22. Shortcut Lists">Chapter 22</a> for further related shortcuts) and <span class="bold"><strong>stop</strong></span>
<span class="inlinemediaobject"><img src="img/generated_en/playerControlStopButton.png"></span> playback, <span class="bold"><strong>record</strong></span>
<span class="inlinemediaobject"><img src="img/generated_en/playerControlRecordButton.png"></span>
new patterns (see <a class="xref" href="#chpt.overview.recording" title="4.4. Recording in Hydrogen">Section 4.4</a> for details), <span class="bold"><strong>fast forward</strong></span>
<span class="inlinemediaobject"><img src="img/generated_en/playerControlForwardButton.png"></span>
and <span class="bold"><strong>rewind</strong></span>
<span class="inlinemediaobject"><img src="img/generated_en/playerControlRewindButton.png"></span>
transport position, and <span class="bold"><strong>loop</strong></span>
<span class="inlinemediaobject"><img src="img/generated_en/playerControlLoopButton.png"></span>
playback.</p><p>In addition, you can switch between <a class="link" href="#chpt.song_editor.editor_modes.song_mode" title="8.2.3. Song Mode">Song Mode</a>
<span class="inlinemediaobject"><img src="img/generated_en/playerControlSongModeButton.png"></span>
and <a class="link" href="#chpt.song_editor.editor_modes.pattern_mode" title="8.2.4. Selected Pattern Mode">Pattern Mode</a>
<span class="inlinemediaobject"><img src="img/generated_en/playerControlPatternModeButton.png"></span>
.</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
When using the <a class="link" href="#chpt.keyboard_and_mouse" title="Chapter 3. Keyboard and Mouse">Keyboard</a> to navigate in the <a class="link" href="#chpt.song_editor" title="Chapter 8. Song Editor">Song Editor</a> and <a class="link" href="#chpt.pattern_editor" title="Chapter 9. Pattern Editor">Pattern Editor</a> the shortcut <span class="keycap"><strong>Ctrl</strong></span> + <span class="keycap"><strong>Space</strong></span> (or <span class="keycap"><strong>Alt</strong></span> + <span class="keycap"><strong>Space</strong></span> on MacOS) will change the mode to the one corresponding to the editor. In addition, it will move the current transport position to either the note (Pattern Editor) or the pattern (Song Editor) focused by the cursor and starts the playback.
</p></td></tr></table></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.main_toolbar.tap_tempo_beat_counter"></a>7.2. Tap Tempo and Beat Counter</h2></div></div></div><div class="informalfigure"><a name="fig.main_toolbar.beat_counter"></a><div class="mediaobject"><img src="img/generated_en/MeasureSettings.png" alt="Part of the Main Toolbar responsible for the tempo settings using the Beat Counter. In the center there is a display showing to the left the beat type and to the right on top the current mode of the Beat Counter and the value of the Countdown Counter below. To the left and right of the display there are buttons to decrease or increase the beat type (left) and Countdown Counter value (right)."></div></div><p>This section covers how to interactively change tempo using the <span class="emphasis"><em>Beat Counter</em></span>. Due to conceptional similarities the <span class="emphasis"><em>Tap Tempo</em></span> will be covered as well which itself is not related to the widget displayed above.</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="sect.main_toolbar.tap_tempo_beat_counter.tap_tempo"></a>7.2.1. Tap Tempo</h3></div></div></div><p>The Tap Tempo allows you to change the tempo at any time - with transport rolling or stopped - within Hydrogen. To change the tempo, hit the
<span class="keycap"><strong>\</strong></span> key in the tempo you want.
</p><p>
After two keystrokes the tempo will be first changed according to the time difference between the two taps. With each addition keystroke the tempo will be changed again to the rolling average of the last up to eight hits of the <span class="keycap"><strong>\</strong></span> button. If you tap
accidentally, or if you wait too long between taps, the Tap Tempo
counter will start over.</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
The widget shown above is the one of the Beat Counter. The Tap Tempo itself does neither have a dedicated widget nor any option to be set by the user.
</p></td></tr></table></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="sect.main_toolbar.tap_tempo_beat_counter.beat_counter"></a>7.2.2. Beat Counter</h3></div></div></div><p>The Beat Counter is essentially a Tap Tempo on steroids. By default the Beat Counter widget is not
visible. To see the Beat Counter widget click the
<span class="inlinemediaobject"><img src="img/generated_en/btn_bc_off.png" alt='Grey vertical button containing the characters "B" and "C" in adjacent rows.'></span>
button or simply press <span class="keycap"><strong>,</strong></span>.</p><p>The tempo that you tap will be considered to correspond to 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 <span class="keycap"><strong>+</strong></span> / <span class="keycap"><strong>-</strong></span> buttons. To change
the Countdown Counter value, use the right <span class="keycap"><strong>+</strong></span> / <span class="keycap"><strong>-</strong></span> 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 <em class="parameter"><code>R</code></em>, it means that the Beat Counter
is ready to start from 0. When you tap <span class="keycap"><strong>,</strong></span>, the <em class="parameter"><code>R</code></em> will change to
1, and will increment with every keystroke until it reaches the Countdown
Counter value (shown just below the <em class="parameter"><code>R</code></em>).</p><p>The button in the bottom right-hand controls the auto-start
feature, and it toggles between
<span class="inlinemediaobject"><img src="img/generated_en/btn_bc_set_play_off.png" alt='Grey button containing a "S".'></span>
and
<span class="inlinemediaobject"><img src="img/generated_en/btn_bc_set_play_on.png" alt='Blue button containing a "P".'></span>
. When it shows the latter (for <span class="emphasis"><em>Play</em></span>), 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
Beat Counter set up for 4/4, you can tap 1-2-3-4, and start playing on
the next beat. When it shows
<span class="inlinemediaobject"><img src="img/generated_en/btn_bc_set_play_off.png" alt='Grey button containing a "S".'></span>
(for <span class="emphasis"><em>Set BPM</em></span>), the auto-start is disabled.</p><p>For example: Suppose you have a live band, Hydrogen, and a
softsynth that is controlled by <span class="command"><strong>Seq24</strong></span>)... 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
<span class="inlinemediaobject"><img src="img/generated_en/btn_bc_set_play_on.png" alt='Blue button containing a "P".'></span>
). Count off
the band 1-2-3-4 (while tapping the <span class="keycap"><strong>,</strong></span> key) and everyone
starts on 1.</p><p>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).</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>An temporal offset when starting the playback after setting the tempo and a latency compensation for the Beat Counter can be configured in the <a class="link" href="#chpt.preferences.general_tab" title="5.1. General">General tab</a> of the Preferences Dialog.
</p></td></tr></table></div><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
If you are using <abbr class="abbrev">JACK</abbr> transport in the presence of
an <a class="link" href="#sect.main_toolbar.jack_control.timebase_red">external
<abbr class="abbrev">JACK</abbr> Timebase controller</a>, Hydrogen will use
the provided tempo and both Tap Tempo and Beat Counter will be
disabled. If Hydrogen itself is <a class="link" href="#sect.main_toolbar.jack_control.timebase_blue">in control of <abbr class="abbrev">JACK</abbr>
Timebase</a>, tempo changes from Hydrogen will be broadcasted to other
<abbr class="abbrev">JACK</abbr> clients.
</p></td></tr></table></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.main_toolbar.bpm_control_and_metronome"></a>7.3. BPM Control and Metronome</h2></div></div></div><div class="informalfigure"><a name="fig.main_toolbar.bpm_control_and_metronome"></a><div class="mediaobject"><img src="img/generated_en/background_BPM.png" alt="Part of the Main Toolbar responsible for the tempo settings. To the left there are on top two buttons for decreasing and increasing the tempo and below one to activate the metronome. To the right and covering most of the area is a display showing the current BPM. At the far right there is a tall button activating the recalculation of samples processed by Rubber Band at tempo changes."></div></div><p>Set the speed of the song in the range from <code class="option">10</code> to <code class="option">400</code> bpm (beats per minute).
</p><p>You can use
<span class="inlinemediaobject"><img src="img/generated_en/btn_metronome_off.png" alt="Grey button containing black outlines of a classical metronome."></span>
to toggle the metronome.</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
The volume of the metronome can be adjusted in the <a class="link" href="#chpt.preferences.audio_tab" title="5.2. Audio System">Audio tab</a> of the Preferences.
</p></td></tr></table></div><p>
If either Rubber Band support is compiled into your current version of Hydrogen or correctly configured in the <a class="link" href="#chpt.preferences.general_tab" title="5.1. General">General tab</a> of the Preferences, you will also find the
<span class="inlinemediaobject"><img src="img/generated_en/playerControlRubberbandButton.png" alt='Grey vertical button containing the characters "R", "U", and "B" in adjacent lines.'></span>
button next to the BPM widget. Activating it will enable recalculation of all sample pitches using Rubber Band whenever the tempo of the song will be changed (see <a class="xref" href="#chpt.sample_editor.pitch" title="12.2. Pitch Shifting">Section 12.2</a> for details).
</p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.main_toolbar.cpu_usage_midi_in"></a>7.4. CPU Usage and MIDI in</h2></div></div></div><div class="informalfigure"><a name="fig.main_toolbar.cpu_usage_midi_in"></a><div class="mediaobject"><img src="img/generated_en/MidiIN_CPU.png" alt='A block horizontal line in the upper part will contain a meter showing the load of the CPU. Below a small LED-like symbol next to the text "MIDI-IN" will indicated when there is MIDI input.'></div></div><p>The <abbr class="abbrev">CPU</abbr> bargraph gives you an indication of the <abbr class="abbrev">CPU</abbr> load. The <abbr class="abbrev">MIDI</abbr> led lights up every time Hydrogen receives a <abbr class="abbrev">MIDI</abbr> message.</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
The <abbr class="abbrev">MIDI</abbr> settings can be adjusted in the <a class="link" href="#chpt.preferences.midi_tab" title="5.3. MIDI System"><abbr class="abbrev">MIDI</abbr> tab</a> of the Preferences.
</p></td></tr></table></div><p>
In case a <abbr class="abbrev">XRUN</abbr> event occurs (<abbr class="abbrev">CPU</abbr> load is so large that audio processing could not be finished in time) the outlines of the <abbr class="abbrev">CPU</abbr> bargraph will be colored red for a couple of seconds.
</p></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.main_toolbar.jack_control"></a>7.5. JACK Control</h2></div></div></div><div class="informalfigure"><a name="fig.main_toolbar.jack_control"></a><div class="mediaobject"><img src="img/generated_en/JackTrans_Timebase.png" alt='Part of the Main Toolbar responsible for the JACK configuration. The left button is titled "J.Trans" and the right one "Timebase".'></div></div><p>Clicking
<span class="inlinemediaobject"><img src="img/generated_en/playerControlJackTransportButton.png" alt='Grey button containing the text "J.Trans".'></span>
will enable <abbr class="abbrev">JACK</abbr> transport. If disabled, Hydrogen will still use the <abbr class="abbrev">JACK</abbr> driver and registered audio ports. But it decouples its own transport state from the one of the <abbr class="abbrev">JACK</abbr> server and will not be in sync with other clients anymore.
</p><p>
The
<span class="inlinemediaobject"><img src="img/generated_en/JackTimebaseOff.png" alt='Grey button containing the text "Timebase".'></span>
button indicates the current state of <abbr class="abbrev">JACK</abbr> Timebase
support. Via this protocol one JACK cilent - registered as Timebase
<span class="emphasis"><em>controller</em></span> - can share its tempo and position
information as beat, bar, and tick with other JACK clients supporting
this protocol - Timebase <span class="emphasis"><em>listeners</em></span>. When pressing
the button Hydrogen will attempt to take control of Timebase.
</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
When using <abbr class="abbrev">JACK</abbr> Timebase transport relocations
should always be done within the Timebase controller application.
Otherwise, you could end up at unexpected positions due to the
limitations of that protocol.
</p></td></tr></table></div><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
The JACK Timebase API uses other terms for these two classes of
clients we do not repeat in here.
</p></td></tr></table></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><a name="sect.main_toolbar.jack_control.timebase_off"></a>
<span class="inlinemediaobject"><img src="img/generated_en/JackTimebaseOff.png" alt='Grey button containing the text "Timebase".'></span>
- Timebase support itself is activated but neither
Hydrogen nor an external application is currently in control.
Hydrogen will use its internal tempo.
</p></li><li class="listitem"><p><a name="sect.main_toolbar.jack_control.timebase_blue"></a>
<span class="inlinemediaobject"><img src="img/generated_en/JackTimebaseBlue.png" alt='Blue button containing the text "Timebase".'></span>
- Hydrogen is in control of <abbr class="abbrev">JACK</abbr> Timebase, uses
its internal tempo, and boardcasts it to other
<abbr class="abbrev">JACK</abbr> clients.
</p></li><li class="listitem"><p><a name="sect.main_toolbar.jack_control.timebase_red"></a>
<span class="inlinemediaobject"><img src="img/generated_en/JackTimebaseRed.png" alt='Red button containing the text "Timebase".'></span>
- An external application is registered as Timebase controller.
Hydrogen will disregard its local tempo - <a class="link" href="#sect.main_toolbar.bpm_control_and_metronome" title="7.3. BPM Control and Metronome">BPM
widget</a>, <a class="link" href="#sect.main_toolbar.tap_tempo_beat_counter.tap_tempo" title="7.2.1. Tap Tempo">Tap
Tempo</a>, <a class="link" href="#sect.main_toolbar.tap_tempo_beat_counter.beat_counter" title="7.2.2. Beat Counter">Beat
Counter</a>, <a class="link" href="#chpt.song_editor.timeline" title="8.4. Timeline">Timeline</a> - and,
instead, adopts tempo and position provided by the controller.
</p></li><li class="listitem"><p><a name="sect.main_toolbar.jack_control.timebase_disabled"></a>
<span class="inlinemediaobject"><img src="img/generated_en/JackTimebaseDisabled.png" alt='Grey button containing the greyed-out text "Timebase".'></span>
- <abbr class="abbrev">JACK</abbr> Timebase support was
disabled in the <a class="link" href="#chpt.preferences.audio_tab" title="5.2. Audio System">Audio
tab</a> of the Preferences.
</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
This can be useful in the presence of a controller with a
faulty Timebase implementation or in case of a bug in
Hydrogen's own implementation.
</p></td></tr></table></div></li></ul></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sect.main_toolbar.gui_state"></a>7.6. GUI State</h2></div></div></div><div class="informalfigure"><a name="fig.main_toolbar.gui_state"></a><div class="mediaobject"><img src="img/generated_en/mixer-instrrack_btn.png" alt='In the upper part there are two buttons. The smaller one to the left is titled "Mixer" and the larger one "Instrument rack". Below there is a large blue display showing the default message of Hydrogen after startup "Hydrogen Ready.".'></div></div><p>
Toggles the <a class="link" href="#chpt.mixer" title="Chapter 13. Mixer">Mixer</a> window and the Instrument Rack (containing both the <a class="link" href="#chpt.instrument_editor" title="Chapter 11. Instrument Editor">Instrument Editor</a> and the <a class="link" href="#chpt.sound_library" title="Chapter 10. Sound Library (Drumkit/Pattern/Song Manager)">Sound Library</a>).
</p><p>
The line below displays status messages telling what Hydrogen is up to. Clicking it will open a popup menu showing the last 100 messages.
</p></div></div><div class="chapter"><div class="titlepage"><div><div><h2 class="title"><a name="chpt.song_editor"></a>Chapter 8. Song Editor</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="sect1"><a href="#chpt.song_editor.main_controls">8.1. Main Controls</a></span></dt><dt><span class="sect1"><a href="#chpt.song_editor.editor_modes">8.2. Song Editor modes</a></span></dt><dd><dl><dt><span class="sect2"><a href="#chpt.song_editor.editor_modes.select">8.2.1. Select Mode</a></span></dt><dt><span class="sect2"><a href="#chpt.song_editor.editor_modes.draw">8.2.2. Draw Mode</a></span></dt><dt><span class="sect2"><a href="#chpt.song_editor.editor_modes.song_mode">8.2.3. Song Mode</a></span></dt><dt><span class="sect2"><a href="#chpt.song_editor.editor_modes.pattern_mode">8.2.4. Selected Pattern Mode</a></span></dt><dt><span class="sect2"><a href="#chpt.song_editor.editor_modes.stacked">8.2.5. Stacked Pattern Mode</a></span></dt></dl></dd><dt><span class="sect1"><a href="#chpt.song_editor.sidebar">8.3. Sidebar</a></span></dt><dt><span class="sect1"><a href="#chpt.song_editor.timeline">8.4. Timeline</a></span></dt><dt><span class="sect1"><a href="#chpt.song_editor.tag">8.5. Tags</a></span></dt><dt><span class="sect1"><a href="#chpt.song_editor.playbackTrack">8.6. Playback Track</a></span></dt><dt><span class="sect1"><a href="#sect.song_editor.automation_path">8.7. Automation Path</a></span></dt></dl></div><p>
</p><div class="figure"><a name="fig.song_editor"></a><p class="title"><b>Figure 8.1. The Song Editor</b></p><div class="figure-contents"><div class="mediaobject"><img src="img/generated_en/songEditorBackground.png" alt="The Song Editor"></div></div></div><p><br class="figure-break">
</p><p>
The Song Editor gives an overview of the whole song
(e.g. intro, verse, bridge, chorus and so on). Each
colored square on this panel represents a playing pattern.
It gives you complete freedom to add/remove
patterns to the song and to move or copy any part of your
song.
</p><p>
Columns represent time periods within the song. While they're
shown as the same width in the Song Editor, the length of time
taken to play through a column is set by the length of the
pattern or patterns which are active and playing during that
time slot.
</p><p>
Multiple patterns can be active at the same time in a
column, and they will play simultaneously. This allows
instrument parts to be separated out into different patterns,
or to add ornamentation or fills on top of basic patterns
without duplicating the basics into both patterns.
</p><p>
In the case of multiple patterns of different lengths in one
column only the largest one(s) will be represented by a
square. The shorter patterns are indicated by rectangles whose
width indicate their length relative to the longest one.
</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
You can alter the colors of the squares using the <a class="link" href="#chpt.preferences.appearance_tab.interface" title="5.5.1. Interface">Interface</a> tab in the Appearance tab of the Preferences.
</p></td></tr></table></div><div class="informalfigure"><a name="fig.song_editor.song_ruler"></a><div class="mediaobject"><img src="img/generated_en/songEditorPositionRuler.png" alt='Picture of a part of the Song Ruler used for naviagation. It indicates the position of certains bars by their number - "1", "5", "9", "13", "17". All remaining bars are indicated with a vertical line - "|".'></div></div><p>
In addition to the transport control provided in the <a class="link" href="#sect.main_toolbar.transport_control" title="7.1. Transport Control">Main Toolbar</a> you can use the <span class="bold"><strong>Song Ruler</strong></span> to navigatw. This is the area above the grid and right of the <a class="link" href="#chpt.song_editor.main_controls" title="8.1. Main Controls">Main Controls</a>. The position clicked will be rounded to the nearest pattern beginning (indicated by the faint playhead shown upon hovering) and transport will be relocated there.
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
Navigation in Hydrogen is always quantized. It is only possible to move forward / backwards or locate to whole patterns.
</p></td></tr></table></div><p>
</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
You can also locate the keyboard cursor (see <a class="xref" href="#chpt.keyboard_and_mouse" title="Chapter 3. Keyboard and Mouse">Chapter 3</a>) to a desired pattern and press <a class="link" href="#chap.shortcuts.ctrl_space"><span class="keycap"><strong>Ctrl</strong></span> + <span class="keycap"><strong>Space</strong></span></a> to relocate to this position.
</p></td></tr></table></div><p>
</p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="chpt.song_editor.main_controls"></a>8.1. Main Controls</h2></div></div></div><div class="informalfigure"><a name="fig.song_editor.main_controls"></a><div class="mediaobject"><img src="img/generated_en/bg_topPanel.png" alt='Main Controls for the Song Editor. From left to right: larger button bearing the text "CLEAR" for deleting all patterns, new pattern button, two buttons to move the selected pattern down and up, two buttons to activate the Draw and the Select mode, and the button to switch between Selected Pattern Mode and Stacked Pattern Mode.'></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="inlinemediaobject"><img src="img/generated_en/btn_clear_off.png" alt='Grey button containing the text "CLEAR".'></span> : deletes all patterns
(asks for confirmation!).
</p></li><li class="listitem"><p><span class="inlinemediaobject"><img src="img/generated_en/btn_new_on.png" alt="Grey button containing a plus sign."></span> : creates a new pattern (and asks for a name).
</p></li><li class="listitem"><p><span class="inlinemediaobject"><img src="img/generated_en/btn_updown.png" alt="Two grey button vertically aligned. The lower one contains a black arrow tip pointing downwards and the upper one pointing upwards."></span> : moves currently selected pattern
up or down.
</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
You can also <span class="emphasis"><em>drag-and-drop</em></span> a pattern up/down in
the pattern list.
</p></td></tr></table></div></li><li class="listitem"><p>
<span class="inlinemediaobject"><img src="img/generated_en/btn_select.png" alt="Grey button containing a black brush."></span>
: indicates that Hydrogen is in <a class="link" href="#chpt.song_editor.editor_modes.draw" title="8.2.2. Draw Mode">Draw Mode</a> or
<span class="inlinemediaobject"><img src="img/generated_en/btn_draw.png" alt="Grey button with pointer and dashed rectangle."></span>
: in <a class="link" href="#chpt.song_editor.editor_modes.select" title="8.2.1. Select Mode">Select Mode</a>.
</p></li><li class="listitem"><p><a name="chpt.song_editor.main_controls.pattern_editor_lock"></a>
<span class="inlinemediaobject"><img src="img/generated_en/btn_lock.png" alt="Grey button if a black lock."></span>
: locks the <a class="link" href="#chpt.pattern_editor" title="Chapter 9. Pattern Editor">Pattern Editor</a>.
</p><p>
If the Pattern Editor is locked, the user won't be able to select a pattern using the <a class="link" href="#chpt.song_editor.sidebar" title="8.3. Sidebar">Sidebar</a> of the Song Editor. Instead, Hydrogen will automatically select the currently playing pattern. In case there is more than one pattern present in the current row, the bottom-most one will be chosen.
</p><div class="tip" style="margin-left: 5%;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="img/admonitions/tip.svg"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
This becomes quite handy when <a class="link" href="#chpt.overview.recording" title="4.4. Recording in Hydrogen">recording</a> notes in Song Mode. Hydrogen will always select the pattern recorded notes will be inserted to.
</p></td></tr></table></div><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
This button is only enabled in <a class="link" href="#chpt.song_editor.editor_modes.song_mode" title="8.2.3. Song Mode">Song Mode</a>. In <a class="link" href="#chpt.song_editor.editor_modes.pattern_mode" title="8.2.4. Selected Pattern Mode">Pattern Mode</a> recorded notes are always added to the currently selected pattern.
</p></td></tr></table></div></li><li class="listitem"><p><a name="chpt.song_editor.main_controls.selected_vs_stacked"></a><span class="inlinemediaobject"><img src="img/generated_en/btn_pattern_mode.png" alt="Grey button with a horizontal black line."></span> : indicates that Hydrogen is in <span class="emphasis"><em>Selected Pattern Mode</em></span> or
<span class="inlinemediaobject"><img src="img/generated_en/btn_stacked_mode.png" alt="Grey button with three horizontal black lines stacked vertically."></span>
: in <a class="link" href="#chpt.song_editor.editor_modes.stacked" title="8.2.5. Stacked Pattern Mode">Stacked Pattern Mode</a>.
</p><div class="note" style="margin-left: 5%;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="img/admonitions/note.svg"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
These two buttons will only be enabled in <a class="link" href="#chpt.song_editor.editor_modes.pattern_mode" title="8.2.4. Selected Pattern Mode">Pattern Mode</a>. In <a class="link" href="#chpt.song_editor.editor_modes.song_mode" title="8.2.3. Song Mode">Song Mode</a> playing patterns are solely determined by the grid in the Song Editor.
</p></td></tr></table></div></li></ul></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="chpt.song_editor.editor_modes"></a>8.2. Song Editor modes</h2></div></div></div><p>