(
cx: number,
cy: number,
canvas: ICanvas,
h: TupletGroup,
beatElement: BeatSubElement,
bracketsAsArcs: boolean
)
| 218 | } |
| 219 | |
| 220 | private _paintTupletHelper( |
| 221 | cx: number, |
| 222 | cy: number, |
| 223 | canvas: ICanvas, |
| 224 | h: TupletGroup, |
| 225 | beatElement: BeatSubElement, |
| 226 | bracketsAsArcs: boolean |
| 227 | ): void { |
| 228 | const res = this.resources; |
| 229 | const oldAlign: TextAlign = canvas.textAlign; |
| 230 | const oldBaseLine = canvas.textBaseline; |
| 231 | canvas.color = h.voice.index === 0 ? this.resources.mainGlyphColor : this.resources.secondaryGlyphColor; |
| 232 | canvas.textAlign = TextAlign.Center; |
| 233 | canvas.textBaseline = TextBaseline.Middle; |
| 234 | let s: MusicFontSymbol[]; |
| 235 | const num: number = h.beats[0].tupletNumerator; |
| 236 | const den: number = h.beats[0].tupletDenominator; |
| 237 | // list as in Guitar Pro 7. for certain tuplets only the numerator is shown |
| 238 | if (num === 2 && den === 3) { |
| 239 | s = [MusicFontSymbol.Tuplet2]; |
| 240 | } else if (num === 3 && den === 2) { |
| 241 | s = [MusicFontSymbol.Tuplet3]; |
| 242 | } else if (num === 4 && den === 6) { |
| 243 | s = [MusicFontSymbol.Tuplet4]; |
| 244 | } else if (num === 5 && den === 4) { |
| 245 | s = [MusicFontSymbol.Tuplet5]; |
| 246 | } else if (num === 6 && den === 4) { |
| 247 | s = [MusicFontSymbol.Tuplet6]; |
| 248 | } else if (num === 7 && den === 4) { |
| 249 | s = [MusicFontSymbol.Tuplet7]; |
| 250 | } else if (num === 9 && den === 8) { |
| 251 | s = [MusicFontSymbol.Tuplet9]; |
| 252 | } else if (num === 10 && den === 8) { |
| 253 | s = [MusicFontSymbol.Tuplet1, MusicFontSymbol.Tuplet0]; |
| 254 | } else if (num === 11 && den === 8) { |
| 255 | s = [MusicFontSymbol.Tuplet1, MusicFontSymbol.Tuplet1]; |
| 256 | } else if (num === 12 && den === 8) { |
| 257 | s = [MusicFontSymbol.Tuplet1, MusicFontSymbol.Tuplet2]; |
| 258 | } else if (num === 13 && den === 8) { |
| 259 | s = [MusicFontSymbol.Tuplet1, MusicFontSymbol.Tuplet3]; |
| 260 | } else { |
| 261 | s = []; |
| 262 | const zero = MusicFontSymbol.Tuplet0 as number; |
| 263 | if (num > 10) { |
| 264 | const tens = Math.floor(num / 10); |
| 265 | s.push((zero + tens) as MusicFontSymbol); |
| 266 | s.push((zero + (num - 10 * tens)) as MusicFontSymbol); |
| 267 | } else { |
| 268 | s.push((zero + num) as MusicFontSymbol); |
| 269 | } |
| 270 | |
| 271 | s.push(MusicFontSymbol.TupletColon); |
| 272 | |
| 273 | if (den > 10) { |
| 274 | const tens = Math.floor(den / 10); |
| 275 | s.push((zero + tens) as MusicFontSymbol); |
| 276 | s.push((zero + (den - 10 * tens)) as MusicFontSymbol); |
| 277 | } else { |
nothing calls this directly
no test coverage detected