import React from 'react'; import {random, useCurrentFrame} from 'remotion'; import {Figur, Kamera} from '../baukasten/figur'; import {Blende, Vignette, klatschFolge} from '../baukasten/helfer'; import {BODEN, Ort} from '../baukasten/orte'; import {SCHRIFT, Untertitel} from '../baukasten/untertitel'; import {TEXTE, plane} from './plan'; // Refrain „Einer klein und einer groß“ (aus Folge 1), einmal. Die drei wippen im Takt. const TAKT = 19; // Frames pro Schlag (ca. 95 bpm) export const LIED = plane('lied', [ {id: 'r1', wer: 'ALLE', dauer: 3.2}, {id: 'r2', wer: 'ALLE', dauer: 3.2}, {id: 'r3', wer: 'ALLE', dauer: 3.2}, {id: 'r4', wer: 'ALLE', dauer: 3.6}, ], {vorlauf: 1.0, nachlauf: 1.0}, ); const Note: React.FC<{x: number; y: number; s: number; farbe: string}> = ({x, y, s, farbe}) => ( ); export const Lied: React.FC = () => { const f = useCurrentFrame(); const {z, dauer} = LIED; const schlag = Math.abs(Math.sin((f * Math.PI) / TAKT)); const wipp = (phase: number, h: number) => -Math.abs(Math.sin((f * Math.PI) / TAKT + phase)) * h; const schwank = (phase: number, g: number) => Math.sin((f * Math.PI) / (2 * TAKT) + phase) * g; return ( <> {new Array(8).fill(0).map((_, i) => { const t = ((f + i * 25) % 200) / 200; const x = 200 + random(`n${i}`) * 1500 + Math.sin(t * 6 + i) * 30; return
; })}
♫ {TEXTE.lied} ♫
); };