SmoOperation is a collection of static methods that operate on/change/transform the music. Most methods take the score, a selection or selection array, and the parameters of the operation.

### Hierarchy

- SmoOperation

## Index

### Constructors

- constructor

### Methods

- changeInstrument
- getDefaultSlurDirection

## Constructors

### constructor

- new SmoOperation(): SmoOperation

- #### Returns SmoOperation

## Methods

### Static changeInstrument

- changeInstrument(instrument: SmoInstrument, selections: SmoSelection[]): void

- - Defined in src/smo/xform/operations.ts:991

  Compute new map based on current instrument selections, adjusting existing instruments as required

  #### Parameters

  - ##### instrument: SmoInstrument

  - ##### selections: SmoSelection[]

  #### Returns void

### Static getDefaultSlurDirection

- getDefaultSlurDirection(score: SmoScore, fromSelector: SmoSelector, toSelector: SmoSelector, forcePosition: number, forceOrientation: number): SmoSlurParams

- - Defined in src/smo/xform/operations.ts:836

  Heuristically determine how a slur should be formatted based on the notes. Determine control points, offset, and alignment

  ## Note: Vexflow slurs consider `top` to mean the furthest point from the note head, which could be the top

  or the bottom of the note. It also considers yoffset to be negative if inverted is set. Head means close to the note head.

  #### Parameters

  - ##### score: SmoScore

  - ##### fromSelector: SmoSelector

  - ##### toSelector: SmoSelector

  - ##### forcePosition: number

  - ##### forceOrientation: number

  #### Returns SmoSlurParams

Generated using TypeDoc