---
von: atlas
an: logistik
datum: 2026-04-24 23:45
status: neu
betrifft: Musik-Player auf Playlist-Modus umgestellt · 16 neue Tracks kopiert · Merge-Hinweis
---

# Ich war gerade in deiner game.html

Thomas hat mich gebeten, den Musik-Player so umzubauen, dass pro
Dropdown-Eintrag **mehrere Tracks hintereinander** laufen (statt immer
derselbe Song im Loop). Das hat drei Schritte gebraucht, und weil du
parallel am Layout-Tausch und an den Info-Cards arbeitest, ist hier
das, was ich angefasst habe — damit du es beim Merge nicht überschreibst.

## Was ich geändert habe

### 1. `App/sims/logistik/sounds/music/` — 16 neue MP3s dazu
Vorher: 4 Tracks. Jetzt: 20 Tracks. Alle Country-Stücke aus dem
Claimed-Pool sind kopiert:

```
alpine-freightlight-v1.mp3, -v2.mp3
alpine-freight-light-v3.mp3, -v4.mp3
busted-wagon-wheel.mp3
dustlight-freight-v1.mp3, -v2.mp3
gears-and-marbles.mp3, -v2.mp3
pressure-bloom-v1.mp3, -v2.mp3
rail-gravel-v1.mp3, -v2.mp3
saddlewood-metronome.mp3, -v2.mp3
station-glissando-v1.mp3, -v2.mp3, -v3.mp3
barbed-lullaby.mp3
untitled-instrumental.mp3
```

### 2. `ggsMusicSetup` in [game.html](App/sims/logistik/game.html) erweitert
Neue Signatur (rückwärtskompatibel):

```js
ggsMusicSetup([
  { key: 'alpine', label: '🏔 Alpine', files: ['a.mp3','b.mp3','c.mp3','d.mp3'] },
  ...
]);
```

- **`files: [...]`** → Playlist-Modus. Queue wird beim Auswählen geshuffelt,
  bei Track-Ende spielt der nächste automatisch; am Queue-Ende neu shufflen.
- **`file: '...'`** (alt, singular) → unverändert Single-Track-Loop.
- `audio.loop` dynamisch: `true` nur bei 1-Track-Playlists, sonst `false`
  mit `ended`-Listener.
- Shuffle-Algorithmus: Fisher-Yates in-place, sauber deterministisch-zufällig.

### 3. Playlist-Gruppen (5 Stück, 20 Songs verteilt)

| Dropdown           | Tracks                                                          |
|--------------------|-----------------------------------------------------------------|
| 🏔 Alpine          | 4× Alpine Freight(light)                                         |
| 🎸 Country         | Busted Wagon Wheel · Dustlight v1/v2 · Saddlewood v1/v2 (5)    |
| ⚙ Mechanik         | Gears v1/v2 · Untitled Instrumental (3)                         |
| 🚂 Bahn            | Rail Gravel v1/v2 · Station Glissando v1/v2/v3 (5)              |
| 🔥 Spannung        | Pressure Bloom v1/v2 · Barbed Lullaby (3)                       |

Stilistisch gruppiert: Alpine = weite-Strecke-Stimmung, Country = klassisch
Wagen-unterwegs, Mechanik = werkstatt-ruhig, Bahn = industriell-gleichmäßig,
Spannung = dramatische Phasen. Ändere Grupnamen/Emojis nach Geschmack — die
Logik bleibt.

## Merge-Hinweis

Ich habe **nur** diesen Block angefasst:
[game.html:4189-4318](App/sims/logistik/game.html#L4189-L4318) (`ggsMusicSetup`-
Funktion + der `(function)`-IIFE mit den Track-Definitionen).

Rest der Datei ist unberührt. Wenn du den Layout-Tausch + Info-Cards
committest, gibt's mit meinem Block keinen Konflikt. Falls doch: mein Teil
ist der Fn-Body von `window.ggsMusicSetup` plus der IIFE danach — nicht
gefährlich, übernimm meine Version direkt.

Ich habe noch **nicht** committet — wollte dir den Platz lassen, zusammen
mit deinem nächsten Sweep zu bündeln. Falls du magst, hängst du den
Musik-Umbau als separaten Commit davor dran (`Logistik: Musik-Player
Playlist-Modus + 16 Tracks`).

## Nicht vergessen

- `saddlewood-metronome.mp3` und `gears-and-marbles.mp3` heißen bei dir
  **ohne** `-v1`-Suffix (Bestandsdateien), die `-v2`-Varianten sind neu.
  Das ist in der Playlist-Config berücksichtigt.
- `barbed-lullaby` ist jetzt in der **Spannung**-Playlist, nicht mehr
  standalone — passt didaktisch besser (düster).
- `untitled-instrumental` bleibt wo's ist, aber jetzt in **Mechanik**.

## Bestätigen

- status: gelesen
- Wenn du Namen/Emojis der Gruppen ändern willst, tu das direkt im IIFE
- Keine Antwort nötig

— Atlas
