(tex: string, applyEffect: (beat: Beat) => void)
| 2007 | |
| 2008 | describe('effect-note-durations', () => { |
| 2009 | function test(tex: string, applyEffect: (beat: Beat) => void) { |
| 2010 | const score = ScoreLoader.loadAlphaTex(tex); |
| 2011 | let beat: Beat | null = score.tracks[0].staves[0].bars[0].voices[0].beats[0]; |
| 2012 | while (beat) { |
| 2013 | applyEffect(beat); |
| 2014 | beat = beat.nextBeat; |
| 2015 | } |
| 2016 | |
| 2017 | const settings = new Settings(); |
| 2018 | settings.player.playTripletFeel = true; |
| 2019 | |
| 2020 | score.finish(settings); |
| 2021 | |
| 2022 | const flat = new FlatMidiEventGenerator(); |
| 2023 | const generator: MidiFileGenerator = new MidiFileGenerator(score, settings, flat); |
| 2024 | generator.generate(); |
| 2025 | |
| 2026 | const noteEvents = flat.midiEvents |
| 2027 | .filter<FlatMidiEvent>(e => e instanceof FlatNoteEvent) |
| 2028 | .map( |
| 2029 | e => |
| 2030 | `Note: ${Tuning.getTextForTuning((e as FlatNoteEvent).key, true)} ${(e as FlatNoteEvent).length}` |
| 2031 | ); |
| 2032 | |
| 2033 | expect(noteEvents).toMatchSnapshot(); |
| 2034 | } |
| 2035 | |
| 2036 | function addTrill(b: Beat) { |
| 2037 | if (b.graceType !== GraceType.None) { |
no test coverage detected