mirror of
https://github.com/captbaritone/webamp.git
synced 2026-07-22 01:29:22 +00:00
butterchurn add randomize keyboard control
This commit is contained in:
parent
2fc0c60576
commit
5c8bde3a53
1 changed files with 16 additions and 4 deletions
|
|
@ -55,6 +55,7 @@ class MilkdropWindow extends React.Component {
|
|||
this.presets = butterchurnPresets.getPresets();
|
||||
this.presetKeys = Object.keys(this.presets);
|
||||
this.presetHistory = [];
|
||||
this.presetRandomize = true;
|
||||
this.cycleInterval = setInterval(() => {
|
||||
this._nextPreset(PRESET_TRANSITION_SECONDS);
|
||||
}, MILLISECONDS_BETWEEN_PRESET_TRANSITIONS);
|
||||
|
|
@ -121,14 +122,23 @@ class MilkdropWindow extends React.Component {
|
|||
case 72: // H
|
||||
this._nextPreset(0);
|
||||
break;
|
||||
case 82: // R
|
||||
this.presetRandomize = !this.presetRandomize;
|
||||
break;
|
||||
}
|
||||
}
|
||||
_nextPreset(blendTime) {
|
||||
const presetIdx = Math.floor(this.presetKeys.length * Math.random());
|
||||
const preset = this.presets[this.presetKeys[presetIdx]];
|
||||
// The visualizer may not have initialized yet.
|
||||
if (this.visualizer != null) {
|
||||
this.presetHistory.push(preset);
|
||||
let presetIdx;
|
||||
if (this.presetRandomize || this.presetHistory.length === 0) {
|
||||
presetIdx = Math.floor(this.presetKeys.length * Math.random());
|
||||
} else {
|
||||
const prevPresetIdx = this.presetHistory[this.presetHistory.length - 1];
|
||||
presetIdx = (prevPresetIdx + 1) % this.presetKeys.length;
|
||||
}
|
||||
const preset = this.presets[this.presetKeys[presetIdx]];
|
||||
this.presetHistory.push(presetIdx);
|
||||
this.visualizer.loadPreset(preset, blendTime);
|
||||
}
|
||||
}
|
||||
|
|
@ -136,7 +146,9 @@ class MilkdropWindow extends React.Component {
|
|||
if (this.presetHistory.length > 1 && this.visualizer != null) {
|
||||
this.presetHistory.pop();
|
||||
this.visualizer.loadPreset(
|
||||
this.presetHistory[this.presetHistory.length - 1],
|
||||
this.presets[
|
||||
this.presetKeys[this.presetHistory[this.presetHistory.length - 1]]
|
||||
],
|
||||
blendTime
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue