feat: added pitch bend support

This commit is contained in:
Xiaohan-Tian
2026-05-05 21:28:32 -07:00
parent 8f453f8f4c
commit 98cccf5c7a
28 changed files with 1704 additions and 507 deletions
+19
View File
@@ -12,6 +12,10 @@ export const MockSampler = vi.fn().mockImplementation(() => ({
triggerRelease: vi.fn(),
dispose: vi.fn(),
loaded: true,
attack: 0,
release: 0.1,
curve: 'exponential',
output: {},
volume: {
value: -12
},
@@ -20,6 +24,19 @@ export const MockSampler = vi.fn().mockImplementation(() => ({
toDestination: vi.fn()
}));
export const MockBufferSource = vi.fn().mockImplementation((options?: { playbackRate?: number }) => {
const instance = {
playbackRate: {
value: options?.playbackRate ?? 1,
},
connect: vi.fn(() => instance),
start: vi.fn(() => instance),
stop: vi.fn(() => instance),
onended: undefined as (() => void) | undefined,
};
return instance;
});
// Mock Transport object
export const MockTransport = {
start: vi.fn(),
@@ -94,6 +111,8 @@ export const MockMeter = vi.fn().mockImplementation(() => ({
// Complete Tone.js mock
export const ToneMock = {
Sampler: MockSampler,
BufferSource: MockBufferSource,
ToneBufferSource: MockBufferSource,
Loop: MockLoop,
Transport: MockTransport,
Destination: MockDestination,