solid-pianoroll 0.0.16 → 0.0.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,52 @@
1
+ import { GridDivision } from "./PianoRoll";
2
+ import { Note, Track } from "./types";
3
+ type PianoRollState = {
4
+ ppq: number;
5
+ mode: "keys" | "tracks";
6
+ position: number;
7
+ zoom: number;
8
+ verticalZoom: number;
9
+ verticalPosition: number;
10
+ verticalTrackZoom: number;
11
+ verticalTrackPosition: number;
12
+ gridDivision: GridDivision;
13
+ snapToGrid: boolean;
14
+ duration: number;
15
+ tracks: Track[];
16
+ selectedTrackIndex: number;
17
+ pressedKeys: number[];
18
+ };
19
+ declare const createPianoRollstate: (defaultState?: Partial<PianoRollState>) => {
20
+ ppq: number;
21
+ mode: "keys" | "tracks";
22
+ position: number;
23
+ zoom: number;
24
+ verticalZoom: number;
25
+ verticalPosition: number;
26
+ verticalTrackZoom: number;
27
+ verticalTrackPosition: number;
28
+ gridDivision: GridDivision;
29
+ snapToGrid: boolean;
30
+ duration: number;
31
+ tracks: Track[];
32
+ selectedTrackIndex: number;
33
+ pressedKeys: number[];
34
+ onPpqChange: (ppq: PianoRollState["ppq"]) => void;
35
+ onModeChange: (mode: PianoRollState["mode"]) => void;
36
+ onPositionChange: (position: PianoRollState["position"]) => void;
37
+ onZoomChange: (zoom: PianoRollState["zoom"]) => void;
38
+ onVerticalZoomChange: (verticalZoom: PianoRollState["verticalZoom"]) => void;
39
+ onVerticalPositionChange: (verticalPosition: PianoRollState["verticalPosition"]) => void;
40
+ onVerticalTrackZoomChange: (verticalTrackZoom: PianoRollState["verticalTrackZoom"]) => void;
41
+ onVerticalTrackPositionChange: (verticalTrackPosition: PianoRollState["verticalTrackPosition"]) => void;
42
+ onGridDivisionChange: (gridDivision: PianoRollState["gridDivision"]) => void;
43
+ onSnapToGridChange: (snapToGrid: PianoRollState["snapToGrid"]) => void;
44
+ onDurationChange: (duration: PianoRollState["duration"]) => void;
45
+ onTracksChange: (tracks: PianoRollState["tracks"]) => void;
46
+ onNoteChange: (trackIndex: number, noteIndex: number, note: Note) => void;
47
+ onInsertNote: (trackIndex: number, note: Note) => number;
48
+ onRemoveNote: (trackIndex: number, noteIndex: number) => void;
49
+ onSelectedTrackIndexChange: (selectedTrackIndex: PianoRollState["selectedTrackIndex"]) => void;
50
+ onPressedKeysChange: (pressedKeys: PianoRollState["pressedKeys"]) => void;
51
+ };
52
+ export default createPianoRollstate;
@@ -1,3 +1,5 @@
1
1
  import { JSX } from "solid-js/jsx-runtime";
2
- declare const HorizontalZoomControl: (props: JSX.IntrinsicElements["input"]) => JSX.Element;
2
+ declare const HorizontalZoomControl: (props: {
3
+ dimensionName?: string;
4
+ } & JSX.IntrinsicElements["input"]) => JSX.Element;
3
5
  export default HorizontalZoomControl;
@@ -1,5 +1,8 @@
1
- import { ParentProps, Ref } from "solid-js";
1
+ import { JSX, ParentProps, Ref } from "solid-js";
2
2
  declare const ScrollContainer: (props: ParentProps<{
3
3
  ref?: Ref<HTMLDivElement>;
4
- }>) => import("solid-js").JSX.Element;
4
+ verticalDimensionName?: string;
5
+ horizontalDimensionName?: string;
6
+ showScrollbar?: boolean;
7
+ } & JSX.IntrinsicElements["div"]>) => JSX.Element;
5
8
  export default ScrollContainer;
@@ -21,7 +21,7 @@ export declare const useViewPortDimension: (name: ViewPortDimensionName) => {
21
21
  range: number;
22
22
  pixelOffset: number;
23
23
  pixelSize: number;
24
- name: ViewPortDimensionName;
24
+ name: string;
25
25
  onZoomChange?: (zoom: number) => void;
26
26
  onPositionChange?: (zoom: number) => void;
27
27
  zoom: number;
@@ -1,3 +1,5 @@
1
1
  import { JSX } from "solid-js/jsx-runtime";
2
- declare const VerticalZoomControl: (props: JSX.IntrinsicElements["input"]) => JSX.Element;
2
+ declare const VerticalZoomControl: (props: {
3
+ dimensionName?: string;
4
+ } & JSX.IntrinsicElements["input"]) => JSX.Element;
3
5
  export default VerticalZoomControl;
@@ -1,5 +1,5 @@
1
1
  export type ViewPortDimension = ReturnType<typeof createViewPortDimension>;
2
- export type ViewPortDimensionName = "horizontal" | "vertical";
2
+ export type ViewPortDimensionName = string;
3
3
  export type ViewPortDimensionState = {
4
4
  position: number;
5
5
  range: number;
@@ -28,7 +28,7 @@ export default function createViewPortDimension(getState: () => ViewPortDimensio
28
28
  range: number;
29
29
  pixelOffset: number;
30
30
  pixelSize: number;
31
- name: ViewPortDimensionName;
31
+ name: string;
32
32
  onZoomChange?: (zoom: number) => void;
33
33
  onPositionChange?: (zoom: number) => void;
34
34
  zoom: number;
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.0.16",
2
+ "version": "0.0.18",
3
3
  "name": "solid-pianoroll",
4
4
  "description": "Pianoroll UI Control for Solid JS apps",
5
5
  "license": "MIT",
@@ -1,33 +0,0 @@
1
- import { createSignal } from "solid-js";
2
- const usePianoRoll = () => {
3
- const [ppq, onPpqChange] = createSignal(120);
4
- const [mode, onModeChange] = createSignal("tracks");
5
- const [position, onPositionChange] = createSignal(0);
6
- const [zoom, onZoomChange] = createSignal(10);
7
- const [verticalZoom, onVerticalZoomChange] = createSignal(5);
8
- const [verticalPosition, onVerticalPositionChange] = createSignal(44);
9
- const [gridDivision, onGridDivisionChange] = createSignal(4);
10
- const [snapToGrid, onSnapToGridChange] = createSignal(true);
11
- const [duration, onDurationChange] = createSignal(0);
12
- return {
13
- ppq,
14
- onPpqChange,
15
- position,
16
- onPositionChange,
17
- zoom,
18
- onZoomChange,
19
- verticalPosition,
20
- onVerticalPositionChange,
21
- verticalZoom,
22
- onVerticalZoomChange,
23
- gridDivision,
24
- onGridDivisionChange,
25
- snapToGrid,
26
- onSnapToGridChange,
27
- mode,
28
- onModeChange,
29
- duration,
30
- onDurationChange,
31
- };
32
- };
33
- export default usePianoRoll;
@@ -1,22 +0,0 @@
1
- import { GridDivision } from "./PianoRoll";
2
- declare const usePianoRoll: () => {
3
- ppq: import("solid-js").Accessor<number>;
4
- onPpqChange: import("solid-js").Setter<number>;
5
- position: import("solid-js").Accessor<number>;
6
- onPositionChange: import("solid-js").Setter<number>;
7
- zoom: import("solid-js").Accessor<number>;
8
- onZoomChange: import("solid-js").Setter<number>;
9
- verticalPosition: import("solid-js").Accessor<number>;
10
- onVerticalPositionChange: import("solid-js").Setter<number>;
11
- verticalZoom: import("solid-js").Accessor<number>;
12
- onVerticalZoomChange: import("solid-js").Setter<number>;
13
- gridDivision: import("solid-js").Accessor<GridDivision>;
14
- onGridDivisionChange: import("solid-js").Setter<GridDivision>;
15
- snapToGrid: import("solid-js").Accessor<boolean>;
16
- onSnapToGridChange: import("solid-js").Setter<boolean>;
17
- mode: import("solid-js").Accessor<"keys" | "tracks">;
18
- onModeChange: import("solid-js").Setter<"keys" | "tracks">;
19
- duration: import("solid-js").Accessor<number>;
20
- onDurationChange: import("solid-js").Setter<number>;
21
- };
22
- export default usePianoRoll;