|
1 |
| - <div class="scaleMap__row"> |
2 |
| - <div class="scaleMap__degrees" *ngIf="mode | displayScaleDegrees"> |
3 |
| - <h4 class="scaleMap__title">Degrees</h4> |
4 |
| - <div class="degreesDisplay"> |
5 |
| - <span class="degreesDisplay__degree degreesDisplay__degree--tonic">1</span> |
6 |
| - <span class="degreesDisplay__degree degreesDisplay__degree--mediant" |
7 |
| - >3</span |
8 |
| - > |
9 |
| - <span class="degreesDisplay__degree degreesDisplay__degree--dominant" |
10 |
| - >5</span> |
11 |
| - </div> |
12 |
| - <button class="scaleDegrees__toggle" |
13 |
| - aria-label="Scale Degrees Info Toggle" |
14 |
| - type="button" |
15 |
| - (click)="toggleScaleMapInfo()">{{scaleDegreesToggleText}} |
16 |
| - </button> |
| 1 | +<div class="scaleMap__row"> |
| 2 | + <div class="scaleDisplay"> |
| 3 | + <h4 class="scaleDisplay__title" |
| 4 | + [class.infoHighlight]="isTheoretical"><span *ngIf="isTheoretical">Theoretical </span>Scale</h4> |
| 5 | + <div class="scaleDisplay__notes"> |
| 6 | + <ng-container *ngFor="let scaleNote of scale; let i = index"> |
| 7 | + <h5 class="scaleDisplay__note"> |
| 8 | + {{ scaleNote }} |
| 9 | + <span *ngIf="i < scale.length - 1"> - </span> |
| 10 | + </h5> |
| 11 | + </ng-container> |
17 | 12 | </div>
|
| 13 | + <button *ngIf="isTheoretical" |
| 14 | + class="button__infoToggle" |
| 15 | + aria-label="Theoretical Scales Info Toggle" |
| 16 | + type="button" |
| 17 | + (click)="toggleTheoreticalScaleInfo()">{{theoreticalScalesToggleText}} |
| 18 | + </button> |
| 19 | + </div> |
18 | 20 |
|
19 |
| - <div class="scaleDisplay"> |
20 |
| - <h4 class="scaleDisplay__title">Scale</h4> |
21 |
| - <div class="scaleDisplay__notes"> |
22 |
| - <ng-container *ngFor="let scaleNote of scale; let i = index"> |
23 |
| - <h5 class="scaleDisplay__note"> |
24 |
| - {{ scaleNote }} |
25 |
| - <span *ngIf="i < scale.length - 1"> - </span> |
26 |
| - </h5> |
27 |
| - </ng-container> |
28 |
| - </div> |
| 21 | + <div class="scaleMap__degrees" *ngIf="mode | displayScaleDegrees"> |
| 22 | + <h4 class="scaleMap__title">Degrees</h4> |
| 23 | + <div class="degreesDisplay"> |
| 24 | + <span class="degreesDisplay__degree degreesDisplay__degree--tonic">1</span> |
| 25 | + <span class="degreesDisplay__degree degreesDisplay__degree--mediant" |
| 26 | + >3</span |
| 27 | + > |
| 28 | + <span class="degreesDisplay__degree degreesDisplay__degree--dominant" |
| 29 | + >5</span> |
29 | 30 | </div>
|
| 31 | + <button class="button__infoToggle" |
| 32 | + aria-label="Scale Degrees Info Toggle" |
| 33 | + type="button" |
| 34 | + (click)="toggleScaleMapInfo()">{{scaleDegreesToggleText}} |
| 35 | + </button> |
30 | 36 | </div>
|
| 37 | +</div> |
31 | 38 |
|
32 |
| - <div class="scaleMapInfo" |
33 |
| - [attr.aria-expanded]="showScaleMapInfo" |
34 |
| - *ngIf="showScaleMapInfo"> |
35 |
| - <h2 class="scaleMapInfo__title">About Scale Degrees |
36 |
| - <button class="scaleMapInfo__close" |
37 |
| - aria-label="Scale Degrees Info Close" |
38 |
| - type="button" |
39 |
| - (click)="toggleScaleMapInfo()"> |
40 |
| - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"> |
41 |
| - <path fill="#474350" fill-rule="evenodd" |
42 |
| - d="M14 1.41L12.59 0 7 5.59 1.41 0 0 1.41 5.59 7 0 12.59 1.41 14 7 8.41 12.59 14 14 12.59 8.41 7z"></path> |
43 |
| - </svg> |
44 |
| - </button> |
45 |
| - </h2> |
46 |
| - <p class="scaleMapInfo__copy"> |
47 |
| - Each of the 7 notes of a mode or scale is called a <em>scale degree</em>, and has a specific name. |
48 |
| - </p> |
49 |
| - <ol class="scaleMapInfo__list"> |
50 |
| - <li class="scaleMapInfo__listItem">Tonic</li> |
51 |
| - <li class="scaleMapInfo__listItem">Supertonic</li> |
52 |
| - <li class="scaleMapInfo__listItem">Mediant</li> |
53 |
| - <li class="scaleMapInfo__listItem">Subdominant</li> |
54 |
| - <li class="scaleMapInfo__listItem">Dominant</li> |
55 |
| - <li class="scaleMapInfo__listItem">Submediant</li> |
56 |
| - <li class="scaleMapInfo__listItem">Leading note</li> |
57 |
| - </ol> |
58 |
| - <p class="scaleMapInfo__copy"> |
59 |
| - Notes 1, 3 and 5 of a scale make up the <em>tonic triad</em>, which is simply a chord of three notes built on |
60 |
| - the first note of the scale. This is the the most important chord to learn when jamming as it is the <em>home</em> |
61 |
| - chord - meaning it's usually the chord that the jam track starts on and returns to often. |
62 |
| - </p> |
63 |
| - <p class="scaleMapInfo__copy"> |
64 |
| - Scale degrees 1, 3, and 5 are highlighted on the fretboard to give you a helpful point of reference when learning |
65 |
| - the mode. |
66 |
| - </p> |
67 |
| - </div> |
| 39 | +<div class="infoBlock" |
| 40 | + [attr.aria-expanded]="showTheoreticalScalesInfo" |
| 41 | + *ngIf="showTheoreticalScalesInfo"> |
| 42 | + <h2 class="infoBlock__title">About Theoretical Scales |
| 43 | + <button class="infoBlock__close" |
| 44 | + aria-label="Theoretical Scales Info Close" |
| 45 | + type="button" |
| 46 | + (click)="toggleTheoreticalScaleInfo()"> |
| 47 | + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"> |
| 48 | + <path fill="#474350" fill-rule="evenodd" |
| 49 | + d="M14 1.41L12.59 0 7 5.59 1.41 0 0 1.41 5.59 7 0 12.59 1.41 14 7 8.41 12.59 14 14 12.59 8.41 7z"></path> |
| 50 | + </svg> |
| 51 | + </button> |
| 52 | + </h2> |
| 53 | + <p class="infoBlock__copy">A theoretical scale or <em>impossible key</em> is a key whose key signature has at least |
| 54 | + one double flat (𝄫) or double sharp (x).</p> |
| 55 | + <p class="infoBlock__copy">{{modeDisplayString}} is a theoretical scale and looks unnecessarily complicated. We can make things simpler!</p> |
| 56 | + <p class="infoBlock__copy">Switch to the enharmonic equivalent note of {{scale[0] | getEnharmonicEquivalent }} to make |
| 57 | + the notes easier to read. (It'll sound exactly the same!)</p> |
| 58 | + <a class="actionButton" |
| 59 | + (click)="toggleTheoreticalScaleInfo()" |
| 60 | + [routerLink]="note | getEnharmonicRouterLink: noteExtenderString: mode" |
| 61 | + >Switch to {{scale[0] | getEnharmonicEquivalent }}</a> |
| 62 | +</div> |
| 63 | + |
| 64 | +<div class="infoBlock" |
| 65 | + [attr.aria-expanded]="showScaleMapInfo" |
| 66 | + *ngIf="showScaleMapInfo"> |
| 67 | + <h2 class="infoBlock__title">About Scale Degrees |
| 68 | + <button class="infoBlock__close" |
| 69 | + aria-label="Scale Degrees Info Close" |
| 70 | + type="button" |
| 71 | + (click)="toggleScaleMapInfo()"> |
| 72 | + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"> |
| 73 | + <path fill="#474350" fill-rule="evenodd" |
| 74 | + d="M14 1.41L12.59 0 7 5.59 1.41 0 0 1.41 5.59 7 0 12.59 1.41 14 7 8.41 12.59 14 14 12.59 8.41 7z"></path> |
| 75 | + </svg> |
| 76 | + </button> |
| 77 | + </h2> |
| 78 | + <p class="infoBlock__copy"> |
| 79 | + Each of the 7 notes of a mode or scale is called a <em>scale degree</em>, and has a specific name. |
| 80 | + </p> |
| 81 | + <ol class="infoBlock__list"> |
| 82 | + <li class="infoBlock__listItem">Tonic</li> |
| 83 | + <li class="infoBlock__listItem">Supertonic</li> |
| 84 | + <li class="infoBlock__listItem">Mediant</li> |
| 85 | + <li class="infoBlock__listItem">Subdominant</li> |
| 86 | + <li class="infoBlock__listItem">Dominant</li> |
| 87 | + <li class="infoBlock__listItem">Submediant</li> |
| 88 | + <li class="infoBlock__listItem">Leading note</li> |
| 89 | + </ol> |
| 90 | + <p class="infoBlock__copy"> |
| 91 | + Notes 1, 3 and 5 of a scale make up the <em>tonic triad</em>, which is simply a chord of three notes built on |
| 92 | + the first note of the scale. This is the the most important chord to learn when jamming as it is the <em>home</em> |
| 93 | + chord - meaning it's usually the chord that the jam track starts on and returns to often. |
| 94 | + </p> |
| 95 | + <p class="infoBlock__copy"> |
| 96 | + Scale degrees 1, 3, and 5 are highlighted on the fretboard to give you a helpful point of reference when learning |
| 97 | + the mode. |
| 98 | + </p> |
| 99 | +</div> |
0 commit comments