0.0.4 • Published 3 years ago
@ashfrench-dev/svelte-piano-roll v0.0.4
Svelte Piano Roll
- A simple, interactive piano roll interface
- Fully interactive for touch and mouse
- Will reliably scale to any size
- Note labelling
- Key highlighting
- Functions for key interactions for easy integration
- Svelte is the only dependency
Usage
<script>
import { PianoRoll } from '@ashfrench-dev/svelte-piano-roll'
let startingKey = 35
let keyCount = 18
let height = '100%'
let width = '100%'
let showNoteLabels = false
let showHighlightKeys = false
let highlightKeys = []
let onKeyPress = (e) => {}
let onKeyUnpress = (e) => {}
</script>
<PianoRoll
starting_key={startingKey}
key_count={keyCount}
height={height}
width={width}
show_note_labels={showNoteLabels}
show_highlight_keys={showHighlightKeys}
highlight_keys={highlightKeys}
on_key_press={onKeyPress}
on_key_unpress={onKeyUnpress}/>PianoRoll parameters
starting_key:<int>; The key the piano roll should start rendering keys. Range is from1(A0) to88(C8). Defaults to35(G3).key_count:<int>; The total number of keys the piano roll should render. Range is from1to88, but will not render keys beforeA0or beyondC8. Defaults to18.height:<string>; The height of the piano's container. A CSS-valid height value. Default is'100%'.width:<string>; The width of the piano's container. A CSS-valid width value. Default is'100%'.show_note_labels:<boolean>; Whether to show note labels or not. Default isfalse.show_highlight_keys:<boolean>; Whether to show highlighted notes or not. Default isfalse.highlight_keys:<array>; A list of keys (<int>) to highlight on the piano roll. Key range is from1(A0) to88(C8). Don't forget to sethighlight_keysto true!on_key_press:<function>; A callback to execute after a key is pressed down. The callback will be passed a standardEventas an argument.on_key_unpress:<function>; A callback to execute after a key is released. The callback will be passed a standardEventas an argument.