feat: added MIDI CC recording and list event table operation support.
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { KGMidiNote } from '../../core/midi/KGMidiNote';
|
||||
import { KGMidiControllerEvent } from '../../core/midi/KGMidiControllerEvent';
|
||||
import { KGMidiPitchBend } from '../../core/midi/KGMidiPitchBend';
|
||||
import { KGProject } from '../../core/KGProject';
|
||||
import { KGMidiTrack } from '../../core/track/KGMidiTrack';
|
||||
@@ -43,6 +44,7 @@ export const createMockMidiRegion = (overrides: Partial<{
|
||||
length: number
|
||||
notes: KGMidiNote[]
|
||||
pitchBends: KGMidiPitchBend[]
|
||||
controllerEventsByType: KGMidiControllerEvent[][]
|
||||
}> = {}): KGMidiRegion => {
|
||||
const defaults = {
|
||||
id: 'test-region-1',
|
||||
@@ -70,6 +72,9 @@ export const createMockMidiRegion = (overrides: Partial<{
|
||||
if (overrides.pitchBends) {
|
||||
overrides.pitchBends.forEach(pitchBend => region.addPitchBend(pitchBend));
|
||||
}
|
||||
if (overrides.controllerEventsByType) {
|
||||
region.setControllerEventsByType(overrides.controllerEventsByType);
|
||||
}
|
||||
|
||||
return region;
|
||||
};
|
||||
@@ -89,6 +94,21 @@ export const createMockMidiPitchBend = (overrides: Partial<{
|
||||
return new KGMidiPitchBend(defaults.id, defaults.beat, defaults.value);
|
||||
};
|
||||
|
||||
export const createMockMidiControllerEvent = (overrides: Partial<{
|
||||
id: string
|
||||
beat: number
|
||||
value: number
|
||||
}> = {}): KGMidiControllerEvent => {
|
||||
const defaults = {
|
||||
id: 'test-controller-1',
|
||||
beat: 0,
|
||||
value: 127,
|
||||
...overrides,
|
||||
};
|
||||
|
||||
return new KGMidiControllerEvent(defaults.id, defaults.beat, defaults.value);
|
||||
};
|
||||
|
||||
export const createMockMidiTrack = (overrides: Partial<{
|
||||
name: string
|
||||
id: number
|
||||
|
||||
Reference in New Issue
Block a user