Skip to content

Commit

Permalink
StoreからPickするように
Browse files Browse the repository at this point in the history
  • Loading branch information
sigprogramming committed Jan 22, 2025
1 parent ee14b01 commit a353c74
Showing 1 changed file with 21 additions and 39 deletions.
60 changes: 21 additions & 39 deletions src/sing/stateMachine/sequencerStateMachine.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,12 @@ import {
isSelfEventTarget,
PREVIEW_SOUND_DURATION,
} from "@/sing/viewHelper";
import { Note, SequencerEditTarget, Track } from "@/store/type";
import { Note, SequencerEditTarget } from "@/store/type";
import { NoteId, TrackId } from "@/type/preload";
import { getOrThrow } from "@/helpers/mapHelper";
import { isOnCommandOrCtrlKeyDown } from "@/store/utility";
import { getNoteDuration } from "@/sing/domain";
import { Store } from "@/store";

export type PositionOnSequencer = {
readonly x: number;
Expand Down Expand Up @@ -84,44 +85,25 @@ type Refs = {
};

type PartialStore = {
state: {
tpqn: number;
sequencerSnapType: number;
sequencerEditTarget: SequencerEditTarget;
editorFrameRate: number;
};
getters: {
SELECTED_TRACK_ID: TrackId;
SELECTED_TRACK: Track;
SELECTED_NOTE_IDS: Set<NoteId>;
};
actions: {
SELECT_NOTES: (payload: { noteIds: NoteId[] }) => Promise<void>;
DESELECT_NOTES: (payload: { noteIds: NoteId[] }) => Promise<void>;
DESELECT_ALL_NOTES: () => Promise<void>;
PLAY_PREVIEW_SOUND: (payload: {
noteNumber: number;
duration?: number;
}) => Promise<void>;
COMMAND_ADD_NOTES: (payload: {
notes: Note[];
trackId: TrackId;
}) => Promise<void>;
COMMAND_UPDATE_NOTES: (payload: {
notes: Note[];
trackId: TrackId;
}) => Promise<void>;
COMMAND_SET_PITCH_EDIT_DATA: (payload: {
pitchArray: number[];
startFrame: number;
trackId: TrackId;
}) => Promise<void>;
COMMAND_ERASE_PITCH_EDIT_DATA: (payload: {
startFrame: number;
frameLength: number;
trackId: TrackId;
}) => Promise<void>;
};
state: Pick<
Store["state"],
"tpqn" | "sequencerSnapType" | "sequencerEditTarget" | "editorFrameRate"
>;
getters: Pick<
Store["getters"],
"SELECTED_TRACK_ID" | "SELECTED_TRACK" | "SELECTED_NOTE_IDS"
>;
actions: Pick<
Store["actions"],
| "SELECT_NOTES"
| "DESELECT_NOTES"
| "DESELECT_ALL_NOTES"
| "PLAY_PREVIEW_SOUND"
| "COMMAND_ADD_NOTES"
| "COMMAND_UPDATE_NOTES"
| "COMMAND_SET_PITCH_EDIT_DATA"
| "COMMAND_ERASE_PITCH_EDIT_DATA"
>;
};

type Context = ComputedRefs & Refs & { readonly store: PartialStore };
Expand Down

0 comments on commit a353c74

Please sign in to comment.