This is the interface for VexFlow library that actually does the engraving.

### Hierarchy

- VxMeasure

## Index

### Constructors

- constructor

### Methods

- _createAccidentals
- _createVexNote
- applyStemDirection
- createMeasureModifiers
- createVexBeamGroups
- createVexNotes
- createVexTuplets
- format
- preFormat
- render

## Constructors

### constructor

- new VxMeasure(context: SvgPage, selection: SmoSelection, printing: boolean, softmax: number): VxMeasure

- - Defined in src/render/vex/vxMeasure.ts:52

  #### Parameters

  - ##### context: SvgPage

  - ##### selection: SmoSelection

  - ##### printing: boolean

  - ##### softmax: number

  #### Returns VxMeasure

## Methods

### _createAccidentals

- _createAccidentals(smoNote: SmoNote, vexNote: any, tickIndex: number, voiceIx: number): void

- - Defined in src/render/vex/vxMeasure.ts:106

  Create accidentals based on the active key and previous accidentals in this voice

  #### Parameters

  - ##### smoNote: SmoNote

  - ##### vexNote: any

  - ##### tickIndex: number

  - ##### voiceIx: number

  #### Returns void

### _createVexNote

- _createVexNote(smoNote: SmoNote, tickIndex: number, voiceIx: number): any

- - Defined in src/render/vex/vxMeasure.ts:305

  convert a smoNote into a vxNote so it can be rasterized

  #### Parameters

  - ##### smoNote: SmoNote

  - ##### tickIndex: number

    used to calculate accidental

  - ##### voiceIx: number

  #### Returns any

### applyStemDirection

- applyStemDirection(vxParams: any, voiceIx: number, flagState: number): void

- - Defined in src/render/vex/vxMeasure.ts:78

  decide whether to force stem direction for multi-voice, or use the default.

  todo

    use x position of ticks in other voices, pitch of note, to avoid collisions

  #### Parameters

  - ##### vxParams: any

    params that go do the VX stem constructor

  - ##### voiceIx: number

  - ##### flagState: number

  #### Returns void

### createMeasureModifiers

- createMeasureModifiers(): void

- - Defined in src/render/vex/vxMeasure.ts:522

  create the modifiers for the stave itself, bar lines etc.

  #### Returns void

### createVexBeamGroups

- createVexBeamGroups(vix: number): void

- - Defined in src/render/vex/vxMeasure.ts:447

  Group the notes for beaming and create Vex beam objects

  #### Parameters

  - ##### vix: number

    voice index

  #### Returns void

### createVexNotes

- createVexNotes(voiceIx: number): void

- - Defined in src/render/vex/vxMeasure.ts:423

  create an a array of VF.StaveNote objects to render the active voice.

  #### Parameters

  - ##### voiceIx: number

  #### Returns void

### createVexTuplets

- createVexTuplets(vix: number): void

- - Defined in src/render/vex/vxMeasure.ts:490

  Create the VF tuplet objects based on the smo tuplet objects

  #### Parameters

  - ##### vix: number

  #### Returns void

### format

- format(voices: any[]): void

- - Defined in src/render/vex/vxMeasure.ts:666

  Create the Vex formatter that calculates the X and Y positions of the notes. A formatter may actually span multiple staves for justified staves. The notes are drawn in their individual vxMeasure objects but formatting is done once for all justified staves

  #### Parameters

  - ##### voices: any[]

    Voice objects from VexFlow

  #### Returns void

### preFormat

- preFormat(): void

- - Defined in src/render/vex/vxMeasure.ts:578

  Create all Vex notes and modifiers. We defer the format and rendering so we can align across multiple staves

  #### Returns void

### render

- render(): void

- - Defined in src/render/vex/vxMeasure.ts:682

  render is called after format. Actually draw the things.

  #### Returns void

Generated using TypeDoc