TheoryOfNekomata
47c729bbc7
Add labels, change props
Add function prop for labelling keys. Also changed some props for clearer usage.
3 years ago
TheoryOfNekomata
833fd1768b
Implement orientation
Orientation is limited to 90-degree intervals.
3 years ago
TheoryOfNekomata
7889c4cdd7
Add MIDI event handling
Support MIDI event handling by suppling a `MIDIInput` object through the `midiInput` prop.
3 years ago
TheoryOfNekomata
6168c18c3c
Remove channels, overhaul styling of components
Make component single channel only, in order to have a more concise API.
3 years ago
TheoryOfNekomata
b6ea02a3ad
Add keyboard map
Keyboard map is the one responsible for handling mouse, touch, and keyboard events. This is to keep the keyboard rendering and external events handling separate.
3 years ago
TheoryOfNekomata
bc2c997c93
Fix metrics, SSR support
Add SSR support by checking to render server-side or client-side.
Also made key offsets as trade-off of accuracy and pixel-perfectness.
3 years ago
TheoryOfNekomata
d8163ebe7f
Remove width dependency
Adding width to calculation does not affect the `getKeyWidth` and `getKeyLeft` methods.
3 years ago
TheoryOfNekomata
c7be66173a
Add width dependency
This is to cover repainting of keys using the widths.
3 years ago
TheoryOfNekomata
6dc7535ee8
Implement performance improvements
Prefer using React memoization instead of mem when using inside React.
3 years ago
TheoryOfNekomata
2daa01d6f6
Improve performance
Add memoization to expensive pure functions because the library involves a lot of computation under the hood.
3 years ago
TheoryOfNekomata
aafaf3e10d
Add more customizability
Make custom theme scalable and more flexible in terms of customization.
3 years ago
TheoryOfNekomata
25ef42763f
Improve component styling
Use custom styled keys and add pressed keys for styled key set.
3 years ago