v6.1 — every embedded preset is now a unique visual: 16-family seeded stand-in generator, approx badges, version-gated library re-seed
This commit is contained in:
parent
c5180a9837
commit
f3fd5100d0
95 changed files with 3605 additions and 2012 deletions
BIN
db/custom.db
BIN
db/custom.db
Binary file not shown.
|
|
@ -10,6 +10,9 @@ datasource db {
|
|||
// A preset script file living somewhere in the folder tree.
|
||||
// folderPath is the full path from the virtual root, e.g. "root/embedded/Synth-C".
|
||||
// Names are unique per folder (files in a directory).
|
||||
// approx = true marks embedded presets that are generated stand-ins rather
|
||||
// than ports of the original's code (the original relies on effects the
|
||||
// script engine cannot run).
|
||||
model Preset {
|
||||
id String @id @default(cuid())
|
||||
name String
|
||||
|
|
@ -17,6 +20,7 @@ model Preset {
|
|||
description String @default("")
|
||||
content String
|
||||
isBuiltIn Boolean @default(false)
|
||||
approx Boolean @default(false)
|
||||
folderPath String @default("root/user created")
|
||||
// Path to the original Winamp .avs binary in /public (downloadable), if any.
|
||||
originalFile String?
|
||||
|
|
@ -40,5 +44,8 @@ model Settings {
|
|||
defaultScript String?
|
||||
bandConfig String?
|
||||
beatConfig String?
|
||||
// Version stamp of the embedded preset library; when it changes, the
|
||||
// root/embedded subtree is re-seeded from BUILTIN + EMBEDDED_LIBRARY.
|
||||
embeddedSeed String?
|
||||
updatedAt DateTime @updatedAt
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { NextRequest, NextResponse } from 'next/server'
|
||||
import { db } from '@/lib/db'
|
||||
import { BUILTIN_PRESETS } from '@/lib/ava/presets'
|
||||
import { EMBEDDED_LIBRARY } from '@/lib/ava/embedded-presets'
|
||||
import { EMBEDDED_LIBRARY, EMBEDDED_SEED_VERSION } from '@/lib/ava/embedded-presets'
|
||||
import { ensureFolderRows, isValidName, normalizeFolderPath } from '@/lib/server/preset-tree'
|
||||
|
||||
export const dynamic = 'force-dynamic'
|
||||
|
|
@ -18,18 +18,32 @@ const BASE_FOLDERS = [
|
|||
]
|
||||
|
||||
/**
|
||||
* One-time seed: folder backbone + the full embedded library
|
||||
* (5 hand-ported classics + 90 auto-ported Winamp AVS presets from the
|
||||
* user's Google Drive collection, organized exactly as the drive folders
|
||||
* were: Synth-C / Amp Picks / Dynamics / Envision).
|
||||
* Version-gated seed: folder backbone + the full embedded library
|
||||
* (5 hand-ported classics + 90 Winamp AVS presets from the user's Google
|
||||
* Drive collection, organized as Synth-C / Amp Picks / Dynamics / Envision).
|
||||
*
|
||||
* The embedded subtree (root/embedded/**) refreshes automatically whenever
|
||||
* EMBEDDED_SEED_VERSION changes (i.e. the library was regenerated) — user
|
||||
* presets outside root/embedded are never touched.
|
||||
*/
|
||||
async function ensureSeeded(): Promise<void> {
|
||||
const folderCount = await db.folder.count()
|
||||
if (folderCount > 0) return
|
||||
const settings = await db.settings.findUnique({
|
||||
where: { id: 'main' },
|
||||
select: { embeddedSeed: true },
|
||||
})
|
||||
if (settings?.embeddedSeed === EMBEDDED_SEED_VERSION) return
|
||||
try {
|
||||
await db.folder.createMany({ data: BASE_FOLDERS.map((path) => ({ path })) })
|
||||
// Migrate legacy pre-folder databases: old built-ins sat at the top level.
|
||||
await db.preset.deleteMany({ where: { isBuiltIn: true } })
|
||||
await ensureFolderRows(BASE_FOLDERS)
|
||||
// refresh the embedded library subtree (+ legacy stray built-ins)
|
||||
await db.preset.deleteMany({
|
||||
where: {
|
||||
OR: [
|
||||
{ folderPath: 'root/embedded' },
|
||||
{ folderPath: { startsWith: 'root/embedded/' } },
|
||||
{ isBuiltIn: true },
|
||||
],
|
||||
},
|
||||
})
|
||||
await db.preset.createMany({
|
||||
data: [
|
||||
...BUILTIN_PRESETS.map((p) => ({
|
||||
|
|
@ -39,6 +53,7 @@ async function ensureSeeded(): Promise<void> {
|
|||
content: p.content,
|
||||
originalFile: p.originalFile ?? null,
|
||||
isBuiltIn: true,
|
||||
approx: false,
|
||||
folderPath: 'root/embedded/Synth-C',
|
||||
})),
|
||||
...EMBEDDED_LIBRARY.map((p) => ({
|
||||
|
|
@ -48,12 +63,17 @@ async function ensureSeeded(): Promise<void> {
|
|||
content: p.content,
|
||||
originalFile: p.originalFile ?? null,
|
||||
isBuiltIn: true,
|
||||
// the converter recorded the download nesting — normalize to the
|
||||
// clean tree ("root/embedded/root/embedded/Amp Picks" → "root/embedded/Amp Picks")
|
||||
approx: p.approx ?? false,
|
||||
// tolerate old converter output that recorded the download nesting
|
||||
folderPath: p.folder.replace('root/embedded/root/embedded/', 'root/embedded/'),
|
||||
})),
|
||||
],
|
||||
})
|
||||
await db.settings.upsert({
|
||||
where: { id: 'main' },
|
||||
update: { embeddedSeed: EMBEDDED_SEED_VERSION },
|
||||
create: { id: 'main', embeddedSeed: EMBEDDED_SEED_VERSION },
|
||||
})
|
||||
} catch (err) {
|
||||
// Two first requests racing → unique violation: the other request seeded.
|
||||
if ((err as { code?: string })?.code !== 'P2002') throw err
|
||||
|
|
@ -73,6 +93,7 @@ export async function GET() {
|
|||
description: true,
|
||||
content: true,
|
||||
isBuiltIn: true,
|
||||
approx: true,
|
||||
folderPath: true,
|
||||
originalFile: true,
|
||||
updatedAt: true,
|
||||
|
|
|
|||
|
|
@ -278,6 +278,14 @@ function TreePreset({ preset, depth }: { preset: PresetItem; depth: number }) {
|
|||
<span className={cn('truncate text-xs', running ? 'font-medium text-emerald-300' : 'text-zinc-300')}>
|
||||
{preset.name}
|
||||
</span>
|
||||
{preset.approx && (
|
||||
<span
|
||||
title="Approximation — the original preset relies on effects the script engine can't run, so this is a uniquely generated stand-in"
|
||||
className="shrink-0 rounded border border-amber-300/30 bg-amber-300/10 px-1 font-mono text-[9px] leading-4 text-amber-300/90"
|
||||
>
|
||||
≈
|
||||
</span>
|
||||
)}
|
||||
</button>
|
||||
{preset.originalFile && (
|
||||
<a
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -22,6 +22,9 @@ export interface PresetItem {
|
|||
description: string
|
||||
content: string
|
||||
isBuiltIn: boolean
|
||||
/** true = generated stand-in (embedded presets whose original relies on
|
||||
* effects the script engine cannot run); false = original/user code. */
|
||||
approx?: boolean
|
||||
/** Full path from the virtual root, e.g. "root/embedded/Synth-C". */
|
||||
folderPath: string
|
||||
/** Path of the original Winamp .avs binary in /public, when shipped. */
|
||||
|
|
|
|||
|
|
@ -7,10 +7,12 @@
|
|||
// (v6.0 = rename to Open Visualization Engine + version indicator).
|
||||
//
|
||||
// History:
|
||||
// 6.1 — preset library quality pass: every embedded stand-in is now a UNIQUE
|
||||
// generated visual (16 families × seeded parameters), approx badge
|
||||
// 6.0 — renamed to "Open Visualization Engine" + footer version stamp
|
||||
// 5.0 — folder-tree Presets page (Task 9–11 state, restored in Task 12)
|
||||
// 4.0 — link audio source (yt-dlp resolve + stream proxy)
|
||||
|
||||
export const APP_NAME = 'Open Visualization Engine'
|
||||
export const APP_SHORT = 'OVE'
|
||||
export const APP_VERSION = '6.0'
|
||||
export const APP_VERSION = '6.1'
|
||||
|
|
|
|||
BIN
tool-results/ove-containment.png
Normal file
BIN
tool-results/ove-containment.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 157 KiB |
BIN
tool-results/ove-dragonscales.png
Normal file
BIN
tool-results/ove-dragonscales.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 220 KiB |
BIN
tool-results/ove-kingish.png
Normal file
BIN
tool-results/ove-kingish.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 250 KiB |
1039
tool-results/read_1793080556522_6263211d285d.txt
Normal file
1039
tool-results/read_1793080556522_6263211d285d.txt
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -28,7 +28,7 @@
|
|||
// empty string = length 0)
|
||||
|
||||
import { readFileSync, writeFileSync, mkdirSync, readdirSync, statSync, copyFileSync } from 'node:fs'
|
||||
import { join, basename, dirname, relative } from 'node:path'
|
||||
import { join, basename, dirname, relative, resolve } from 'node:path'
|
||||
import { validateScript } from '../src/lib/ava/script'
|
||||
import { AVA_HOOKS, resetEelBuffers } from '../src/lib/ava/expression'
|
||||
|
||||
|
|
@ -454,185 +454,241 @@ function describeEffect(e: Effect): string {
|
|||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// fallback templates (for presets whose visuals are movement/APE driven)
|
||||
// fallback stand-in generator (for presets whose visuals are movement/APE
|
||||
// driven).
|
||||
//
|
||||
// The original converter squeezed every unportable preset into one of 6 fixed
|
||||
// templates, so a third of the library looked identical. This generator
|
||||
// instead builds a UNIQUE visual per preset:
|
||||
// * 16 distinct geometric families (rings, tunnel, starfield, lattice,
|
||||
// swirl, kaleido, lissajous, spectrum bars, moire, fountain, rose,
|
||||
// orbits, ribbon, web, rain, helix)
|
||||
// * 6 color palettes (rainbow / fire / ice / neon-band / mono / duotone)
|
||||
// * every numeric parameter (counts, speeds, twists, couplings, widths,
|
||||
// persistence) drawn from a deterministic PRNG seeded by the preset NAME
|
||||
// — same name always regenerates the same visual, different names always
|
||||
// differ
|
||||
// * the family is chosen from the original's unportable components so the
|
||||
// vibe roughly matches (BlitterFeedback → tunnels, Mirror → kaleido,
|
||||
// Starfield → starfield, DotFountain → fountain, …)
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
function fallbackTemplate(seed: number, name: string): { content: string; style: string } {
|
||||
const styles = [
|
||||
{
|
||||
style: 'pulse rings',
|
||||
mode: 'lines',
|
||||
content: `name: ${JSON.stringify(name)}
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.88
|
||||
linewidth: 2
|
||||
/** Deterministic PRNG (mulberry32) — stable across runs/machines. */
|
||||
function mulberry32(seed: number): () => number {
|
||||
let a = seed >>> 0
|
||||
return () => {
|
||||
a |= 0
|
||||
a = (a + 0x6d2b79f5) | 0
|
||||
let t = Math.imul(a ^ (a >>> 15), 1 | a)
|
||||
t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t
|
||||
return ((t ^ (t >>> 14)) >>> 0) / 4294967296
|
||||
}
|
||||
}
|
||||
|
||||
/** float in [lo, hi], formatted for generated code */
|
||||
const rr = (rng: () => number, lo: number, hi: number): string =>
|
||||
String(Math.round((lo + rng() * (hi - lo)) * 1000) / 1000)
|
||||
/** int in [lo, hi] */
|
||||
const ri = (rng: () => number, lo: number, hi: number): number =>
|
||||
Math.floor(lo + rng() * (hi - lo + 1))
|
||||
const pick = <T,>(rng: () => number, arr: readonly T[]): T => arr[Math.floor(rng() * arr.length)]
|
||||
|
||||
// --- palettes ---------------------------------------------------------------
|
||||
|
||||
type PaletteName = 'rainbow' | 'fire' | 'ice' | 'neon' | 'mono' | 'duotone'
|
||||
const PALETTE_NAMES: readonly PaletteName[] = ['rainbow', 'fire', 'ice', 'neon', 'mono', 'duotone']
|
||||
|
||||
/** red/green/blue lines for a luminance + phase expression pair. */
|
||||
function colorLines(palette: PaletteName, lum: string, phase: string): string {
|
||||
switch (palette) {
|
||||
case 'fire':
|
||||
return `red = min(1, ${lum} * 1.3)\ngreen = ${lum} * 0.5\nblue = ${lum} * 0.12`
|
||||
case 'ice':
|
||||
return `red = ${lum} * 0.3\ngreen = ${lum} * 0.65\nblue = min(1, ${lum} * 1.3)`
|
||||
case 'neon':
|
||||
return `red = ${lum} * (0.25 + bass * 0.95)\ngreen = ${lum} * (0.25 + mid * 0.95)\nblue = ${lum} * (0.25 + treb * 0.95)`
|
||||
case 'mono':
|
||||
return `red = ${lum} * 0.85\ngreen = ${lum} * 0.92\nblue = ${lum}`
|
||||
case 'duotone':
|
||||
return `red = ${lum} * abs(sin(${phase}))\ngreen = ${lum} * 0.22\nblue = ${lum} * abs(cos(${phase}))`
|
||||
default:
|
||||
return `red = ${lum} * (0.45 + 0.55 * sin(hue * 6.28318 + ${phase}))\ngreen = ${lum} * (0.45 + 0.55 * sin(hue * 6.28318 + ${phase} + 2.09))\nblue = ${lum} * (0.45 + 0.55 * sin(hue * 6.28318 + ${phase} + 4.19))`
|
||||
}
|
||||
}
|
||||
|
||||
function scriptHeader(name: string, mode: string, persist: string, linewidth: string): string {
|
||||
return `name: ${JSON.stringify(name)}\nmode: ${mode}\nblend: additive\npersist: ${persist}\nlinewidth: ${linewidth}`
|
||||
}
|
||||
|
||||
interface FamilyCtx {
|
||||
rng: () => number
|
||||
name: string
|
||||
palette: PaletteName
|
||||
hueSpeed: string
|
||||
}
|
||||
|
||||
type FamilyFn = (ctx: FamilyCtx) => { style: string; content: string }
|
||||
|
||||
// --- the 16 families --------------------------------------------------------
|
||||
|
||||
function famPulseRings({ rng, name, palette, hueSpeed }: FamilyCtx) {
|
||||
const rings = ri(rng, 5, 13)
|
||||
const mode = pick(rng, ['lines', 'dots'] as const)
|
||||
const speed = rr(rng, 0.18, 0.5)
|
||||
const radBase = rr(rng, 0.16, 0.34)
|
||||
const radBass = rr(rng, 0.35, 0.85)
|
||||
const content = `${scriptHeader(name, mode, rr(rng, 0.78, 0.9), rr(rng, 1.4, 2.6))}
|
||||
|
||||
[init]
|
||||
n = 720
|
||||
n = ${rings * ri(rng, 40, 72)}
|
||||
|
||||
[frame]
|
||||
hue = hue + dt * (0.06 + mid * 0.2)
|
||||
travel = travel + dt * (0.3 + bass_att * 1.4)
|
||||
hue = hue + dt * ${hueSpeed} + beat * 0.01
|
||||
travel = travel + dt * (${speed} + bass_att * 1.4)
|
||||
flash = flash * 0.86
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
|
||||
[point]
|
||||
g = floor(i * 9)
|
||||
gi = frac(i * 9)
|
||||
ph = frac(rand(g * 5.1 + 1) + travel * (0.6 + rand(g + 17) * 0.8))
|
||||
g = floor(i * ${rings})
|
||||
gi = frac(i * ${rings})
|
||||
ph = frac(rand(g * 5.1 + 1) + travel * (0.55 + rand(g + 17) * 0.85))
|
||||
a = gi * 6.28318
|
||||
rad = ph * (0.25 + bass * 0.6 + flash * 0.08)
|
||||
rad = ph * (${radBase} + bass * ${radBass} + flash * 0.08)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
fade = sin(ph * 3.14159)
|
||||
red = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7))
|
||||
green = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 2.09))
|
||||
blue = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 4.19))
|
||||
skip = if(above(ph, 0.95), 1, 0)
|
||||
`,
|
||||
},
|
||||
{
|
||||
style: 'tunnel',
|
||||
mode: 'lines',
|
||||
content: `name: ${JSON.stringify(name)}
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.9
|
||||
linewidth: 1.6
|
||||
${colorLines(palette, 'fade * (0.35 + flash * 0.4)', 'g * 0.7')}
|
||||
skip = if(above(ph, 0.96), 1, 0)
|
||||
`
|
||||
return { style: 'pulse rings', content }
|
||||
}
|
||||
|
||||
function famTunnel({ rng, name, palette, hueSpeed }: FamilyCtx) {
|
||||
const rings = ri(rng, 16, 30)
|
||||
const twist = rr(rng, 0.1, 0.6)
|
||||
const speed = rr(rng, 0.15, 0.4)
|
||||
const svC = rr(rng, 0.5, 1.3)
|
||||
const mode = pick(rng, ['lines', 'dots'] as const)
|
||||
const content = `${scriptHeader(name, mode, rr(rng, 0.84, 0.92), rr(rng, 1.3, 2.2))}
|
||||
|
||||
[init]
|
||||
n = 900
|
||||
n = ${rings * ri(rng, 28, 48)}
|
||||
|
||||
[frame]
|
||||
t = t + dt * (0.25 + bass_att * 1.5)
|
||||
hue = hue + dt * 0.1
|
||||
t = t + dt * (${speed} + bass_att * 1.5)
|
||||
hue = hue + dt * ${hueSpeed}
|
||||
|
||||
[point]
|
||||
ring = floor(i * 24)
|
||||
ri = frac(i * 24)
|
||||
z = frac(ring / 24 + t)
|
||||
rad = 0.06 + z * 0.9
|
||||
a = ri * 6.28318 + ring * 0.35 + sin(t * 0.7) * 2
|
||||
x = sin(a) * rad * (0.55 + sv * 0.9) / aspect
|
||||
y = cos(a) * rad * (0.55 + sv * 0.9)
|
||||
f = (1 - z) * (0.35 + bass * 0.65)
|
||||
red = f * (0.45 + 0.55 * sin(hue * 6.28318 + z * 4))
|
||||
green = f * (0.45 + 0.55 * sin(hue * 6.28318 + z * 4 + 2.09))
|
||||
blue = f * (0.45 + 0.55 * sin(hue * 6.28318 + z * 4 + 4.19))
|
||||
`,
|
||||
},
|
||||
{
|
||||
style: 'starfield',
|
||||
mode: 'dots',
|
||||
content: `name: ${JSON.stringify(name)}
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.82
|
||||
linewidth: 2.5
|
||||
ring = floor(i * ${rings})
|
||||
ri2 = frac(i * ${rings})
|
||||
z = frac(ring / ${rings} + t)
|
||||
rad = 0.05 + z * ${rr(rng, 0.75, 1.05)}
|
||||
a = ri2 * 6.28318 + ring * ${twist} + sin(t * 0.7) * 2
|
||||
x = sin(a) * rad * (0.55 + sv * ${svC}) / aspect
|
||||
y = cos(a) * rad * (0.55 + sv * ${svC})
|
||||
${colorLines(palette, '(1 - z) * (0.3 + bass * 0.7)', `z * ${rr(rng, 2, 6)}`)}
|
||||
`
|
||||
return { style: 'tunnel', content }
|
||||
}
|
||||
|
||||
function famStarfield({ rng, name, palette, hueSpeed }: FamilyCtx) {
|
||||
const content = `${scriptHeader(name, 'dots', rr(rng, 0.76, 0.86), rr(rng, 2, 3))}
|
||||
|
||||
[init]
|
||||
n = 850
|
||||
n = ${ri(rng, 650, 1100)}
|
||||
|
||||
[frame]
|
||||
travel = travel + dt * (0.2 + vol_att * 1.6)
|
||||
hue = hue + dt * 0.05
|
||||
travel = travel + dt * (${rr(rng, 0.15, 0.35)} + vol_att * ${rr(rng, 1.2, 2)})
|
||||
hue = hue + dt * ${hueSpeed}
|
||||
|
||||
[point]
|
||||
a = rand(i * 7.3) * 6.28318
|
||||
z = frac(rand(i * 3.1 + 5) + travel * (0.5 + rand(i + 9) * 0.7))
|
||||
rad = z * z * 1.1
|
||||
rad = z * z * ${rr(rng, 0.95, 1.25)}
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
tw = 0.4 + 0.6 * sin(z * 40 + time * 3) * (0.5 + treb)
|
||||
red = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3))
|
||||
green = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 2.09))
|
||||
blue = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 4.19))
|
||||
${colorLines(palette, 'tw', `i * ${rr(rng, 2, 8)}`)}
|
||||
size = 1 + z * 3 * (0.5 + bass)
|
||||
skip = if(above(z, 0.97), 1, 0)
|
||||
`,
|
||||
},
|
||||
{
|
||||
style: 'lattice',
|
||||
mode: 'dots',
|
||||
content: `name: ${JSON.stringify(name)}
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.78
|
||||
linewidth: 2.5
|
||||
`
|
||||
return { style: 'starfield', content }
|
||||
}
|
||||
|
||||
function famLattice({ rng, name, palette, hueSpeed }: FamilyCtx) {
|
||||
const cols = ri(rng, 22, 44)
|
||||
const rotSpeed = rr(rng, 0.03, 0.12)
|
||||
const hCoup = rr(rng, 0.2, 0.55)
|
||||
const span = rr(rng, 1.4, 1.9)
|
||||
const content = `${scriptHeader(name, 'dots', rr(rng, 0.74, 0.84), rr(rng, 2, 3))}
|
||||
|
||||
[init]
|
||||
cols = 36
|
||||
cols = ${cols}
|
||||
n = cols * cols
|
||||
|
||||
[frame]
|
||||
rot = rot + dt * (0.05 + mid * 0.4)
|
||||
hue = hue + dt * (0.04 + treb * 0.1)
|
||||
rot = rot + dt * (${rotSpeed} + mid * 0.4)
|
||||
hue = hue + dt * ${hueSpeed}
|
||||
|
||||
[point]
|
||||
cx = floor(i * cols) / (cols - 1)
|
||||
cy = frac(i * cols)
|
||||
h = sv * 0.35
|
||||
ux = (cx - 0.5) * 1.6
|
||||
uy = (cy - 0.5) * 1.6
|
||||
h = sv * ${hCoup}
|
||||
ux = (cx - 0.5) * ${span}
|
||||
uy = (cy - 0.5) * ${span}
|
||||
rx = ux * cos(rot) - uy * sin(rot)
|
||||
ry = ux * sin(rot) + uy * cos(rot)
|
||||
x = (rx / aspect) * (1 - h * 0.7)
|
||||
y = ry * (1 - h * 0.7)
|
||||
lum = 0.25 + h * 2.2
|
||||
red = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3))
|
||||
green = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3 + 2.09))
|
||||
blue = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3 + 4.19))
|
||||
${colorLines(palette, '0.22 + h * 2.2', `cx * ${rr(rng, 2, 5)}`)}
|
||||
size = 1.2 + h * 5
|
||||
`,
|
||||
},
|
||||
{
|
||||
style: 'swirl',
|
||||
mode: 'lines',
|
||||
content: `name: ${JSON.stringify(name)}
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.9
|
||||
linewidth: 1.6
|
||||
`
|
||||
return { style: 'lattice', content }
|
||||
}
|
||||
|
||||
function famSwirl({ rng, name, palette, hueSpeed }: FamilyCtx) {
|
||||
const arms = ri(rng, 3, 9)
|
||||
const twist = rr(rng, 0.8, 2.2)
|
||||
const dExp = rr(rng, 1.6, 2.6)
|
||||
const speed = rr(rng, 0.2, 0.45)
|
||||
const content = `${scriptHeader(name, 'lines', rr(rng, 0.86, 0.92), rr(rng, 1.3, 2))}
|
||||
|
||||
[init]
|
||||
n = 1100
|
||||
n = ${ri(rng, 900, 1300)}
|
||||
|
||||
[frame]
|
||||
t = t + dt * (0.3 + bass_att * 1.8)
|
||||
hue = hue + dt * 0.08 + beat * 0.01
|
||||
t = t + dt * (${speed} + bass_att * 1.8)
|
||||
hue = hue + dt * ${hueSpeed} + beat * 0.012
|
||||
|
||||
[point]
|
||||
arm = floor(i * 5)
|
||||
fa = frac(i * 5)
|
||||
arm = floor(i * ${arms})
|
||||
fa = frac(i * ${arms})
|
||||
d = fa
|
||||
ang = arm * 1.2566 + d * (1.4 + mid * 3) * 3.14159 + t
|
||||
rad = (0.05 + d * d * 1.15) * (0.7 + bass * 0.5)
|
||||
ang = arm * ${rr(rng, 1.2, 1.6)} + d * ${twist} * 3.14159 + t
|
||||
rad = (0.04 + pow(d, ${dExp}) * 1.15) * (0.7 + bass * 0.5)
|
||||
x = sin(ang) * rad / aspect
|
||||
y = cos(ang) * rad
|
||||
red = (0.3 + 0.7 * d) * (0.3 + bass)
|
||||
green = (0.3 + 0.7 * d) * (0.25 + mid)
|
||||
blue = (0.3 + 0.7 * d) * (0.2 + treb + hue * 0.2)
|
||||
${colorLines(palette, '(0.3 + 0.7 * d) * (0.3 + mid)', `d * ${rr(rng, 2, 5)}`)}
|
||||
skip = if(below(fa, 0.04), 1, 0)
|
||||
`,
|
||||
},
|
||||
{
|
||||
style: 'kaleido',
|
||||
mode: 'lines',
|
||||
content: `name: ${JSON.stringify(name)}
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.86
|
||||
linewidth: 1.8
|
||||
`
|
||||
return { style: 'swirl', content }
|
||||
}
|
||||
|
||||
function famKaleido({ rng, name, palette, hueSpeed }: FamilyCtx) {
|
||||
const segs = ri(rng, 6, 14)
|
||||
const lFreq = ri(rng, 4, 9)
|
||||
const content = `${scriptHeader(name, 'lines', rr(rng, 0.82, 0.9), rr(rng, 1.5, 2.4))}
|
||||
|
||||
[init]
|
||||
n = 560
|
||||
segs = 8
|
||||
segs = ${segs}
|
||||
n = ${ri(rng, 460, 660)}
|
||||
|
||||
[frame]
|
||||
rot = rot + dt * (0.08 + mid_att * 0.5)
|
||||
hue = hue + dt * (0.07 + treb * 0.08)
|
||||
rot = rot + dt * (${rr(rng, 0.05, 0.15)} + mid_att * 0.5)
|
||||
hue = hue + dt * ${hueSpeed}
|
||||
flash = flash * 0.85
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
|
|
@ -641,22 +697,405 @@ flash = 1
|
|||
seg = floor(i * segs)
|
||||
si = frac(i * segs)
|
||||
a0 = si * 6.28318 / segs + rot
|
||||
amp = 0.12 + sv * 0.55 + bass * 0.25 + flash * 0.05
|
||||
rad = 0.15 + amp * (0.4 + 0.6 * sin(a0 * 6 + time * 2))
|
||||
amp = 0.1 + sv * 0.55 + bass * 0.25 + flash * 0.06
|
||||
rad = 0.15 + amp * (0.4 + 0.6 * sin(a0 * ${lFreq} + time * 2))
|
||||
a = seg * 6.28318 / segs + a0 * if(below(seg % 2, 1), 1, -1)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
lum = 0.35 + amp * 1.2
|
||||
red = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg))
|
||||
green = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg + 2.09))
|
||||
blue = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg + 4.19))
|
||||
${colorLines(palette, '0.3 + amp * 1.3', 'seg * 0.8')}
|
||||
skip = if(above(si, 0.96), 1, 0)
|
||||
`,
|
||||
},
|
||||
]
|
||||
return styles[seed % styles.length]
|
||||
`
|
||||
return { style: 'kaleido', content }
|
||||
}
|
||||
|
||||
function famLissajous({ rng, name, palette, hueSpeed }: FamilyCtx) {
|
||||
const fa0 = ri(rng, 2, 6)
|
||||
const fb0 = ri(rng, 2, 7)
|
||||
const phase = rr(rng, 0.5, 3)
|
||||
const content = `${scriptHeader(name, 'lines', rr(rng, 0.86, 0.93), rr(rng, 1.4, 2.4))}
|
||||
|
||||
[init]
|
||||
n = ${ri(rng, 600, 950)}
|
||||
|
||||
[frame]
|
||||
t = t + dt * ${rr(rng, 0.2, 0.6)}
|
||||
hue = hue + dt * ${hueSpeed}
|
||||
|
||||
[point]
|
||||
ph = i * 6.28318 * ${rr(rng, 1, 3)}
|
||||
fa = ${fa0} + mid * 0.35
|
||||
fb = ${fb0} + bass * 0.45
|
||||
x = sin(ph * fa + t) * (0.5 + bass * 0.3) / aspect
|
||||
y = sin(ph * fb + t * 1.3 + ${phase}) * (0.5 + treb * 0.35)
|
||||
${colorLines(palette, '0.3 + 0.45 * sin(ph * 2 + t) + abs(v) * 0.6', 'ph * 0.5')}
|
||||
`
|
||||
return { style: 'lissajous', content }
|
||||
}
|
||||
|
||||
function famSpectrum({ rng, name, palette, hueSpeed }: FamilyCtx) {
|
||||
const bars = ri(rng, 28, 64)
|
||||
const inner = rr(rng, 0.1, 0.28)
|
||||
const height = rr(rng, 0.5, 0.9)
|
||||
const content = `${scriptHeader(name, pick(rng, ['lines', 'dots'] as const), rr(rng, 0.8, 0.9), rr(rng, 1.4, 2.6))}
|
||||
|
||||
[init]
|
||||
bars = ${bars}
|
||||
n = bars * ${ri(rng, 8, 14)}
|
||||
|
||||
[frame]
|
||||
rot = rot + dt * (${rr(rng, 0.04, 0.12)} + mid * 0.3)
|
||||
hue = hue + dt * ${hueSpeed}
|
||||
|
||||
[point]
|
||||
bar = floor(i * bars)
|
||||
bi = frac(i * bars)
|
||||
lvl = getspec(bar / bars, 0, 0)
|
||||
h = lvl * ${height}
|
||||
a = bar * 6.28318 / bars + rot
|
||||
rad = ${inner} + bi * h
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
${colorLines(palette, '0.25 + bi * 0.75', 'bar * 6.28318 / bars')}
|
||||
skip = if(above(bi, 0.97), 1, 0)
|
||||
`
|
||||
return { style: 'spectrum bars', content }
|
||||
}
|
||||
|
||||
function famMoire({ rng, name, palette, hueSpeed }: FamilyCtx) {
|
||||
const f = (): string => rr(rng, 2, 7)
|
||||
const content = `${scriptHeader(name, 'dots', rr(rng, 0.72, 0.84), rr(rng, 1.8, 2.8))}
|
||||
|
||||
[init]
|
||||
n = ${ri(rng, 1100, 1600)}
|
||||
|
||||
[frame]
|
||||
t = t + dt * ${rr(rng, 0.3, 0.8)}
|
||||
hue = hue + dt * ${hueSpeed}
|
||||
|
||||
[point]
|
||||
u = rand(i * 1.7) * 2 - 1
|
||||
w = rand(i * 3.3 + 11) * 2 - 1
|
||||
m = sin((u * ${f()} + w * ${f()} + t) * 3.14159) * sin((u * ${f()} - w * ${f()} - t * 0.7) * 3.14159)
|
||||
x = u * ${rr(rng, 0.85, 1.0)} / aspect
|
||||
y = w * ${rr(rng, 0.85, 1.0)}
|
||||
lum = max(0, m) * (0.3 + bass * 0.9) + 0.06
|
||||
${colorLines(palette, 'lum', `u * ${rr(rng, 2, 6)}`)}
|
||||
size = 1 + abs(m) * ${rr(rng, 2, 4)}
|
||||
`
|
||||
return { style: 'moire', content }
|
||||
}
|
||||
|
||||
function famFountain({ rng, name, palette, hueSpeed }: FamilyCtx) {
|
||||
const jets = ri(rng, 2, 5)
|
||||
const grav = rr(rng, 0.7, 1.4)
|
||||
const spread = rr(rng, 0.5, 1.2)
|
||||
const content = `${scriptHeader(name, 'dots', rr(rng, 0.74, 0.86), rr(rng, 1.8, 2.8))}
|
||||
|
||||
[init]
|
||||
n = ${ri(rng, 750, 1200)}
|
||||
|
||||
[frame]
|
||||
tt = tt + dt * (0.5 + bass_att * 1.1)
|
||||
hue = hue + dt * ${hueSpeed}
|
||||
burst = burst * 0.9
|
||||
|
||||
[beat]
|
||||
burst = 1
|
||||
|
||||
[point]
|
||||
jet = floor(i * ${jets})
|
||||
life = frac(rand(i * 7.7 + jet) + tt * (0.35 + rand(i + 3) * 0.65))
|
||||
a = jet * 6.28318 / ${jets} + rand(i * 5.1 + jet) * ${spread}
|
||||
spd = 0.4 + rand(i * 9.2 + jet) * 0.8
|
||||
px = cos(a) * spd * life
|
||||
py = sin(a) * spd * life - ${grav} * life * life
|
||||
x = px * (0.85 + bass * 0.35) / aspect
|
||||
y = py
|
||||
${colorLines(palette, 'max(0, 1 - life) * (0.35 + burst * 0.55)', 'life * 4')}
|
||||
skip = if(above(life, 0.94), 1, 0)
|
||||
`
|
||||
return { style: 'fountain', content }
|
||||
}
|
||||
|
||||
function famRose({ rng, name, palette, hueSpeed }: FamilyCtx) {
|
||||
const k = ri(rng, 2, 7)
|
||||
const loops = ri(rng, 1, 2)
|
||||
const content = `${scriptHeader(name, 'lines', rr(rng, 0.84, 0.92), rr(rng, 1.5, 2.6))}
|
||||
|
||||
[init]
|
||||
n = ${ri(rng, 700, 1000)}
|
||||
|
||||
[frame]
|
||||
t = t + dt * (${rr(rng, 0.1, 0.3)} + mid * 0.5)
|
||||
hue = hue + dt * ${hueSpeed}
|
||||
flash = flash * 0.87
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
|
||||
[point]
|
||||
th = i * 6.28318 * ${loops} + t
|
||||
r = abs(cos(${k} * th + bass * ${rr(rng, 0.3, 0.9)}))
|
||||
rad = r * (0.5 + bass * 0.3 + sv * 0.2 + flash * 0.08)
|
||||
x = sin(th) * rad / aspect
|
||||
y = cos(th) * rad
|
||||
${colorLines(palette, '0.25 + 0.65 * r + v * 0.25', 'th * 0.5')}
|
||||
`
|
||||
return { style: 'rose', content }
|
||||
}
|
||||
|
||||
function famOrbits({ rng, name, palette, hueSpeed }: FamilyCtx) {
|
||||
const rings = ri(rng, 3, 7)
|
||||
const sats = ri(rng, 2, 5)
|
||||
const squashBase = rr(rng, 0.3, 0.6)
|
||||
const content = `${scriptHeader(name, 'dots', rr(rng, 0.78, 0.88), rr(rng, 1.8, 3))}
|
||||
|
||||
[init]
|
||||
rings = ${rings}
|
||||
n = rings * ${ri(rng, 70, 110)}
|
||||
|
||||
[frame]
|
||||
t = t + dt * (${rr(rng, 0.15, 0.4)} + bass_att * 0.6)
|
||||
hue = hue + dt * ${hueSpeed}
|
||||
squash = ${squashBase} + 0.25 * sin(t * ${rr(rng, 0.2, 0.5)})
|
||||
|
||||
[point]
|
||||
ring = floor(i * rings)
|
||||
ri3 = frac(i * rings)
|
||||
r0 = 0.16 + ring * ${rr(rng, 0.1, 0.16)}
|
||||
a = ri3 * 6.28318 + t * (1.2 - ring * 0.18) + ring * 2.4
|
||||
x = sin(a) * r0 * (1 + bass * 0.18) / aspect
|
||||
y = cos(a) * r0 * squash
|
||||
sat = frac(ri3 * ${sats})
|
||||
size = if(below(sat, 0.14), 3 + bass * 3, 1)
|
||||
${colorLines(palette, '0.25 + bass * 0.5 + ring * 0.07', 'ring * 1.3')}
|
||||
`
|
||||
return { style: 'orbits', content }
|
||||
}
|
||||
|
||||
function famRibbon({ rng, name, palette, hueSpeed }: FamilyCtx) {
|
||||
const loops = ri(rng, 1, 3)
|
||||
const wFreq = ri(rng, 2, 6)
|
||||
const content = `${scriptHeader(name, 'lines', rr(rng, 0.88, 0.94), rr(rng, 1.4, 2.4))}
|
||||
|
||||
[init]
|
||||
n = ${ri(rng, 800, 1200)}
|
||||
|
||||
[frame]
|
||||
t = t + dt * (${rr(rng, 0.3, 0.7)} + bass_att * 0.8)
|
||||
sway = sway + dt * (0.5 + treb)
|
||||
hue = hue + dt * ${hueSpeed}
|
||||
|
||||
[point]
|
||||
a = i * 6.28318 * ${loops}
|
||||
wob = sin(a * ${wFreq} + t * 2) * (0.08 + treb * 0.3)
|
||||
rad = (0.42 + mid * 0.25) * (0.85 + 0.15 * sin(a * 3 + sway)) + v * ${rr(rng, 0.15, 0.45)} - wob
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
${colorLines(palette, '0.3 + abs(v) * 1.2', 'a * 0.5')}
|
||||
`
|
||||
return { style: 'ribbon', content }
|
||||
}
|
||||
|
||||
function famWeb({ rng, name, palette, hueSpeed }: FamilyCtx) {
|
||||
const spokes = ri(rng, 14, 32)
|
||||
const wFreq = ri(rng, 2, 5)
|
||||
const content = `${scriptHeader(name, pick(rng, ['lines', 'dots'] as const), rr(rng, 0.8, 0.9), rr(rng, 1.3, 2.2))}
|
||||
|
||||
[init]
|
||||
spokes = ${spokes}
|
||||
n = spokes * ${ri(rng, 22, 40)}
|
||||
|
||||
[frame]
|
||||
rot = rot + dt * (${rr(rng, 0.06, 0.16)} + mid * 0.4)
|
||||
t = t + dt * ${rr(rng, 1.5, 3)}
|
||||
hue = hue + dt * ${hueSpeed}
|
||||
|
||||
[point]
|
||||
sp = floor(i * spokes)
|
||||
si = frac(i * spokes)
|
||||
a = sp * 6.28318 / spokes + rot
|
||||
wave = sin(si * ${wFreq} * 3.14159 - t) * (0.03 + bass * 0.28)
|
||||
rad = 0.12 + si * ${rr(rng, 0.75, 0.95)} + wave
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
${colorLines(palette, '(1 - si) * 0.45 + 0.15 + sv * 0.55', 'sp * 0.4')}
|
||||
skip = if(above(si, 0.985), 1, 0)
|
||||
`
|
||||
return { style: 'web', content }
|
||||
}
|
||||
|
||||
function famRain({ rng, name, palette, hueSpeed }: FamilyCtx) {
|
||||
const cols = ri(rng, 40, 70)
|
||||
const content = `${scriptHeader(name, 'dots', rr(rng, 0.7, 0.82), rr(rng, 1.6, 2.6))}
|
||||
|
||||
[init]
|
||||
cols = ${cols}
|
||||
n = ${ri(rng, 900, 1400)}
|
||||
|
||||
[frame]
|
||||
fall = fall + dt * (${rr(rng, 0.4, 0.9)} + vol_att * ${rr(rng, 0.8, 1.5)})
|
||||
hue = hue + dt * ${hueSpeed}
|
||||
|
||||
[point]
|
||||
col = floor(i * cols)
|
||||
ci = frac(i * cols)
|
||||
xx = (col / cols - 0.5) * 1.9
|
||||
yf = frac(rand(col * 3.7 + 1) + fall * (0.55 + rand(col + 5) * 0.5))
|
||||
tail = rand(col * 1.3 + 9) * ${rr(rng, 0.25, 0.5)} + 0.04
|
||||
yy = (yf * 2 - 1) * 1.05 + ci * tail
|
||||
x = xx / aspect
|
||||
y = yy
|
||||
${colorLines(palette, '(1 - ci) * (0.2 + treb * 0.85) + 0.04', 'col * 0.3')}
|
||||
skip = if(above(abs(yy), 1.02), 1, 0)
|
||||
`
|
||||
return { style: 'rain', content }
|
||||
}
|
||||
|
||||
function famHelix({ rng, name, palette, hueSpeed }: FamilyCtx) {
|
||||
const turns = ri(rng, 2, 6)
|
||||
const content = `${scriptHeader(name, 'lines', rr(rng, 0.84, 0.92), rr(rng, 1.4, 2.4))}
|
||||
|
||||
[init]
|
||||
n = ${ri(rng, 900, 1300)}
|
||||
|
||||
[frame]
|
||||
t = t + dt * (${rr(rng, 0.15, 0.45)} + bass_att * 0.9)
|
||||
hue = hue + dt * ${hueSpeed}
|
||||
flash = flash * 0.86
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
|
||||
[point]
|
||||
st = floor(i * 2)
|
||||
si = frac(i * 2)
|
||||
s = si * ${turns} * 6.28318 + t
|
||||
ph = st * 3.14159
|
||||
rad = (0.28 + bass * 0.32 + flash * 0.06) * (0.55 + 0.45 * (cos(s + ph) * 0.5 + 0.5))
|
||||
x = sin(s + ph) * rad / aspect
|
||||
y = (si - 0.5) * 1.8
|
||||
${colorLines(palette, '0.25 + 0.55 * (cos(s + ph) * 0.5 + 0.5) + treb * 0.25', 's * 0.3')}
|
||||
`
|
||||
return { style: 'helix', content }
|
||||
}
|
||||
|
||||
const FAMILIES: Record<string, FamilyFn> = {
|
||||
'pulse rings': famPulseRings,
|
||||
tunnel: famTunnel,
|
||||
starfield: famStarfield,
|
||||
lattice: famLattice,
|
||||
swirl: famSwirl,
|
||||
kaleido: famKaleido,
|
||||
lissajous: famLissajous,
|
||||
'spectrum bars': famSpectrum,
|
||||
moire: famMoire,
|
||||
fountain: famFountain,
|
||||
rose: famRose,
|
||||
orbits: famOrbits,
|
||||
ribbon: famRibbon,
|
||||
web: famWeb,
|
||||
rain: famRain,
|
||||
helix: famHelix,
|
||||
}
|
||||
const FAMILY_NAMES = Object.keys(FAMILIES)
|
||||
|
||||
/**
|
||||
* Component → family affinity. The family is picked among the families hinted
|
||||
* by the original's unportable components (union of all matches), so the
|
||||
* stand-in's vibe roughly matches the original while same-component presets
|
||||
* still spread across different families via the name-seeded RNG.
|
||||
*/
|
||||
const COMPONENT_FAMILY_HINTS: Array<[RegExp, string[]]> = [
|
||||
[/blitterfeedback|rotoblitter|buffersave/i, ['tunnel', 'kaleido', 'moire']],
|
||||
[/dynamicmovement|movement|dynamicshift/i, ['swirl', 'ribbon', 'web', 'moire']],
|
||||
[/colormap|uniquetone|colorfade|colorclip|fastbright|colormodifier/i, ['spectrum bars', 'moire', 'orbits', 'lissajous']],
|
||||
[/starfield/i, ['starfield', 'rain', 'helix']],
|
||||
[/movingparticle|dotfountain/i, ['fountain', 'rain', 'starfield']],
|
||||
[/water|bump|mosaic/i, ['pulse rings', 'web', 'moire', 'lattice']],
|
||||
[/dotgrid|grain|scatter/i, ['lattice', 'rain', 'starfield', 'moire']],
|
||||
[/mirror/i, ['kaleido', 'lissajous', 'rose']],
|
||||
[/ring|rotstar/i, ['pulse rings', 'orbits', 'rose', 'tunnel']],
|
||||
[/interference/i, ['moire', 'lissajous']],
|
||||
[/bassspin/i, ['orbits', 'rose', 'swirl']],
|
||||
[/oscilloscope|simple|svp/i, ['ribbon', 'lissajous', 'spectrum bars']],
|
||||
]
|
||||
|
||||
function chooseFamilies(components: string[]): string[] {
|
||||
const hits: string[] = []
|
||||
for (const [re, fams] of COMPONENT_FAMILY_HINTS) {
|
||||
if (components.some((c) => re.test(c))) {
|
||||
for (const f of fams) if (!hits.includes(f)) hits.push(f)
|
||||
}
|
||||
}
|
||||
return hits.length ? hits : FAMILY_NAMES
|
||||
}
|
||||
|
||||
/** Known-good template used if a generated family somehow fails the smoke test. */
|
||||
function safeFallback(name: string): string {
|
||||
return `name: ${JSON.stringify(name)}
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.86
|
||||
linewidth: 2
|
||||
|
||||
[init]
|
||||
n = 640
|
||||
|
||||
[frame]
|
||||
hue = hue + dt * 0.06 + beat * 0.01
|
||||
travel = travel + dt * (0.3 + bass_att * 1.4)
|
||||
flash = flash * 0.86
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
|
||||
[point]
|
||||
g = floor(i * 8)
|
||||
gi = frac(i * 8)
|
||||
ph = frac(rand(g * 5.1 + 1) + travel * (0.55 + rand(g + 17) * 0.85))
|
||||
a = gi * 6.28318
|
||||
rad = ph * (0.24 + bass * 0.6 + flash * 0.08)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
fade = sin(ph * 3.14159)
|
||||
red = fade * (0.45 + 0.55 * sin(hue * 6.28318 + g * 0.7))
|
||||
green = fade * (0.45 + 0.55 * sin(hue * 6.28318 + g * 0.7 + 2.09))
|
||||
blue = fade * (0.45 + 0.55 * sin(hue * 6.28318 + g * 0.7 + 4.19))
|
||||
skip = if(above(ph, 0.96), 1, 0)
|
||||
`
|
||||
}
|
||||
|
||||
/**
|
||||
* Build the stand-in for one preset. Every parameter is drawn from a PRNG
|
||||
* seeded by the preset name — the same name always regenerates the same
|
||||
* visual; different names (even in the same family) look clearly different.
|
||||
*/
|
||||
/** Families already used by a stand-in in this converter run (full-coverage rotation). */
|
||||
const usedStyles = new Set<string>()
|
||||
|
||||
function fallbackTemplate(
|
||||
seed: number,
|
||||
name: string,
|
||||
components: string[] = [],
|
||||
): { content: string; style: string } {
|
||||
const rng = mulberry32(seed)
|
||||
// 1) guarantee every family gets used at least once across a run (first
|
||||
// fallbacks cycle through the unused ones — deterministic, files sorted)
|
||||
// 2) otherwise mostly honor the component hints (vibe matches the original)
|
||||
// 3) ~25% wild card so the archetype mix keeps rotating in large libraries
|
||||
const hinted = chooseFamilies(components)
|
||||
const unused = FAMILY_NAMES.filter((f) => !usedStyles.has(f))
|
||||
const pool = unused.length ? unused : rng() < 0.25 ? FAMILY_NAMES : hinted
|
||||
const style = pick(rng, pool)
|
||||
usedStyles.add(style)
|
||||
const palette = pick(rng, PALETTE_NAMES)
|
||||
const hueSpeed = rr(rng, 0.03, 0.14)
|
||||
const out = FAMILIES[style]({ rng, name, palette, hueSpeed })
|
||||
return { content: out.content, style: out.style }
|
||||
}
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// smoke test — runs the generated script headlessly through the real engine env
|
||||
// ---------------------------------------------------------------------------
|
||||
|
|
@ -754,6 +1193,8 @@ interface OutputPreset {
|
|||
description: string
|
||||
originalFile: string
|
||||
content: string
|
||||
/** true = generated stand-in (original relies on unportable effects). */
|
||||
approx?: boolean
|
||||
}
|
||||
|
||||
function convertOne(file: string, relDir: string, absPath: string): { preset: OutputPreset; status: 'ported' | 'fallback'; note: string } {
|
||||
|
|
@ -762,7 +1203,9 @@ function convertOne(file: string, relDir: string, absPath: string): { preset: Ou
|
|||
const cands: Candidates = { scopes: [], eeltrans: [], gv: [], comment: null, otherKinds: new Set() }
|
||||
collect(effects, cands)
|
||||
|
||||
const folder = 'root/embedded/' + relDir
|
||||
// relDir already carries the clean tree ("root/embedded/Amp Picks") when the
|
||||
// input mirrors the drive layout — only prefix when it does not.
|
||||
const folder = relDir.startsWith('root/') ? relDir : 'root/embedded/' + relDir
|
||||
const originalFile = `/avs-originals/embedded/${relDir}/${file}`
|
||||
const desc = (extra: string): string => {
|
||||
const by = author ? ` by ${author}` : ''
|
||||
|
|
@ -771,15 +1214,34 @@ function convertOne(file: string, relDir: string, absPath: string): { preset: Ou
|
|||
}
|
||||
|
||||
const makeFallback = (reason: string) => {
|
||||
const tpl = fallbackTemplate(hashStr(name), name)
|
||||
const tpl = fallbackTemplate(hashStr(name), name, Array.from(cands.otherKinds))
|
||||
const smoke = smokeTest(tpl.content)
|
||||
if (!smoke.ok) {
|
||||
// should never happen — every family is smoke-tested code; still, never
|
||||
// emit a broken script.
|
||||
return {
|
||||
preset: {
|
||||
folder,
|
||||
name,
|
||||
author,
|
||||
description: desc(`The original is driven by ${reason}, which the script engine cannot run — replaced with a generated stand-in (beat & band reactive).`),
|
||||
originalFile,
|
||||
content: safeFallback(name),
|
||||
approx: true,
|
||||
},
|
||||
status: 'fallback' as const,
|
||||
note: `${reason} → safe stand-in (family "${tpl.style}" failed smoke: ${smoke.error})`,
|
||||
}
|
||||
}
|
||||
return {
|
||||
preset: {
|
||||
folder,
|
||||
name,
|
||||
author,
|
||||
description: desc(`The original's visuals are driven by ${reason}, which the AVA script engine does not support — this is a generated stand-in that keeps the beat & band reactivity.`),
|
||||
description: desc(`The original is driven by ${reason}, which the script engine cannot run — replaced with a generated "${tpl.style}"-style visual, uniquely parameterized for this preset (beat & band reactive).`),
|
||||
originalFile,
|
||||
content: tpl.content,
|
||||
approx: true,
|
||||
},
|
||||
status: 'fallback' as const,
|
||||
note: `${reason} → ${tpl.style} stand-in`,
|
||||
|
|
@ -913,6 +1375,11 @@ ${[point.trim(), colorPoint].filter(Boolean).join('\n')}
|
|||
if (!smoke.ok) {
|
||||
return makeFallback(`unportable scope code (${smoke.error})`)
|
||||
}
|
||||
// a "ported" scope that renders a handful of points is not the real visual
|
||||
// (the meat is in movements/APEs) — those presets get stand-ins too.
|
||||
if (smoke.n < 16) {
|
||||
return makeFallback(`a trivial scope (n=${smoke.n}; the real work is movement/APE driven)`)
|
||||
}
|
||||
const perf = smoke.ms > 900 ? ' (heavy script — point count clamped)' : ''
|
||||
if (smoke.ms > 900) {
|
||||
// clamp n for heavy scripts so the browser keeps 60fps
|
||||
|
|
@ -920,14 +1387,14 @@ ${[point.trim(), colorPoint].filter(Boolean).join('\n')}
|
|||
const recheck = smokeTest(patched)
|
||||
if (recheck.ok) {
|
||||
return {
|
||||
preset: { folder, name, author, description: desc(`Original ${scope.kind} code, machine-translated to the AVA script dialect.${perf}`), originalFile, content: patched },
|
||||
preset: { folder, name, author, description: desc(`Original ${scope.kind} code, machine-translated to the AVA script dialect.${perf}`), originalFile, content: patched, approx: false },
|
||||
status: 'ported',
|
||||
note: `ok (n clamped, ${smoke.ms}ms → ${recheck.ms}ms)`,
|
||||
}
|
||||
}
|
||||
}
|
||||
return {
|
||||
preset: { folder, name, author, description: desc(`Original ${scope.kind} code, machine-translated to the AVA script dialect.`), originalFile, content },
|
||||
preset: { folder, name, author, description: desc(`Original ${scope.kind} code, machine-translated to the AVA script dialect.`), originalFile, content, approx: false },
|
||||
status: 'ported',
|
||||
note: `ok (${smoke.ms}ms, n=${smoke.n})`,
|
||||
}
|
||||
|
|
@ -940,6 +1407,8 @@ ${[point.trim(), colorPoint].filter(Boolean).join('\n')}
|
|||
const inputRoot = process.argv[2] ?? '/tmp/avsdrive/raw'
|
||||
const outDir = 'tools/converted'
|
||||
const originalsDir = 'public/avs-originals/embedded'
|
||||
/** Bump when regenerating — written into embedded-presets.ts for the seed check. */
|
||||
const SEED_VERSION = '6.1'
|
||||
|
||||
const SKIP_FOLDERS = new Set(['Synth-C']) // hand-adapted versions ship in BUILTIN_PRESETS
|
||||
|
||||
|
|
@ -986,10 +1455,10 @@ for (const abs of files) {
|
|||
const destAva = join(outDir, relDir, file.replace(/\.avs$/i, '.ava'))
|
||||
mkdirSync(dirname(destAva), { recursive: true })
|
||||
writeFileSync(destAva, r.preset.content)
|
||||
// copy the original binary
|
||||
// copy the original binary (skip when re-running in-place — src IS the dest)
|
||||
const destOrig = join(originalsDir, relDir, file)
|
||||
mkdirSync(dirname(destOrig), { recursive: true })
|
||||
copyFileSync(abs, destOrig)
|
||||
if (resolve(abs) !== resolve(destOrig)) copyFileSync(abs, destOrig)
|
||||
} catch (err) {
|
||||
report.push({ file: rel, status: 'error', note: String(err) })
|
||||
fallback++
|
||||
|
|
@ -1009,9 +1478,14 @@ const tsHeader = `// AVA — embedded preset library (AUTO-GENERATED by tools/co
|
|||
//
|
||||
// ${results.length} Winamp AVS presets from the user's Google Drive collection,
|
||||
// auto-ported to the AVA script dialect by the converter. Ported presets run
|
||||
// the original SuperScope / Texer II code (machine-translated); stand-in
|
||||
// presets are generated visuals for originals that rely on effects the script
|
||||
// engine does not support (movements, APEs).
|
||||
// the original SuperScope / Texer II code (machine-translated); approx
|
||||
// presets are UNIQUE generated stand-ins (16 families × seeded parameters)
|
||||
// for originals that rely on effects the script engine cannot run.
|
||||
//
|
||||
// EMBEDDED_SEED_VERSION: bump whenever this library is regenerated — the
|
||||
// GET /api/presets route re-seeds the root/embedded subtree when it changes.
|
||||
|
||||
export const EMBEDDED_SEED_VERSION = '${SEED_VERSION}'
|
||||
|
||||
export interface EmbeddedPreset {
|
||||
folder: string
|
||||
|
|
@ -1020,13 +1494,15 @@ export interface EmbeddedPreset {
|
|||
description: string
|
||||
originalFile?: string
|
||||
content: string
|
||||
/** true = generated stand-in (original relies on unportable effects). */
|
||||
approx?: boolean
|
||||
}
|
||||
|
||||
`
|
||||
|
||||
const lines: string[] = []
|
||||
for (const p of results) {
|
||||
lines.push(` {\n folder: ${JSON.stringify(p.folder)},\n name: ${JSON.stringify(p.name)},\n author: ${JSON.stringify(p.author)},\n description: ${JSON.stringify(p.description)},\n originalFile: ${JSON.stringify(p.originalFile)},\n content: ${JSON.stringify(p.content)},\n },`)
|
||||
lines.push(` {\n folder: ${JSON.stringify(p.folder)},\n name: ${JSON.stringify(p.name)},\n author: ${JSON.stringify(p.author)},\n description: ${JSON.stringify(p.description)},\n originalFile: ${JSON.stringify(p.originalFile)},\n approx: ${p.approx === true},\n content: ${JSON.stringify(p.content)},\n },`)
|
||||
}
|
||||
const ts = tsHeader + `export const EMBEDDED_LIBRARY: EmbeddedPreset[] = [\n${lines.join('\n')}\n]\n`
|
||||
writeFileSync('src/lib/ava/embedded-presets.ts', ts)
|
||||
|
|
|
|||
|
|
@ -2,97 +2,87 @@
|
|||
{
|
||||
"file": "root/embedded/Amp Picks/D&L - Life Is Violated.avs",
|
||||
"status": "ported",
|
||||
"note": "ok (25ms, n=512)"
|
||||
"note": "ok (21ms, n=512)"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/Degnic - Retrowall (Yathosho's Supermicrocosm).avs",
|
||||
"status": "fallback",
|
||||
"note": "DynamicMovement, Movement, Invert → swirl stand-in"
|
||||
"note": "DynamicMovement, Movement, Invert → orbits stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/Degnic-Adrealine rush.avs",
|
||||
"status": "fallback",
|
||||
"note": "en03: Convolution Filter, Simple, Color Map → starfield stand-in"
|
||||
"note": "en03: Convolution Filter, Simple, Color Map → moire stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/Duo - Alien Heart.avs",
|
||||
"status": "fallback",
|
||||
"note": "Fadeout, ClearScreen, MovingParticle → pulse rings stand-in"
|
||||
"note": "Fadeout, ClearScreen, MovingParticle → tunnel stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/Duo - Brainstorm.avs",
|
||||
"status": "fallback",
|
||||
"note": "Invert, UniqueTone, Brightness → swirl stand-in"
|
||||
"note": "Invert, UniqueTone, Brightness → kaleido stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/EL-VIS - Molecules (S_KuPeRS Remix).avs",
|
||||
"status": "fallback",
|
||||
"note": "DynamicMovement, Color Map, Invert → starfield stand-in"
|
||||
"note": "DynamicMovement, Color Map, Invert → swirl stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/L1quid - Take the Veil.avs",
|
||||
"status": "fallback",
|
||||
"note": "unportable scope code (frame line 15: Unexpected character '$') → lattice stand-in"
|
||||
"note": "unportable scope code (frame line 15: Unexpected character '$') → lissajous stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/Nic01 - Rototronik.avs",
|
||||
"status": "ported",
|
||||
"note": "ok (54ms, n=512)"
|
||||
"note": "ok (45ms, n=512)"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/S_KuPeRS - ...hidden track....avs",
|
||||
"status": "fallback",
|
||||
"note": "DynamicMovement, Color Map → starfield stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/S_KuPeRS - A Tribute To Degnic.avs",
|
||||
"status": "error",
|
||||
"note": "Error: out of bytes"
|
||||
"note": "DynamicMovement, Color Map → pulse rings stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/S_KuPeRS - Arctic Rainbow.avs",
|
||||
"status": "fallback",
|
||||
"note": "BlitterFeedback, DynamicMovement, Movement → lattice stand-in"
|
||||
"note": "BlitterFeedback, DynamicMovement, Movement → rain stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/S_KuPeRS - Chinook.avs",
|
||||
"status": "fallback",
|
||||
"note": "ColorClip, ClearScreen, DynamicMovement → pulse rings stand-in"
|
||||
"note": "ColorClip, ClearScreen, DynamicMovement → spectrum bars stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/S_KuPeRS - Hexual Healing.avs",
|
||||
"status": "fallback",
|
||||
"note": "Color Map → starfield stand-in"
|
||||
"note": "Color Map → lattice stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/S_KuPeRS - Inverse Kinetics.avs",
|
||||
"status": "fallback",
|
||||
"note": "effect#2176, DynamicMovement → kaleido stand-in"
|
||||
"note": "effect#2176, DynamicMovement → fountain stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/S_KuPeRS - Kingish.avs",
|
||||
"status": "fallback",
|
||||
"note": "BlitterFeedback → starfield stand-in"
|
||||
"note": "BlitterFeedback → web stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/S_KuPeRS - Spirit Realm (Degnic's Plasmoid RMX).avs",
|
||||
"status": "fallback",
|
||||
"note": "BlitterFeedback, \u0005, DotPlane → swirl stand-in"
|
||||
"note": "BlitterFeedback, \u0005, DotPlane → ribbon stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/S_KuPeRS - Texering 002.avs",
|
||||
"status": "ported",
|
||||
"note": "ok (45ms, n=100)"
|
||||
"note": "ok (10ms, n=100)"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/S_KuPeRS - Upward Current.avs",
|
||||
"status": "fallback",
|
||||
"note": "CustomBPM, DynamicMovement, Water → tunnel stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/S_KuPeRS - female demands.avs",
|
||||
"status": "error",
|
||||
"note": "Error: out of bytes"
|
||||
"note": "CustomBPM, DynamicMovement, Water → rose stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/Tuggummi - Aqua-fumes.avs",
|
||||
|
|
@ -102,82 +92,72 @@
|
|||
{
|
||||
"file": "root/embedded/Amp Picks/Tuggummi - Club Seizure (color enhanced mix).avs",
|
||||
"status": "fallback",
|
||||
"note": "Movement, DynamicMovement, Multiplier → swirl stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/Tuggummi - Different Load.avs",
|
||||
"status": "error",
|
||||
"note": "Error: out of bytes"
|
||||
"note": "Movement, DynamicMovement, Multiplier → helix stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/Tuggummi - Electro blobs.avs",
|
||||
"status": "fallback",
|
||||
"note": "MovingParticle, Color Map, BlitterFeedback → lattice stand-in"
|
||||
"note": "MovingParticle, Color Map, BlitterFeedback → kaleido stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/Tuggummi - Kaleidofied.avs",
|
||||
"status": "fallback",
|
||||
"note": "Invert, Movement, Bump → pulse rings stand-in"
|
||||
"note": "Invert, Movement, Bump → ribbon stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/Tuggummi - Magma Flow II.avs",
|
||||
"status": "fallback",
|
||||
"note": "Color Map, BufferSave, ClearScreen → swirl stand-in"
|
||||
"note": "Color Map, BufferSave, ClearScreen → orbits stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/Tuggummi - Multiple Orgasms.avs",
|
||||
"status": "fallback",
|
||||
"note": "Movement, Color Map, BufferSave → kaleido stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/Tuggummi - Odour Control.avs",
|
||||
"status": "error",
|
||||
"note": "Error: out of bytes"
|
||||
"note": "Movement, Color Map, BufferSave → web stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/Tuggummi - Pina Colada.avs",
|
||||
"status": "fallback",
|
||||
"note": "Color Map → kaleido stand-in"
|
||||
"note": "Color Map → swirl stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/Tuggummi - Scope in Spotlight II.avs",
|
||||
"status": "fallback",
|
||||
"note": "effect#117, Color Map, Invert → pulse rings stand-in"
|
||||
"note": "effect#117, Color Map, Invert → kaleido stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/Tuggummi - Solero Shots.avs",
|
||||
"status": "fallback",
|
||||
"note": "effect#28, FastBright, Movement → starfield stand-in"
|
||||
"note": "effect#28, FastBright, Movement → spectrum bars stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/Tuggummi - Square Minded.avs",
|
||||
"status": "fallback",
|
||||
"note": "FastBright → kaleido stand-in"
|
||||
"note": "FastBright → moire stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/Tuggummi - Worm-O-Rama (Raz Remix).avs",
|
||||
"status": "fallback",
|
||||
"note": "MovingParticle, Filter, Simple → tunnel stand-in"
|
||||
"note": "MovingParticle, Filter, Simple → ribbon stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/UnConeD - Zero-G Maze.avs",
|
||||
"status": "ported",
|
||||
"note": "ok (9ms, n=50)"
|
||||
"note": "ok (2ms, n=50)"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/UnConeD - Cartoon Trip.avs",
|
||||
"status": "fallback",
|
||||
"note": "DynamicMovement, FastBright, Color Reduction → starfield stand-in"
|
||||
"note": "DynamicMovement, FastBright, Color Reduction → spectrum bars stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/UnConeD - Containment.avs",
|
||||
"status": "fallback",
|
||||
"note": "unportable scope code (init line 12: Unexpected character '£') → lattice stand-in"
|
||||
"note": "unportable scope code (init line 12: Unexpected character '£') → ribbon stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/UnConeD - Cubic Flower.avs",
|
||||
"status": "ported",
|
||||
"note": "ok (8ms, n=40)"
|
||||
"note": "ok (6ms, n=40)"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/UnConeD - Jello Cube.avs",
|
||||
|
|
@ -187,311 +167,286 @@
|
|||
{
|
||||
"file": "root/embedded/Amp Picks/UnConeD - Mercury.avs",
|
||||
"status": "fallback",
|
||||
"note": "Blur, DynamicMovement, FastBright → pulse rings stand-in"
|
||||
"note": "Blur, DynamicMovement, FastBright → ribbon stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/UnConeD - Neon Coaster.avs",
|
||||
"status": "fallback",
|
||||
"note": "unportable scope code (beat line 18: Unexpected character '¤') → swirl stand-in"
|
||||
"note": "unportable scope code (beat line 18: Unexpected character '¤') → spectrum bars stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/UnConeD - Plankton.avs",
|
||||
"status": "fallback",
|
||||
"note": "DynamicMovement, FastBright → swirl stand-in"
|
||||
"note": "DynamicMovement, FastBright → pulse rings stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/UnConeD - Reflectocube.avs",
|
||||
"status": "fallback",
|
||||
"note": "Movement, DynamicMovement → starfield stand-in"
|
||||
"note": "Movement, DynamicMovement → swirl stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/UnConeD - Speeder 3K.avs",
|
||||
"status": "fallback",
|
||||
"note": "unportable scope code (init line 12: Unexpected character '¤') → tunnel stand-in"
|
||||
"note": "unportable scope code (init line 12: Unexpected character '¤') → starfield stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/UnConeD - TC Plasma.avs",
|
||||
"status": "fallback",
|
||||
"note": "CustomBPM, DynamicMovement, FastBright → starfield stand-in"
|
||||
"note": "CustomBPM, DynamicMovement, FastBright → ribbon stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/UnConeD - Tie Tunnel SSC.avs",
|
||||
"status": "fallback",
|
||||
"note": "unportable scope code (init line 12: Unexpected character '¤') → pulse rings stand-in"
|
||||
"note": "unportable scope code (init line 12: Unexpected character '¤') → helix stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/UnConeD - Zero-G Maze II.avs",
|
||||
"status": "fallback",
|
||||
"note": "DynamicMovement → pulse rings stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/UnConeD -Retrosquares.avs",
|
||||
"status": "error",
|
||||
"note": "Error: out of bytes"
|
||||
"note": "DynamicMovement → swirl stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/UnConeD -Zero-G Maze III.avs",
|
||||
"status": "fallback",
|
||||
"note": "BlitterFeedback, Movement, DynamicMovement → starfield stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/Yathosho - microcosm 02.avs",
|
||||
"status": "error",
|
||||
"note": "Error: out of bytes"
|
||||
"note": "BlitterFeedback, Movement, DynamicMovement → tunnel stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/amphirion - nebulous (skupers remix).avs",
|
||||
"status": "fallback",
|
||||
"note": "Water, UniqueTone, Interleave → kaleido stand-in"
|
||||
"note": "Water, UniqueTone, Interleave → lattice stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/el-vis - soundscape III (skupers remix).avs",
|
||||
"status": "fallback",
|
||||
"note": "a trivial scope (the real work is movement/APE driven) → starfield stand-in"
|
||||
"note": "a trivial scope (the real work is movement/APE driven) → kaleido stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/fck - checkers with metaballs (skupers remix).avs",
|
||||
"status": "ported",
|
||||
"note": "ok (59ms, n=500)"
|
||||
"note": "ok (16ms, n=500)"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/horse-fly - jinx (skupers remix).avs",
|
||||
"status": "fallback",
|
||||
"note": "ColorClip, Simple, Mosaic → tunnel stand-in"
|
||||
"note": "ColorClip, Simple, Mosaic → spectrum bars stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/jheriko - not quite a bendy tunnel (skupers remix).avs",
|
||||
"status": "fallback",
|
||||
"note": "Interleave, DynamicMovement, effect#737 → pulse rings stand-in"
|
||||
"note": "Interleave, DynamicMovement, effect#737 → lissajous stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/justin - newpoop (for wa5).avs",
|
||||
"status": "fallback",
|
||||
"note": "ColorModifier → swirl stand-in"
|
||||
"note": "ColorModifier → orbits stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/justin - the landscape is killing me (wa5remix).avs",
|
||||
"status": "fallback",
|
||||
"note": "DynamicDistanceModifier, ColorModifier → swirl stand-in"
|
||||
"note": "DynamicDistanceModifier, ColorModifier → rain stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/mig - Dragonscales.avs",
|
||||
"status": "fallback",
|
||||
"note": "CustomBPM, BufferSave, MovingParticle → lattice stand-in"
|
||||
"note": "CustomBPM, BufferSave, MovingParticle → lissajous stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/mig - Encapsulade.avs",
|
||||
"status": "fallback",
|
||||
"note": "BufferSave, SetRenderMode, CustomBPM → pulse rings stand-in"
|
||||
"note": "BufferSave, SetRenderMode, CustomBPM → spectrum bars stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/mig - Freekwyrms.avs",
|
||||
"status": "fallback",
|
||||
"note": "BufferSave, SetRenderMode, MovingParticle → swirl stand-in"
|
||||
"note": "BufferSave, SetRenderMode, MovingParticle → spectrum bars stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/mig - Lilypod.avs",
|
||||
"status": "fallback",
|
||||
"note": "BufferSave, MovingParticle, 2.8+ Effect List Config → pulse rings stand-in"
|
||||
"note": "BufferSave, MovingParticle, 2.8+ Effect List Config → fountain stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/mig - Mist Wisps.avs",
|
||||
"status": "fallback",
|
||||
"note": "CustomBPM, BufferSave, MovingParticle → pulse rings stand-in"
|
||||
"note": "CustomBPM, BufferSave, MovingParticle → moire stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/mig - Nebulating - Hypercolorspace.avs",
|
||||
"status": "fallback",
|
||||
"note": "CustomBPM, BufferSave, Fadeout → swirl stand-in"
|
||||
"note": "CustomBPM, BufferSave, Fadeout → moire stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/mig - Reverb - Deep Net.avs",
|
||||
"status": "fallback",
|
||||
"note": "CustomBPM, BufferSave, Fadeout → kaleido stand-in"
|
||||
"note": "CustomBPM, BufferSave, Fadeout → lattice stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/mig - Slyde - Tri.avs",
|
||||
"status": "fallback",
|
||||
"note": "BufferSave, SetRenderMode, MovingParticle → swirl stand-in"
|
||||
"note": "BufferSave, SetRenderMode, MovingParticle → lissajous stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/mig - Solar Flaire.avs",
|
||||
"status": "fallback",
|
||||
"note": "BufferSave, Fadeout, SetRenderMode → lattice stand-in"
|
||||
"note": "BufferSave, Fadeout, SetRenderMode → spectrum bars stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/mig - Spintronics - Backspin.avs",
|
||||
"status": "fallback",
|
||||
"note": "2.8+ Effect List Config, Simple, SetRenderMode → kaleido stand-in"
|
||||
"note": "2.8+ Effect List Config, Simple, SetRenderMode → fountain stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/mig - Starslappin.avs",
|
||||
"status": "fallback",
|
||||
"note": "unportable scope code (frame line 20: Expected ')' but found ';') → swirl stand-in"
|
||||
"note": "unportable scope code (frame line 20: Expected ')' but found ';') → kaleido stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/mig - Street Art - Fire Inside.avs",
|
||||
"status": "fallback",
|
||||
"note": "BufferSave, Colorfade, Movement → swirl stand-in"
|
||||
"note": "BufferSave, Colorfade, Movement → fountain stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/mig - Swoo - Slow.avs",
|
||||
"status": "fallback",
|
||||
"note": "CustomBPM, BufferSave, Movement → kaleido stand-in"
|
||||
"note": "CustomBPM, BufferSave, Movement → ribbon stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/nixa - smell of music (skupers remix).avs",
|
||||
"status": "fallback",
|
||||
"note": "Mirror, DynamicMovement, Movement → lattice stand-in"
|
||||
"note": "Mirror, DynamicMovement, Movement → web stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/p-k - bumpy.avs",
|
||||
"status": "fallback",
|
||||
"note": "CustomBPM, Color Map → pulse rings stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/skupers - chinook (exclusive version).avs",
|
||||
"status": "error",
|
||||
"note": "Error: out of bytes"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/splendora.avs",
|
||||
"status": "fallback",
|
||||
"note": "Grain, Simple, Movement → lattice stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/yathosho - fabric (skupers remix).avs",
|
||||
"status": "error",
|
||||
"note": "Error: out of bytes"
|
||||
"note": "Grain, Simple, Movement → swirl stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Amp Picks/zxe-Urantia.avs",
|
||||
"status": "fallback",
|
||||
"note": "effect#326, \u0001, UniqueTone → kaleido stand-in"
|
||||
"note": "effect#326, \u0001, UniqueTone → orbits stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Dynamics/01 dynamic duo - tentaclism (fake hboy rmx).avs",
|
||||
"status": "fallback",
|
||||
"note": "unportable scope code (frame line 20: Expected ')' but found ';') → swirl stand-in"
|
||||
"note": "unportable scope code (frame line 20: Expected ')' but found ';') → starfield stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Dynamics/02 dynamic duo - tentaclism (sky of contempt mix by drew).avs",
|
||||
"status": "fallback",
|
||||
"note": "unportable scope code (frame line 20: Expected ')' but found ';') → tunnel stand-in"
|
||||
"note": "unportable scope code (frame line 20: Expected ')' but found ';') → orbits stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Dynamics/03 dynamic duo - tentaclism (microdee's grandpa was a tentaclist).avs",
|
||||
"status": "ported",
|
||||
"note": "ok (16ms, n=40)"
|
||||
"note": "ok (4ms, n=40)"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Dynamics/04 dynamic duo - tentaclism (cathode ray mix by onionring of doom).avs",
|
||||
"status": "fallback",
|
||||
"note": "unportable scope code (frame line 19: Expected ')' but found ';') → swirl stand-in"
|
||||
"note": "unportable scope code (frame line 19: Expected ')' but found ';') → web stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Dynamics/05 dynamic duo - chromatics (glowy mix by meaningless-existance).avs",
|
||||
"status": "ported",
|
||||
"note": "ok (2ms, n=4)"
|
||||
"status": "fallback",
|
||||
"note": "a trivial scope (n=4; the real work is movement/APE driven) → tunnel stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Dynamics/06 dynamic duo - tentaclism (midas remix).avs",
|
||||
"status": "fallback",
|
||||
"note": "unportable scope code (frame line 20: Expected ')' but found ';') → kaleido stand-in"
|
||||
"note": "unportable scope code (frame line 20: Expected ')' but found ';') → fountain stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Dynamics/07 dynamic duo - tentaclism (raz remix - ugly edit).avs",
|
||||
"status": "fallback",
|
||||
"note": "unportable scope code (frame line 20: Expected ')' but found ';') → swirl stand-in"
|
||||
"note": "unportable scope code (frame line 20: Expected ')' but found ';') → spectrum bars stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Dynamics/08 dynamic duo - tentaclism (the y.m.o. rework #1).avs",
|
||||
"status": "fallback",
|
||||
"note": "unportable scope code (frame line 20: Expected ')' but found ';') → pulse rings stand-in"
|
||||
"note": "unportable scope code (frame line 20: Expected ')' but found ';') → web stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Dynamics/09 dynamic duo - tentaclism (kans of kansis mix by drew - edit).avs",
|
||||
"status": "fallback",
|
||||
"note": "unportable scope code (frame line 20: Expected ')' but found ';') → lattice stand-in"
|
||||
"note": "unportable scope code (frame line 20: Expected ')' but found ';') → moire stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Envision/01 amphirion - the pacifist (duo's underworld mix).avs",
|
||||
"status": "ported",
|
||||
"note": "ok (32ms, n=4)"
|
||||
"status": "fallback",
|
||||
"note": "a trivial scope (n=4; the real work is movement/APE driven) → kaleido stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Envision/02 duo - biofeedback (hboy's organic mix).avs",
|
||||
"status": "ported",
|
||||
"note": "ok (4ms, n=50)"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Envision/03 zamuz - waterburn (duo's icy hot mix).avs",
|
||||
"status": "error",
|
||||
"note": "Error: out of bytes"
|
||||
"note": "ok (2ms, n=50)"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Envision/04 zamuz - roll-on mojo (duo remix).avs",
|
||||
"status": "fallback",
|
||||
"note": "a trivial scope (the real work is movement/APE driven) → lattice stand-in"
|
||||
"note": "a trivial scope (the real work is movement/APE driven) → swirl stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Envision/05 duo - cafe de duo (vanish's wicked jungle massive remix).avs",
|
||||
"status": "fallback",
|
||||
"note": "unportable scope code (frame line 19: Expected ')' but found ';') → starfield stand-in"
|
||||
"note": "unportable scope code (frame line 19: Expected ')' but found ';') → kaleido stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Envision/06 skupers - incantation (duo remix - edit).avs",
|
||||
"status": "ported",
|
||||
"note": "ok (8ms, n=4)"
|
||||
"status": "fallback",
|
||||
"note": "a trivial scope (n=4; the real work is movement/APE driven) → kaleido stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Envision/07 duo - miraculous flow (nemo remix).avs",
|
||||
"status": "fallback",
|
||||
"note": "UniqueTone, DynamicMovement, FastBright → swirl stand-in"
|
||||
"note": "UniqueTone, DynamicMovement, FastBright → ribbon stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Envision/08 duo - warm freeform (mykal remix).avs",
|
||||
"status": "fallback",
|
||||
"note": "a trivial scope (the real work is movement/APE driven) → starfield stand-in"
|
||||
"note": "a trivial scope (the real work is movement/APE driven) → web stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Envision/09 zxe - pleasure point (duo remix).avs",
|
||||
"status": "fallback",
|
||||
"note": "a trivial scope (the real work is movement/APE driven) → pulse rings stand-in"
|
||||
"note": "a trivial scope (the real work is movement/APE driven) → lissajous stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Envision/10 zamuz - heart dynamics (duo's high dose mix).avs",
|
||||
"status": "fallback",
|
||||
"note": "a trivial scope (the real work is movement/APE driven) → lattice stand-in"
|
||||
"note": "a trivial scope (the real work is movement/APE driven) → ribbon stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Envision/11 nemo - we build here (duo's building blocks remix).avs",
|
||||
"status": "fallback",
|
||||
"note": "DynamicMovement, BufferSave, 2.8+ Effect List Config → lattice stand-in"
|
||||
"note": "DynamicMovement, BufferSave, 2.8+ Effect List Config → moire stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Envision/12 duo & vanish - wickedjunglesmassive (yathosho's cartographic re-rub).avs",
|
||||
"status": "fallback",
|
||||
"note": "unportable scope code (frame line 19: Expected ')' but found ';') → pulse rings stand-in"
|
||||
"note": "unportable scope code (frame line 19: Expected ')' but found ';') → moire stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Envision/13 skupers - why i love you (duo's pulsedriver remix).avs",
|
||||
"status": "ported",
|
||||
"note": "ok (1ms, n=10)"
|
||||
"status": "fallback",
|
||||
"note": "a trivial scope (n=10; the real work is movement/APE driven) → kaleido stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Envision/14 duo - conjuring sands (skupers remix - edit).avs",
|
||||
"status": "ported",
|
||||
"note": "ok (4ms, n=15)"
|
||||
"status": "fallback",
|
||||
"note": "a trivial scope (n=15; the real work is movement/APE driven) → lissajous stand-in"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Envision/15 tuggummi - multiple overdose (duo remix).avs",
|
||||
"status": "ported",
|
||||
"note": "ok (49ms, n=400)"
|
||||
"note": "ok (28ms, n=400)"
|
||||
},
|
||||
{
|
||||
"file": "root/embedded/Envision/16 duo - warm freeform (ya-tho-sho treatment).avs",
|
||||
"status": "fallback",
|
||||
"note": "a trivial scope (the real work is movement/APE driven) → swirl stand-in"
|
||||
"note": "a trivial scope (the real work is movement/APE driven) → pulse rings stand-in"
|
||||
}
|
||||
]
|
||||
|
|
@ -1,25 +1,27 @@
|
|||
name: "Retrowall (Yathosho's Supermicrocosm)"
|
||||
mode: lines
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.9
|
||||
linewidth: 1.6
|
||||
persist: 0.843
|
||||
linewidth: 2.178
|
||||
|
||||
[init]
|
||||
n = 1100
|
||||
rings = 7
|
||||
n = rings * 103
|
||||
|
||||
[frame]
|
||||
t = t + dt * (0.3 + bass_att * 1.8)
|
||||
hue = hue + dt * 0.08 + beat * 0.01
|
||||
t = t + dt * (0.344 + bass_att * 0.6)
|
||||
hue = hue + dt * 0.112
|
||||
squash = 0.315 + 0.25 * sin(t * 0.205)
|
||||
|
||||
[point]
|
||||
arm = floor(i * 5)
|
||||
fa = frac(i * 5)
|
||||
d = fa
|
||||
ang = arm * 1.2566 + d * (1.4 + mid * 3) * 3.14159 + t
|
||||
rad = (0.05 + d * d * 1.15) * (0.7 + bass * 0.5)
|
||||
x = sin(ang) * rad / aspect
|
||||
y = cos(ang) * rad
|
||||
red = (0.3 + 0.7 * d) * (0.3 + bass)
|
||||
green = (0.3 + 0.7 * d) * (0.25 + mid)
|
||||
blue = (0.3 + 0.7 * d) * (0.2 + treb + hue * 0.2)
|
||||
skip = if(below(fa, 0.04), 1, 0)
|
||||
ring = floor(i * rings)
|
||||
ri3 = frac(i * rings)
|
||||
r0 = 0.16 + ring * 0.142
|
||||
a = ri3 * 6.28318 + t * (1.2 - ring * 0.18) + ring * 2.4
|
||||
x = sin(a) * r0 * (1 + bass * 0.18) / aspect
|
||||
y = cos(a) * r0 * squash
|
||||
sat = frac(ri3 * 5)
|
||||
size = if(below(sat, 0.14), 3 + bass * 3, 1)
|
||||
red = 0.25 + bass * 0.5 + ring * 0.07 * (0.45 + 0.55 * sin(hue * 6.28318 + ring * 1.3))
|
||||
green = 0.25 + bass * 0.5 + ring * 0.07 * (0.45 + 0.55 * sin(hue * 6.28318 + ring * 1.3 + 2.09))
|
||||
blue = 0.25 + bass * 0.5 + ring * 0.07 * (0.45 + 0.55 * sin(hue * 6.28318 + ring * 1.3 + 4.19))
|
||||
|
|
|
|||
|
|
@ -1,25 +1,24 @@
|
|||
name: "Adrealine rush"
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.82
|
||||
linewidth: 2.5
|
||||
persist: 0.826
|
||||
linewidth: 1.803
|
||||
|
||||
[init]
|
||||
n = 850
|
||||
n = 1287
|
||||
|
||||
[frame]
|
||||
travel = travel + dt * (0.2 + vol_att * 1.6)
|
||||
hue = hue + dt * 0.05
|
||||
t = t + dt * 0.304
|
||||
hue = hue + dt * 0.11
|
||||
|
||||
[point]
|
||||
a = rand(i * 7.3) * 6.28318
|
||||
z = frac(rand(i * 3.1 + 5) + travel * (0.5 + rand(i + 9) * 0.7))
|
||||
rad = z * z * 1.1
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
tw = 0.4 + 0.6 * sin(z * 40 + time * 3) * (0.5 + treb)
|
||||
red = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3))
|
||||
green = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 2.09))
|
||||
blue = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 4.19))
|
||||
size = 1 + z * 3 * (0.5 + bass)
|
||||
skip = if(above(z, 0.97), 1, 0)
|
||||
u = rand(i * 1.7) * 2 - 1
|
||||
w = rand(i * 3.3 + 11) * 2 - 1
|
||||
m = sin((u * 2.681 + w * 5.047 + t) * 3.14159) * sin((u * 6.682 - w * 2.465 - t * 0.7) * 3.14159)
|
||||
x = u * 0.907 / aspect
|
||||
y = w * 0.875
|
||||
lum = max(0, m) * (0.3 + bass * 0.9) + 0.06
|
||||
red = lum * 0.3
|
||||
green = lum * 0.65
|
||||
blue = min(1, lum * 1.3)
|
||||
size = 1 + abs(m) * 3.025
|
||||
|
|
|
|||
|
|
@ -1,29 +1,24 @@
|
|||
name: "Alien Heart"
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.88
|
||||
linewidth: 2
|
||||
persist: 0.897
|
||||
linewidth: 1.95
|
||||
|
||||
[init]
|
||||
n = 720
|
||||
n = 1015
|
||||
|
||||
[frame]
|
||||
hue = hue + dt * (0.06 + mid * 0.2)
|
||||
travel = travel + dt * (0.3 + bass_att * 1.4)
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
t = t + dt * (0.377 + bass_att * 1.5)
|
||||
hue = hue + dt * 0.038
|
||||
|
||||
[point]
|
||||
g = floor(i * 9)
|
||||
gi = frac(i * 9)
|
||||
ph = frac(rand(g * 5.1 + 1) + travel * (0.6 + rand(g + 17) * 0.8))
|
||||
a = gi * 6.28318
|
||||
rad = ph * (0.25 + bass * 0.6 + flash * 0.08)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
fade = sin(ph * 3.14159)
|
||||
red = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7))
|
||||
green = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 2.09))
|
||||
blue = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 4.19))
|
||||
skip = if(above(ph, 0.95), 1, 0)
|
||||
ring = floor(i * 29)
|
||||
ri2 = frac(i * 29)
|
||||
z = frac(ring / 29 + t)
|
||||
rad = 0.05 + z * 0.917
|
||||
a = ri2 * 6.28318 + ring * 0.423 + sin(t * 0.7) * 2
|
||||
x = sin(a) * rad * (0.55 + sv * 0.656) / aspect
|
||||
y = cos(a) * rad * (0.55 + sv * 0.656)
|
||||
red = (1 - z) * (0.3 + bass * 0.7) * abs(sin(z * 4.256))
|
||||
green = (1 - z) * (0.3 + bass * 0.7) * 0.22
|
||||
blue = (1 - z) * (0.3 + bass * 0.7) * abs(cos(z * 4.256))
|
||||
|
|
|
|||
|
|
@ -1,25 +1,31 @@
|
|||
name: "Brainstorm"
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.9
|
||||
linewidth: 1.6
|
||||
persist: 0.859
|
||||
linewidth: 2.309
|
||||
|
||||
[init]
|
||||
n = 1100
|
||||
segs = 6
|
||||
n = 584
|
||||
|
||||
[frame]
|
||||
t = t + dt * (0.3 + bass_att * 1.8)
|
||||
hue = hue + dt * 0.08 + beat * 0.01
|
||||
rot = rot + dt * (0.093 + mid_att * 0.5)
|
||||
hue = hue + dt * 0.084
|
||||
flash = flash * 0.85
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
|
||||
[point]
|
||||
arm = floor(i * 5)
|
||||
fa = frac(i * 5)
|
||||
d = fa
|
||||
ang = arm * 1.2566 + d * (1.4 + mid * 3) * 3.14159 + t
|
||||
rad = (0.05 + d * d * 1.15) * (0.7 + bass * 0.5)
|
||||
x = sin(ang) * rad / aspect
|
||||
y = cos(ang) * rad
|
||||
red = (0.3 + 0.7 * d) * (0.3 + bass)
|
||||
green = (0.3 + 0.7 * d) * (0.25 + mid)
|
||||
blue = (0.3 + 0.7 * d) * (0.2 + treb + hue * 0.2)
|
||||
skip = if(below(fa, 0.04), 1, 0)
|
||||
seg = floor(i * segs)
|
||||
si = frac(i * segs)
|
||||
a0 = si * 6.28318 / segs + rot
|
||||
amp = 0.1 + sv * 0.55 + bass * 0.25 + flash * 0.06
|
||||
rad = 0.15 + amp * (0.4 + 0.6 * sin(a0 * 9 + time * 2))
|
||||
a = seg * 6.28318 / segs + a0 * if(below(seg % 2, 1), 1, -1)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
red = 0.3 + amp * 1.3 * 0.85
|
||||
green = 0.3 + amp * 1.3 * 0.92
|
||||
blue = 0.3 + amp * 1.3
|
||||
skip = if(above(si, 0.96), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,25 +1,25 @@
|
|||
name: "Molecules (S_KuPeRS Remix)"
|
||||
mode: dots
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.82
|
||||
linewidth: 2.5
|
||||
persist: 0.88
|
||||
linewidth: 1.388
|
||||
|
||||
[init]
|
||||
n = 850
|
||||
n = 1119
|
||||
|
||||
[frame]
|
||||
travel = travel + dt * (0.2 + vol_att * 1.6)
|
||||
hue = hue + dt * 0.05
|
||||
t = t + dt * (0.211 + bass_att * 1.8)
|
||||
hue = hue + dt * 0.042 + beat * 0.012
|
||||
|
||||
[point]
|
||||
a = rand(i * 7.3) * 6.28318
|
||||
z = frac(rand(i * 3.1 + 5) + travel * (0.5 + rand(i + 9) * 0.7))
|
||||
rad = z * z * 1.1
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
tw = 0.4 + 0.6 * sin(z * 40 + time * 3) * (0.5 + treb)
|
||||
red = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3))
|
||||
green = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 2.09))
|
||||
blue = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 4.19))
|
||||
size = 1 + z * 3 * (0.5 + bass)
|
||||
skip = if(above(z, 0.97), 1, 0)
|
||||
arm = floor(i * 3)
|
||||
fa = frac(i * 3)
|
||||
d = fa
|
||||
ang = arm * 1.551 + d * 1.047 * 3.14159 + t
|
||||
rad = (0.04 + pow(d, 1.714) * 1.15) * (0.7 + bass * 0.5)
|
||||
x = sin(ang) * rad / aspect
|
||||
y = cos(ang) * rad
|
||||
red = (0.3 + 0.7 * d) * (0.3 + mid) * abs(sin(d * 2.325))
|
||||
green = (0.3 + 0.7 * d) * (0.3 + mid) * 0.22
|
||||
blue = (0.3 + 0.7 * d) * (0.3 + mid) * abs(cos(d * 2.325))
|
||||
skip = if(below(fa, 0.04), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,29 +1,22 @@
|
|||
name: "Take the Veil"
|
||||
mode: dots
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.78
|
||||
linewidth: 2.5
|
||||
persist: 0.895
|
||||
linewidth: 1.78
|
||||
|
||||
[init]
|
||||
cols = 36
|
||||
n = cols * cols
|
||||
n = 674
|
||||
|
||||
[frame]
|
||||
rot = rot + dt * (0.05 + mid * 0.4)
|
||||
hue = hue + dt * (0.04 + treb * 0.1)
|
||||
t = t + dt * 0.275
|
||||
hue = hue + dt * 0.052
|
||||
|
||||
[point]
|
||||
cx = floor(i * cols) / (cols - 1)
|
||||
cy = frac(i * cols)
|
||||
h = sv * 0.35
|
||||
ux = (cx - 0.5) * 1.6
|
||||
uy = (cy - 0.5) * 1.6
|
||||
rx = ux * cos(rot) - uy * sin(rot)
|
||||
ry = ux * sin(rot) + uy * cos(rot)
|
||||
x = (rx / aspect) * (1 - h * 0.7)
|
||||
y = ry * (1 - h * 0.7)
|
||||
lum = 0.25 + h * 2.2
|
||||
red = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3))
|
||||
green = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3 + 2.09))
|
||||
blue = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3 + 4.19))
|
||||
size = 1.2 + h * 5
|
||||
ph = i * 6.28318 * 1.521
|
||||
fa = 3 + mid * 0.35
|
||||
fb = 6 + bass * 0.45
|
||||
x = sin(ph * fa + t) * (0.5 + bass * 0.3) / aspect
|
||||
y = sin(ph * fb + t * 1.3 + 0.957) * (0.5 + treb * 0.35)
|
||||
red = 0.3 + 0.45 * sin(ph * 2 + t) + abs(v) * 0.6 * (0.25 + bass * 0.95)
|
||||
green = 0.3 + 0.45 * sin(ph * 2 + t) + abs(v) * 0.6 * (0.25 + mid * 0.95)
|
||||
blue = 0.3 + 0.45 * sin(ph * 2 + t) + abs(v) * 0.6 * (0.25 + treb * 0.95)
|
||||
|
|
|
|||
|
|
@ -1,25 +1,30 @@
|
|||
name: "...hidden track..."
|
||||
mode: dots
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.82
|
||||
linewidth: 2.5
|
||||
persist: 0.805
|
||||
linewidth: 2.555
|
||||
|
||||
[init]
|
||||
n = 850
|
||||
n = 205
|
||||
|
||||
[frame]
|
||||
travel = travel + dt * (0.2 + vol_att * 1.6)
|
||||
hue = hue + dt * 0.05
|
||||
hue = hue + dt * 0.045 + beat * 0.01
|
||||
travel = travel + dt * (0.253 + bass_att * 1.4)
|
||||
flash = flash * 0.86
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
|
||||
[point]
|
||||
a = rand(i * 7.3) * 6.28318
|
||||
z = frac(rand(i * 3.1 + 5) + travel * (0.5 + rand(i + 9) * 0.7))
|
||||
rad = z * z * 1.1
|
||||
g = floor(i * 5)
|
||||
gi = frac(i * 5)
|
||||
ph = frac(rand(g * 5.1 + 1) + travel * (0.55 + rand(g + 17) * 0.85))
|
||||
a = gi * 6.28318
|
||||
rad = ph * (0.232 + bass * 0.659 + flash * 0.08)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
tw = 0.4 + 0.6 * sin(z * 40 + time * 3) * (0.5 + treb)
|
||||
red = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3))
|
||||
green = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 2.09))
|
||||
blue = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 4.19))
|
||||
size = 1 + z * 3 * (0.5 + bass)
|
||||
skip = if(above(z, 0.97), 1, 0)
|
||||
fade = sin(ph * 3.14159)
|
||||
red = min(1, fade * (0.35 + flash * 0.4) * 1.3)
|
||||
green = fade * (0.35 + flash * 0.4) * 0.5
|
||||
blue = fade * (0.35 + flash * 0.4) * 0.12
|
||||
skip = if(above(ph, 0.96), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,29 +1,27 @@
|
|||
name: "Arctic Rainbow"
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.78
|
||||
linewidth: 2.5
|
||||
persist: 0.789
|
||||
linewidth: 1.877
|
||||
|
||||
[init]
|
||||
cols = 36
|
||||
n = cols * cols
|
||||
cols = 48
|
||||
n = 918
|
||||
|
||||
[frame]
|
||||
rot = rot + dt * (0.05 + mid * 0.4)
|
||||
hue = hue + dt * (0.04 + treb * 0.1)
|
||||
fall = fall + dt * (0.855 + vol_att * 1.119)
|
||||
hue = hue + dt * 0.034
|
||||
|
||||
[point]
|
||||
cx = floor(i * cols) / (cols - 1)
|
||||
cy = frac(i * cols)
|
||||
h = sv * 0.35
|
||||
ux = (cx - 0.5) * 1.6
|
||||
uy = (cy - 0.5) * 1.6
|
||||
rx = ux * cos(rot) - uy * sin(rot)
|
||||
ry = ux * sin(rot) + uy * cos(rot)
|
||||
x = (rx / aspect) * (1 - h * 0.7)
|
||||
y = ry * (1 - h * 0.7)
|
||||
lum = 0.25 + h * 2.2
|
||||
red = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3))
|
||||
green = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3 + 2.09))
|
||||
blue = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3 + 4.19))
|
||||
size = 1.2 + h * 5
|
||||
col = floor(i * cols)
|
||||
ci = frac(i * cols)
|
||||
xx = (col / cols - 0.5) * 1.9
|
||||
yf = frac(rand(col * 3.7 + 1) + fall * (0.55 + rand(col + 5) * 0.5))
|
||||
tail = rand(col * 1.3 + 9) * 0.297 + 0.04
|
||||
yy = (yf * 2 - 1) * 1.05 + ci * tail
|
||||
x = xx / aspect
|
||||
y = yy
|
||||
red = (1 - ci) * (0.2 + treb * 0.85) + 0.04 * 0.85
|
||||
green = (1 - ci) * (0.2 + treb * 0.85) + 0.04 * 0.92
|
||||
blue = (1 - ci) * (0.2 + treb * 0.85) + 0.04
|
||||
skip = if(above(abs(yy), 1.02), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,29 +1,27 @@
|
|||
name: "Chinook"
|
||||
mode: lines
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.88
|
||||
linewidth: 2
|
||||
persist: 0.831
|
||||
linewidth: 2.299
|
||||
|
||||
[init]
|
||||
n = 720
|
||||
bars = 30
|
||||
n = bars * 9
|
||||
|
||||
[frame]
|
||||
hue = hue + dt * (0.06 + mid * 0.2)
|
||||
travel = travel + dt * (0.3 + bass_att * 1.4)
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
rot = rot + dt * (0.07 + mid * 0.3)
|
||||
hue = hue + dt * 0.106
|
||||
|
||||
[point]
|
||||
g = floor(i * 9)
|
||||
gi = frac(i * 9)
|
||||
ph = frac(rand(g * 5.1 + 1) + travel * (0.6 + rand(g + 17) * 0.8))
|
||||
a = gi * 6.28318
|
||||
rad = ph * (0.25 + bass * 0.6 + flash * 0.08)
|
||||
bar = floor(i * bars)
|
||||
bi = frac(i * bars)
|
||||
lvl = getspec(bar / bars, 0, 0)
|
||||
h = lvl * 0.893
|
||||
a = bar * 6.28318 / bars + rot
|
||||
rad = 0.142 + bi * h
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
fade = sin(ph * 3.14159)
|
||||
red = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7))
|
||||
green = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 2.09))
|
||||
blue = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 4.19))
|
||||
skip = if(above(ph, 0.95), 1, 0)
|
||||
red = 0.25 + bi * 0.75 * 0.3
|
||||
green = 0.25 + bi * 0.75 * 0.65
|
||||
blue = min(1, 0.25 + bi * 0.75 * 1.3)
|
||||
skip = if(above(bi, 0.97), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,25 +1,28 @@
|
|||
name: "Hexual Healing"
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.82
|
||||
linewidth: 2.5
|
||||
persist: 0.785
|
||||
linewidth: 2.432
|
||||
|
||||
[init]
|
||||
n = 850
|
||||
cols = 34
|
||||
n = cols * cols
|
||||
|
||||
[frame]
|
||||
travel = travel + dt * (0.2 + vol_att * 1.6)
|
||||
hue = hue + dt * 0.05
|
||||
rot = rot + dt * (0.072 + mid * 0.4)
|
||||
hue = hue + dt * 0.062
|
||||
|
||||
[point]
|
||||
a = rand(i * 7.3) * 6.28318
|
||||
z = frac(rand(i * 3.1 + 5) + travel * (0.5 + rand(i + 9) * 0.7))
|
||||
rad = z * z * 1.1
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
tw = 0.4 + 0.6 * sin(z * 40 + time * 3) * (0.5 + treb)
|
||||
red = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3))
|
||||
green = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 2.09))
|
||||
blue = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 4.19))
|
||||
size = 1 + z * 3 * (0.5 + bass)
|
||||
skip = if(above(z, 0.97), 1, 0)
|
||||
cx = floor(i * cols) / (cols - 1)
|
||||
cy = frac(i * cols)
|
||||
h = sv * 0.506
|
||||
ux = (cx - 0.5) * 1.674
|
||||
uy = (cy - 0.5) * 1.674
|
||||
rx = ux * cos(rot) - uy * sin(rot)
|
||||
ry = ux * sin(rot) + uy * cos(rot)
|
||||
x = (rx / aspect) * (1 - h * 0.7)
|
||||
y = ry * (1 - h * 0.7)
|
||||
red = min(1, 0.22 + h * 2.2 * 1.3)
|
||||
green = 0.22 + h * 2.2 * 0.5
|
||||
blue = 0.22 + h * 2.2 * 0.12
|
||||
size = 1.2 + h * 5
|
||||
|
|
|
|||
|
|
@ -1,31 +1,30 @@
|
|||
name: "Inverse Kinetics"
|
||||
mode: lines
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.86
|
||||
linewidth: 1.8
|
||||
persist: 0.805
|
||||
linewidth: 2.613
|
||||
|
||||
[init]
|
||||
n = 560
|
||||
segs = 8
|
||||
n = 817
|
||||
|
||||
[frame]
|
||||
rot = rot + dt * (0.08 + mid_att * 0.5)
|
||||
hue = hue + dt * (0.07 + treb * 0.08)
|
||||
tt = tt + dt * (0.5 + bass_att * 1.1)
|
||||
hue = hue + dt * 0.103
|
||||
burst = burst * 0.9
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
burst = 1
|
||||
|
||||
[point]
|
||||
seg = floor(i * segs)
|
||||
si = frac(i * segs)
|
||||
a0 = si * 6.28318 / segs + rot
|
||||
amp = 0.12 + sv * 0.55 + bass * 0.25 + flash * 0.05
|
||||
rad = 0.15 + amp * (0.4 + 0.6 * sin(a0 * 6 + time * 2))
|
||||
a = seg * 6.28318 / segs + a0 * if(below(seg % 2, 1), 1, -1)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
lum = 0.35 + amp * 1.2
|
||||
red = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg))
|
||||
green = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg + 2.09))
|
||||
blue = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg + 4.19))
|
||||
skip = if(above(si, 0.96), 1, 0)
|
||||
jet = floor(i * 2)
|
||||
life = frac(rand(i * 7.7 + jet) + tt * (0.35 + rand(i + 3) * 0.65))
|
||||
a = jet * 6.28318 / 2 + rand(i * 5.1 + jet) * 0.736
|
||||
spd = 0.4 + rand(i * 9.2 + jet) * 0.8
|
||||
px = cos(a) * spd * life
|
||||
py = sin(a) * spd * life - 1.2 * life * life
|
||||
x = px * (0.85 + bass * 0.35) / aspect
|
||||
y = py
|
||||
red = max(0, 1 - life) * (0.35 + burst * 0.55) * abs(sin(life * 4))
|
||||
green = max(0, 1 - life) * (0.35 + burst * 0.55) * 0.22
|
||||
blue = max(0, 1 - life) * (0.35 + burst * 0.55) * abs(cos(life * 4))
|
||||
skip = if(above(life, 0.94), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,25 +1,27 @@
|
|||
name: "Kingish"
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.82
|
||||
linewidth: 2.5
|
||||
persist: 0.813
|
||||
linewidth: 2.025
|
||||
|
||||
[init]
|
||||
n = 850
|
||||
spokes = 27
|
||||
n = spokes * 22
|
||||
|
||||
[frame]
|
||||
travel = travel + dt * (0.2 + vol_att * 1.6)
|
||||
hue = hue + dt * 0.05
|
||||
rot = rot + dt * (0.102 + mid * 0.4)
|
||||
t = t + dt * 2.987
|
||||
hue = hue + dt * 0.075
|
||||
|
||||
[point]
|
||||
a = rand(i * 7.3) * 6.28318
|
||||
z = frac(rand(i * 3.1 + 5) + travel * (0.5 + rand(i + 9) * 0.7))
|
||||
rad = z * z * 1.1
|
||||
sp = floor(i * spokes)
|
||||
si = frac(i * spokes)
|
||||
a = sp * 6.28318 / spokes + rot
|
||||
wave = sin(si * 2 * 3.14159 - t) * (0.03 + bass * 0.28)
|
||||
rad = 0.12 + si * 0.92 + wave
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
tw = 0.4 + 0.6 * sin(z * 40 + time * 3) * (0.5 + treb)
|
||||
red = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3))
|
||||
green = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 2.09))
|
||||
blue = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 4.19))
|
||||
size = 1 + z * 3 * (0.5 + bass)
|
||||
skip = if(above(z, 0.97), 1, 0)
|
||||
red = (1 - si) * 0.45 + 0.15 + sv * 0.55 * abs(sin(sp * 0.4))
|
||||
green = (1 - si) * 0.45 + 0.15 + sv * 0.55 * 0.22
|
||||
blue = (1 - si) * 0.45 + 0.15 + sv * 0.55 * abs(cos(sp * 0.4))
|
||||
skip = if(above(si, 0.985), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,25 +1,23 @@
|
|||
name: "Spirit Realm (Degnic's Plasmoid RMX)"
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.9
|
||||
linewidth: 1.6
|
||||
persist: 0.885
|
||||
linewidth: 2.389
|
||||
|
||||
[init]
|
||||
n = 1100
|
||||
n = 1199
|
||||
|
||||
[frame]
|
||||
t = t + dt * (0.3 + bass_att * 1.8)
|
||||
hue = hue + dt * 0.08 + beat * 0.01
|
||||
t = t + dt * (0.344 + bass_att * 0.8)
|
||||
sway = sway + dt * (0.5 + treb)
|
||||
hue = hue + dt * 0.085
|
||||
|
||||
[point]
|
||||
arm = floor(i * 5)
|
||||
fa = frac(i * 5)
|
||||
d = fa
|
||||
ang = arm * 1.2566 + d * (1.4 + mid * 3) * 3.14159 + t
|
||||
rad = (0.05 + d * d * 1.15) * (0.7 + bass * 0.5)
|
||||
x = sin(ang) * rad / aspect
|
||||
y = cos(ang) * rad
|
||||
red = (0.3 + 0.7 * d) * (0.3 + bass)
|
||||
green = (0.3 + 0.7 * d) * (0.25 + mid)
|
||||
blue = (0.3 + 0.7 * d) * (0.2 + treb + hue * 0.2)
|
||||
skip = if(below(fa, 0.04), 1, 0)
|
||||
a = i * 6.28318 * 2
|
||||
wob = sin(a * 3 + t * 2) * (0.08 + treb * 0.3)
|
||||
rad = (0.42 + mid * 0.25) * (0.85 + 0.15 * sin(a * 3 + sway)) + v * 0.422 - wob
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
red = 0.3 + abs(v) * 1.2 * (0.45 + 0.55 * sin(hue * 6.28318 + a * 0.5))
|
||||
green = 0.3 + abs(v) * 1.2 * (0.45 + 0.55 * sin(hue * 6.28318 + a * 0.5 + 2.09))
|
||||
blue = 0.3 + abs(v) * 1.2 * (0.45 + 0.55 * sin(hue * 6.28318 + a * 0.5 + 4.19))
|
||||
|
|
|
|||
|
|
@ -1,25 +1,26 @@
|
|||
name: "Upward Current"
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.9
|
||||
linewidth: 1.6
|
||||
persist: 0.914
|
||||
linewidth: 1.629
|
||||
|
||||
[init]
|
||||
n = 900
|
||||
n = 869
|
||||
|
||||
[frame]
|
||||
t = t + dt * (0.25 + bass_att * 1.5)
|
||||
hue = hue + dt * 0.1
|
||||
t = t + dt * (0.134 + mid * 0.5)
|
||||
hue = hue + dt * 0.122
|
||||
flash = flash * 0.87
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
|
||||
[point]
|
||||
ring = floor(i * 24)
|
||||
ri = frac(i * 24)
|
||||
z = frac(ring / 24 + t)
|
||||
rad = 0.06 + z * 0.9
|
||||
a = ri * 6.28318 + ring * 0.35 + sin(t * 0.7) * 2
|
||||
x = sin(a) * rad * (0.55 + sv * 0.9) / aspect
|
||||
y = cos(a) * rad * (0.55 + sv * 0.9)
|
||||
f = (1 - z) * (0.35 + bass * 0.65)
|
||||
red = f * (0.45 + 0.55 * sin(hue * 6.28318 + z * 4))
|
||||
green = f * (0.45 + 0.55 * sin(hue * 6.28318 + z * 4 + 2.09))
|
||||
blue = f * (0.45 + 0.55 * sin(hue * 6.28318 + z * 4 + 4.19))
|
||||
th = i * 6.28318 * 2 + t
|
||||
r = abs(cos(2 * th + bass * 0.656))
|
||||
rad = r * (0.5 + bass * 0.3 + sv * 0.2 + flash * 0.08)
|
||||
x = sin(th) * rad / aspect
|
||||
y = cos(th) * rad
|
||||
red = 0.25 + 0.65 * r + v * 0.25 * abs(sin(th * 0.5))
|
||||
green = 0.25 + 0.65 * r + v * 0.25 * 0.22
|
||||
blue = 0.25 + 0.65 * r + v * 0.25 * abs(cos(th * 0.5))
|
||||
|
|
|
|||
|
|
@ -1,25 +1,25 @@
|
|||
name: "Aqua-fumes"
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.82
|
||||
linewidth: 2.5
|
||||
persist: 0.787
|
||||
linewidth: 2.043
|
||||
|
||||
[init]
|
||||
n = 850
|
||||
n = 966
|
||||
|
||||
[frame]
|
||||
travel = travel + dt * (0.2 + vol_att * 1.6)
|
||||
hue = hue + dt * 0.05
|
||||
travel = travel + dt * (0.347 + vol_att * 1.816)
|
||||
hue = hue + dt * 0.076
|
||||
|
||||
[point]
|
||||
a = rand(i * 7.3) * 6.28318
|
||||
z = frac(rand(i * 3.1 + 5) + travel * (0.5 + rand(i + 9) * 0.7))
|
||||
rad = z * z * 1.1
|
||||
rad = z * z * 1.075
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
tw = 0.4 + 0.6 * sin(z * 40 + time * 3) * (0.5 + treb)
|
||||
red = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3))
|
||||
green = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 2.09))
|
||||
blue = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 4.19))
|
||||
red = tw * abs(sin(i * 3.959))
|
||||
green = tw * 0.22
|
||||
blue = tw * abs(cos(i * 3.959))
|
||||
size = 1 + z * 3 * (0.5 + bass)
|
||||
skip = if(above(z, 0.97), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,25 +1,28 @@
|
|||
name: "Club Seizure (color enhanced mix)"
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.9
|
||||
linewidth: 1.6
|
||||
persist: 0.864
|
||||
linewidth: 2.379
|
||||
|
||||
[init]
|
||||
n = 1100
|
||||
n = 946
|
||||
|
||||
[frame]
|
||||
t = t + dt * (0.3 + bass_att * 1.8)
|
||||
hue = hue + dt * 0.08 + beat * 0.01
|
||||
t = t + dt * (0.322 + bass_att * 0.9)
|
||||
hue = hue + dt * 0.089
|
||||
flash = flash * 0.86
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
|
||||
[point]
|
||||
arm = floor(i * 5)
|
||||
fa = frac(i * 5)
|
||||
d = fa
|
||||
ang = arm * 1.2566 + d * (1.4 + mid * 3) * 3.14159 + t
|
||||
rad = (0.05 + d * d * 1.15) * (0.7 + bass * 0.5)
|
||||
x = sin(ang) * rad / aspect
|
||||
y = cos(ang) * rad
|
||||
red = (0.3 + 0.7 * d) * (0.3 + bass)
|
||||
green = (0.3 + 0.7 * d) * (0.25 + mid)
|
||||
blue = (0.3 + 0.7 * d) * (0.2 + treb + hue * 0.2)
|
||||
skip = if(below(fa, 0.04), 1, 0)
|
||||
st = floor(i * 2)
|
||||
si = frac(i * 2)
|
||||
s = si * 6 * 6.28318 + t
|
||||
ph = st * 3.14159
|
||||
rad = (0.28 + bass * 0.32 + flash * 0.06) * (0.55 + 0.45 * (cos(s + ph) * 0.5 + 0.5))
|
||||
x = sin(s + ph) * rad / aspect
|
||||
y = (si - 0.5) * 1.8
|
||||
red = 0.25 + 0.55 * (cos(s + ph) * 0.5 + 0.5) + treb * 0.25 * (0.45 + 0.55 * sin(hue * 6.28318 + s * 0.3))
|
||||
green = 0.25 + 0.55 * (cos(s + ph) * 0.5 + 0.5) + treb * 0.25 * (0.45 + 0.55 * sin(hue * 6.28318 + s * 0.3 + 2.09))
|
||||
blue = 0.25 + 0.55 * (cos(s + ph) * 0.5 + 0.5) + treb * 0.25 * (0.45 + 0.55 * sin(hue * 6.28318 + s * 0.3 + 4.19))
|
||||
|
|
|
|||
|
|
@ -1,29 +1,31 @@
|
|||
name: "Electro blobs"
|
||||
mode: dots
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.78
|
||||
linewidth: 2.5
|
||||
persist: 0.866
|
||||
linewidth: 1.536
|
||||
|
||||
[init]
|
||||
cols = 36
|
||||
n = cols * cols
|
||||
segs = 12
|
||||
n = 616
|
||||
|
||||
[frame]
|
||||
rot = rot + dt * (0.05 + mid * 0.4)
|
||||
hue = hue + dt * (0.04 + treb * 0.1)
|
||||
rot = rot + dt * (0.085 + mid_att * 0.5)
|
||||
hue = hue + dt * 0.131
|
||||
flash = flash * 0.85
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
|
||||
[point]
|
||||
cx = floor(i * cols) / (cols - 1)
|
||||
cy = frac(i * cols)
|
||||
h = sv * 0.35
|
||||
ux = (cx - 0.5) * 1.6
|
||||
uy = (cy - 0.5) * 1.6
|
||||
rx = ux * cos(rot) - uy * sin(rot)
|
||||
ry = ux * sin(rot) + uy * cos(rot)
|
||||
x = (rx / aspect) * (1 - h * 0.7)
|
||||
y = ry * (1 - h * 0.7)
|
||||
lum = 0.25 + h * 2.2
|
||||
red = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3))
|
||||
green = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3 + 2.09))
|
||||
blue = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3 + 4.19))
|
||||
size = 1.2 + h * 5
|
||||
seg = floor(i * segs)
|
||||
si = frac(i * segs)
|
||||
a0 = si * 6.28318 / segs + rot
|
||||
amp = 0.1 + sv * 0.55 + bass * 0.25 + flash * 0.06
|
||||
rad = 0.15 + amp * (0.4 + 0.6 * sin(a0 * 5 + time * 2))
|
||||
a = seg * 6.28318 / segs + a0 * if(below(seg % 2, 1), 1, -1)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
red = 0.3 + amp * 1.3 * 0.85
|
||||
green = 0.3 + amp * 1.3 * 0.92
|
||||
blue = 0.3 + amp * 1.3
|
||||
skip = if(above(si, 0.96), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,29 +1,23 @@
|
|||
name: "Kaleidofied"
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.88
|
||||
linewidth: 2
|
||||
persist: 0.885
|
||||
linewidth: 1.542
|
||||
|
||||
[init]
|
||||
n = 720
|
||||
n = 1126
|
||||
|
||||
[frame]
|
||||
hue = hue + dt * (0.06 + mid * 0.2)
|
||||
travel = travel + dt * (0.3 + bass_att * 1.4)
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
t = t + dt * (0.589 + bass_att * 0.8)
|
||||
sway = sway + dt * (0.5 + treb)
|
||||
hue = hue + dt * 0.1
|
||||
|
||||
[point]
|
||||
g = floor(i * 9)
|
||||
gi = frac(i * 9)
|
||||
ph = frac(rand(g * 5.1 + 1) + travel * (0.6 + rand(g + 17) * 0.8))
|
||||
a = gi * 6.28318
|
||||
rad = ph * (0.25 + bass * 0.6 + flash * 0.08)
|
||||
a = i * 6.28318 * 1
|
||||
wob = sin(a * 3 + t * 2) * (0.08 + treb * 0.3)
|
||||
rad = (0.42 + mid * 0.25) * (0.85 + 0.15 * sin(a * 3 + sway)) + v * 0.232 - wob
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
fade = sin(ph * 3.14159)
|
||||
red = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7))
|
||||
green = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 2.09))
|
||||
blue = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 4.19))
|
||||
skip = if(above(ph, 0.95), 1, 0)
|
||||
red = 0.3 + abs(v) * 1.2 * (0.45 + 0.55 * sin(hue * 6.28318 + a * 0.5))
|
||||
green = 0.3 + abs(v) * 1.2 * (0.45 + 0.55 * sin(hue * 6.28318 + a * 0.5 + 2.09))
|
||||
blue = 0.3 + abs(v) * 1.2 * (0.45 + 0.55 * sin(hue * 6.28318 + a * 0.5 + 4.19))
|
||||
|
|
|
|||
|
|
@ -1,25 +1,27 @@
|
|||
name: "Magma Flow II"
|
||||
mode: lines
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.9
|
||||
linewidth: 1.6
|
||||
persist: 0.804
|
||||
linewidth: 2.633
|
||||
|
||||
[init]
|
||||
n = 1100
|
||||
rings = 3
|
||||
n = rings * 104
|
||||
|
||||
[frame]
|
||||
t = t + dt * (0.3 + bass_att * 1.8)
|
||||
hue = hue + dt * 0.08 + beat * 0.01
|
||||
t = t + dt * (0.258 + bass_att * 0.6)
|
||||
hue = hue + dt * 0.036
|
||||
squash = 0.387 + 0.25 * sin(t * 0.203)
|
||||
|
||||
[point]
|
||||
arm = floor(i * 5)
|
||||
fa = frac(i * 5)
|
||||
d = fa
|
||||
ang = arm * 1.2566 + d * (1.4 + mid * 3) * 3.14159 + t
|
||||
rad = (0.05 + d * d * 1.15) * (0.7 + bass * 0.5)
|
||||
x = sin(ang) * rad / aspect
|
||||
y = cos(ang) * rad
|
||||
red = (0.3 + 0.7 * d) * (0.3 + bass)
|
||||
green = (0.3 + 0.7 * d) * (0.25 + mid)
|
||||
blue = (0.3 + 0.7 * d) * (0.2 + treb + hue * 0.2)
|
||||
skip = if(below(fa, 0.04), 1, 0)
|
||||
ring = floor(i * rings)
|
||||
ri3 = frac(i * rings)
|
||||
r0 = 0.16 + ring * 0.148
|
||||
a = ri3 * 6.28318 + t * (1.2 - ring * 0.18) + ring * 2.4
|
||||
x = sin(a) * r0 * (1 + bass * 0.18) / aspect
|
||||
y = cos(a) * r0 * squash
|
||||
sat = frac(ri3 * 5)
|
||||
size = if(below(sat, 0.14), 3 + bass * 3, 1)
|
||||
red = 0.25 + bass * 0.5 + ring * 0.07 * abs(sin(ring * 1.3))
|
||||
green = 0.25 + bass * 0.5 + ring * 0.07 * 0.22
|
||||
blue = 0.25 + bass * 0.5 + ring * 0.07 * abs(cos(ring * 1.3))
|
||||
|
|
|
|||
|
|
@ -1,31 +1,27 @@
|
|||
name: "Multiple Orgasms"
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.86
|
||||
linewidth: 1.8
|
||||
persist: 0.873
|
||||
linewidth: 1.6
|
||||
|
||||
[init]
|
||||
n = 560
|
||||
segs = 8
|
||||
spokes = 30
|
||||
n = spokes * 33
|
||||
|
||||
[frame]
|
||||
rot = rot + dt * (0.08 + mid_att * 0.5)
|
||||
hue = hue + dt * (0.07 + treb * 0.08)
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
rot = rot + dt * (0.106 + mid * 0.4)
|
||||
t = t + dt * 2.164
|
||||
hue = hue + dt * 0.106
|
||||
|
||||
[point]
|
||||
seg = floor(i * segs)
|
||||
si = frac(i * segs)
|
||||
a0 = si * 6.28318 / segs + rot
|
||||
amp = 0.12 + sv * 0.55 + bass * 0.25 + flash * 0.05
|
||||
rad = 0.15 + amp * (0.4 + 0.6 * sin(a0 * 6 + time * 2))
|
||||
a = seg * 6.28318 / segs + a0 * if(below(seg % 2, 1), 1, -1)
|
||||
sp = floor(i * spokes)
|
||||
si = frac(i * spokes)
|
||||
a = sp * 6.28318 / spokes + rot
|
||||
wave = sin(si * 4 * 3.14159 - t) * (0.03 + bass * 0.28)
|
||||
rad = 0.12 + si * 0.919 + wave
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
lum = 0.35 + amp * 1.2
|
||||
red = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg))
|
||||
green = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg + 2.09))
|
||||
blue = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg + 4.19))
|
||||
skip = if(above(si, 0.96), 1, 0)
|
||||
red = (1 - si) * 0.45 + 0.15 + sv * 0.55 * (0.45 + 0.55 * sin(hue * 6.28318 + sp * 0.4))
|
||||
green = (1 - si) * 0.45 + 0.15 + sv * 0.55 * (0.45 + 0.55 * sin(hue * 6.28318 + sp * 0.4 + 2.09))
|
||||
blue = (1 - si) * 0.45 + 0.15 + sv * 0.55 * (0.45 + 0.55 * sin(hue * 6.28318 + sp * 0.4 + 4.19))
|
||||
skip = if(above(si, 0.985), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,31 +1,25 @@
|
|||
name: "Pina Colada"
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.86
|
||||
linewidth: 1.8
|
||||
persist: 0.887
|
||||
linewidth: 1.779
|
||||
|
||||
[init]
|
||||
n = 560
|
||||
segs = 8
|
||||
n = 943
|
||||
|
||||
[frame]
|
||||
rot = rot + dt * (0.08 + mid_att * 0.5)
|
||||
hue = hue + dt * (0.07 + treb * 0.08)
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
t = t + dt * (0.219 + bass_att * 1.8)
|
||||
hue = hue + dt * 0.098 + beat * 0.012
|
||||
|
||||
[point]
|
||||
seg = floor(i * segs)
|
||||
si = frac(i * segs)
|
||||
a0 = si * 6.28318 / segs + rot
|
||||
amp = 0.12 + sv * 0.55 + bass * 0.25 + flash * 0.05
|
||||
rad = 0.15 + amp * (0.4 + 0.6 * sin(a0 * 6 + time * 2))
|
||||
a = seg * 6.28318 / segs + a0 * if(below(seg % 2, 1), 1, -1)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
lum = 0.35 + amp * 1.2
|
||||
red = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg))
|
||||
green = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg + 2.09))
|
||||
blue = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg + 4.19))
|
||||
skip = if(above(si, 0.96), 1, 0)
|
||||
arm = floor(i * 8)
|
||||
fa = frac(i * 8)
|
||||
d = fa
|
||||
ang = arm * 1.519 + d * 1.263 * 3.14159 + t
|
||||
rad = (0.04 + pow(d, 2.354) * 1.15) * (0.7 + bass * 0.5)
|
||||
x = sin(ang) * rad / aspect
|
||||
y = cos(ang) * rad
|
||||
red = (0.3 + 0.7 * d) * (0.3 + mid) * (0.25 + bass * 0.95)
|
||||
green = (0.3 + 0.7 * d) * (0.3 + mid) * (0.25 + mid * 0.95)
|
||||
blue = (0.3 + 0.7 * d) * (0.3 + mid) * (0.25 + treb * 0.95)
|
||||
skip = if(below(fa, 0.04), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,29 +1,31 @@
|
|||
name: "Scope in Spotlight II"
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.88
|
||||
linewidth: 2
|
||||
persist: 0.854
|
||||
linewidth: 2.056
|
||||
|
||||
[init]
|
||||
n = 720
|
||||
segs = 7
|
||||
n = 462
|
||||
|
||||
[frame]
|
||||
hue = hue + dt * (0.06 + mid * 0.2)
|
||||
travel = travel + dt * (0.3 + bass_att * 1.4)
|
||||
rot = rot + dt * (0.107 + mid_att * 0.5)
|
||||
hue = hue + dt * 0.035
|
||||
flash = flash * 0.85
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
|
||||
[point]
|
||||
g = floor(i * 9)
|
||||
gi = frac(i * 9)
|
||||
ph = frac(rand(g * 5.1 + 1) + travel * (0.6 + rand(g + 17) * 0.8))
|
||||
a = gi * 6.28318
|
||||
rad = ph * (0.25 + bass * 0.6 + flash * 0.08)
|
||||
seg = floor(i * segs)
|
||||
si = frac(i * segs)
|
||||
a0 = si * 6.28318 / segs + rot
|
||||
amp = 0.1 + sv * 0.55 + bass * 0.25 + flash * 0.06
|
||||
rad = 0.15 + amp * (0.4 + 0.6 * sin(a0 * 4 + time * 2))
|
||||
a = seg * 6.28318 / segs + a0 * if(below(seg % 2, 1), 1, -1)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
fade = sin(ph * 3.14159)
|
||||
red = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7))
|
||||
green = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 2.09))
|
||||
blue = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 4.19))
|
||||
skip = if(above(ph, 0.95), 1, 0)
|
||||
red = min(1, 0.3 + amp * 1.3 * 1.3)
|
||||
green = 0.3 + amp * 1.3 * 0.5
|
||||
blue = 0.3 + amp * 1.3 * 0.12
|
||||
skip = if(above(si, 0.96), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,25 +1,27 @@
|
|||
name: "Solero Shots"
|
||||
mode: dots
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.82
|
||||
linewidth: 2.5
|
||||
persist: 0.878
|
||||
linewidth: 2.226
|
||||
|
||||
[init]
|
||||
n = 850
|
||||
bars = 40
|
||||
n = bars * 12
|
||||
|
||||
[frame]
|
||||
travel = travel + dt * (0.2 + vol_att * 1.6)
|
||||
hue = hue + dt * 0.05
|
||||
rot = rot + dt * (0.078 + mid * 0.3)
|
||||
hue = hue + dt * 0.032
|
||||
|
||||
[point]
|
||||
a = rand(i * 7.3) * 6.28318
|
||||
z = frac(rand(i * 3.1 + 5) + travel * (0.5 + rand(i + 9) * 0.7))
|
||||
rad = z * z * 1.1
|
||||
bar = floor(i * bars)
|
||||
bi = frac(i * bars)
|
||||
lvl = getspec(bar / bars, 0, 0)
|
||||
h = lvl * 0.813
|
||||
a = bar * 6.28318 / bars + rot
|
||||
rad = 0.218 + bi * h
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
tw = 0.4 + 0.6 * sin(z * 40 + time * 3) * (0.5 + treb)
|
||||
red = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3))
|
||||
green = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 2.09))
|
||||
blue = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 4.19))
|
||||
size = 1 + z * 3 * (0.5 + bass)
|
||||
skip = if(above(z, 0.97), 1, 0)
|
||||
red = 0.25 + bi * 0.75 * 0.3
|
||||
green = 0.25 + bi * 0.75 * 0.65
|
||||
blue = min(1, 0.25 + bi * 0.75 * 1.3)
|
||||
skip = if(above(bi, 0.97), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,31 +1,24 @@
|
|||
name: "Square Minded"
|
||||
mode: lines
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.86
|
||||
linewidth: 1.8
|
||||
persist: 0.783
|
||||
linewidth: 2.696
|
||||
|
||||
[init]
|
||||
n = 560
|
||||
segs = 8
|
||||
n = 1492
|
||||
|
||||
[frame]
|
||||
rot = rot + dt * (0.08 + mid_att * 0.5)
|
||||
hue = hue + dt * (0.07 + treb * 0.08)
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
t = t + dt * 0.656
|
||||
hue = hue + dt * 0.13
|
||||
|
||||
[point]
|
||||
seg = floor(i * segs)
|
||||
si = frac(i * segs)
|
||||
a0 = si * 6.28318 / segs + rot
|
||||
amp = 0.12 + sv * 0.55 + bass * 0.25 + flash * 0.05
|
||||
rad = 0.15 + amp * (0.4 + 0.6 * sin(a0 * 6 + time * 2))
|
||||
a = seg * 6.28318 / segs + a0 * if(below(seg % 2, 1), 1, -1)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
lum = 0.35 + amp * 1.2
|
||||
red = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg))
|
||||
green = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg + 2.09))
|
||||
blue = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg + 4.19))
|
||||
skip = if(above(si, 0.96), 1, 0)
|
||||
u = rand(i * 1.7) * 2 - 1
|
||||
w = rand(i * 3.3 + 11) * 2 - 1
|
||||
m = sin((u * 3.356 + w * 3.959 + t) * 3.14159) * sin((u * 3.01 - w * 6.626 - t * 0.7) * 3.14159)
|
||||
x = u * 0.994 / aspect
|
||||
y = w * 0.856
|
||||
lum = max(0, m) * (0.3 + bass * 0.9) + 0.06
|
||||
red = lum * 0.85
|
||||
green = lum * 0.92
|
||||
blue = lum
|
||||
size = 1 + abs(m) * 3.211
|
||||
|
|
|
|||
|
|
@ -1,25 +1,23 @@
|
|||
name: "Worm-O-Rama (Raz Remix)"
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.9
|
||||
linewidth: 1.6
|
||||
persist: 0.894
|
||||
linewidth: 1.933
|
||||
|
||||
[init]
|
||||
n = 900
|
||||
n = 1189
|
||||
|
||||
[frame]
|
||||
t = t + dt * (0.25 + bass_att * 1.5)
|
||||
hue = hue + dt * 0.1
|
||||
t = t + dt * (0.418 + bass_att * 0.8)
|
||||
sway = sway + dt * (0.5 + treb)
|
||||
hue = hue + dt * 0.102
|
||||
|
||||
[point]
|
||||
ring = floor(i * 24)
|
||||
ri = frac(i * 24)
|
||||
z = frac(ring / 24 + t)
|
||||
rad = 0.06 + z * 0.9
|
||||
a = ri * 6.28318 + ring * 0.35 + sin(t * 0.7) * 2
|
||||
x = sin(a) * rad * (0.55 + sv * 0.9) / aspect
|
||||
y = cos(a) * rad * (0.55 + sv * 0.9)
|
||||
f = (1 - z) * (0.35 + bass * 0.65)
|
||||
red = f * (0.45 + 0.55 * sin(hue * 6.28318 + z * 4))
|
||||
green = f * (0.45 + 0.55 * sin(hue * 6.28318 + z * 4 + 2.09))
|
||||
blue = f * (0.45 + 0.55 * sin(hue * 6.28318 + z * 4 + 4.19))
|
||||
a = i * 6.28318 * 3
|
||||
wob = sin(a * 3 + t * 2) * (0.08 + treb * 0.3)
|
||||
rad = (0.42 + mid * 0.25) * (0.85 + 0.15 * sin(a * 3 + sway)) + v * 0.282 - wob
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
red = 0.3 + abs(v) * 1.2 * (0.25 + bass * 0.95)
|
||||
green = 0.3 + abs(v) * 1.2 * (0.25 + mid * 0.95)
|
||||
blue = 0.3 + abs(v) * 1.2 * (0.25 + treb * 0.95)
|
||||
|
|
|
|||
|
|
@ -1,25 +1,27 @@
|
|||
name: "Cartoon Trip"
|
||||
mode: dots
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.82
|
||||
linewidth: 2.5
|
||||
persist: 0.831
|
||||
linewidth: 2.55
|
||||
|
||||
[init]
|
||||
n = 850
|
||||
bars = 39
|
||||
n = bars * 9
|
||||
|
||||
[frame]
|
||||
travel = travel + dt * (0.2 + vol_att * 1.6)
|
||||
hue = hue + dt * 0.05
|
||||
rot = rot + dt * (0.116 + mid * 0.3)
|
||||
hue = hue + dt * 0.112
|
||||
|
||||
[point]
|
||||
a = rand(i * 7.3) * 6.28318
|
||||
z = frac(rand(i * 3.1 + 5) + travel * (0.5 + rand(i + 9) * 0.7))
|
||||
rad = z * z * 1.1
|
||||
bar = floor(i * bars)
|
||||
bi = frac(i * bars)
|
||||
lvl = getspec(bar / bars, 0, 0)
|
||||
h = lvl * 0.83
|
||||
a = bar * 6.28318 / bars + rot
|
||||
rad = 0.189 + bi * h
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
tw = 0.4 + 0.6 * sin(z * 40 + time * 3) * (0.5 + treb)
|
||||
red = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3))
|
||||
green = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 2.09))
|
||||
blue = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 4.19))
|
||||
size = 1 + z * 3 * (0.5 + bass)
|
||||
skip = if(above(z, 0.97), 1, 0)
|
||||
red = 0.25 + bi * 0.75 * 0.85
|
||||
green = 0.25 + bi * 0.75 * 0.92
|
||||
blue = 0.25 + bi * 0.75
|
||||
skip = if(above(bi, 0.97), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,29 +1,23 @@
|
|||
name: "Containment"
|
||||
mode: dots
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.78
|
||||
linewidth: 2.5
|
||||
persist: 0.935
|
||||
linewidth: 1.8
|
||||
|
||||
[init]
|
||||
cols = 36
|
||||
n = cols * cols
|
||||
n = 847
|
||||
|
||||
[frame]
|
||||
rot = rot + dt * (0.05 + mid * 0.4)
|
||||
hue = hue + dt * (0.04 + treb * 0.1)
|
||||
t = t + dt * (0.436 + bass_att * 0.8)
|
||||
sway = sway + dt * (0.5 + treb)
|
||||
hue = hue + dt * 0.071
|
||||
|
||||
[point]
|
||||
cx = floor(i * cols) / (cols - 1)
|
||||
cy = frac(i * cols)
|
||||
h = sv * 0.35
|
||||
ux = (cx - 0.5) * 1.6
|
||||
uy = (cy - 0.5) * 1.6
|
||||
rx = ux * cos(rot) - uy * sin(rot)
|
||||
ry = ux * sin(rot) + uy * cos(rot)
|
||||
x = (rx / aspect) * (1 - h * 0.7)
|
||||
y = ry * (1 - h * 0.7)
|
||||
lum = 0.25 + h * 2.2
|
||||
red = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3))
|
||||
green = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3 + 2.09))
|
||||
blue = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3 + 4.19))
|
||||
size = 1.2 + h * 5
|
||||
a = i * 6.28318 * 2
|
||||
wob = sin(a * 2 + t * 2) * (0.08 + treb * 0.3)
|
||||
rad = (0.42 + mid * 0.25) * (0.85 + 0.15 * sin(a * 3 + sway)) + v * 0.25 - wob
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
red = min(1, 0.3 + abs(v) * 1.2 * 1.3)
|
||||
green = 0.3 + abs(v) * 1.2 * 0.5
|
||||
blue = 0.3 + abs(v) * 1.2 * 0.12
|
||||
|
|
|
|||
|
|
@ -1,29 +1,30 @@
|
|||
name: "Jello Cube"
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.88
|
||||
linewidth: 2
|
||||
persist: 0.813
|
||||
linewidth: 2.201
|
||||
|
||||
[init]
|
||||
n = 720
|
||||
n = 620
|
||||
|
||||
[frame]
|
||||
hue = hue + dt * (0.06 + mid * 0.2)
|
||||
travel = travel + dt * (0.3 + bass_att * 1.4)
|
||||
hue = hue + dt * 0.073 + beat * 0.01
|
||||
travel = travel + dt * (0.196 + bass_att * 1.4)
|
||||
flash = flash * 0.86
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
|
||||
[point]
|
||||
g = floor(i * 9)
|
||||
gi = frac(i * 9)
|
||||
ph = frac(rand(g * 5.1 + 1) + travel * (0.6 + rand(g + 17) * 0.8))
|
||||
g = floor(i * 10)
|
||||
gi = frac(i * 10)
|
||||
ph = frac(rand(g * 5.1 + 1) + travel * (0.55 + rand(g + 17) * 0.85))
|
||||
a = gi * 6.28318
|
||||
rad = ph * (0.25 + bass * 0.6 + flash * 0.08)
|
||||
rad = ph * (0.226 + bass * 0.743 + flash * 0.08)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
fade = sin(ph * 3.14159)
|
||||
red = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7))
|
||||
green = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 2.09))
|
||||
blue = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 4.19))
|
||||
skip = if(above(ph, 0.95), 1, 0)
|
||||
red = fade * (0.35 + flash * 0.4) * abs(sin(g * 0.7))
|
||||
green = fade * (0.35 + flash * 0.4) * 0.22
|
||||
blue = fade * (0.35 + flash * 0.4) * abs(cos(g * 0.7))
|
||||
skip = if(above(ph, 0.96), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,29 +1,23 @@
|
|||
name: "Mercury"
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.88
|
||||
linewidth: 2
|
||||
persist: 0.888
|
||||
linewidth: 1.97
|
||||
|
||||
[init]
|
||||
n = 720
|
||||
n = 1109
|
||||
|
||||
[frame]
|
||||
hue = hue + dt * (0.06 + mid * 0.2)
|
||||
travel = travel + dt * (0.3 + bass_att * 1.4)
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
t = t + dt * (0.329 + bass_att * 0.8)
|
||||
sway = sway + dt * (0.5 + treb)
|
||||
hue = hue + dt * 0.097
|
||||
|
||||
[point]
|
||||
g = floor(i * 9)
|
||||
gi = frac(i * 9)
|
||||
ph = frac(rand(g * 5.1 + 1) + travel * (0.6 + rand(g + 17) * 0.8))
|
||||
a = gi * 6.28318
|
||||
rad = ph * (0.25 + bass * 0.6 + flash * 0.08)
|
||||
a = i * 6.28318 * 3
|
||||
wob = sin(a * 6 + t * 2) * (0.08 + treb * 0.3)
|
||||
rad = (0.42 + mid * 0.25) * (0.85 + 0.15 * sin(a * 3 + sway)) + v * 0.31 - wob
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
fade = sin(ph * 3.14159)
|
||||
red = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7))
|
||||
green = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 2.09))
|
||||
blue = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 4.19))
|
||||
skip = if(above(ph, 0.95), 1, 0)
|
||||
red = 0.3 + abs(v) * 1.2 * 0.3
|
||||
green = 0.3 + abs(v) * 1.2 * 0.65
|
||||
blue = min(1, 0.3 + abs(v) * 1.2 * 1.3)
|
||||
|
|
|
|||
|
|
@ -1,25 +1,27 @@
|
|||
name: "Neon Coaster"
|
||||
mode: lines
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.9
|
||||
linewidth: 1.6
|
||||
persist: 0.897
|
||||
linewidth: 2.488
|
||||
|
||||
[init]
|
||||
n = 1100
|
||||
bars = 33
|
||||
n = bars * 12
|
||||
|
||||
[frame]
|
||||
t = t + dt * (0.3 + bass_att * 1.8)
|
||||
hue = hue + dt * 0.08 + beat * 0.01
|
||||
rot = rot + dt * (0.092 + mid * 0.3)
|
||||
hue = hue + dt * 0.066
|
||||
|
||||
[point]
|
||||
arm = floor(i * 5)
|
||||
fa = frac(i * 5)
|
||||
d = fa
|
||||
ang = arm * 1.2566 + d * (1.4 + mid * 3) * 3.14159 + t
|
||||
rad = (0.05 + d * d * 1.15) * (0.7 + bass * 0.5)
|
||||
x = sin(ang) * rad / aspect
|
||||
y = cos(ang) * rad
|
||||
red = (0.3 + 0.7 * d) * (0.3 + bass)
|
||||
green = (0.3 + 0.7 * d) * (0.25 + mid)
|
||||
blue = (0.3 + 0.7 * d) * (0.2 + treb + hue * 0.2)
|
||||
skip = if(below(fa, 0.04), 1, 0)
|
||||
bar = floor(i * bars)
|
||||
bi = frac(i * bars)
|
||||
lvl = getspec(bar / bars, 0, 0)
|
||||
h = lvl * 0.765
|
||||
a = bar * 6.28318 / bars + rot
|
||||
rad = 0.193 + bi * h
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
red = min(1, 0.25 + bi * 0.75 * 1.3)
|
||||
green = 0.25 + bi * 0.75 * 0.5
|
||||
blue = 0.25 + bi * 0.75 * 0.12
|
||||
skip = if(above(bi, 0.97), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,25 +1,30 @@
|
|||
name: "Plankton"
|
||||
mode: lines
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.9
|
||||
linewidth: 1.6
|
||||
persist: 0.83
|
||||
linewidth: 2.37
|
||||
|
||||
[init]
|
||||
n = 1100
|
||||
n = 627
|
||||
|
||||
[frame]
|
||||
t = t + dt * (0.3 + bass_att * 1.8)
|
||||
hue = hue + dt * 0.08 + beat * 0.01
|
||||
hue = hue + dt * 0.033 + beat * 0.01
|
||||
travel = travel + dt * (0.435 + bass_att * 1.4)
|
||||
flash = flash * 0.86
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
|
||||
[point]
|
||||
arm = floor(i * 5)
|
||||
fa = frac(i * 5)
|
||||
d = fa
|
||||
ang = arm * 1.2566 + d * (1.4 + mid * 3) * 3.14159 + t
|
||||
rad = (0.05 + d * d * 1.15) * (0.7 + bass * 0.5)
|
||||
x = sin(ang) * rad / aspect
|
||||
y = cos(ang) * rad
|
||||
red = (0.3 + 0.7 * d) * (0.3 + bass)
|
||||
green = (0.3 + 0.7 * d) * (0.25 + mid)
|
||||
blue = (0.3 + 0.7 * d) * (0.2 + treb + hue * 0.2)
|
||||
skip = if(below(fa, 0.04), 1, 0)
|
||||
g = floor(i * 11)
|
||||
gi = frac(i * 11)
|
||||
ph = frac(rand(g * 5.1 + 1) + travel * (0.55 + rand(g + 17) * 0.85))
|
||||
a = gi * 6.28318
|
||||
rad = ph * (0.194 + bass * 0.352 + flash * 0.08)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
fade = sin(ph * 3.14159)
|
||||
red = min(1, fade * (0.35 + flash * 0.4) * 1.3)
|
||||
green = fade * (0.35 + flash * 0.4) * 0.5
|
||||
blue = fade * (0.35 + flash * 0.4) * 0.12
|
||||
skip = if(above(ph, 0.96), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,25 +1,25 @@
|
|||
name: "Reflectocube"
|
||||
mode: dots
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.82
|
||||
linewidth: 2.5
|
||||
persist: 0.91
|
||||
linewidth: 1.419
|
||||
|
||||
[init]
|
||||
n = 850
|
||||
n = 1235
|
||||
|
||||
[frame]
|
||||
travel = travel + dt * (0.2 + vol_att * 1.6)
|
||||
hue = hue + dt * 0.05
|
||||
t = t + dt * (0.31 + bass_att * 1.8)
|
||||
hue = hue + dt * 0.065 + beat * 0.012
|
||||
|
||||
[point]
|
||||
a = rand(i * 7.3) * 6.28318
|
||||
z = frac(rand(i * 3.1 + 5) + travel * (0.5 + rand(i + 9) * 0.7))
|
||||
rad = z * z * 1.1
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
tw = 0.4 + 0.6 * sin(z * 40 + time * 3) * (0.5 + treb)
|
||||
red = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3))
|
||||
green = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 2.09))
|
||||
blue = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 4.19))
|
||||
size = 1 + z * 3 * (0.5 + bass)
|
||||
skip = if(above(z, 0.97), 1, 0)
|
||||
arm = floor(i * 4)
|
||||
fa = frac(i * 4)
|
||||
d = fa
|
||||
ang = arm * 1.405 + d * 0.906 * 3.14159 + t
|
||||
rad = (0.04 + pow(d, 1.825) * 1.15) * (0.7 + bass * 0.5)
|
||||
x = sin(ang) * rad / aspect
|
||||
y = cos(ang) * rad
|
||||
red = (0.3 + 0.7 * d) * (0.3 + mid) * (0.45 + 0.55 * sin(hue * 6.28318 + d * 4.537))
|
||||
green = (0.3 + 0.7 * d) * (0.3 + mid) * (0.45 + 0.55 * sin(hue * 6.28318 + d * 4.537 + 2.09))
|
||||
blue = (0.3 + 0.7 * d) * (0.3 + mid) * (0.45 + 0.55 * sin(hue * 6.28318 + d * 4.537 + 4.19))
|
||||
skip = if(below(fa, 0.04), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,25 +1,25 @@
|
|||
name: "Speeder 3K"
|
||||
mode: lines
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.9
|
||||
linewidth: 1.6
|
||||
persist: 0.831
|
||||
linewidth: 2.272
|
||||
|
||||
[init]
|
||||
n = 900
|
||||
n = 949
|
||||
|
||||
[frame]
|
||||
t = t + dt * (0.25 + bass_att * 1.5)
|
||||
hue = hue + dt * 0.1
|
||||
travel = travel + dt * (0.156 + vol_att * 1.231)
|
||||
hue = hue + dt * 0.04
|
||||
|
||||
[point]
|
||||
ring = floor(i * 24)
|
||||
ri = frac(i * 24)
|
||||
z = frac(ring / 24 + t)
|
||||
rad = 0.06 + z * 0.9
|
||||
a = ri * 6.28318 + ring * 0.35 + sin(t * 0.7) * 2
|
||||
x = sin(a) * rad * (0.55 + sv * 0.9) / aspect
|
||||
y = cos(a) * rad * (0.55 + sv * 0.9)
|
||||
f = (1 - z) * (0.35 + bass * 0.65)
|
||||
red = f * (0.45 + 0.55 * sin(hue * 6.28318 + z * 4))
|
||||
green = f * (0.45 + 0.55 * sin(hue * 6.28318 + z * 4 + 2.09))
|
||||
blue = f * (0.45 + 0.55 * sin(hue * 6.28318 + z * 4 + 4.19))
|
||||
a = rand(i * 7.3) * 6.28318
|
||||
z = frac(rand(i * 3.1 + 5) + travel * (0.5 + rand(i + 9) * 0.7))
|
||||
rad = z * z * 1.206
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
tw = 0.4 + 0.6 * sin(z * 40 + time * 3) * (0.5 + treb)
|
||||
red = min(1, tw * 1.3)
|
||||
green = tw * 0.5
|
||||
blue = tw * 0.12
|
||||
size = 1 + z * 3 * (0.5 + bass)
|
||||
skip = if(above(z, 0.97), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,25 +1,23 @@
|
|||
name: "TC Plasma"
|
||||
mode: dots
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.82
|
||||
linewidth: 2.5
|
||||
persist: 0.932
|
||||
linewidth: 1.976
|
||||
|
||||
[init]
|
||||
n = 850
|
||||
n = 1072
|
||||
|
||||
[frame]
|
||||
travel = travel + dt * (0.2 + vol_att * 1.6)
|
||||
hue = hue + dt * 0.05
|
||||
t = t + dt * (0.432 + bass_att * 0.8)
|
||||
sway = sway + dt * (0.5 + treb)
|
||||
hue = hue + dt * 0.076
|
||||
|
||||
[point]
|
||||
a = rand(i * 7.3) * 6.28318
|
||||
z = frac(rand(i * 3.1 + 5) + travel * (0.5 + rand(i + 9) * 0.7))
|
||||
rad = z * z * 1.1
|
||||
a = i * 6.28318 * 3
|
||||
wob = sin(a * 4 + t * 2) * (0.08 + treb * 0.3)
|
||||
rad = (0.42 + mid * 0.25) * (0.85 + 0.15 * sin(a * 3 + sway)) + v * 0.223 - wob
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
tw = 0.4 + 0.6 * sin(z * 40 + time * 3) * (0.5 + treb)
|
||||
red = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3))
|
||||
green = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 2.09))
|
||||
blue = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 4.19))
|
||||
size = 1 + z * 3 * (0.5 + bass)
|
||||
skip = if(above(z, 0.97), 1, 0)
|
||||
red = 0.3 + abs(v) * 1.2 * (0.45 + 0.55 * sin(hue * 6.28318 + a * 0.5))
|
||||
green = 0.3 + abs(v) * 1.2 * (0.45 + 0.55 * sin(hue * 6.28318 + a * 0.5 + 2.09))
|
||||
blue = 0.3 + abs(v) * 1.2 * (0.45 + 0.55 * sin(hue * 6.28318 + a * 0.5 + 4.19))
|
||||
|
|
|
|||
|
|
@ -1,29 +1,28 @@
|
|||
name: "Tie Tunnel SSC"
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.88
|
||||
linewidth: 2
|
||||
persist: 0.851
|
||||
linewidth: 2.021
|
||||
|
||||
[init]
|
||||
n = 720
|
||||
n = 1179
|
||||
|
||||
[frame]
|
||||
hue = hue + dt * (0.06 + mid * 0.2)
|
||||
travel = travel + dt * (0.3 + bass_att * 1.4)
|
||||
t = t + dt * (0.17 + bass_att * 0.9)
|
||||
hue = hue + dt * 0.129
|
||||
flash = flash * 0.86
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
|
||||
[point]
|
||||
g = floor(i * 9)
|
||||
gi = frac(i * 9)
|
||||
ph = frac(rand(g * 5.1 + 1) + travel * (0.6 + rand(g + 17) * 0.8))
|
||||
a = gi * 6.28318
|
||||
rad = ph * (0.25 + bass * 0.6 + flash * 0.08)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
fade = sin(ph * 3.14159)
|
||||
red = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7))
|
||||
green = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 2.09))
|
||||
blue = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 4.19))
|
||||
skip = if(above(ph, 0.95), 1, 0)
|
||||
st = floor(i * 2)
|
||||
si = frac(i * 2)
|
||||
s = si * 6 * 6.28318 + t
|
||||
ph = st * 3.14159
|
||||
rad = (0.28 + bass * 0.32 + flash * 0.06) * (0.55 + 0.45 * (cos(s + ph) * 0.5 + 0.5))
|
||||
x = sin(s + ph) * rad / aspect
|
||||
y = (si - 0.5) * 1.8
|
||||
red = min(1, 0.25 + 0.55 * (cos(s + ph) * 0.5 + 0.5) + treb * 0.25 * 1.3)
|
||||
green = 0.25 + 0.55 * (cos(s + ph) * 0.5 + 0.5) + treb * 0.25 * 0.5
|
||||
blue = 0.25 + 0.55 * (cos(s + ph) * 0.5 + 0.5) + treb * 0.25 * 0.12
|
||||
|
|
|
|||
|
|
@ -1,29 +1,25 @@
|
|||
name: "Zero-G Maze II"
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.88
|
||||
linewidth: 2
|
||||
persist: 0.916
|
||||
linewidth: 1.457
|
||||
|
||||
[init]
|
||||
n = 720
|
||||
n = 1049
|
||||
|
||||
[frame]
|
||||
hue = hue + dt * (0.06 + mid * 0.2)
|
||||
travel = travel + dt * (0.3 + bass_att * 1.4)
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
t = t + dt * (0.267 + bass_att * 1.8)
|
||||
hue = hue + dt * 0.038 + beat * 0.012
|
||||
|
||||
[point]
|
||||
g = floor(i * 9)
|
||||
gi = frac(i * 9)
|
||||
ph = frac(rand(g * 5.1 + 1) + travel * (0.6 + rand(g + 17) * 0.8))
|
||||
a = gi * 6.28318
|
||||
rad = ph * (0.25 + bass * 0.6 + flash * 0.08)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
fade = sin(ph * 3.14159)
|
||||
red = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7))
|
||||
green = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 2.09))
|
||||
blue = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 4.19))
|
||||
skip = if(above(ph, 0.95), 1, 0)
|
||||
arm = floor(i * 7)
|
||||
fa = frac(i * 7)
|
||||
d = fa
|
||||
ang = arm * 1.253 + d * 0.88 * 3.14159 + t
|
||||
rad = (0.04 + pow(d, 2.401) * 1.15) * (0.7 + bass * 0.5)
|
||||
x = sin(ang) * rad / aspect
|
||||
y = cos(ang) * rad
|
||||
red = (0.3 + 0.7 * d) * (0.3 + mid) * (0.45 + 0.55 * sin(hue * 6.28318 + d * 2.064))
|
||||
green = (0.3 + 0.7 * d) * (0.3 + mid) * (0.45 + 0.55 * sin(hue * 6.28318 + d * 2.064 + 2.09))
|
||||
blue = (0.3 + 0.7 * d) * (0.3 + mid) * (0.45 + 0.55 * sin(hue * 6.28318 + d * 2.064 + 4.19))
|
||||
skip = if(below(fa, 0.04), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,25 +1,24 @@
|
|||
name: "UnConeD -Zero-G Maze III"
|
||||
mode: dots
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.82
|
||||
linewidth: 2.5
|
||||
persist: 0.853
|
||||
linewidth: 1.507
|
||||
|
||||
[init]
|
||||
n = 850
|
||||
n = 722
|
||||
|
||||
[frame]
|
||||
travel = travel + dt * (0.2 + vol_att * 1.6)
|
||||
hue = hue + dt * 0.05
|
||||
t = t + dt * (0.243 + bass_att * 1.5)
|
||||
hue = hue + dt * 0.093
|
||||
|
||||
[point]
|
||||
a = rand(i * 7.3) * 6.28318
|
||||
z = frac(rand(i * 3.1 + 5) + travel * (0.5 + rand(i + 9) * 0.7))
|
||||
rad = z * z * 1.1
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
tw = 0.4 + 0.6 * sin(z * 40 + time * 3) * (0.5 + treb)
|
||||
red = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3))
|
||||
green = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 2.09))
|
||||
blue = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 4.19))
|
||||
size = 1 + z * 3 * (0.5 + bass)
|
||||
skip = if(above(z, 0.97), 1, 0)
|
||||
ring = floor(i * 19)
|
||||
ri2 = frac(i * 19)
|
||||
z = frac(ring / 19 + t)
|
||||
rad = 0.05 + z * 0.881
|
||||
a = ri2 * 6.28318 + ring * 0.16 + sin(t * 0.7) * 2
|
||||
x = sin(a) * rad * (0.55 + sv * 0.901) / aspect
|
||||
y = cos(a) * rad * (0.55 + sv * 0.901)
|
||||
red = (1 - z) * (0.3 + bass * 0.7) * 0.3
|
||||
green = (1 - z) * (0.3 + bass * 0.7) * 0.65
|
||||
blue = min(1, (1 - z) * (0.3 + bass * 0.7) * 1.3)
|
||||
|
|
|
|||
|
|
@ -1,31 +1,28 @@
|
|||
name: "nebulous (skupers remix)"
|
||||
mode: lines
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.86
|
||||
linewidth: 1.8
|
||||
persist: 0.833
|
||||
linewidth: 2.862
|
||||
|
||||
[init]
|
||||
n = 560
|
||||
segs = 8
|
||||
cols = 28
|
||||
n = cols * cols
|
||||
|
||||
[frame]
|
||||
rot = rot + dt * (0.08 + mid_att * 0.5)
|
||||
hue = hue + dt * (0.07 + treb * 0.08)
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
rot = rot + dt * (0.104 + mid * 0.4)
|
||||
hue = hue + dt * 0.08
|
||||
|
||||
[point]
|
||||
seg = floor(i * segs)
|
||||
si = frac(i * segs)
|
||||
a0 = si * 6.28318 / segs + rot
|
||||
amp = 0.12 + sv * 0.55 + bass * 0.25 + flash * 0.05
|
||||
rad = 0.15 + amp * (0.4 + 0.6 * sin(a0 * 6 + time * 2))
|
||||
a = seg * 6.28318 / segs + a0 * if(below(seg % 2, 1), 1, -1)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
lum = 0.35 + amp * 1.2
|
||||
red = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg))
|
||||
green = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg + 2.09))
|
||||
blue = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg + 4.19))
|
||||
skip = if(above(si, 0.96), 1, 0)
|
||||
cx = floor(i * cols) / (cols - 1)
|
||||
cy = frac(i * cols)
|
||||
h = sv * 0.235
|
||||
ux = (cx - 0.5) * 1.448
|
||||
uy = (cy - 0.5) * 1.448
|
||||
rx = ux * cos(rot) - uy * sin(rot)
|
||||
ry = ux * sin(rot) + uy * cos(rot)
|
||||
x = (rx / aspect) * (1 - h * 0.7)
|
||||
y = ry * (1 - h * 0.7)
|
||||
red = 0.22 + h * 2.2 * (0.45 + 0.55 * sin(hue * 6.28318 + cx * 3.774))
|
||||
green = 0.22 + h * 2.2 * (0.45 + 0.55 * sin(hue * 6.28318 + cx * 3.774 + 2.09))
|
||||
blue = 0.22 + h * 2.2 * (0.45 + 0.55 * sin(hue * 6.28318 + cx * 3.774 + 4.19))
|
||||
size = 1.2 + h * 5
|
||||
|
|
|
|||
|
|
@ -1,25 +1,31 @@
|
|||
name: "soundscape III (skupers remix)"
|
||||
mode: dots
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.82
|
||||
linewidth: 2.5
|
||||
persist: 0.851
|
||||
linewidth: 1.939
|
||||
|
||||
[init]
|
||||
n = 850
|
||||
segs = 14
|
||||
n = 582
|
||||
|
||||
[frame]
|
||||
travel = travel + dt * (0.2 + vol_att * 1.6)
|
||||
hue = hue + dt * 0.05
|
||||
rot = rot + dt * (0.13 + mid_att * 0.5)
|
||||
hue = hue + dt * 0.073
|
||||
flash = flash * 0.85
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
|
||||
[point]
|
||||
a = rand(i * 7.3) * 6.28318
|
||||
z = frac(rand(i * 3.1 + 5) + travel * (0.5 + rand(i + 9) * 0.7))
|
||||
rad = z * z * 1.1
|
||||
seg = floor(i * segs)
|
||||
si = frac(i * segs)
|
||||
a0 = si * 6.28318 / segs + rot
|
||||
amp = 0.1 + sv * 0.55 + bass * 0.25 + flash * 0.06
|
||||
rad = 0.15 + amp * (0.4 + 0.6 * sin(a0 * 4 + time * 2))
|
||||
a = seg * 6.28318 / segs + a0 * if(below(seg % 2, 1), 1, -1)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
tw = 0.4 + 0.6 * sin(z * 40 + time * 3) * (0.5 + treb)
|
||||
red = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3))
|
||||
green = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 2.09))
|
||||
blue = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 4.19))
|
||||
size = 1 + z * 3 * (0.5 + bass)
|
||||
skip = if(above(z, 0.97), 1, 0)
|
||||
red = 0.3 + amp * 1.3 * abs(sin(seg * 0.8))
|
||||
green = 0.3 + amp * 1.3 * 0.22
|
||||
blue = 0.3 + amp * 1.3 * abs(cos(seg * 0.8))
|
||||
skip = if(above(si, 0.96), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,25 +1,27 @@
|
|||
name: "jinx (skupers remix)"
|
||||
mode: lines
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.9
|
||||
linewidth: 1.6
|
||||
persist: 0.814
|
||||
linewidth: 1.769
|
||||
|
||||
[init]
|
||||
n = 900
|
||||
bars = 46
|
||||
n = bars * 12
|
||||
|
||||
[frame]
|
||||
t = t + dt * (0.25 + bass_att * 1.5)
|
||||
hue = hue + dt * 0.1
|
||||
rot = rot + dt * (0.046 + mid * 0.3)
|
||||
hue = hue + dt * 0.043
|
||||
|
||||
[point]
|
||||
ring = floor(i * 24)
|
||||
ri = frac(i * 24)
|
||||
z = frac(ring / 24 + t)
|
||||
rad = 0.06 + z * 0.9
|
||||
a = ri * 6.28318 + ring * 0.35 + sin(t * 0.7) * 2
|
||||
x = sin(a) * rad * (0.55 + sv * 0.9) / aspect
|
||||
y = cos(a) * rad * (0.55 + sv * 0.9)
|
||||
f = (1 - z) * (0.35 + bass * 0.65)
|
||||
red = f * (0.45 + 0.55 * sin(hue * 6.28318 + z * 4))
|
||||
green = f * (0.45 + 0.55 * sin(hue * 6.28318 + z * 4 + 2.09))
|
||||
blue = f * (0.45 + 0.55 * sin(hue * 6.28318 + z * 4 + 4.19))
|
||||
bar = floor(i * bars)
|
||||
bi = frac(i * bars)
|
||||
lvl = getspec(bar / bars, 0, 0)
|
||||
h = lvl * 0.65
|
||||
a = bar * 6.28318 / bars + rot
|
||||
rad = 0.246 + bi * h
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
red = 0.25 + bi * 0.75 * abs(sin(bar * 6.28318 / bars))
|
||||
green = 0.25 + bi * 0.75 * 0.22
|
||||
blue = 0.25 + bi * 0.75 * abs(cos(bar * 6.28318 / bars))
|
||||
skip = if(above(bi, 0.97), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,29 +1,22 @@
|
|||
name: "not quite a bendy tunnel (skupers remix)"
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.88
|
||||
linewidth: 2
|
||||
persist: 0.862
|
||||
linewidth: 1.443
|
||||
|
||||
[init]
|
||||
n = 720
|
||||
n = 806
|
||||
|
||||
[frame]
|
||||
hue = hue + dt * (0.06 + mid * 0.2)
|
||||
travel = travel + dt * (0.3 + bass_att * 1.4)
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
t = t + dt * 0.276
|
||||
hue = hue + dt * 0.055
|
||||
|
||||
[point]
|
||||
g = floor(i * 9)
|
||||
gi = frac(i * 9)
|
||||
ph = frac(rand(g * 5.1 + 1) + travel * (0.6 + rand(g + 17) * 0.8))
|
||||
a = gi * 6.28318
|
||||
rad = ph * (0.25 + bass * 0.6 + flash * 0.08)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
fade = sin(ph * 3.14159)
|
||||
red = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7))
|
||||
green = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 2.09))
|
||||
blue = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 4.19))
|
||||
skip = if(above(ph, 0.95), 1, 0)
|
||||
ph = i * 6.28318 * 1.699
|
||||
fa = 2 + mid * 0.35
|
||||
fb = 3 + bass * 0.45
|
||||
x = sin(ph * fa + t) * (0.5 + bass * 0.3) / aspect
|
||||
y = sin(ph * fb + t * 1.3 + 2.216) * (0.5 + treb * 0.35)
|
||||
red = 0.3 + 0.45 * sin(ph * 2 + t) + abs(v) * 0.6 * 0.3
|
||||
green = 0.3 + 0.45 * sin(ph * 2 + t) + abs(v) * 0.6 * 0.65
|
||||
blue = min(1, 0.3 + 0.45 * sin(ph * 2 + t) + abs(v) * 0.6 * 1.3)
|
||||
|
|
|
|||
|
|
@ -1,25 +1,27 @@
|
|||
name: "newpoop (for wa5)"
|
||||
mode: lines
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.9
|
||||
linewidth: 1.6
|
||||
persist: 0.796
|
||||
linewidth: 2.44
|
||||
|
||||
[init]
|
||||
n = 1100
|
||||
rings = 4
|
||||
n = rings * 98
|
||||
|
||||
[frame]
|
||||
t = t + dt * (0.3 + bass_att * 1.8)
|
||||
hue = hue + dt * 0.08 + beat * 0.01
|
||||
t = t + dt * (0.176 + bass_att * 0.6)
|
||||
hue = hue + dt * 0.135
|
||||
squash = 0.549 + 0.25 * sin(t * 0.439)
|
||||
|
||||
[point]
|
||||
arm = floor(i * 5)
|
||||
fa = frac(i * 5)
|
||||
d = fa
|
||||
ang = arm * 1.2566 + d * (1.4 + mid * 3) * 3.14159 + t
|
||||
rad = (0.05 + d * d * 1.15) * (0.7 + bass * 0.5)
|
||||
x = sin(ang) * rad / aspect
|
||||
y = cos(ang) * rad
|
||||
red = (0.3 + 0.7 * d) * (0.3 + bass)
|
||||
green = (0.3 + 0.7 * d) * (0.25 + mid)
|
||||
blue = (0.3 + 0.7 * d) * (0.2 + treb + hue * 0.2)
|
||||
skip = if(below(fa, 0.04), 1, 0)
|
||||
ring = floor(i * rings)
|
||||
ri3 = frac(i * rings)
|
||||
r0 = 0.16 + ring * 0.12
|
||||
a = ri3 * 6.28318 + t * (1.2 - ring * 0.18) + ring * 2.4
|
||||
x = sin(a) * r0 * (1 + bass * 0.18) / aspect
|
||||
y = cos(a) * r0 * squash
|
||||
sat = frac(ri3 * 5)
|
||||
size = if(below(sat, 0.14), 3 + bass * 3, 1)
|
||||
red = min(1, 0.25 + bass * 0.5 + ring * 0.07 * 1.3)
|
||||
green = 0.25 + bass * 0.5 + ring * 0.07 * 0.5
|
||||
blue = 0.25 + bass * 0.5 + ring * 0.07 * 0.12
|
||||
|
|
|
|||
|
|
@ -1,25 +1,27 @@
|
|||
name: "the landscape is killing me (wa5remix)"
|
||||
mode: lines
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.9
|
||||
linewidth: 1.6
|
||||
persist: 0.704
|
||||
linewidth: 2.586
|
||||
|
||||
[init]
|
||||
n = 1100
|
||||
cols = 54
|
||||
n = 1193
|
||||
|
||||
[frame]
|
||||
t = t + dt * (0.3 + bass_att * 1.8)
|
||||
hue = hue + dt * 0.08 + beat * 0.01
|
||||
fall = fall + dt * (0.514 + vol_att * 0.841)
|
||||
hue = hue + dt * 0.071
|
||||
|
||||
[point]
|
||||
arm = floor(i * 5)
|
||||
fa = frac(i * 5)
|
||||
d = fa
|
||||
ang = arm * 1.2566 + d * (1.4 + mid * 3) * 3.14159 + t
|
||||
rad = (0.05 + d * d * 1.15) * (0.7 + bass * 0.5)
|
||||
x = sin(ang) * rad / aspect
|
||||
y = cos(ang) * rad
|
||||
red = (0.3 + 0.7 * d) * (0.3 + bass)
|
||||
green = (0.3 + 0.7 * d) * (0.25 + mid)
|
||||
blue = (0.3 + 0.7 * d) * (0.2 + treb + hue * 0.2)
|
||||
skip = if(below(fa, 0.04), 1, 0)
|
||||
col = floor(i * cols)
|
||||
ci = frac(i * cols)
|
||||
xx = (col / cols - 0.5) * 1.9
|
||||
yf = frac(rand(col * 3.7 + 1) + fall * (0.55 + rand(col + 5) * 0.5))
|
||||
tail = rand(col * 1.3 + 9) * 0.31 + 0.04
|
||||
yy = (yf * 2 - 1) * 1.05 + ci * tail
|
||||
x = xx / aspect
|
||||
y = yy
|
||||
red = (1 - ci) * (0.2 + treb * 0.85) + 0.04 * (0.45 + 0.55 * sin(hue * 6.28318 + col * 0.3))
|
||||
green = (1 - ci) * (0.2 + treb * 0.85) + 0.04 * (0.45 + 0.55 * sin(hue * 6.28318 + col * 0.3 + 2.09))
|
||||
blue = (1 - ci) * (0.2 + treb * 0.85) + 0.04 * (0.45 + 0.55 * sin(hue * 6.28318 + col * 0.3 + 4.19))
|
||||
skip = if(above(abs(yy), 1.02), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,29 +1,22 @@
|
|||
name: "Dragonscales"
|
||||
mode: dots
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.78
|
||||
linewidth: 2.5
|
||||
persist: 0.885
|
||||
linewidth: 2.375
|
||||
|
||||
[init]
|
||||
cols = 36
|
||||
n = cols * cols
|
||||
n = 938
|
||||
|
||||
[frame]
|
||||
rot = rot + dt * (0.05 + mid * 0.4)
|
||||
hue = hue + dt * (0.04 + treb * 0.1)
|
||||
t = t + dt * 0.353
|
||||
hue = hue + dt * 0.094
|
||||
|
||||
[point]
|
||||
cx = floor(i * cols) / (cols - 1)
|
||||
cy = frac(i * cols)
|
||||
h = sv * 0.35
|
||||
ux = (cx - 0.5) * 1.6
|
||||
uy = (cy - 0.5) * 1.6
|
||||
rx = ux * cos(rot) - uy * sin(rot)
|
||||
ry = ux * sin(rot) + uy * cos(rot)
|
||||
x = (rx / aspect) * (1 - h * 0.7)
|
||||
y = ry * (1 - h * 0.7)
|
||||
lum = 0.25 + h * 2.2
|
||||
red = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3))
|
||||
green = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3 + 2.09))
|
||||
blue = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3 + 4.19))
|
||||
size = 1.2 + h * 5
|
||||
ph = i * 6.28318 * 2.096
|
||||
fa = 2 + mid * 0.35
|
||||
fb = 3 + bass * 0.45
|
||||
x = sin(ph * fa + t) * (0.5 + bass * 0.3) / aspect
|
||||
y = sin(ph * fb + t * 1.3 + 2.866) * (0.5 + treb * 0.35)
|
||||
red = 0.3 + 0.45 * sin(ph * 2 + t) + abs(v) * 0.6 * (0.25 + bass * 0.95)
|
||||
green = 0.3 + 0.45 * sin(ph * 2 + t) + abs(v) * 0.6 * (0.25 + mid * 0.95)
|
||||
blue = 0.3 + 0.45 * sin(ph * 2 + t) + abs(v) * 0.6 * (0.25 + treb * 0.95)
|
||||
|
|
|
|||
|
|
@ -1,29 +1,27 @@
|
|||
name: "Encapsulade"
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.88
|
||||
linewidth: 2
|
||||
persist: 0.814
|
||||
linewidth: 2.058
|
||||
|
||||
[init]
|
||||
n = 720
|
||||
bars = 64
|
||||
n = bars * 9
|
||||
|
||||
[frame]
|
||||
hue = hue + dt * (0.06 + mid * 0.2)
|
||||
travel = travel + dt * (0.3 + bass_att * 1.4)
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
rot = rot + dt * (0.103 + mid * 0.3)
|
||||
hue = hue + dt * 0.072
|
||||
|
||||
[point]
|
||||
g = floor(i * 9)
|
||||
gi = frac(i * 9)
|
||||
ph = frac(rand(g * 5.1 + 1) + travel * (0.6 + rand(g + 17) * 0.8))
|
||||
a = gi * 6.28318
|
||||
rad = ph * (0.25 + bass * 0.6 + flash * 0.08)
|
||||
bar = floor(i * bars)
|
||||
bi = frac(i * bars)
|
||||
lvl = getspec(bar / bars, 0, 0)
|
||||
h = lvl * 0.85
|
||||
a = bar * 6.28318 / bars + rot
|
||||
rad = 0.262 + bi * h
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
fade = sin(ph * 3.14159)
|
||||
red = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7))
|
||||
green = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 2.09))
|
||||
blue = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 4.19))
|
||||
skip = if(above(ph, 0.95), 1, 0)
|
||||
red = 0.25 + bi * 0.75 * (0.45 + 0.55 * sin(hue * 6.28318 + bar * 6.28318 / bars))
|
||||
green = 0.25 + bi * 0.75 * (0.45 + 0.55 * sin(hue * 6.28318 + bar * 6.28318 / bars + 2.09))
|
||||
blue = 0.25 + bi * 0.75 * (0.45 + 0.55 * sin(hue * 6.28318 + bar * 6.28318 / bars + 4.19))
|
||||
skip = if(above(bi, 0.97), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,25 +1,27 @@
|
|||
name: "Freekwyrms"
|
||||
mode: lines
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.9
|
||||
linewidth: 1.6
|
||||
persist: 0.864
|
||||
linewidth: 1.436
|
||||
|
||||
[init]
|
||||
n = 1100
|
||||
bars = 46
|
||||
n = bars * 12
|
||||
|
||||
[frame]
|
||||
t = t + dt * (0.3 + bass_att * 1.8)
|
||||
hue = hue + dt * 0.08 + beat * 0.01
|
||||
rot = rot + dt * (0.09 + mid * 0.3)
|
||||
hue = hue + dt * 0.063
|
||||
|
||||
[point]
|
||||
arm = floor(i * 5)
|
||||
fa = frac(i * 5)
|
||||
d = fa
|
||||
ang = arm * 1.2566 + d * (1.4 + mid * 3) * 3.14159 + t
|
||||
rad = (0.05 + d * d * 1.15) * (0.7 + bass * 0.5)
|
||||
x = sin(ang) * rad / aspect
|
||||
y = cos(ang) * rad
|
||||
red = (0.3 + 0.7 * d) * (0.3 + bass)
|
||||
green = (0.3 + 0.7 * d) * (0.25 + mid)
|
||||
blue = (0.3 + 0.7 * d) * (0.2 + treb + hue * 0.2)
|
||||
skip = if(below(fa, 0.04), 1, 0)
|
||||
bar = floor(i * bars)
|
||||
bi = frac(i * bars)
|
||||
lvl = getspec(bar / bars, 0, 0)
|
||||
h = lvl * 0.722
|
||||
a = bar * 6.28318 / bars + rot
|
||||
rad = 0.216 + bi * h
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
red = min(1, 0.25 + bi * 0.75 * 1.3)
|
||||
green = 0.25 + bi * 0.75 * 0.5
|
||||
blue = 0.25 + bi * 0.75 * 0.12
|
||||
skip = if(above(bi, 0.97), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,29 +1,30 @@
|
|||
name: "Lilypod"
|
||||
mode: lines
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.88
|
||||
linewidth: 2
|
||||
persist: 0.787
|
||||
linewidth: 1.928
|
||||
|
||||
[init]
|
||||
n = 720
|
||||
n = 885
|
||||
|
||||
[frame]
|
||||
hue = hue + dt * (0.06 + mid * 0.2)
|
||||
travel = travel + dt * (0.3 + bass_att * 1.4)
|
||||
tt = tt + dt * (0.5 + bass_att * 1.1)
|
||||
hue = hue + dt * 0.04
|
||||
burst = burst * 0.9
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
burst = 1
|
||||
|
||||
[point]
|
||||
g = floor(i * 9)
|
||||
gi = frac(i * 9)
|
||||
ph = frac(rand(g * 5.1 + 1) + travel * (0.6 + rand(g + 17) * 0.8))
|
||||
a = gi * 6.28318
|
||||
rad = ph * (0.25 + bass * 0.6 + flash * 0.08)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
fade = sin(ph * 3.14159)
|
||||
red = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7))
|
||||
green = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 2.09))
|
||||
blue = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 4.19))
|
||||
skip = if(above(ph, 0.95), 1, 0)
|
||||
jet = floor(i * 4)
|
||||
life = frac(rand(i * 7.7 + jet) + tt * (0.35 + rand(i + 3) * 0.65))
|
||||
a = jet * 6.28318 / 4 + rand(i * 5.1 + jet) * 0.722
|
||||
spd = 0.4 + rand(i * 9.2 + jet) * 0.8
|
||||
px = cos(a) * spd * life
|
||||
py = sin(a) * spd * life - 0.744 * life * life
|
||||
x = px * (0.85 + bass * 0.35) / aspect
|
||||
y = py
|
||||
red = max(0, 1 - life) * (0.35 + burst * 0.55) * abs(sin(life * 4))
|
||||
green = max(0, 1 - life) * (0.35 + burst * 0.55) * 0.22
|
||||
blue = max(0, 1 - life) * (0.35 + burst * 0.55) * abs(cos(life * 4))
|
||||
skip = if(above(life, 0.94), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,29 +1,24 @@
|
|||
name: "Mist Wisps"
|
||||
mode: lines
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.88
|
||||
linewidth: 2
|
||||
persist: 0.758
|
||||
linewidth: 2.24
|
||||
|
||||
[init]
|
||||
n = 720
|
||||
n = 1297
|
||||
|
||||
[frame]
|
||||
hue = hue + dt * (0.06 + mid * 0.2)
|
||||
travel = travel + dt * (0.3 + bass_att * 1.4)
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
t = t + dt * 0.323
|
||||
hue = hue + dt * 0.1
|
||||
|
||||
[point]
|
||||
g = floor(i * 9)
|
||||
gi = frac(i * 9)
|
||||
ph = frac(rand(g * 5.1 + 1) + travel * (0.6 + rand(g + 17) * 0.8))
|
||||
a = gi * 6.28318
|
||||
rad = ph * (0.25 + bass * 0.6 + flash * 0.08)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
fade = sin(ph * 3.14159)
|
||||
red = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7))
|
||||
green = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 2.09))
|
||||
blue = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 4.19))
|
||||
skip = if(above(ph, 0.95), 1, 0)
|
||||
u = rand(i * 1.7) * 2 - 1
|
||||
w = rand(i * 3.3 + 11) * 2 - 1
|
||||
m = sin((u * 2.207 + w * 6.547 + t) * 3.14159) * sin((u * 5.739 - w * 2.319 - t * 0.7) * 3.14159)
|
||||
x = u * 0.85 / aspect
|
||||
y = w * 0.957
|
||||
lum = max(0, m) * (0.3 + bass * 0.9) + 0.06
|
||||
red = lum * (0.25 + bass * 0.95)
|
||||
green = lum * (0.25 + mid * 0.95)
|
||||
blue = lum * (0.25 + treb * 0.95)
|
||||
size = 1 + abs(m) * 3.505
|
||||
|
|
|
|||
|
|
@ -1,25 +1,24 @@
|
|||
name: "Nebulating - Hypercolorspace"
|
||||
mode: lines
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.9
|
||||
linewidth: 1.6
|
||||
persist: 0.792
|
||||
linewidth: 2.678
|
||||
|
||||
[init]
|
||||
n = 1100
|
||||
n = 1374
|
||||
|
||||
[frame]
|
||||
t = t + dt * (0.3 + bass_att * 1.8)
|
||||
hue = hue + dt * 0.08 + beat * 0.01
|
||||
t = t + dt * 0.423
|
||||
hue = hue + dt * 0.123
|
||||
|
||||
[point]
|
||||
arm = floor(i * 5)
|
||||
fa = frac(i * 5)
|
||||
d = fa
|
||||
ang = arm * 1.2566 + d * (1.4 + mid * 3) * 3.14159 + t
|
||||
rad = (0.05 + d * d * 1.15) * (0.7 + bass * 0.5)
|
||||
x = sin(ang) * rad / aspect
|
||||
y = cos(ang) * rad
|
||||
red = (0.3 + 0.7 * d) * (0.3 + bass)
|
||||
green = (0.3 + 0.7 * d) * (0.25 + mid)
|
||||
blue = (0.3 + 0.7 * d) * (0.2 + treb + hue * 0.2)
|
||||
skip = if(below(fa, 0.04), 1, 0)
|
||||
u = rand(i * 1.7) * 2 - 1
|
||||
w = rand(i * 3.3 + 11) * 2 - 1
|
||||
m = sin((u * 3.51 + w * 2.666 + t) * 3.14159) * sin((u * 6.323 - w * 6.393 - t * 0.7) * 3.14159)
|
||||
x = u * 0.959 / aspect
|
||||
y = w * 0.871
|
||||
lum = max(0, m) * (0.3 + bass * 0.9) + 0.06
|
||||
red = min(1, lum * 1.3)
|
||||
green = lum * 0.5
|
||||
blue = lum * 0.12
|
||||
size = 1 + abs(m) * 3.799
|
||||
|
|
|
|||
|
|
@ -1,31 +1,28 @@
|
|||
name: "Reverb - Deep Net"
|
||||
mode: lines
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.86
|
||||
linewidth: 1.8
|
||||
persist: 0.818
|
||||
linewidth: 2.394
|
||||
|
||||
[init]
|
||||
n = 560
|
||||
segs = 8
|
||||
cols = 29
|
||||
n = cols * cols
|
||||
|
||||
[frame]
|
||||
rot = rot + dt * (0.08 + mid_att * 0.5)
|
||||
hue = hue + dt * (0.07 + treb * 0.08)
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
rot = rot + dt * (0.041 + mid * 0.4)
|
||||
hue = hue + dt * 0.089
|
||||
|
||||
[point]
|
||||
seg = floor(i * segs)
|
||||
si = frac(i * segs)
|
||||
a0 = si * 6.28318 / segs + rot
|
||||
amp = 0.12 + sv * 0.55 + bass * 0.25 + flash * 0.05
|
||||
rad = 0.15 + amp * (0.4 + 0.6 * sin(a0 * 6 + time * 2))
|
||||
a = seg * 6.28318 / segs + a0 * if(below(seg % 2, 1), 1, -1)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
lum = 0.35 + amp * 1.2
|
||||
red = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg))
|
||||
green = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg + 2.09))
|
||||
blue = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg + 4.19))
|
||||
skip = if(above(si, 0.96), 1, 0)
|
||||
cx = floor(i * cols) / (cols - 1)
|
||||
cy = frac(i * cols)
|
||||
h = sv * 0.525
|
||||
ux = (cx - 0.5) * 1.845
|
||||
uy = (cy - 0.5) * 1.845
|
||||
rx = ux * cos(rot) - uy * sin(rot)
|
||||
ry = ux * sin(rot) + uy * cos(rot)
|
||||
x = (rx / aspect) * (1 - h * 0.7)
|
||||
y = ry * (1 - h * 0.7)
|
||||
red = 0.22 + h * 2.2 * abs(sin(cx * 2.712))
|
||||
green = 0.22 + h * 2.2 * 0.22
|
||||
blue = 0.22 + h * 2.2 * abs(cos(cx * 2.712))
|
||||
size = 1.2 + h * 5
|
||||
|
|
|
|||
|
|
@ -1,25 +1,22 @@
|
|||
name: "Slyde - Tri"
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.9
|
||||
linewidth: 1.6
|
||||
persist: 0.863
|
||||
linewidth: 1.626
|
||||
|
||||
[init]
|
||||
n = 1100
|
||||
n = 938
|
||||
|
||||
[frame]
|
||||
t = t + dt * (0.3 + bass_att * 1.8)
|
||||
hue = hue + dt * 0.08 + beat * 0.01
|
||||
t = t + dt * 0.483
|
||||
hue = hue + dt * 0.076
|
||||
|
||||
[point]
|
||||
arm = floor(i * 5)
|
||||
fa = frac(i * 5)
|
||||
d = fa
|
||||
ang = arm * 1.2566 + d * (1.4 + mid * 3) * 3.14159 + t
|
||||
rad = (0.05 + d * d * 1.15) * (0.7 + bass * 0.5)
|
||||
x = sin(ang) * rad / aspect
|
||||
y = cos(ang) * rad
|
||||
red = (0.3 + 0.7 * d) * (0.3 + bass)
|
||||
green = (0.3 + 0.7 * d) * (0.25 + mid)
|
||||
blue = (0.3 + 0.7 * d) * (0.2 + treb + hue * 0.2)
|
||||
skip = if(below(fa, 0.04), 1, 0)
|
||||
ph = i * 6.28318 * 2.841
|
||||
fa = 6 + mid * 0.35
|
||||
fb = 2 + bass * 0.45
|
||||
x = sin(ph * fa + t) * (0.5 + bass * 0.3) / aspect
|
||||
y = sin(ph * fb + t * 1.3 + 1.909) * (0.5 + treb * 0.35)
|
||||
red = min(1, 0.3 + 0.45 * sin(ph * 2 + t) + abs(v) * 0.6 * 1.3)
|
||||
green = 0.3 + 0.45 * sin(ph * 2 + t) + abs(v) * 0.6 * 0.5
|
||||
blue = 0.3 + 0.45 * sin(ph * 2 + t) + abs(v) * 0.6 * 0.12
|
||||
|
|
|
|||
|
|
@ -1,29 +1,27 @@
|
|||
name: "Solar Flaire"
|
||||
mode: dots
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.78
|
||||
linewidth: 2.5
|
||||
persist: 0.866
|
||||
linewidth: 1.678
|
||||
|
||||
[init]
|
||||
cols = 36
|
||||
n = cols * cols
|
||||
bars = 59
|
||||
n = bars * 11
|
||||
|
||||
[frame]
|
||||
rot = rot + dt * (0.05 + mid * 0.4)
|
||||
hue = hue + dt * (0.04 + treb * 0.1)
|
||||
rot = rot + dt * (0.076 + mid * 0.3)
|
||||
hue = hue + dt * 0.107
|
||||
|
||||
[point]
|
||||
cx = floor(i * cols) / (cols - 1)
|
||||
cy = frac(i * cols)
|
||||
h = sv * 0.35
|
||||
ux = (cx - 0.5) * 1.6
|
||||
uy = (cy - 0.5) * 1.6
|
||||
rx = ux * cos(rot) - uy * sin(rot)
|
||||
ry = ux * sin(rot) + uy * cos(rot)
|
||||
x = (rx / aspect) * (1 - h * 0.7)
|
||||
y = ry * (1 - h * 0.7)
|
||||
lum = 0.25 + h * 2.2
|
||||
red = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3))
|
||||
green = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3 + 2.09))
|
||||
blue = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3 + 4.19))
|
||||
size = 1.2 + h * 5
|
||||
bar = floor(i * bars)
|
||||
bi = frac(i * bars)
|
||||
lvl = getspec(bar / bars, 0, 0)
|
||||
h = lvl * 0.607
|
||||
a = bar * 6.28318 / bars + rot
|
||||
rad = 0.241 + bi * h
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
red = 0.25 + bi * 0.75 * (0.45 + 0.55 * sin(hue * 6.28318 + bar * 6.28318 / bars))
|
||||
green = 0.25 + bi * 0.75 * (0.45 + 0.55 * sin(hue * 6.28318 + bar * 6.28318 / bars + 2.09))
|
||||
blue = 0.25 + bi * 0.75 * (0.45 + 0.55 * sin(hue * 6.28318 + bar * 6.28318 / bars + 4.19))
|
||||
skip = if(above(bi, 0.97), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,31 +1,30 @@
|
|||
name: "Spintronics - Backspin"
|
||||
mode: lines
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.86
|
||||
linewidth: 1.8
|
||||
persist: 0.804
|
||||
linewidth: 2.037
|
||||
|
||||
[init]
|
||||
n = 560
|
||||
segs = 8
|
||||
n = 1157
|
||||
|
||||
[frame]
|
||||
rot = rot + dt * (0.08 + mid_att * 0.5)
|
||||
hue = hue + dt * (0.07 + treb * 0.08)
|
||||
tt = tt + dt * (0.5 + bass_att * 1.1)
|
||||
hue = hue + dt * 0.12
|
||||
burst = burst * 0.9
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
burst = 1
|
||||
|
||||
[point]
|
||||
seg = floor(i * segs)
|
||||
si = frac(i * segs)
|
||||
a0 = si * 6.28318 / segs + rot
|
||||
amp = 0.12 + sv * 0.55 + bass * 0.25 + flash * 0.05
|
||||
rad = 0.15 + amp * (0.4 + 0.6 * sin(a0 * 6 + time * 2))
|
||||
a = seg * 6.28318 / segs + a0 * if(below(seg % 2, 1), 1, -1)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
lum = 0.35 + amp * 1.2
|
||||
red = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg))
|
||||
green = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg + 2.09))
|
||||
blue = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg + 4.19))
|
||||
skip = if(above(si, 0.96), 1, 0)
|
||||
jet = floor(i * 4)
|
||||
life = frac(rand(i * 7.7 + jet) + tt * (0.35 + rand(i + 3) * 0.65))
|
||||
a = jet * 6.28318 / 4 + rand(i * 5.1 + jet) * 0.547
|
||||
spd = 0.4 + rand(i * 9.2 + jet) * 0.8
|
||||
px = cos(a) * spd * life
|
||||
py = sin(a) * spd * life - 0.712 * life * life
|
||||
x = px * (0.85 + bass * 0.35) / aspect
|
||||
y = py
|
||||
red = min(1, max(0, 1 - life) * (0.35 + burst * 0.55) * 1.3)
|
||||
green = max(0, 1 - life) * (0.35 + burst * 0.55) * 0.5
|
||||
blue = max(0, 1 - life) * (0.35 + burst * 0.55) * 0.12
|
||||
skip = if(above(life, 0.94), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,25 +1,31 @@
|
|||
name: "Starslappin"
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.9
|
||||
linewidth: 1.6
|
||||
persist: 0.842
|
||||
linewidth: 2.148
|
||||
|
||||
[init]
|
||||
n = 1100
|
||||
segs = 7
|
||||
n = 545
|
||||
|
||||
[frame]
|
||||
t = t + dt * (0.3 + bass_att * 1.8)
|
||||
hue = hue + dt * 0.08 + beat * 0.01
|
||||
rot = rot + dt * (0.087 + mid_att * 0.5)
|
||||
hue = hue + dt * 0.125
|
||||
flash = flash * 0.85
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
|
||||
[point]
|
||||
arm = floor(i * 5)
|
||||
fa = frac(i * 5)
|
||||
d = fa
|
||||
ang = arm * 1.2566 + d * (1.4 + mid * 3) * 3.14159 + t
|
||||
rad = (0.05 + d * d * 1.15) * (0.7 + bass * 0.5)
|
||||
x = sin(ang) * rad / aspect
|
||||
y = cos(ang) * rad
|
||||
red = (0.3 + 0.7 * d) * (0.3 + bass)
|
||||
green = (0.3 + 0.7 * d) * (0.25 + mid)
|
||||
blue = (0.3 + 0.7 * d) * (0.2 + treb + hue * 0.2)
|
||||
skip = if(below(fa, 0.04), 1, 0)
|
||||
seg = floor(i * segs)
|
||||
si = frac(i * segs)
|
||||
a0 = si * 6.28318 / segs + rot
|
||||
amp = 0.1 + sv * 0.55 + bass * 0.25 + flash * 0.06
|
||||
rad = 0.15 + amp * (0.4 + 0.6 * sin(a0 * 6 + time * 2))
|
||||
a = seg * 6.28318 / segs + a0 * if(below(seg % 2, 1), 1, -1)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
red = 0.3 + amp * 1.3 * (0.25 + bass * 0.95)
|
||||
green = 0.3 + amp * 1.3 * (0.25 + mid * 0.95)
|
||||
blue = 0.3 + amp * 1.3 * (0.25 + treb * 0.95)
|
||||
skip = if(above(si, 0.96), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,25 +1,30 @@
|
|||
name: "Street Art - Fire Inside"
|
||||
mode: lines
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.9
|
||||
linewidth: 1.6
|
||||
persist: 0.757
|
||||
linewidth: 2.052
|
||||
|
||||
[init]
|
||||
n = 1100
|
||||
n = 1065
|
||||
|
||||
[frame]
|
||||
t = t + dt * (0.3 + bass_att * 1.8)
|
||||
hue = hue + dt * 0.08 + beat * 0.01
|
||||
tt = tt + dt * (0.5 + bass_att * 1.1)
|
||||
hue = hue + dt * 0.108
|
||||
burst = burst * 0.9
|
||||
|
||||
[beat]
|
||||
burst = 1
|
||||
|
||||
[point]
|
||||
arm = floor(i * 5)
|
||||
fa = frac(i * 5)
|
||||
d = fa
|
||||
ang = arm * 1.2566 + d * (1.4 + mid * 3) * 3.14159 + t
|
||||
rad = (0.05 + d * d * 1.15) * (0.7 + bass * 0.5)
|
||||
x = sin(ang) * rad / aspect
|
||||
y = cos(ang) * rad
|
||||
red = (0.3 + 0.7 * d) * (0.3 + bass)
|
||||
green = (0.3 + 0.7 * d) * (0.25 + mid)
|
||||
blue = (0.3 + 0.7 * d) * (0.2 + treb + hue * 0.2)
|
||||
skip = if(below(fa, 0.04), 1, 0)
|
||||
jet = floor(i * 4)
|
||||
life = frac(rand(i * 7.7 + jet) + tt * (0.35 + rand(i + 3) * 0.65))
|
||||
a = jet * 6.28318 / 4 + rand(i * 5.1 + jet) * 1.184
|
||||
spd = 0.4 + rand(i * 9.2 + jet) * 0.8
|
||||
px = cos(a) * spd * life
|
||||
py = sin(a) * spd * life - 1.383 * life * life
|
||||
x = px * (0.85 + bass * 0.35) / aspect
|
||||
y = py
|
||||
red = max(0, 1 - life) * (0.35 + burst * 0.55) * 0.3
|
||||
green = max(0, 1 - life) * (0.35 + burst * 0.55) * 0.65
|
||||
blue = min(1, max(0, 1 - life) * (0.35 + burst * 0.55) * 1.3)
|
||||
skip = if(above(life, 0.94), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,31 +1,23 @@
|
|||
name: "Swoo - Slow"
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.86
|
||||
linewidth: 1.8
|
||||
persist: 0.919
|
||||
linewidth: 1.852
|
||||
|
||||
[init]
|
||||
n = 560
|
||||
segs = 8
|
||||
n = 1159
|
||||
|
||||
[frame]
|
||||
rot = rot + dt * (0.08 + mid_att * 0.5)
|
||||
hue = hue + dt * (0.07 + treb * 0.08)
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
t = t + dt * (0.461 + bass_att * 0.8)
|
||||
sway = sway + dt * (0.5 + treb)
|
||||
hue = hue + dt * 0.046
|
||||
|
||||
[point]
|
||||
seg = floor(i * segs)
|
||||
si = frac(i * segs)
|
||||
a0 = si * 6.28318 / segs + rot
|
||||
amp = 0.12 + sv * 0.55 + bass * 0.25 + flash * 0.05
|
||||
rad = 0.15 + amp * (0.4 + 0.6 * sin(a0 * 6 + time * 2))
|
||||
a = seg * 6.28318 / segs + a0 * if(below(seg % 2, 1), 1, -1)
|
||||
a = i * 6.28318 * 3
|
||||
wob = sin(a * 3 + t * 2) * (0.08 + treb * 0.3)
|
||||
rad = (0.42 + mid * 0.25) * (0.85 + 0.15 * sin(a * 3 + sway)) + v * 0.199 - wob
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
lum = 0.35 + amp * 1.2
|
||||
red = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg))
|
||||
green = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg + 2.09))
|
||||
blue = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg + 4.19))
|
||||
skip = if(above(si, 0.96), 1, 0)
|
||||
red = 0.3 + abs(v) * 1.2 * 0.3
|
||||
green = 0.3 + abs(v) * 1.2 * 0.65
|
||||
blue = min(1, 0.3 + abs(v) * 1.2 * 1.3)
|
||||
|
|
|
|||
|
|
@ -1,29 +1,27 @@
|
|||
name: "smell of music (skupers remix)"
|
||||
mode: dots
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.78
|
||||
linewidth: 2.5
|
||||
persist: 0.805
|
||||
linewidth: 1.342
|
||||
|
||||
[init]
|
||||
cols = 36
|
||||
n = cols * cols
|
||||
spokes = 31
|
||||
n = spokes * 34
|
||||
|
||||
[frame]
|
||||
rot = rot + dt * (0.05 + mid * 0.4)
|
||||
hue = hue + dt * (0.04 + treb * 0.1)
|
||||
rot = rot + dt * (0.118 + mid * 0.4)
|
||||
t = t + dt * 2.453
|
||||
hue = hue + dt * 0.113
|
||||
|
||||
[point]
|
||||
cx = floor(i * cols) / (cols - 1)
|
||||
cy = frac(i * cols)
|
||||
h = sv * 0.35
|
||||
ux = (cx - 0.5) * 1.6
|
||||
uy = (cy - 0.5) * 1.6
|
||||
rx = ux * cos(rot) - uy * sin(rot)
|
||||
ry = ux * sin(rot) + uy * cos(rot)
|
||||
x = (rx / aspect) * (1 - h * 0.7)
|
||||
y = ry * (1 - h * 0.7)
|
||||
lum = 0.25 + h * 2.2
|
||||
red = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3))
|
||||
green = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3 + 2.09))
|
||||
blue = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3 + 4.19))
|
||||
size = 1.2 + h * 5
|
||||
sp = floor(i * spokes)
|
||||
si = frac(i * spokes)
|
||||
a = sp * 6.28318 / spokes + rot
|
||||
wave = sin(si * 3 * 3.14159 - t) * (0.03 + bass * 0.28)
|
||||
rad = 0.12 + si * 0.868 + wave
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
red = (1 - si) * 0.45 + 0.15 + sv * 0.55 * 0.3
|
||||
green = (1 - si) * 0.45 + 0.15 + sv * 0.55 * 0.65
|
||||
blue = min(1, (1 - si) * 0.45 + 0.15 + sv * 0.55 * 1.3)
|
||||
skip = if(above(si, 0.985), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,29 +1,30 @@
|
|||
name: "bumpy"
|
||||
mode: lines
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.88
|
||||
linewidth: 2
|
||||
persist: 0.798
|
||||
linewidth: 1.642
|
||||
|
||||
[init]
|
||||
n = 720
|
||||
n = 640
|
||||
|
||||
[frame]
|
||||
hue = hue + dt * (0.06 + mid * 0.2)
|
||||
travel = travel + dt * (0.3 + bass_att * 1.4)
|
||||
hue = hue + dt * 0.119 + beat * 0.01
|
||||
travel = travel + dt * (0.394 + bass_att * 1.4)
|
||||
flash = flash * 0.86
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
|
||||
[point]
|
||||
g = floor(i * 9)
|
||||
gi = frac(i * 9)
|
||||
ph = frac(rand(g * 5.1 + 1) + travel * (0.6 + rand(g + 17) * 0.8))
|
||||
g = floor(i * 10)
|
||||
gi = frac(i * 10)
|
||||
ph = frac(rand(g * 5.1 + 1) + travel * (0.55 + rand(g + 17) * 0.85))
|
||||
a = gi * 6.28318
|
||||
rad = ph * (0.25 + bass * 0.6 + flash * 0.08)
|
||||
rad = ph * (0.28 + bass * 0.544 + flash * 0.08)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
fade = sin(ph * 3.14159)
|
||||
red = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7))
|
||||
green = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 2.09))
|
||||
blue = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 4.19))
|
||||
skip = if(above(ph, 0.95), 1, 0)
|
||||
red = fade * (0.35 + flash * 0.4) * 0.3
|
||||
green = fade * (0.35 + flash * 0.4) * 0.65
|
||||
blue = min(1, fade * (0.35 + flash * 0.4) * 1.3)
|
||||
skip = if(above(ph, 0.96), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,29 +1,25 @@
|
|||
name: "splendora"
|
||||
mode: dots
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.78
|
||||
linewidth: 2.5
|
||||
persist: 0.867
|
||||
linewidth: 1.513
|
||||
|
||||
[init]
|
||||
cols = 36
|
||||
n = cols * cols
|
||||
n = 974
|
||||
|
||||
[frame]
|
||||
rot = rot + dt * (0.05 + mid * 0.4)
|
||||
hue = hue + dt * (0.04 + treb * 0.1)
|
||||
t = t + dt * (0.211 + bass_att * 1.8)
|
||||
hue = hue + dt * 0.068 + beat * 0.012
|
||||
|
||||
[point]
|
||||
cx = floor(i * cols) / (cols - 1)
|
||||
cy = frac(i * cols)
|
||||
h = sv * 0.35
|
||||
ux = (cx - 0.5) * 1.6
|
||||
uy = (cy - 0.5) * 1.6
|
||||
rx = ux * cos(rot) - uy * sin(rot)
|
||||
ry = ux * sin(rot) + uy * cos(rot)
|
||||
x = (rx / aspect) * (1 - h * 0.7)
|
||||
y = ry * (1 - h * 0.7)
|
||||
lum = 0.25 + h * 2.2
|
||||
red = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3))
|
||||
green = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3 + 2.09))
|
||||
blue = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3 + 4.19))
|
||||
size = 1.2 + h * 5
|
||||
arm = floor(i * 9)
|
||||
fa = frac(i * 9)
|
||||
d = fa
|
||||
ang = arm * 1.515 + d * 1.922 * 3.14159 + t
|
||||
rad = (0.04 + pow(d, 1.746) * 1.15) * (0.7 + bass * 0.5)
|
||||
x = sin(ang) * rad / aspect
|
||||
y = cos(ang) * rad
|
||||
red = (0.3 + 0.7 * d) * (0.3 + mid) * abs(sin(d * 2.585))
|
||||
green = (0.3 + 0.7 * d) * (0.3 + mid) * 0.22
|
||||
blue = (0.3 + 0.7 * d) * (0.3 + mid) * abs(cos(d * 2.585))
|
||||
skip = if(below(fa, 0.04), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,31 +1,27 @@
|
|||
name: "Urantia"
|
||||
mode: lines
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.86
|
||||
linewidth: 1.8
|
||||
persist: 0.862
|
||||
linewidth: 2.9
|
||||
|
||||
[init]
|
||||
n = 560
|
||||
segs = 8
|
||||
rings = 4
|
||||
n = rings * 101
|
||||
|
||||
[frame]
|
||||
rot = rot + dt * (0.08 + mid_att * 0.5)
|
||||
hue = hue + dt * (0.07 + treb * 0.08)
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
t = t + dt * (0.393 + bass_att * 0.6)
|
||||
hue = hue + dt * 0.094
|
||||
squash = 0.387 + 0.25 * sin(t * 0.454)
|
||||
|
||||
[point]
|
||||
seg = floor(i * segs)
|
||||
si = frac(i * segs)
|
||||
a0 = si * 6.28318 / segs + rot
|
||||
amp = 0.12 + sv * 0.55 + bass * 0.25 + flash * 0.05
|
||||
rad = 0.15 + amp * (0.4 + 0.6 * sin(a0 * 6 + time * 2))
|
||||
a = seg * 6.28318 / segs + a0 * if(below(seg % 2, 1), 1, -1)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
lum = 0.35 + amp * 1.2
|
||||
red = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg))
|
||||
green = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg + 2.09))
|
||||
blue = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg + 4.19))
|
||||
skip = if(above(si, 0.96), 1, 0)
|
||||
ring = floor(i * rings)
|
||||
ri3 = frac(i * rings)
|
||||
r0 = 0.16 + ring * 0.141
|
||||
a = ri3 * 6.28318 + t * (1.2 - ring * 0.18) + ring * 2.4
|
||||
x = sin(a) * r0 * (1 + bass * 0.18) / aspect
|
||||
y = cos(a) * r0 * squash
|
||||
sat = frac(ri3 * 2)
|
||||
size = if(below(sat, 0.14), 3 + bass * 3, 1)
|
||||
red = 0.25 + bass * 0.5 + ring * 0.07 * (0.25 + bass * 0.95)
|
||||
green = 0.25 + bass * 0.5 + ring * 0.07 * (0.25 + mid * 0.95)
|
||||
blue = 0.25 + bass * 0.5 + ring * 0.07 * (0.25 + treb * 0.95)
|
||||
|
|
|
|||
|
|
@ -1,25 +1,25 @@
|
|||
name: "tentaclism (fake hboy rmx)"
|
||||
mode: lines
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.9
|
||||
linewidth: 1.6
|
||||
persist: 0.833
|
||||
linewidth: 2.485
|
||||
|
||||
[init]
|
||||
n = 1100
|
||||
n = 952
|
||||
|
||||
[frame]
|
||||
t = t + dt * (0.3 + bass_att * 1.8)
|
||||
hue = hue + dt * 0.08 + beat * 0.01
|
||||
travel = travel + dt * (0.231 + vol_att * 1.898)
|
||||
hue = hue + dt * 0.056
|
||||
|
||||
[point]
|
||||
arm = floor(i * 5)
|
||||
fa = frac(i * 5)
|
||||
d = fa
|
||||
ang = arm * 1.2566 + d * (1.4 + mid * 3) * 3.14159 + t
|
||||
rad = (0.05 + d * d * 1.15) * (0.7 + bass * 0.5)
|
||||
x = sin(ang) * rad / aspect
|
||||
y = cos(ang) * rad
|
||||
red = (0.3 + 0.7 * d) * (0.3 + bass)
|
||||
green = (0.3 + 0.7 * d) * (0.25 + mid)
|
||||
blue = (0.3 + 0.7 * d) * (0.2 + treb + hue * 0.2)
|
||||
skip = if(below(fa, 0.04), 1, 0)
|
||||
a = rand(i * 7.3) * 6.28318
|
||||
z = frac(rand(i * 3.1 + 5) + travel * (0.5 + rand(i + 9) * 0.7))
|
||||
rad = z * z * 0.992
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
tw = 0.4 + 0.6 * sin(z * 40 + time * 3) * (0.5 + treb)
|
||||
red = min(1, tw * 1.3)
|
||||
green = tw * 0.5
|
||||
blue = tw * 0.12
|
||||
size = 1 + z * 3 * (0.5 + bass)
|
||||
skip = if(above(z, 0.97), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,25 +1,27 @@
|
|||
name: "tentaclism (sky of contempt mix by drew)"
|
||||
mode: lines
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.9
|
||||
linewidth: 1.6
|
||||
persist: 0.83
|
||||
linewidth: 2.652
|
||||
|
||||
[init]
|
||||
n = 900
|
||||
rings = 3
|
||||
n = rings * 87
|
||||
|
||||
[frame]
|
||||
t = t + dt * (0.25 + bass_att * 1.5)
|
||||
hue = hue + dt * 0.1
|
||||
t = t + dt * (0.201 + bass_att * 0.6)
|
||||
hue = hue + dt * 0.06
|
||||
squash = 0.564 + 0.25 * sin(t * 0.401)
|
||||
|
||||
[point]
|
||||
ring = floor(i * 24)
|
||||
ri = frac(i * 24)
|
||||
z = frac(ring / 24 + t)
|
||||
rad = 0.06 + z * 0.9
|
||||
a = ri * 6.28318 + ring * 0.35 + sin(t * 0.7) * 2
|
||||
x = sin(a) * rad * (0.55 + sv * 0.9) / aspect
|
||||
y = cos(a) * rad * (0.55 + sv * 0.9)
|
||||
f = (1 - z) * (0.35 + bass * 0.65)
|
||||
red = f * (0.45 + 0.55 * sin(hue * 6.28318 + z * 4))
|
||||
green = f * (0.45 + 0.55 * sin(hue * 6.28318 + z * 4 + 2.09))
|
||||
blue = f * (0.45 + 0.55 * sin(hue * 6.28318 + z * 4 + 4.19))
|
||||
ring = floor(i * rings)
|
||||
ri3 = frac(i * rings)
|
||||
r0 = 0.16 + ring * 0.108
|
||||
a = ri3 * 6.28318 + t * (1.2 - ring * 0.18) + ring * 2.4
|
||||
x = sin(a) * r0 * (1 + bass * 0.18) / aspect
|
||||
y = cos(a) * r0 * squash
|
||||
sat = frac(ri3 * 4)
|
||||
size = if(below(sat, 0.14), 3 + bass * 3, 1)
|
||||
red = 0.25 + bass * 0.5 + ring * 0.07 * abs(sin(ring * 1.3))
|
||||
green = 0.25 + bass * 0.5 + ring * 0.07 * 0.22
|
||||
blue = 0.25 + bass * 0.5 + ring * 0.07 * abs(cos(ring * 1.3))
|
||||
|
|
|
|||
|
|
@ -1,25 +1,27 @@
|
|||
name: "tentaclism (cathode ray mix by onionring of doom)"
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.9
|
||||
linewidth: 1.6
|
||||
persist: 0.873
|
||||
linewidth: 1.987
|
||||
|
||||
[init]
|
||||
n = 1100
|
||||
spokes = 26
|
||||
n = spokes * 38
|
||||
|
||||
[frame]
|
||||
t = t + dt * (0.3 + bass_att * 1.8)
|
||||
hue = hue + dt * 0.08 + beat * 0.01
|
||||
rot = rot + dt * (0.076 + mid * 0.4)
|
||||
t = t + dt * 1.652
|
||||
hue = hue + dt * 0.062
|
||||
|
||||
[point]
|
||||
arm = floor(i * 5)
|
||||
fa = frac(i * 5)
|
||||
d = fa
|
||||
ang = arm * 1.2566 + d * (1.4 + mid * 3) * 3.14159 + t
|
||||
rad = (0.05 + d * d * 1.15) * (0.7 + bass * 0.5)
|
||||
x = sin(ang) * rad / aspect
|
||||
y = cos(ang) * rad
|
||||
red = (0.3 + 0.7 * d) * (0.3 + bass)
|
||||
green = (0.3 + 0.7 * d) * (0.25 + mid)
|
||||
blue = (0.3 + 0.7 * d) * (0.2 + treb + hue * 0.2)
|
||||
skip = if(below(fa, 0.04), 1, 0)
|
||||
sp = floor(i * spokes)
|
||||
si = frac(i * spokes)
|
||||
a = sp * 6.28318 / spokes + rot
|
||||
wave = sin(si * 5 * 3.14159 - t) * (0.03 + bass * 0.28)
|
||||
rad = 0.12 + si * 0.882 + wave
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
red = (1 - si) * 0.45 + 0.15 + sv * 0.55 * 0.3
|
||||
green = (1 - si) * 0.45 + 0.15 + sv * 0.55 * 0.65
|
||||
blue = min(1, (1 - si) * 0.45 + 0.15 + sv * 0.55 * 1.3)
|
||||
skip = if(above(si, 0.985), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,24 +1,24 @@
|
|||
# Auto-ported from "05 dynamic duo - chromatics (glowy mix by meaningless-existance).avs" (Winamp AVS / dynamic duo)
|
||||
# SuperScope point program, 4 AVSTrans macros expanded.
|
||||
name: "chromatics (glowy mix by meaningless-existance)"
|
||||
author: "dynamic duo"
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.88
|
||||
linewidth: 2
|
||||
ysign: -1
|
||||
persist: 0.857
|
||||
linewidth: 1.543
|
||||
|
||||
[init]
|
||||
n=w;pi=acos(-1);
|
||||
n = 731
|
||||
|
||||
[frame]
|
||||
t=t-0.045;t2=t2-t2r;tm2=tm2*0.9+tm2c*0.1;tm=tm*0.9+tm2c*0.1;
|
||||
|
||||
[beat]
|
||||
tm2c=rnd(315)*0.04+1;tmc=rnd(315)*0.04+1;t2r=rnd(10)*0.01-0.05;
|
||||
t = t + dt * (0.338 + bass_att * 1.5)
|
||||
hue = hue + dt * 0.042
|
||||
|
||||
[point]
|
||||
x=i*2-1;y=-0.99;
|
||||
red=sin(i*2*pi+t)*0.5+0.5;;
|
||||
blue=sin(i*tm*2+t2)*0.5+0.5;
|
||||
green=sin(i*tm2*2-t*0.33)*0.5+0.5;
|
||||
ring = floor(i * 17)
|
||||
ri2 = frac(i * 17)
|
||||
z = frac(ring / 17 + t)
|
||||
rad = 0.05 + z * 0.805
|
||||
a = ri2 * 6.28318 + ring * 0.411 + sin(t * 0.7) * 2
|
||||
x = sin(a) * rad * (0.55 + sv * 1.073) / aspect
|
||||
y = cos(a) * rad * (0.55 + sv * 1.073)
|
||||
red = (1 - z) * (0.3 + bass * 0.7) * abs(sin(z * 2.074))
|
||||
green = (1 - z) * (0.3 + bass * 0.7) * 0.22
|
||||
blue = (1 - z) * (0.3 + bass * 0.7) * abs(cos(z * 2.074))
|
||||
|
|
|
|||
|
|
@ -1,31 +1,30 @@
|
|||
name: "tentaclism (midas remix)"
|
||||
mode: lines
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.86
|
||||
linewidth: 1.8
|
||||
persist: 0.848
|
||||
linewidth: 2.168
|
||||
|
||||
[init]
|
||||
n = 560
|
||||
segs = 8
|
||||
n = 757
|
||||
|
||||
[frame]
|
||||
rot = rot + dt * (0.08 + mid_att * 0.5)
|
||||
hue = hue + dt * (0.07 + treb * 0.08)
|
||||
tt = tt + dt * (0.5 + bass_att * 1.1)
|
||||
hue = hue + dt * 0.053
|
||||
burst = burst * 0.9
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
burst = 1
|
||||
|
||||
[point]
|
||||
seg = floor(i * segs)
|
||||
si = frac(i * segs)
|
||||
a0 = si * 6.28318 / segs + rot
|
||||
amp = 0.12 + sv * 0.55 + bass * 0.25 + flash * 0.05
|
||||
rad = 0.15 + amp * (0.4 + 0.6 * sin(a0 * 6 + time * 2))
|
||||
a = seg * 6.28318 / segs + a0 * if(below(seg % 2, 1), 1, -1)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
lum = 0.35 + amp * 1.2
|
||||
red = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg))
|
||||
green = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg + 2.09))
|
||||
blue = lum * (0.6 + 0.4 * sin(hue * 6.28318 + seg + 4.19))
|
||||
skip = if(above(si, 0.96), 1, 0)
|
||||
jet = floor(i * 2)
|
||||
life = frac(rand(i * 7.7 + jet) + tt * (0.35 + rand(i + 3) * 0.65))
|
||||
a = jet * 6.28318 / 2 + rand(i * 5.1 + jet) * 1.14
|
||||
spd = 0.4 + rand(i * 9.2 + jet) * 0.8
|
||||
px = cos(a) * spd * life
|
||||
py = sin(a) * spd * life - 1.009 * life * life
|
||||
x = px * (0.85 + bass * 0.35) / aspect
|
||||
y = py
|
||||
red = min(1, max(0, 1 - life) * (0.35 + burst * 0.55) * 1.3)
|
||||
green = max(0, 1 - life) * (0.35 + burst * 0.55) * 0.5
|
||||
blue = max(0, 1 - life) * (0.35 + burst * 0.55) * 0.12
|
||||
skip = if(above(life, 0.94), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,25 +1,27 @@
|
|||
name: "tentaclism (raz remix - ugly edit)"
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.9
|
||||
linewidth: 1.6
|
||||
persist: 0.873
|
||||
linewidth: 1.756
|
||||
|
||||
[init]
|
||||
n = 1100
|
||||
bars = 44
|
||||
n = bars * 11
|
||||
|
||||
[frame]
|
||||
t = t + dt * (0.3 + bass_att * 1.8)
|
||||
hue = hue + dt * 0.08 + beat * 0.01
|
||||
rot = rot + dt * (0.118 + mid * 0.3)
|
||||
hue = hue + dt * 0.119
|
||||
|
||||
[point]
|
||||
arm = floor(i * 5)
|
||||
fa = frac(i * 5)
|
||||
d = fa
|
||||
ang = arm * 1.2566 + d * (1.4 + mid * 3) * 3.14159 + t
|
||||
rad = (0.05 + d * d * 1.15) * (0.7 + bass * 0.5)
|
||||
x = sin(ang) * rad / aspect
|
||||
y = cos(ang) * rad
|
||||
red = (0.3 + 0.7 * d) * (0.3 + bass)
|
||||
green = (0.3 + 0.7 * d) * (0.25 + mid)
|
||||
blue = (0.3 + 0.7 * d) * (0.2 + treb + hue * 0.2)
|
||||
skip = if(below(fa, 0.04), 1, 0)
|
||||
bar = floor(i * bars)
|
||||
bi = frac(i * bars)
|
||||
lvl = getspec(bar / bars, 0, 0)
|
||||
h = lvl * 0.767
|
||||
a = bar * 6.28318 / bars + rot
|
||||
rad = 0.145 + bi * h
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
red = 0.25 + bi * 0.75 * (0.45 + 0.55 * sin(hue * 6.28318 + bar * 6.28318 / bars))
|
||||
green = 0.25 + bi * 0.75 * (0.45 + 0.55 * sin(hue * 6.28318 + bar * 6.28318 / bars + 2.09))
|
||||
blue = 0.25 + bi * 0.75 * (0.45 + 0.55 * sin(hue * 6.28318 + bar * 6.28318 / bars + 4.19))
|
||||
skip = if(above(bi, 0.97), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,29 +1,27 @@
|
|||
name: "tentaclism (the y.m.o. rework #1)"
|
||||
mode: lines
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.88
|
||||
linewidth: 2
|
||||
persist: 0.831
|
||||
linewidth: 1.694
|
||||
|
||||
[init]
|
||||
n = 720
|
||||
spokes = 32
|
||||
n = spokes * 27
|
||||
|
||||
[frame]
|
||||
hue = hue + dt * (0.06 + mid * 0.2)
|
||||
travel = travel + dt * (0.3 + bass_att * 1.4)
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
rot = rot + dt * (0.073 + mid * 0.4)
|
||||
t = t + dt * 1.807
|
||||
hue = hue + dt * 0.131
|
||||
|
||||
[point]
|
||||
g = floor(i * 9)
|
||||
gi = frac(i * 9)
|
||||
ph = frac(rand(g * 5.1 + 1) + travel * (0.6 + rand(g + 17) * 0.8))
|
||||
a = gi * 6.28318
|
||||
rad = ph * (0.25 + bass * 0.6 + flash * 0.08)
|
||||
sp = floor(i * spokes)
|
||||
si = frac(i * spokes)
|
||||
a = sp * 6.28318 / spokes + rot
|
||||
wave = sin(si * 2 * 3.14159 - t) * (0.03 + bass * 0.28)
|
||||
rad = 0.12 + si * 0.758 + wave
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
fade = sin(ph * 3.14159)
|
||||
red = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7))
|
||||
green = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 2.09))
|
||||
blue = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 4.19))
|
||||
skip = if(above(ph, 0.95), 1, 0)
|
||||
red = (1 - si) * 0.45 + 0.15 + sv * 0.55 * abs(sin(sp * 0.4))
|
||||
green = (1 - si) * 0.45 + 0.15 + sv * 0.55 * 0.22
|
||||
blue = (1 - si) * 0.45 + 0.15 + sv * 0.55 * abs(cos(sp * 0.4))
|
||||
skip = if(above(si, 0.985), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,29 +1,24 @@
|
|||
name: "tentaclism (kans of kansis mix by drew - edit)"
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.78
|
||||
linewidth: 2.5
|
||||
persist: 0.827
|
||||
linewidth: 2.039
|
||||
|
||||
[init]
|
||||
cols = 36
|
||||
n = cols * cols
|
||||
n = 1449
|
||||
|
||||
[frame]
|
||||
rot = rot + dt * (0.05 + mid * 0.4)
|
||||
hue = hue + dt * (0.04 + treb * 0.1)
|
||||
t = t + dt * 0.447
|
||||
hue = hue + dt * 0.034
|
||||
|
||||
[point]
|
||||
cx = floor(i * cols) / (cols - 1)
|
||||
cy = frac(i * cols)
|
||||
h = sv * 0.35
|
||||
ux = (cx - 0.5) * 1.6
|
||||
uy = (cy - 0.5) * 1.6
|
||||
rx = ux * cos(rot) - uy * sin(rot)
|
||||
ry = ux * sin(rot) + uy * cos(rot)
|
||||
x = (rx / aspect) * (1 - h * 0.7)
|
||||
y = ry * (1 - h * 0.7)
|
||||
lum = 0.25 + h * 2.2
|
||||
red = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3))
|
||||
green = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3 + 2.09))
|
||||
blue = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3 + 4.19))
|
||||
size = 1.2 + h * 5
|
||||
u = rand(i * 1.7) * 2 - 1
|
||||
w = rand(i * 3.3 + 11) * 2 - 1
|
||||
m = sin((u * 6.164 + w * 5.725 + t) * 3.14159) * sin((u * 2.761 - w * 2.167 - t * 0.7) * 3.14159)
|
||||
x = u * 0.936 / aspect
|
||||
y = w * 0.903
|
||||
lum = max(0, m) * (0.3 + bass * 0.9) + 0.06
|
||||
red = min(1, lum * 1.3)
|
||||
green = lum * 0.5
|
||||
blue = lum * 0.12
|
||||
size = 1 + abs(m) * 3.26
|
||||
|
|
|
|||
|
|
@ -1,31 +1,31 @@
|
|||
# Auto-ported from "01 amphirion - the pacifist (duo's underworld mix).avs" (Winamp AVS / amphirion)
|
||||
# SuperScope point program, 4 AVSTrans macros expanded.
|
||||
name: "the pacifist (duo's underworld mix)"
|
||||
author: "amphirion"
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.88
|
||||
linewidth: 2
|
||||
ysign: -1
|
||||
persist: 0.856
|
||||
linewidth: 1.75
|
||||
|
||||
[init]
|
||||
n=2
|
||||
segs = 14
|
||||
n = 483
|
||||
|
||||
[frame]
|
||||
xt=1-xtd;
|
||||
yt=1-ytd;
|
||||
rot = rot + dt * (0.149 + mid_att * 0.5)
|
||||
hue = hue + dt * 0.117
|
||||
flash = flash * 0.85
|
||||
|
||||
[beat]
|
||||
xtd=rnd(20)*.1;
|
||||
ytd=rnd(20)*.1;
|
||||
rd=rnd(20)*.1;
|
||||
gd=rnd(20)*.1;
|
||||
bd=rnd(20)*.1;
|
||||
flash = 1
|
||||
|
||||
[point]
|
||||
x=i*.3+xt*.5-getosc(0,0.4,0)*.25;
|
||||
y=yt*.5-getosc(0,0.2,0)*.25;
|
||||
size=10*(w/h)*(1+getosc(0,0.2,0));
|
||||
red=.2+rd;
|
||||
green=.5+gd;
|
||||
blue=.2+bd;
|
||||
seg = floor(i * segs)
|
||||
si = frac(i * segs)
|
||||
a0 = si * 6.28318 / segs + rot
|
||||
amp = 0.1 + sv * 0.55 + bass * 0.25 + flash * 0.06
|
||||
rad = 0.15 + amp * (0.4 + 0.6 * sin(a0 * 4 + time * 2))
|
||||
a = seg * 6.28318 / segs + a0 * if(below(seg % 2, 1), 1, -1)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
red = 0.3 + amp * 1.3 * (0.45 + 0.55 * sin(hue * 6.28318 + seg * 0.8))
|
||||
green = 0.3 + amp * 1.3 * (0.45 + 0.55 * sin(hue * 6.28318 + seg * 0.8 + 2.09))
|
||||
blue = 0.3 + amp * 1.3 * (0.45 + 0.55 * sin(hue * 6.28318 + seg * 0.8 + 4.19))
|
||||
skip = if(above(si, 0.96), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,29 +1,25 @@
|
|||
name: "roll-on mojo (duo remix)"
|
||||
mode: dots
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.78
|
||||
linewidth: 2.5
|
||||
persist: 0.889
|
||||
linewidth: 1.751
|
||||
|
||||
[init]
|
||||
cols = 36
|
||||
n = cols * cols
|
||||
n = 950
|
||||
|
||||
[frame]
|
||||
rot = rot + dt * (0.05 + mid * 0.4)
|
||||
hue = hue + dt * (0.04 + treb * 0.1)
|
||||
t = t + dt * (0.251 + bass_att * 1.8)
|
||||
hue = hue + dt * 0.089 + beat * 0.012
|
||||
|
||||
[point]
|
||||
cx = floor(i * cols) / (cols - 1)
|
||||
cy = frac(i * cols)
|
||||
h = sv * 0.35
|
||||
ux = (cx - 0.5) * 1.6
|
||||
uy = (cy - 0.5) * 1.6
|
||||
rx = ux * cos(rot) - uy * sin(rot)
|
||||
ry = ux * sin(rot) + uy * cos(rot)
|
||||
x = (rx / aspect) * (1 - h * 0.7)
|
||||
y = ry * (1 - h * 0.7)
|
||||
lum = 0.25 + h * 2.2
|
||||
red = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3))
|
||||
green = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3 + 2.09))
|
||||
blue = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3 + 4.19))
|
||||
size = 1.2 + h * 5
|
||||
arm = floor(i * 3)
|
||||
fa = frac(i * 3)
|
||||
d = fa
|
||||
ang = arm * 1.538 + d * 1.277 * 3.14159 + t
|
||||
rad = (0.04 + pow(d, 1.775) * 1.15) * (0.7 + bass * 0.5)
|
||||
x = sin(ang) * rad / aspect
|
||||
y = cos(ang) * rad
|
||||
red = (0.3 + 0.7 * d) * (0.3 + mid) * abs(sin(d * 3.995))
|
||||
green = (0.3 + 0.7 * d) * (0.3 + mid) * 0.22
|
||||
blue = (0.3 + 0.7 * d) * (0.3 + mid) * abs(cos(d * 3.995))
|
||||
skip = if(below(fa, 0.04), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,25 +1,31 @@
|
|||
name: "cafe de duo (vanish's wicked jungle massive remix)"
|
||||
mode: dots
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.82
|
||||
linewidth: 2.5
|
||||
persist: 0.873
|
||||
linewidth: 1.915
|
||||
|
||||
[init]
|
||||
n = 850
|
||||
segs = 10
|
||||
n = 623
|
||||
|
||||
[frame]
|
||||
travel = travel + dt * (0.2 + vol_att * 1.6)
|
||||
hue = hue + dt * 0.05
|
||||
rot = rot + dt * (0.112 + mid_att * 0.5)
|
||||
hue = hue + dt * 0.038
|
||||
flash = flash * 0.85
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
|
||||
[point]
|
||||
a = rand(i * 7.3) * 6.28318
|
||||
z = frac(rand(i * 3.1 + 5) + travel * (0.5 + rand(i + 9) * 0.7))
|
||||
rad = z * z * 1.1
|
||||
seg = floor(i * segs)
|
||||
si = frac(i * segs)
|
||||
a0 = si * 6.28318 / segs + rot
|
||||
amp = 0.1 + sv * 0.55 + bass * 0.25 + flash * 0.06
|
||||
rad = 0.15 + amp * (0.4 + 0.6 * sin(a0 * 9 + time * 2))
|
||||
a = seg * 6.28318 / segs + a0 * if(below(seg % 2, 1), 1, -1)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
tw = 0.4 + 0.6 * sin(z * 40 + time * 3) * (0.5 + treb)
|
||||
red = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3))
|
||||
green = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 2.09))
|
||||
blue = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 4.19))
|
||||
size = 1 + z * 3 * (0.5 + bass)
|
||||
skip = if(above(z, 0.97), 1, 0)
|
||||
red = 0.3 + amp * 1.3 * (0.25 + bass * 0.95)
|
||||
green = 0.3 + amp * 1.3 * (0.25 + mid * 0.95)
|
||||
blue = 0.3 + amp * 1.3 * (0.25 + treb * 0.95)
|
||||
skip = if(above(si, 0.96), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,40 +1,31 @@
|
|||
# Auto-ported from "06 skupers - incantation (duo remix - edit).avs" (Winamp AVS / skupers)
|
||||
# Texer II point program, 4 AVSTrans macros expanded.
|
||||
name: "incantation (duo remix - edit)"
|
||||
author: "skupers"
|
||||
mode: dots
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.78
|
||||
linewidth: 3
|
||||
ysign: -1
|
||||
persist: 0.892
|
||||
linewidth: 1.682
|
||||
|
||||
[init]
|
||||
n=h;pi=acos(-1);xasp=min(h/w,1);yasp=min(w/h,1);
|
||||
segs = 14
|
||||
n = 476
|
||||
|
||||
[frame]
|
||||
xm1=xm1+xm1r;ym1=ym1+ym1r;xm=sin(xm1)*0.4;ym=sin(ym1)*0.4;redf=redf+redr;greenf=greenf+greenr;bluef=bluef+bluer;rx=rx+rxo;ry=ry+ryo;rz=rz+rzo;rzo=rzo*0.97;cx=cos(sin(rx));sx=sin(sin(rx));cy=cos(sin(ry));sy=sin(sin(ry));cz=cos(rz);sz=sin(rz);
|
||||
rot = rot + dt * (0.088 + mid_att * 0.5)
|
||||
hue = hue + dt * 0.074
|
||||
flash = flash * 0.85
|
||||
|
||||
[beat]
|
||||
xm1r=getosc(0.2,0,0)/5;ym1r=getosc(0.3,0,0)/8;redr=rnd(10)/100-0.05;greenr=rnd(10)/100-0.05;bluer=rnd(10)/100-0.05;rxo=getosc(0.5,0.02,0)/15;ryo=getosc(0.3,0.02,0)/15;rzo=-abs(getosc(0.7,0.02,0)/4)-0.05;
|
||||
flash = 1
|
||||
|
||||
[point]
|
||||
k=getspec(i*80*n%n/n,1/n,0);
|
||||
r=i*pi*2;d=getspec(.3,0,1)+.25+k;
|
||||
x1=cos(r*4)*d;
|
||||
y1=sin(r)*d*cos(i*99);
|
||||
z1=cos(r)*d*sin(i*99);
|
||||
|
||||
x1d=x1*cz-y1*sz;
|
||||
y1d=x1*sz+y1*cz;
|
||||
y2d=y1d*cx-z1*sx;
|
||||
z2d=y1d*sx+z1*cx;
|
||||
x3d=x1d*cy-z2d*sy;
|
||||
z3d=x1d*sy+z2d*cy;
|
||||
zi=1/(z3d+3);
|
||||
x=if(above(z3d+3,0.1),x3d*zi,x)*xasp-xm;
|
||||
y=if(above(z3d+3,0.1),y2d*zi,y)*yasp-ym;
|
||||
|
||||
alpha=if(below(z3d+2.4,0),0,1);
|
||||
red=alpha*(1+k)/(3+sin(redf))*(1-z3d);
|
||||
blue=alpha*k/(4+sin(bluef))*(1-z3d);
|
||||
green=alpha*k/(3+sin(greenf))*(1-z3d);
|
||||
seg = floor(i * segs)
|
||||
si = frac(i * segs)
|
||||
a0 = si * 6.28318 / segs + rot
|
||||
amp = 0.1 + sv * 0.55 + bass * 0.25 + flash * 0.06
|
||||
rad = 0.15 + amp * (0.4 + 0.6 * sin(a0 * 6 + time * 2))
|
||||
a = seg * 6.28318 / segs + a0 * if(below(seg % 2, 1), 1, -1)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
red = 0.3 + amp * 1.3 * abs(sin(seg * 0.8))
|
||||
green = 0.3 + amp * 1.3 * 0.22
|
||||
blue = 0.3 + amp * 1.3 * abs(cos(seg * 0.8))
|
||||
skip = if(above(si, 0.96), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,25 +1,23 @@
|
|||
name: "miraculous flow (nemo remix)"
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.9
|
||||
linewidth: 1.6
|
||||
persist: 0.91
|
||||
linewidth: 1.628
|
||||
|
||||
[init]
|
||||
n = 1100
|
||||
n = 981
|
||||
|
||||
[frame]
|
||||
t = t + dt * (0.3 + bass_att * 1.8)
|
||||
hue = hue + dt * 0.08 + beat * 0.01
|
||||
t = t + dt * (0.579 + bass_att * 0.8)
|
||||
sway = sway + dt * (0.5 + treb)
|
||||
hue = hue + dt * 0.122
|
||||
|
||||
[point]
|
||||
arm = floor(i * 5)
|
||||
fa = frac(i * 5)
|
||||
d = fa
|
||||
ang = arm * 1.2566 + d * (1.4 + mid * 3) * 3.14159 + t
|
||||
rad = (0.05 + d * d * 1.15) * (0.7 + bass * 0.5)
|
||||
x = sin(ang) * rad / aspect
|
||||
y = cos(ang) * rad
|
||||
red = (0.3 + 0.7 * d) * (0.3 + bass)
|
||||
green = (0.3 + 0.7 * d) * (0.25 + mid)
|
||||
blue = (0.3 + 0.7 * d) * (0.2 + treb + hue * 0.2)
|
||||
skip = if(below(fa, 0.04), 1, 0)
|
||||
a = i * 6.28318 * 3
|
||||
wob = sin(a * 6 + t * 2) * (0.08 + treb * 0.3)
|
||||
rad = (0.42 + mid * 0.25) * (0.85 + 0.15 * sin(a * 3 + sway)) + v * 0.202 - wob
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
red = min(1, 0.3 + abs(v) * 1.2 * 1.3)
|
||||
green = 0.3 + abs(v) * 1.2 * 0.5
|
||||
blue = 0.3 + abs(v) * 1.2 * 0.12
|
||||
|
|
|
|||
|
|
@ -1,25 +1,27 @@
|
|||
name: "warm freeform (mykal remix)"
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.82
|
||||
linewidth: 2.5
|
||||
persist: 0.898
|
||||
linewidth: 1.303
|
||||
|
||||
[init]
|
||||
n = 850
|
||||
spokes = 32
|
||||
n = spokes * 37
|
||||
|
||||
[frame]
|
||||
travel = travel + dt * (0.2 + vol_att * 1.6)
|
||||
hue = hue + dt * 0.05
|
||||
rot = rot + dt * (0.135 + mid * 0.4)
|
||||
t = t + dt * 2.906
|
||||
hue = hue + dt * 0.077
|
||||
|
||||
[point]
|
||||
a = rand(i * 7.3) * 6.28318
|
||||
z = frac(rand(i * 3.1 + 5) + travel * (0.5 + rand(i + 9) * 0.7))
|
||||
rad = z * z * 1.1
|
||||
sp = floor(i * spokes)
|
||||
si = frac(i * spokes)
|
||||
a = sp * 6.28318 / spokes + rot
|
||||
wave = sin(si * 3 * 3.14159 - t) * (0.03 + bass * 0.28)
|
||||
rad = 0.12 + si * 0.868 + wave
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
tw = 0.4 + 0.6 * sin(z * 40 + time * 3) * (0.5 + treb)
|
||||
red = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3))
|
||||
green = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 2.09))
|
||||
blue = tw * (0.5 + 0.5 * sin(hue * 6.28318 + i * 3 + 4.19))
|
||||
size = 1 + z * 3 * (0.5 + bass)
|
||||
skip = if(above(z, 0.97), 1, 0)
|
||||
red = (1 - si) * 0.45 + 0.15 + sv * 0.55 * abs(sin(sp * 0.4))
|
||||
green = (1 - si) * 0.45 + 0.15 + sv * 0.55 * 0.22
|
||||
blue = (1 - si) * 0.45 + 0.15 + sv * 0.55 * abs(cos(sp * 0.4))
|
||||
skip = if(above(si, 0.985), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,29 +1,22 @@
|
|||
name: "pleasure point (duo remix)"
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.88
|
||||
linewidth: 2
|
||||
persist: 0.87
|
||||
linewidth: 1.808
|
||||
|
||||
[init]
|
||||
n = 720
|
||||
n = 856
|
||||
|
||||
[frame]
|
||||
hue = hue + dt * (0.06 + mid * 0.2)
|
||||
travel = travel + dt * (0.3 + bass_att * 1.4)
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
t = t + dt * 0.572
|
||||
hue = hue + dt * 0.036
|
||||
|
||||
[point]
|
||||
g = floor(i * 9)
|
||||
gi = frac(i * 9)
|
||||
ph = frac(rand(g * 5.1 + 1) + travel * (0.6 + rand(g + 17) * 0.8))
|
||||
a = gi * 6.28318
|
||||
rad = ph * (0.25 + bass * 0.6 + flash * 0.08)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
fade = sin(ph * 3.14159)
|
||||
red = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7))
|
||||
green = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 2.09))
|
||||
blue = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 4.19))
|
||||
skip = if(above(ph, 0.95), 1, 0)
|
||||
ph = i * 6.28318 * 2.087
|
||||
fa = 2 + mid * 0.35
|
||||
fb = 7 + bass * 0.45
|
||||
x = sin(ph * fa + t) * (0.5 + bass * 0.3) / aspect
|
||||
y = sin(ph * fb + t * 1.3 + 1.499) * (0.5 + treb * 0.35)
|
||||
red = 0.3 + 0.45 * sin(ph * 2 + t) + abs(v) * 0.6 * 0.3
|
||||
green = 0.3 + 0.45 * sin(ph * 2 + t) + abs(v) * 0.6 * 0.65
|
||||
blue = min(1, 0.3 + 0.45 * sin(ph * 2 + t) + abs(v) * 0.6 * 1.3)
|
||||
|
|
|
|||
|
|
@ -1,29 +1,23 @@
|
|||
name: "heart dynamics (duo's high dose mix)"
|
||||
mode: dots
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.78
|
||||
linewidth: 2.5
|
||||
persist: 0.909
|
||||
linewidth: 1.819
|
||||
|
||||
[init]
|
||||
cols = 36
|
||||
n = cols * cols
|
||||
n = 1105
|
||||
|
||||
[frame]
|
||||
rot = rot + dt * (0.05 + mid * 0.4)
|
||||
hue = hue + dt * (0.04 + treb * 0.1)
|
||||
t = t + dt * (0.35 + bass_att * 0.8)
|
||||
sway = sway + dt * (0.5 + treb)
|
||||
hue = hue + dt * 0.091
|
||||
|
||||
[point]
|
||||
cx = floor(i * cols) / (cols - 1)
|
||||
cy = frac(i * cols)
|
||||
h = sv * 0.35
|
||||
ux = (cx - 0.5) * 1.6
|
||||
uy = (cy - 0.5) * 1.6
|
||||
rx = ux * cos(rot) - uy * sin(rot)
|
||||
ry = ux * sin(rot) + uy * cos(rot)
|
||||
x = (rx / aspect) * (1 - h * 0.7)
|
||||
y = ry * (1 - h * 0.7)
|
||||
lum = 0.25 + h * 2.2
|
||||
red = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3))
|
||||
green = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3 + 2.09))
|
||||
blue = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3 + 4.19))
|
||||
size = 1.2 + h * 5
|
||||
a = i * 6.28318 * 3
|
||||
wob = sin(a * 5 + t * 2) * (0.08 + treb * 0.3)
|
||||
rad = (0.42 + mid * 0.25) * (0.85 + 0.15 * sin(a * 3 + sway)) + v * 0.184 - wob
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
red = 0.3 + abs(v) * 1.2 * abs(sin(a * 0.5))
|
||||
green = 0.3 + abs(v) * 1.2 * 0.22
|
||||
blue = 0.3 + abs(v) * 1.2 * abs(cos(a * 0.5))
|
||||
|
|
|
|||
|
|
@ -1,29 +1,24 @@
|
|||
name: "we build here (duo's building blocks remix)"
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.78
|
||||
linewidth: 2.5
|
||||
persist: 0.739
|
||||
linewidth: 2.311
|
||||
|
||||
[init]
|
||||
cols = 36
|
||||
n = cols * cols
|
||||
n = 1183
|
||||
|
||||
[frame]
|
||||
rot = rot + dt * (0.05 + mid * 0.4)
|
||||
hue = hue + dt * (0.04 + treb * 0.1)
|
||||
t = t + dt * 0.515
|
||||
hue = hue + dt * 0.134
|
||||
|
||||
[point]
|
||||
cx = floor(i * cols) / (cols - 1)
|
||||
cy = frac(i * cols)
|
||||
h = sv * 0.35
|
||||
ux = (cx - 0.5) * 1.6
|
||||
uy = (cy - 0.5) * 1.6
|
||||
rx = ux * cos(rot) - uy * sin(rot)
|
||||
ry = ux * sin(rot) + uy * cos(rot)
|
||||
x = (rx / aspect) * (1 - h * 0.7)
|
||||
y = ry * (1 - h * 0.7)
|
||||
lum = 0.25 + h * 2.2
|
||||
red = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3))
|
||||
green = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3 + 2.09))
|
||||
blue = lum * (0.6 + 0.4 * sin(hue * 6.28318 + cx * 3 + 4.19))
|
||||
size = 1.2 + h * 5
|
||||
u = rand(i * 1.7) * 2 - 1
|
||||
w = rand(i * 3.3 + 11) * 2 - 1
|
||||
m = sin((u * 6.135 + w * 2.876 + t) * 3.14159) * sin((u * 3.312 - w * 5.365 - t * 0.7) * 3.14159)
|
||||
x = u * 0.99 / aspect
|
||||
y = w * 0.98
|
||||
lum = max(0, m) * (0.3 + bass * 0.9) + 0.06
|
||||
red = min(1, lum * 1.3)
|
||||
green = lum * 0.5
|
||||
blue = lum * 0.12
|
||||
size = 1 + abs(m) * 3.466
|
||||
|
|
|
|||
|
|
@ -1,29 +1,24 @@
|
|||
name: "wickedjunglesmassive (yathosho's cartographic re-rub)"
|
||||
mode: lines
|
||||
mode: dots
|
||||
blend: additive
|
||||
persist: 0.88
|
||||
linewidth: 2
|
||||
persist: 0.805
|
||||
linewidth: 1.835
|
||||
|
||||
[init]
|
||||
n = 720
|
||||
n = 1292
|
||||
|
||||
[frame]
|
||||
hue = hue + dt * (0.06 + mid * 0.2)
|
||||
travel = travel + dt * (0.3 + bass_att * 1.4)
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
t = t + dt * 0.675
|
||||
hue = hue + dt * 0.035
|
||||
|
||||
[point]
|
||||
g = floor(i * 9)
|
||||
gi = frac(i * 9)
|
||||
ph = frac(rand(g * 5.1 + 1) + travel * (0.6 + rand(g + 17) * 0.8))
|
||||
a = gi * 6.28318
|
||||
rad = ph * (0.25 + bass * 0.6 + flash * 0.08)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
fade = sin(ph * 3.14159)
|
||||
red = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7))
|
||||
green = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 2.09))
|
||||
blue = fade * (0.3 + 0.7 * sin(hue * 6.28318 + g * 0.7 + 4.19))
|
||||
skip = if(above(ph, 0.95), 1, 0)
|
||||
u = rand(i * 1.7) * 2 - 1
|
||||
w = rand(i * 3.3 + 11) * 2 - 1
|
||||
m = sin((u * 3.6 + w * 6.394 + t) * 3.14159) * sin((u * 5.053 - w * 4.781 - t * 0.7) * 3.14159)
|
||||
x = u * 0.897 / aspect
|
||||
y = w * 0.959
|
||||
lum = max(0, m) * (0.3 + bass * 0.9) + 0.06
|
||||
red = lum * (0.45 + 0.55 * sin(hue * 6.28318 + u * 4.308))
|
||||
green = lum * (0.45 + 0.55 * sin(hue * 6.28318 + u * 4.308 + 2.09))
|
||||
blue = lum * (0.45 + 0.55 * sin(hue * 6.28318 + u * 4.308 + 4.19))
|
||||
size = 1 + abs(m) * 2.706
|
||||
|
|
|
|||
|
|
@ -1,25 +1,31 @@
|
|||
# Auto-ported from "13 skupers - why i love you (duo's pulsedriver remix).avs" (Winamp AVS / skupers)
|
||||
# SuperScope point program, 4 AVSTrans macros expanded.
|
||||
name: "why i love you (duo's pulsedriver remix)"
|
||||
author: "skupers"
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.88
|
||||
linewidth: 2
|
||||
ysign: -1
|
||||
persist: 0.843
|
||||
linewidth: 1.547
|
||||
|
||||
[init]
|
||||
n=10;pi=acos(-1);
|
||||
segs = 8
|
||||
n = 528
|
||||
|
||||
[frame]
|
||||
t=t-t1;t1=t1*0.9+getspec(0.05,0,0)*0.1
|
||||
rot = rot + dt * (0.074 + mid_att * 0.5)
|
||||
hue = hue + dt * 0.052
|
||||
flash = flash * 0.85
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
|
||||
[point]
|
||||
y=i*2.1-1.05;x=0;
|
||||
col=i;
|
||||
red=col;
|
||||
green=col*.6;
|
||||
blue=0;
|
||||
seg = floor(i * segs)
|
||||
si = frac(i * segs)
|
||||
a0 = si * 6.28318 / segs + rot
|
||||
amp = 0.1 + sv * 0.55 + bass * 0.25 + flash * 0.06
|
||||
rad = 0.15 + amp * (0.4 + 0.6 * sin(a0 * 6 + time * 2))
|
||||
a = seg * 6.28318 / segs + a0 * if(below(seg % 2, 1), 1, -1)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
red = 0.3 + amp * 1.3 * 0.85
|
||||
green = 0.3 + amp * 1.3 * 0.92
|
||||
blue = 0.3 + amp * 1.3
|
||||
skip = if(above(si, 0.96), 1, 0)
|
||||
|
|
|
|||
|
|
@ -1,33 +1,22 @@
|
|||
# Auto-ported from "14 duo - conjuring sands (skupers remix - edit).avs" (Winamp AVS / duo)
|
||||
# Texer II point program, 4 AVSTrans macros expanded.
|
||||
name: "conjuring sands (skupers remix - edit)"
|
||||
author: "duo"
|
||||
mode: dots
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.78
|
||||
linewidth: 3
|
||||
ysign: -1
|
||||
persist: 0.922
|
||||
linewidth: 2.216
|
||||
|
||||
[init]
|
||||
n=15;
|
||||
n = 874
|
||||
|
||||
[frame]
|
||||
pfx=pfx+pbx; pfy=pfy+pby; pfz=pfz+pbz; xs=sin(pfx); xc=cos(pfx); ys=sin(pfy); yc=cos(pfy); zs=sin(pfz); zc=cos(pfz);
|
||||
|
||||
[beat]
|
||||
pbx=rnd(10)/70; pby=rnd(10)/70; pbz=rnd(10)/70;
|
||||
t = t + dt * 0.211
|
||||
hue = hue + dt * 0.039
|
||||
|
||||
[point]
|
||||
c=i*(3.14159265358979)*15;
|
||||
x1=cos(c);
|
||||
y1=i*2-1;
|
||||
z1=sin(c);
|
||||
x2=x1*xs-y1*xc;
|
||||
y2=y1*xs+x1*xc;
|
||||
z2=z1*ys-y2*yc;
|
||||
x3=y2*ys+z1*yc;
|
||||
y3=x2*zs-z2*zc;
|
||||
z3=z2*zs+x2*zc+3.5;
|
||||
x=x3/z3;
|
||||
y=y3/z3;
|
||||
red=v*3; green=v*3; blue=v*3;
|
||||
ph = i * 6.28318 * 2.729
|
||||
fa = 6 + mid * 0.35
|
||||
fb = 5 + bass * 0.45
|
||||
x = sin(ph * fa + t) * (0.5 + bass * 0.3) / aspect
|
||||
y = sin(ph * fb + t * 1.3 + 1.092) * (0.5 + treb * 0.35)
|
||||
red = 0.3 + 0.45 * sin(ph * 2 + t) + abs(v) * 0.6 * abs(sin(ph * 0.5))
|
||||
green = 0.3 + 0.45 * sin(ph * 2 + t) + abs(v) * 0.6 * 0.22
|
||||
blue = 0.3 + 0.45 * sin(ph * 2 + t) + abs(v) * 0.6 * abs(cos(ph * 0.5))
|
||||
|
|
|
|||
|
|
@ -1,25 +1,30 @@
|
|||
name: "warm freeform (ya-tho-sho treatment)"
|
||||
mode: lines
|
||||
blend: additive
|
||||
persist: 0.9
|
||||
linewidth: 1.6
|
||||
persist: 0.855
|
||||
linewidth: 1.459
|
||||
|
||||
[init]
|
||||
n = 1100
|
||||
n = 572
|
||||
|
||||
[frame]
|
||||
t = t + dt * (0.3 + bass_att * 1.8)
|
||||
hue = hue + dt * 0.08 + beat * 0.01
|
||||
hue = hue + dt * 0.129 + beat * 0.01
|
||||
travel = travel + dt * (0.44 + bass_att * 1.4)
|
||||
flash = flash * 0.86
|
||||
|
||||
[beat]
|
||||
flash = 1
|
||||
|
||||
[point]
|
||||
arm = floor(i * 5)
|
||||
fa = frac(i * 5)
|
||||
d = fa
|
||||
ang = arm * 1.2566 + d * (1.4 + mid * 3) * 3.14159 + t
|
||||
rad = (0.05 + d * d * 1.15) * (0.7 + bass * 0.5)
|
||||
x = sin(ang) * rad / aspect
|
||||
y = cos(ang) * rad
|
||||
red = (0.3 + 0.7 * d) * (0.3 + bass)
|
||||
green = (0.3 + 0.7 * d) * (0.25 + mid)
|
||||
blue = (0.3 + 0.7 * d) * (0.2 + treb + hue * 0.2)
|
||||
skip = if(below(fa, 0.04), 1, 0)
|
||||
g = floor(i * 13)
|
||||
gi = frac(i * 13)
|
||||
ph = frac(rand(g * 5.1 + 1) + travel * (0.55 + rand(g + 17) * 0.85))
|
||||
a = gi * 6.28318
|
||||
rad = ph * (0.305 + bass * 0.472 + flash * 0.08)
|
||||
x = sin(a) * rad / aspect
|
||||
y = cos(a) * rad
|
||||
fade = sin(ph * 3.14159)
|
||||
red = fade * (0.35 + flash * 0.4) * 0.85
|
||||
green = fade * (0.35 + flash * 0.4) * 0.92
|
||||
blue = fade * (0.35 + flash * 0.4)
|
||||
skip = if(above(ph, 0.96), 1, 0)
|
||||
|
|
|
|||
67
worklog.md
67
worklog.md
|
|
@ -764,3 +764,70 @@ Stage Summary:
|
|||
on every large change; the stamp renders bottom-right of the footer and the
|
||||
document title carries it too. Users can name local backups by the stamp
|
||||
(e.g. "OVE v6.0") and cross-check against z.ai Version History.
|
||||
|
||||
---
|
||||
Task ID: 14
|
||||
Agent: main (Z.ai Code)
|
||||
Task: v6.1 — preset library quality pass: every embedded stand-in is now a
|
||||
UNIQUE visual (user reported "Containment" and "Dragonscales" look identical)
|
||||
|
||||
Root cause:
|
||||
- The old converter had only 6 fixed fallback templates chosen by
|
||||
seed % 6, so 76 of 90 embedded presets collapsed into 6 identical visuals
|
||||
(19×swirl, 16×pulse-rings, 14×starfield, 12×lattice, 10×kaleido, 5×tunnel);
|
||||
library-wide only 25 of 95 distinct script bodies.
|
||||
|
||||
Work Log:
|
||||
- tools/convert-avs.ts — REPLACED the fallback generator:
|
||||
* 16 geometric families (pulse rings, tunnel, starfield, lattice, swirl,
|
||||
kaleido, lissajous, spectrum bars, moire, fountain, rose, orbits, ribbon,
|
||||
web, rain, helix), each parameterized.
|
||||
* 6 palettes (rainbow / fire / ice / neon-band / mono / duotone).
|
||||
* Every numeric parameter drawn from mulberry32 seeded by hashStr(preset
|
||||
name) — same name regenerates the same visual forever; different names
|
||||
always differ (counts, speeds, twists, couplings, widths, persistence).
|
||||
* Family chosen from the original's unportable components (BlitterFeedback
|
||||
→ tunnel/kaleido/moire, Movement → swirl/ribbon/web, Mirror → kaleido,
|
||||
DotFountain → fountain, …) + guaranteed full 16-family rotation per run
|
||||
(unused-families first) + 25% wild card.
|
||||
* Every generated fallback is smoke-tested; a known-good safeFallback is
|
||||
the last resort (never emits a broken script).
|
||||
* Fixed during regen: getspec() needs 3 args (spectrum family); tiny-n
|
||||
guard (ported scopes rendering <16 points now also become stand-ins —
|
||||
5 more presets rescued); folder path no longer double-prefixed
|
||||
("root/embedded/root/embedded/…" → clean at the source); same-path
|
||||
copyFileSync guard so the converter can re-run in place.
|
||||
- Regenerated src/lib/ava/embedded-presets.ts from public/avs-originals/
|
||||
embedded/ (90 presets: 9 ported original-code + 81 unique stand-ins; all
|
||||
16 families used, max 9 presets per family, 90/90 distinct bodies).
|
||||
- prisma/schema.prisma — Preset.approx Boolean (marks stand-ins), Settings.
|
||||
embeddedSeed String? (seed-version marker). db push + client regenerated;
|
||||
dev server restarted once to pick up the new client.
|
||||
- GET /api/presets — ensureSeeded is now VERSION-GATED: when Settings.
|
||||
embeddedSeed !== EMBEDDED_SEED_VERSION ('6.1', exported from
|
||||
embedded-presets.ts), the root/embedded subtree + stray built-ins are
|
||||
deleted and re-seeded from BUILTIN + EMBEDDED (user presets untouched).
|
||||
Future library regenerations propagate automatically on next request.
|
||||
Response now includes approx per preset.
|
||||
- src/lib/store.ts — PresetItem.approx?: boolean.
|
||||
- src/components/ava/presets-tab.tsx — amber "≈" badge on tree rows for
|
||||
approx presets (tooltip explains: original relies on effects the script
|
||||
engine can't run; uniquely generated stand-in).
|
||||
- src/lib/version.ts — APP_VERSION '6.1'.
|
||||
- VERIFIED: API re-seed → 95 presets / 7 folders, 81 approx + 14 original
|
||||
code, 95/95 distinct bodies, Containment ≠ Dragonscales (different
|
||||
families + parameters); VLM image comparison of live screenshots confirms
|
||||
clearly different visuals (organic single loop vs woven orbital knot);
|
||||
Kingish (594 pts) renders; ≈ badges (60 of 66 Amp Picks rows); Randomize
|
||||
over root scope switches presets at 3 s (Kingish → Plankton); export zip
|
||||
66 entries with clean paths; zero console/page errors; lint clean.
|
||||
|
||||
Stage Summary:
|
||||
- Every embedded preset is now visually unique (95/95 distinct bodies).
|
||||
- Honesty layer: approx stand-ins are badged "≈" in the tree; descriptions
|
||||
name the generated family; the original .avs download remains one click.
|
||||
- Regeneration pipeline: bun tools/convert-avs.ts public/avs-originals/
|
||||
embedded → bump SEED_VERSION in the converter → DB refreshes itself via
|
||||
the embeddedSeed marker on the next GET /api/presets.
|
||||
- 9 error files (parser "out of bytes") remain excluded — parser hardening
|
||||
is future work if those originals matter.
|
||||
|
|
|
|||
Loading…
Reference in a new issue