Pārlūkot izejas kodu

Allow for sound sets to be pre-defined

master
Fen Dweller pirms 4 gadiem
vecāks
revīzija
9988cf3f22
3 mainītis faili ar 28 papildinājumiem un 219 dzēšanām
  1. +1
    -218
      src/data/presets.ts
  2. +18
    -0
      src/data/sound-sets.ts
  3. +9
    -1
      src/serialize.ts

+ 1
- 218
src/data/presets.ts Parādīt failu

@@ -7,29 +7,6 @@ export const PresetSources: Array<{
{
soundSet: {
name: "Gurgles",
soundKeys: [
"gurgles/gurgle (1)",
"gurgles/gurgle (2)",
"gurgles/gurgle (3)",
"gurgles/gurgle (4)",
"gurgles/gurgle (5)",
"gurgles/gurgle (6)",
"gurgles/gurgle (7)",
"gurgles/gurgle (8)",
"gurgles/gurgle (9)",
"gurgles/gurgle (10)",
"gurgles/gurgle (11)",
"gurgles/gurgle (12)",
"gurgles/gurgle (13)",
"gurgles/gurgle (14)",
"gurgles/gurgle (15)",
"gurgles/gurgle (16)",
"gurgles/gurgle (17)",
"gurgles/gurgle (18)",
"gurgles/gurgle (19)",
"gurgles/gurgle (20)",
"gurgles/gurgle (21)",
],
},
kind: "source",
volume: 1,
@@ -42,23 +19,6 @@ export const PresetSources: Array<{
{
soundSet: {
name: "Burps",
soundKeys: [
"belch (1)",
"belch (2)",
"belch (3)",
"belch (4)",
"belch (5)",
"belch (6)",
"belch (7)",
"belch (8)",
"belch (9)",
"belch (10)",
"belch (11)",
"belch (12)",
"belch (13)",
"belch (14)",
"belch (15)",
],
},
kind: "source",
volume: 1,
@@ -71,12 +31,6 @@ export const PresetSources: Array<{
{
soundSet: {
name: "Guts",
soundKeys: [
"stomach-churn",
"intestines-to-bowels",
"intestines-to-stomach",
"intestines-to-stomach-forced",
],
},
kind: "source",
volume: 1,
@@ -89,7 +43,6 @@ export const PresetSources: Array<{
{
soundSet: {
name: "Squishing",
soundKeys: ["squishing"],
},
kind: "source",
volume: 1,
@@ -100,7 +53,6 @@ export const PresetSources: Array<{
{
soundSet: {
name: "Heartbeat",
soundKeys: ["heartbeat"],
},
kind: "source",
volume: 1,
@@ -111,7 +63,6 @@ export const PresetSources: Array<{
{
soundSet: {
name: "Breathing",
soundKeys: ["breaths"],
},
kind: "source",
volume: 1,
@@ -122,7 +73,6 @@ export const PresetSources: Array<{
{
soundSet: {
name: "Rumble",
soundKeys: ["rumble"],
},
kind: "source",
volume: 1,
@@ -155,172 +105,5 @@ export const PresetFilters: Array<{ name: string; [x: string]: any }> = [
];

export const DemoScene = [
{
name: "Soundscape",
sources: [
{
soundSet: {
name: "Guts",
soundKeys: [
"stomach-churn",
"intestines-to-bowels",
"intestines-to-stomach",
"intestines-to-stomach-forced",
],
},
volume: 1,
interval: [7, 15],
pitch: [0.7, 1.1],
panning: [-0.5, 0.5],
kind: "source",
name: "Guts",
type: "IntervalSource",
},
{
soundSet: { name: "Squishing", soundKeys: ["squishing"] },
volume: 1,
pitch: 1,
kind: "source",
name: "Squishing",
type: "LoopingSource",
},
{
soundSet: { name: "Heartbeat", soundKeys: ["heartbeat"] },
volume: 0.65,
pitch: 1,
kind: "source",
name: "Heartbeat",
type: "LoopingSource",
},
{
soundSet: { name: "Rumble", soundKeys: ["rumble"] },
volume: 1,
pitch: 1,
kind: "source",
name: "Rumble",
type: "LoopingSource",
},
{
soundSet: {
name: "Gurgles",
soundKeys: [
"gurgles/gurgle (1)",
"gurgles/gurgle (2)",
"gurgles/gurgle (3)",
"gurgles/gurgle (4)",
"gurgles/gurgle (5)",
"gurgles/gurgle (6)",
"gurgles/gurgle (7)",
"gurgles/gurgle (8)",
"gurgles/gurgle (9)",
"gurgles/gurgle (10)",
"gurgles/gurgle (11)",
"gurgles/gurgle (12)",
"gurgles/gurgle (13)",
"gurgles/gurgle (14)",
"gurgles/gurgle (15)",
"gurgles/gurgle (16)",
"gurgles/gurgle (17)",
"gurgles/gurgle (18)",
"gurgles/gurgle (19)",
"gurgles/gurgle (20)",
"gurgles/gurgle (21)",
],
},
volume: 1,
interval: [1.0281138266560665, 1.9724654089867184],
pitch: [0.9, 1.1],
panning: [-0.7, 0.7],
kind: "source",
name: "Gurgles",
type: "IntervalSource",
},
{
soundSet: {
name: "Gurgles",
soundKeys: [
"gurgles/gurgle (1)",
"gurgles/gurgle (2)",
"gurgles/gurgle (3)",
"gurgles/gurgle (4)",
"gurgles/gurgle (5)",
"gurgles/gurgle (6)",
"gurgles/gurgle (7)",
"gurgles/gurgle (8)",
"gurgles/gurgle (9)",
"gurgles/gurgle (10)",
"gurgles/gurgle (11)",
"gurgles/gurgle (12)",
"gurgles/gurgle (13)",
"gurgles/gurgle (14)",
"gurgles/gurgle (15)",
"gurgles/gurgle (16)",
"gurgles/gurgle (17)",
"gurgles/gurgle (18)",
"gurgles/gurgle (19)",
"gurgles/gurgle (20)",
"gurgles/gurgle (21)",
],
},
volume: 1,
interval: [4, 14.123247940650476],
pitch: [0.3438854545349359, 0.6155722066724582],
panning: [-0.7, 0.7],
kind: "source",
name: "Gurgles",
type: "IntervalSource",
},
],
filters: [],
},
{
name: "Soundscape",
sources: [
{
soundSet: {
name: "Burps",
soundKeys: [
"belch (1)",
"belch (2)",
"belch (3)",
"belch (4)",
"belch (5)",
"belch (6)",
"belch (7)",
"belch (8)",
"belch (9)",
"belch (10)",
"belch (11)",
"belch (12)",
"belch (13)",
"belch (14)",
"belch (15)",
],
},
volume: 1,
interval: [11.080875744887399, 29.040612970149155],
pitch: [0.7, 1.1],
panning: [-0.1, 0.1],
kind: "source",
name: "Burps",
type: "IntervalSource",
},
{
soundSet: { name: "Breathing", soundKeys: ["breaths"] },
volume: 1,
pitch: 0.8585654364377537,
kind: "source",
name: "Breathing",
type: "LoopingSource",
},
],
filters: [
{
cutoff: 596.3435962718496,
kind: "filter",
name: "Lowpass Filter",
type: "LowpassFilter",
},
],
},

];

+ 18
- 0
src/data/sound-sets.ts Parādīt failu

@@ -0,0 +1,18 @@
export const PresetSoundSets: Record<string, Array<string>> = {
Gurgles: Array(21)
.fill(0)
.map((x, i) => "gurgles/gurgle (" + (i + 1) + ")"),
Burps: Array(16)
.fill(0)
.map((x, i) => "belch (" + (i + 1) + ")"),
Guts: [
"stomach-churn",
"intestines-to-bowels",
"intestines-to-stomach",
"intestines-to-stomach-forced",
],
Heartbeat: ["heartbeat"],
Breathing: ["breaths"],
Squishing: ["squishing"],
Rumble: ["rumble"]
};

+ 9
- 1
src/serialize.ts Parādīt failu

@@ -24,6 +24,7 @@ import { Filter } from "./filters/Filter";
import { LowpassFilter } from "./filters/LowpassFilter";
import { HighpassFilter } from "./filters/HighpassFilter";
import { StereoWidthFilter } from "./filters/StereoWidthFilter";
import { PresetSoundSets } from "./data/sound-sets";

// eslint-disable-next-line @typescript-eslint/no-explicit-any
export function serializeNode<T extends Node>(_node: T): any {
@@ -109,7 +110,14 @@ export function deserializeNode(data: any): Node {
);

if (soundSetMetadata !== undefined) {
node[key] = new SoundSet(data[key].name, data[key].soundKeys);
if (data[key].soundKeys === undefined) {
node[key] = new SoundSet(
data[key].name,
PresetSoundSets[data[key].name]
);
} else {
node[key] = new SoundSet(data[key].name, data[key].soundKeys);
}
}
});



Notiek ielāde…
Atcelt
Saglabāt