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

Function test

packages/alphatab/test/audio/MidiFileGenerator.test.ts:2009–2034  ·  view source on GitHub ↗
(tex: string, applyEffect: (beat: Beat) => void)

Source from the content-addressed store, hash-verified

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) {

Callers 1

Calls 7

generateMethod · 0.95
loadAlphaTexMethod · 0.80
filterMethod · 0.80
getTextForTuningMethod · 0.80
toMatchSnapshotMethod · 0.80
finishMethod · 0.45
mapMethod · 0.45

Tested by

no test coverage detected