Skip to content

Commit 680e79d

Browse files
useSequencerStateMachineを変更、関連ファイルを整理
1 parent 61af0dc commit 680e79d

File tree

12 files changed

+82
-79
lines changed

12 files changed

+82
-79
lines changed

src/composables/sequencerStateMachine/useSequencerStateMachine.ts

Lines changed: 0 additions & 71 deletions
This file was deleted.
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import { computed, ref } from "vue";
2+
import {
3+
ComputedRefs,
4+
PartialStore,
5+
Refs,
6+
} from "@/sing/sequencerStateMachine/common";
7+
import { getNoteDuration } from "@/sing/domain";
8+
import { createSequencerStateMachine } from "@/sing/sequencerStateMachine";
9+
10+
export const useSequencerStateMachine = (store: PartialStore) => {
11+
const computedRefs: ComputedRefs = {
12+
snapTicks: computed(() =>
13+
getNoteDuration(store.state.sequencerSnapType, store.state.tpqn),
14+
),
15+
editTarget: computed(() => store.state.sequencerEditTarget),
16+
selectedTrackId: computed(() => store.getters.SELECTED_TRACK_ID),
17+
notesInSelectedTrack: computed(() => store.getters.SELECTED_TRACK.notes),
18+
selectedNoteIds: computed(() => store.getters.SELECTED_NOTE_IDS),
19+
editorFrameRate: computed(() => store.state.editorFrameRate),
20+
};
21+
const refs: Refs = {
22+
nowPreviewing: ref(false),
23+
previewNotes: ref([]),
24+
previewRectForRectSelect: ref(undefined),
25+
previewPitchEdit: ref(undefined),
26+
guideLineTicks: ref(0),
27+
};
28+
const stateMachine = createSequencerStateMachine({
29+
...computedRefs,
30+
...refs,
31+
store,
32+
});
33+
return {
34+
stateMachine,
35+
nowPreviewing: computed(() => refs.nowPreviewing.value),
36+
previewNotes: computed(() => refs.previewNotes.value),
37+
previewRectForRectSelect: computed(
38+
() => refs.previewRectForRectSelect.value,
39+
),
40+
guideLineTicks: computed(() => refs.guideLineTicks.value),
41+
};
42+
};
File renamed without changes.
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import {
2+
Context,
3+
Input,
4+
SequencerStateDefinitions,
5+
} from "@/sing/sequencerStateMachine/common";
6+
import { StateMachine } from "@/sing/stateMachine";
7+
8+
import { IdleState } from "@/sing/sequencerStateMachine/states/idleState";
9+
import { AddNoteState } from "@/sing/sequencerStateMachine/states/addNoteState";
10+
import { MoveNoteState } from "@/sing/sequencerStateMachine/states/moveNoteState";
11+
import { ResizeNoteLeftState } from "@/sing/sequencerStateMachine/states/resizeNoteLeftState";
12+
import { ResizeNoteRightState } from "@/sing/sequencerStateMachine/states/resizeNoteRightState";
13+
import { SelectNotesWithRectState } from "@/sing/sequencerStateMachine/states/selectNotesWithRectState";
14+
import { DrawPitchState } from "@/sing/sequencerStateMachine/states/drawPitchState";
15+
import { ErasePitchState } from "@/sing/sequencerStateMachine/states/erasePitchState";
16+
17+
export const createSequencerStateMachine = (context: Context) => {
18+
return new StateMachine<SequencerStateDefinitions, Input, Context>(
19+
{
20+
idle: () => new IdleState(),
21+
addNote: (args) => new AddNoteState(args),
22+
moveNote: (args) => new MoveNoteState(args),
23+
resizeNoteLeft: (args) => new ResizeNoteLeftState(args),
24+
resizeNoteRight: (args) => new ResizeNoteRightState(args),
25+
selectNotesWithRect: (args) => new SelectNotesWithRectState(args),
26+
drawPitch: (args) => new DrawPitchState(args),
27+
erasePitch: (args) => new ErasePitchState(args),
28+
},
29+
new IdleState(),
30+
context,
31+
);
32+
};

src/composables/sequencerStateMachine/states/addNoteState.ts renamed to src/sing/sequencerStateMachine/states/addNoteState.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {
55
Input,
66
PositionOnSequencer,
77
SequencerStateDefinitions,
8-
} from "@/composables/sequencerStateMachine/common";
8+
} from "@/sing/sequencerStateMachine/common";
99
import { NoteId, TrackId } from "@/type/preload";
1010
import { Note } from "@/store/type";
1111
import {

src/composables/sequencerStateMachine/states/drawPitchState.ts renamed to src/sing/sequencerStateMachine/states/drawPitchState.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import {
44
Input,
55
PositionOnSequencer,
66
SequencerStateDefinitions,
7-
} from "@/composables/sequencerStateMachine/common";
7+
} from "@/sing/sequencerStateMachine/common";
88
import { TrackId } from "@/type/preload";
99
import {
1010
applyGaussianFilter,

src/composables/sequencerStateMachine/states/erasePitchState.ts renamed to src/sing/sequencerStateMachine/states/erasePitchState.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import {
44
Input,
55
PositionOnSequencer,
66
SequencerStateDefinitions,
7-
} from "@/composables/sequencerStateMachine/common";
7+
} from "@/sing/sequencerStateMachine/common";
88
import { TrackId } from "@/type/preload";
99
import { getButton } from "@/sing/viewHelper";
1010

src/composables/sequencerStateMachine/states/idleState.ts renamed to src/sing/sequencerStateMachine/states/idleState.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {
55
getGuideLineTicks,
66
Input,
77
SequencerStateDefinitions,
8-
} from "@/composables/sequencerStateMachine/common";
8+
} from "@/sing/sequencerStateMachine/common";
99
import { getButton, isSelfEventTarget } from "@/sing/viewHelper";
1010
import { isOnCommandOrCtrlKeyDown } from "@/store/utility";
1111

src/composables/sequencerStateMachine/states/moveNoteState.ts renamed to src/sing/sequencerStateMachine/states/moveNoteState.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010
Input,
1111
PositionOnSequencer,
1212
SequencerStateDefinitions,
13-
} from "@/composables/sequencerStateMachine/common";
13+
} from "@/sing/sequencerStateMachine/common";
1414

1515
export class MoveNoteState
1616
implements State<SequencerStateDefinitions, Input, Context>

src/composables/sequencerStateMachine/states/resizeNoteLeftState.ts renamed to src/sing/sequencerStateMachine/states/resizeNoteLeftState.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99
Input,
1010
PositionOnSequencer,
1111
SequencerStateDefinitions,
12-
} from "@/composables/sequencerStateMachine/common";
12+
} from "@/sing/sequencerStateMachine/common";
1313
import { clamp } from "@/sing/utility";
1414

1515
export class ResizeNoteLeftState

0 commit comments

Comments
 (0)