|
9 | 9 | [attr.data-string]="string"
|
10 | 10 | [attr.data-fret]="fret"
|
11 | 11 | [attr.data-degree]="(fretMap | getFretFromFretMap: stringName:fret:stringNamesAreCaseSensitive)?.degree"
|
12 |
| - [attr.data-display-note]="(fretMap | getFretFromFretMap: stringName:fret:stringNamesAreCaseSensitive)?.displayName" |
| 12 | + [attr.data-display-note]="noteNameDisplay === NoteDisplays.noteNames ? ((fretMap | getFretFromFretMap: stringName:fret:stringNamesAreCaseSensitive)?.displayName) : ((fretMap | getFretFromFretMap: stringName:fret:stringNamesAreCaseSensitive)?.degreeNumber)" |
13 | 13 | [attr.data-mode]="mode"
|
| 14 | + [attr.data-highlight]="highlightedDegrees.has((fretMap | getFretFromFretMap: stringName:fret:stringNamesAreCaseSensitive)?.degree)" |
14 | 15 | (click)="playbackService.playNote(stringName, fret)"
|
15 | 16 | ></div>
|
16 | 17 | </ng-container>
|
|
22 | 23 | </ng-container>
|
23 | 24 | </ng-template>
|
24 | 25 |
|
25 |
| -<div class="fretboard__toggle"> |
26 |
| - <button class="fretboard__toggleButton fretboard__toggleButton--left" |
27 |
| - [class.fretboard__toggleButton--active]="fretMode === fretModes.twelve" |
28 |
| - (click)="setFretMode(fretModes.twelve)">12 frets |
29 |
| - </button> |
30 |
| - <button class="fretboard__toggleButton fretboard__toggleButton--middle-left" |
31 |
| - [class.fretboard__toggleButton--active]="fretMode === fretModes.twentyFour" |
32 |
| - (click)="setFretMode(fretModes.twentyFour)">24 frets |
33 |
| - </button> |
34 |
| - <button class="fretboard__toggleButton fretboard__toggleButton--middle-right" |
35 |
| - [class.fretboard__toggleButton--active]="orientation === orientations.left" |
36 |
| - (click)="setOrientation(orientations.left)"> |
37 |
| - <span class="toggle__shortLabel">LH</span> |
38 |
| - <span class="toggle__longLabel">Left handed</span> |
39 |
| - </button> |
40 |
| - <button class="fretboard__toggleButton fretboard__toggleButton--right" |
41 |
| - [class.fretboard__toggleButton--active]="orientation === orientations.right" |
42 |
| - (click)="setOrientation(orientations.right)"> |
43 |
| - <span class="toggle__shortLabel">RH</span> |
44 |
| - <span class="toggle__longLabel">Right handed</span> |
45 |
| - </button> |
46 |
| -</div> |
47 |
| - |
48 | 26 | <div class="arrowHint">
|
49 | 27 | <span class="arrowHint__arrow"
|
50 |
| - [class.fretboard__flip]="orientation === orientations.left"></span> |
| 28 | + [class.fretboard__flip]="orientation === Orientations.left"></span> |
51 | 29 | </div>
|
52 | 30 |
|
53 | 31 | <div class="fretboard__container"
|
54 |
| - [class.fretboard__flip]="orientation === orientations.left" |
55 |
| - [class.fretboard__wide]="fretMode === fretModes.twentyFour"> |
56 |
| - |
| 32 | + [class.fretboard__flip]="orientation === Orientations.left" |
| 33 | + [class.fretboard__wide]="fretMode === FretModes.twentyFour"> |
57 | 34 |
|
58 | 35 | <div class="fretboard"
|
59 |
| - [class.fretboard__leftHanded]="orientation === orientations.left" |
60 |
| - [class.fretboard__24]="fretMode === fretModes.twentyFour"> |
| 36 | + [class.fretboard__leftHanded]="orientation === Orientations.left" |
| 37 | + [class.fretboard__24]="fretMode === FretModes.twentyFour"> |
61 | 38 |
|
62 | 39 | <ng-container
|
63 | 40 | [ngTemplateOutlet]="string"
|
|
88 | 65 | [ngTemplateOutlet]="string"
|
89 | 66 | [ngTemplateOutletContext]="{ stringName: 'E', string: 'E' }"
|
90 | 67 | ></ng-container>
|
91 |
| - |
92 | 68 | </div>
|
93 | 69 |
|
94 |
| - |
95 | 70 | <div class="fretboard"
|
96 |
| - [class.fretboard__leftHanded]="orientation === orientations.left" |
97 |
| - [class.fretboard__24]="fretMode === fretModes.twentyFour"> |
| 71 | + [class.fretboard__leftHanded]="orientation === Orientations.left" |
| 72 | + [class.fretboard__24]="fretMode === FretModes.twentyFour"> |
98 | 73 | <ng-container
|
99 | 74 | [ngTemplateOutlet]="fretboardHelp"
|
100 | 75 | ></ng-container>
|
101 | 76 | </div>
|
102 | 77 | </div>
|
103 | 78 |
|
104 |
| -<p class="fretonator__playCta"> |
105 |
| - <span class="fretonator__playCtaIcon"> |
106 |
| - <app-speaker-svg></app-speaker-svg> |
107 |
| - </span> |
108 |
| - Tap notes on the fretboard for sound! |
109 |
| -</p> |
| 79 | +<div class="controlPanel"> |
| 80 | + <div class="controlPanel__section"> |
| 81 | + <span class="controlPanel__title" *ngIf="!(mode | displayScaleDegrees)">Configure scale degrees</span> |
| 82 | + <span class="controlPanel__title" *ngIf="mode | displayScaleDegrees">Highlight scale degrees</span> |
| 83 | + <app-scale-degrees |
| 84 | + *ngIf="mode | displayScaleDegrees" |
| 85 | + [tonicActive]="highlightedDegrees.has(ScaleDegrees.tonic)" |
| 86 | + [mediantActive]="highlightedDegrees.has(ScaleDegrees.mediant)" |
| 87 | + [dominantActive]="highlightedDegrees.has(ScaleDegrees.dominant)" |
| 88 | + (setTonicHighlight)="toggleHighlight(ScaleDegrees.tonic)" |
| 89 | + (setMediantHighlight)="toggleHighlight(ScaleDegrees.mediant)" |
| 90 | + (setDominantHighlight)="toggleHighlight(ScaleDegrees.dominant)" |
| 91 | + ></app-scale-degrees> |
| 92 | + |
| 93 | + <div class="button__group"> |
| 94 | + <button class="fretboard__toggleButton" |
| 95 | + [class.fretboard__toggleButton--active]="noteNameDisplay === NoteDisplays.noteNames" |
| 96 | + (click)="toggleNoteDisplay(NoteDisplays.noteNames)">Note names |
| 97 | + </button> |
| 98 | + <button (click)="toggleNoteDisplay(NoteDisplays.numbers)" |
| 99 | + class="fretboard__toggleButton" |
| 100 | + [class.fretboard__toggleButton--active]="noteNameDisplay === NoteDisplays.numbers">Note numbers |
| 101 | + </button> |
| 102 | + </div> |
| 103 | + </div> |
| 104 | + |
| 105 | + <div class="controlPanel__section"> |
| 106 | + <span class="controlPanel__title controlPanel__title--right">Configure fretboard</span> |
| 107 | + <app-fretboard-config |
| 108 | + [fretMode]="fretMode" |
| 109 | + [orientation]="orientation" |
| 110 | + (setFretMode)="setFretMode($event)" |
| 111 | + (setOrientation)="setOrientation($event)" |
| 112 | + ></app-fretboard-config> |
| 113 | + </div> |
| 114 | +</div> |
0 commit comments