Commit 1f80b9f

ISSOtm committed on
Document subpatterns
commit 1f80b9fddd08bc2a72bd0570594ab18fd036e253 parent f5e375d
2 changed files +52−3
Modifiedmanual/src/hUGETracker/subpatterns.md +49−0
@@ -1 +1,50 @@
1 # Subpatterns 1 # Subpatterns
2
3 **TODO: insert screenshot**
4
5 Subpatterns are one of hUGETracker's most powerful features.
6 They are like mini-tracker grids attached to instruments, which allow you to modulate them quite precisely.
7 They fulfill the same role as instrument macros in FamiTracker.
8
9 Rows are composed of three columns, similiar *but not identical* to the tracker grid's:
10 - an offset,
11 - an optional jump to a specific row,
12 - and an effect.
13
14 The offset is a positive number of semitones that is applied to the base note (though only for this row).
15
16 Subpatterns automatically loop back to the beginning, or can be made to jump backwards earlier via the jump column.
17 If you do not want this, you can make a row that jumps to itself.
18
19 ## Interaction with the "regular" tracker grid
20
21 Subpatterns override effects `0`, `1`, `2`, `3` (which will instead jump directly to the target note), and `4`.
22
23 ## Effects
24
25 Effects in subpatterns work just like in the regular tracker grid ([reference](./effect-reference.md)), except for two things:
26 - each effect only lasts for a single tick (just like the rows);
27 - not all effects can be used in subpatterns:
28
29 <style>
30 .y { color: green; } .n { color: red; }
31 </style>
32
33 Effect | Name | Usable? | Notes
34 -------|-------------------|----------------------|-------
35 `0xy` | Arpeggio | <b class="y">Yes</b> | Technically you can use this, but 1) you would have to use it on many rows consecutively, and 2) you can just use the offset column instead.
36 `1xx` | Portamento up | <b class="y">Yes</b> | The "units" are finer than semitones, so this can be used to increase granularity; it is reset on the following row, however.
37 `2xx` | Portamento down | <b class="y">Yes</b> | Same as above.
38 `3xx` | Tone portamento | <b class="n">No</b> | There is no "target note" in the first place.
39 `4xy` | Vibrato | <b class="y">Yes</b> | This can give finer control than the offset column, but you will have to use this effect on many consecutive rows, and the portamento effects may work better in the first place.
40 `5xx` | Set master volume | <b class="y">Yes</b> |
41 `6xy` | Call routine | <b class="y">Yes</b> |
42 `7xx` | Note delay | <b class="n">No</b> | There is no note in the first place.
43 `8xx` | Set panning | <b class="y">Yes</b> |
44 `9xx` | Change timbre | <b class="y">Yes</b> |
45 `Axy` | Volume slide | <b class="y">Yes</b> | `C` may be more appropriate, since this will only be active for a single tick.
46 `Bxx` | Position jump | <b class="n">No</b> | Use the jump column instead.
47 `Cxy` | Set volume | <b class="y">Yes</b> |
48 `Dxx` | Pattern break | <b class="n">No</b> | Use the jump column instead.
49 `Exx` | Note cut | <b class="n">No</b> | Use `C00` instead.
50 `Fxx` | Set tempo | <b class="y">Yes</b> | ...but why would you do this?
Modifiedmanual/src/hUGETracker/tracker-grid.md +3−3
@@ -28,7 +28,7 @@ use { stroke: red; stroke-width: 6px; }
28 28
29 <figure> 29 <figure>
30 <svg width="191" height="623"> 30 <svg width="191" height="623">
31 <image href="img/pattern.png"/> 31 <image href="../img/pattern.png"/>
32 <rect x="0" y="32" width="50" height="589" class="note"/> 32 <rect x="0" y="32" width="50" height="589" class="note"/>
33 <rect x="58" y="32" width="34" height="589" class="instr"/> 33 <rect x="58" y="32" width="34" height="589" class="instr"/>
34 <rect x="130" y="32" width="50" height="589" class="fx"/> 34 <rect x="130" y="32" width="50" height="589" class="fx"/>
@@ -60,7 +60,7 @@ The numeric keys, as well as keys <kbd>A</kbd> through <kbd>F</kbd>, enter value
60 <polyline points="-13,13 0,0 13,13" fill="none"/> 60 <polyline points="-13,13 0,0 13,13" fill="none"/>
61 </g> 61 </g>
62 </defs> 62 </defs>
63 <image href="img/highlighted_row.png"/> 63 <image href="../img/highlighted_row.png"/>
64 <use href="#arrow" x="300" y="65"/> 64 <use href="#arrow" x="300" y="65"/>
65 </svg> 65 </svg>
66 66
@@ -68,7 +68,7 @@ While a song is playing, the highlighted row, representing the row currently bei
68 The tempo of your song (speed at which the highlighted row moves) can be adjusted in the General tab. 68 The tempo of your song (speed at which the highlighted row moves) can be adjusted in the General tab.
69 69
70 <svg width="780" height="251"> 70 <svg width="780" height="251">
71 <image href="img/channel_headers.png"/> 71 <image href="../img/channel_headers.png"/>
72 <use href="#arrow" x="15" y="50"/> 72 <use href="#arrow" x="15" y="50"/>
73 <use href="#arrow" x="407" y="50"/> 73 <use href="#arrow" x="407" y="50"/>
74 </svg> 74 </svg>