This commit is contained in:
2021-11-13 00:22:24 +01:00
parent bf62ceb98f
commit 6df8a7344d
4 changed files with 55 additions and 9 deletions

View File

@@ -3,7 +3,7 @@ import { ipcMain } from 'electron';
import { blackout } from '../patterns/blackout';
import { Pattern, PatternOutput, Time } from '../patterns/proto';
import { TestPattern } from '../patterns/test';
import rust, { BeatTrackerHandle, MovingHeadState, OutputHandle } from 'rust_native_module';
import rust, { BeatTrackerHandle, MovingHeadState, OutputHandle, TrackerConfig } from 'rust_native_module';
import { ChaserPattern } from '../patterns/chaser';
export type AppState = {
@@ -15,6 +15,7 @@ export type AppState = {
bassFiltered: Array<number>,
autoCorrelated: Array<number>,
} | null,
trackerConfig: TrackerConfig,
};
class Backend {
@@ -66,12 +67,27 @@ class Backend {
selectedPattern: null,
beatProgress: null,
graphData: null,
trackerConfig: {
mode: "auto",
acThreshold: 1000,
zeroCrossingBeatDelay: 0,
}
}
ipcMain.on('pattern-select', async (_, arg) => {
this.state.selectedPattern = arg;
});
ipcMain.on('update-delay', async (_, delay) => {
this.state.trackerConfig.zeroCrossingBeatDelay = Math.floor(delay);
this.beatTracker.setConfig(this.state.trackerConfig);
});
ipcMain.on('manual-mode', async (_, is_manual) => {
this.state.trackerConfig.mode = is_manual ? "manual" : "auto";
this.beatTracker.setConfig(this.state.trackerConfig);
});
let time: Time = {
absolute: 0,
beatRelative: this.state.beatProgress,