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

Method finish

packages/alphatab/src/model/MasterBar.ts:448–476  ·  view source on GitHub ↗
(sharedDataBag: Map<string, unknown>)

Source from the content-addressed store, hash-verified

446 }
447
448 public finish(sharedDataBag: Map<string, unknown>) {
449 let beamingRules = this.beamingRules;
450 if (beamingRules) {
451 beamingRules.timeSignatureNumerator = this.timeSignatureNumerator;
452 beamingRules.timeSignatureDenominator = this.timeSignatureDenominator;
453 beamingRules.finish();
454 }
455
456 if (this.index > 0) {
457 this.start = this.previousMasterBar!.start + this.previousMasterBar!.calculateDuration();
458
459 // clear out equal rules to reduce memory consumption.
460 const previousRules = sharedDataBag.has('beamingRules')
461 ? (sharedDataBag.get('beamingRules')! as BeamingRules)
462 : undefined;
463
464 if (previousRules && previousRules.uniqueId === beamingRules?.uniqueId) {
465 this.beamingRules = undefined;
466 beamingRules = previousRules;
467 } else if (!beamingRules) {
468 beamingRules = previousRules;
469 }
470 }
471 this.actualBeamingRules = beamingRules;
472
473 if (this.beamingRules) {
474 sharedDataBag.set('beamingRules', beamingRules);
475 }
476 }
477}

Callers

nothing calls this directly

Calls 4

getMethod · 0.65
calculateDurationMethod · 0.45
hasMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected