MCPcopy Create free account
hub / github.com/CoderLine/alphaTab / getToneForText

Method getToneForText

packages/alphatab/src/model/ModelUtils.ts:177–237  ·  view source on GitHub ↗
(note: string)

Source from the content-addressed store, hash-verified

175 }
176
177 public static getToneForText(note: string): TuningParseResultTone | null {
178 const noteName = note.substring(0, 1);
179 const accidental = note.substring(1);
180
181 let noteValue: number;
182 let noteAccidenalMode: NoteAccidentalMode;
183
184 switch (noteName.toLowerCase()) {
185 case 'c':
186 noteValue = 0;
187 break;
188 case 'd':
189 noteValue = 2;
190 break;
191 case 'e':
192 noteValue = 4;
193 break;
194 case 'f':
195 noteValue = 5;
196 break;
197 case 'g':
198 noteValue = 7;
199 break;
200 case 'a':
201 noteValue = 9;
202 break;
203 case 'b':
204 noteValue = 11;
205 break;
206 default:
207 return null;
208 }
209
210 if (!ModelUtils.accidentalModeMapping.has(accidental)) {
211 return null;
212 }
213
214 noteAccidenalMode = ModelUtils.parseAccidentalMode(accidental);
215 switch (noteAccidenalMode) {
216 case NoteAccidentalMode.Default:
217 break;
218 case NoteAccidentalMode.ForceNone:
219 break;
220 case NoteAccidentalMode.ForceNatural:
221 break;
222 case NoteAccidentalMode.ForceSharp:
223 noteValue++;
224 break;
225 case NoteAccidentalMode.ForceDoubleSharp:
226 noteValue += 2;
227 break;
228 case NoteAccidentalMode.ForceFlat:
229 noteValue--;
230 break;
231 case NoteAccidentalMode.ForceDoubleFlat:
232 noteValue -= 2;
233 break;
234 }

Callers 3

_parseUnpitchedMethod · 0.80
_parsePitchMethod · 0.80
parseTuningMethod · 0.80

Calls 2

parseAccidentalModeMethod · 0.80
hasMethod · 0.45

Tested by

no test coverage detected