SENDEPULT 3.0 – Radio-Playout für macOS
=======================================
mit Behringer XR18 (eigener Kanalzug je Player, Faderstart) und X-Touch Compact
© 2026 Jonas Gernhardt. Alle Rechte vorbehalten. · https://sendepult.de

INSTALLIEREN
1. ZIP entpacken (Doppelklick) und „Sendepult.app“ in den Ordner „Programme“ ziehen
   (eine ältere Version dabei ersetzen – Playlist, Cartwall und Einstellungen bleiben erhalten).
2. Sendepult ist nicht bei Apple notarisiert. Beim ersten Start meldet macOS deshalb,
   dass die App nicht überprüft werden kann. So öffnest du sie trotzdem:

   macOS 15 (Sequoia) und neuer:
     - Sendepult einmal per Doppelklick starten, Meldung mit „Fertig“ schließen.
     - Systemeinstellungen > Datenschutz & Sicherheit > ganz nach unten scrollen
       > bei „Sendepult wurde blockiert“ auf „Dennoch öffnen“ klicken und bestätigen.
   macOS 13/14:
     - Rechtsklick (Control-Klick) auf Sendepult > „Öffnen“ > „Öffnen“.
   Alternative im Terminal (für alle Versionen):
     xattr -dr com.apple.quarantine /Applications/Sendepult.app

3. Fragt macOS nach Zugriff auf das „lokale Netzwerk“: ERLAUBEN – sonst erreicht
   Sendepult den XR18 nicht. (Nachträglich: Systemeinstellungen > Datenschutz &
   Sicherheit > Lokales Netzwerk.) Das Mikrofon wird nur für Voice-Tracks,
   Aufnahmen und das Stream-Mikrofon abgefragt.


NEU IN VERSION 3.0
------------------
Lizenz (Einstellungen > Lizenz & Updates):
- Lizenzschlüssel SP-XXXXX-XXXXX-XXXXX-XXXXX eingeben und „Aktivieren“. Sendepult prüft
  die Lizenz bei jedem Start und alle 6 Stunden online; ohne Internet läuft es 14 Tage weiter.
- In dieser Version ist die Lizenzprüfung noch AUSGESCHALTET (Testbetrieb): Sendepult
  läuft ohne Schlüssel, ein Schlüssel lässt sich aber schon aktivieren und testen.
- Eine laufende Sendung wird nie wegen der Lizenz unterbrochen.
- Gerätecode: steht im Aktivierungsfenster und in den Einstellungen – wird nur gebraucht,
  wenn eine Lizenz auf bestimmte Macs beschränkt ist.
Updates:
- Sendepult sucht automatisch nach neuen Versionen und zeigt oben rechts „Update“.
  Ein Klick zeigt die Neuerungen; „Herunterladen“ lädt und prüft das Update (Signatur und
  Prüfsumme), „Installieren und neu starten“ tauscht die App aus – nie während Audio läuft.
  Von Hand: Hilfe > Nach Updates suchen …
Musikplanung (Datenbank):
- Stundenuhren: „+ Titel suchen …“ bzw. „Suchen …“ beim Element „Bestimmter Titel“ –
  Musiktitel aus der Datenbank finden (Suche nach Interpret/Titel, Filter „Nur Musik“,
  Vorhören, Mehrfachauswahl) und fest in die Uhr einsetzen.
- Kategorie-Elemente können eine Bedingung haben, z. B. „nur Energie 4-5“ oder
  „nur Jahrzehnt 80er, 90er“ (Attribute unter Titel > Attribute …).
- Interpreten- und Titel-Sperre gelten jetzt nur für Musik-Kategorien. Jingles, Werbung,
  Trailer usw. rotieren (am längsten nicht gespielt zuerst) – auch wenn alle Jingles den
  Sendernamen als Interpret haben. Eigene Sperren je Kategorie bleiben möglich.
- Das Stundenende wird passend aufgefüllt: Der letzte Titel wird nach der Restzeit gewählt.
- Warnungen, wenn eine Stunde zu lang oder zu kurz geplant ist.
- Wird mitten in der Stunde geplant (Leerlauf, DATABASE GENERATE, Zeitplan), füllt
  Sendepult den Rest der Stunde mit Musik und beginnt dann mit der nächsten vollen Stunde –
  statt eine Fixzeit von :00 anzulegen, die schon vorbei ist.

NEU IN VERSION 2.2
------------------
Mix-Editor wie in mAirList (Rechtsklick auf einen Titel > „Übergang bearbeiten“):
- Oben der auslaufende Titel A, unten der folgende Titel B, Zeitachse ab dem Übergang.
- Alle Marken beider Titel sind zu sehen und lassen sich ziehen: Cue In, Fade In,
  Ramp 1–3, Hook In, Hook Fade, Hook Out, Outro, Start Next, Fade Out, Cue Out, Anker.
- Markenleiste unten (für die ausgewählte Spur): Klick setzt die Marke am Cursor,
  Doppelklick springt hin, Rechtsklick entfernt sie. Die Tasten aus dem Cue-Editor gehen auch.
- Lautstärke-Hüllkurve je Titel: Doppelklick setzt einen Punkt (Höhe = Pegel), Punkte
  ziehen, ⌥-Klick löscht. Die Wellenform zeigt, wie es klingt.
  „B unter A“ legt das Intro von B bis Ramp 1 leiser unter das Ende von A (z. B. für eine
  Moderation oder einen Voice-Track), „A unter B“ senkt das Ende von A ab.
- B mit der Maus verschieben = Einsatz (Start Next von A), Abspielen ab Cursor,
  Rückgängig/Wiederholen (⌘Z / ⇧⌘Z), Zoom, Bildlauf, Tab wechselt die Spur.
Die neuen Marken gelten überall:
- Ramp 1–3 und Outro zählt der Player nacheinander herunter.
- Fade In blendet von Cue In bis zur Marke ein; die Hüllkurve wirkt beim Abspielen.
- Hook: „Hook vorhören“ und „Nur den Hook spielen“ (Rechtsklick in der Playlist oder in
  den Eigenschaften) – z. B. für Teaser.
- Anker: Bei einer Fixzeit liegt die Anker-Stelle genau auf der Fixzeit
  (z. B. der Refrain punkt 12 Uhr).
- Der Cue-Editor hat alle 15 Marken.

NEU IN VERSION 2.1
------------------
Getrennte Vorhör-Wege (PFL) wie in mAirList:
- Player A, Player B und die Cartwall haben je einen eigenen PFL-Ausgang, dazu ein
  allgemeiner PFL (Playlist, Archiv, Datenbank, Cue-/Mix-Editor, Voice Tracking).
  Einstellungen > Audio-Ausgänge: „Player A – PFL“, „Player B – PFL“, „Cartwall – PFL“,
  „PFL allgemein“. Bisherige Einstellungen werden übernommen (alle PFL wie bisher).
- Die PFL-Taste am Player – und das Vorhören eines Titels, der schon in einem Player liegt –
  kommt aus dessen PFL-Weg. PFL A und PFL B können gleichzeitig laufen.
- Geht ein Player on air, endet sein Vorhören automatisch.
- XR18: Mit „PFL der Player über das XR18“ liegen PFL A auf USB 15/16 und PFL B auf
  USB 17/18 (im Mixer dann nur auf den Kopfhörer-Bus schicken, nicht auf Main).
- X-Touch: neue Funktionen „Player A/B Vorhören an/aus“.

EOF-Warnung (Titelende):
- Ab 15 Sekunden vor dem Ende erscheint ein großer, ablaufender Countdown mitten auf dem
  Bildschirm – mit Player, Titel und dem, was danach kommt. In den letzten 5 Sekunden
  wird er rot. Bei geöffnetem Dialog sitzt er klein oben rechts.
- Der Player blinkt rot (in den letzten 5 Sekunden doppelt so schnell).
- Einstellungen > Übergänge & Cue > EOF-Warnung: Sekunden, Countdown, Blinken, Mindestlänge
  (Jingles lösen standardmäßig nichts aus: unter 20 s), nur im ASSIST-Betrieb, „Vorschau“.
- Keine Warnung bei Schleifen, Streams und bei Titeln, die schon ausgeblendet oder vom
  nächsten Titel abgelöst werden.

NEU IN VERSION 2.0.2
--------------------
Wellenformen in Cue- und Mix-Editor laden deutlich schneller:
- Einmal berechnete Wellenformen werden gespeichert (Ordner „Wellenformen“ unter
  ~/Library/Application Support/Sendepult, höchstens 400 MB) – erneutes Öffnen geht
  sofort, auch nach einem Neustart.
- Titel in der Playlist werden im Hintergrund vorberechnet; der Editor ist dann sofort da.
- MP3 wird in Stücken parallel dekodiert, WAV/AIFF direkt gelesen: Die Wellenform baut
  sich sichtbar auf, statt erst nach der ganzen Datei zu erscheinen. Der Mix-Editor
  rechnet zuerst die Übergangsstelle.
- Lange Dateien (z. B. 1-Stunden-Sendungen) brauchen nur noch einen Bruchteil des
  Arbeitsspeichers.
- Wartet ein Editor, pausiert die Hintergrund-Analyse.
- Nebenbei: Titel mit von Hand gesetzten Cues bekommen jetzt auch einen Lautheitswert.

NEU IN VERSION 2.0.1
--------------------
Beide Player sind gleichzeitig geladen: Ohne laufenden Titel liegen die nächsten zwei
Titel in Player A und B bereit; läuft ein Player, liegt der nächste Titel im anderen.
Jeder Player lässt sich direkt starten (Start-Taste, Faderstart am XR18, X-Touch) –
auch außer der Reihe: Startest du B zuerst, rückt sein Titel nach vorn und A bleibt
mit seinem Titel geladen. Abschaltbar unter Einstellungen > Playlist & Automation.

NEU IN VERSION 2.0
------------------
Player     Drag & Drop direkt in Player A/B (aus Playlist, Archiv, Ordner, Verlauf,
           Datenbank oder Finder), Pause, Schleife, Auswerfen, Lautstärke je Player
           (Doppelklick = 0 dB), Klick auf die Restzeit: Restzeit · Endzeit · Dauer.
Playlist   Element-Typen Audio, Stream, Stille, Befehl, Notiz, Automation-Stopp;
           Fixzeiten hart/weich, Backtimed, „ohne Zeitrechnung“; Verknüpfen von Titeln;
           Eigenschaften-Dialog (Doppelklick); Papierkorb; Verlauf; Wiederholen;
           Leerlauf-Aktion (Ordner, Playlist oder Musikplanung, wenn sie leerläuft).
Mix-Editor Übergang zwischen zwei Titeln grafisch einstellen und anhören
           (Rechtsklick > „Übergang bearbeiten“).
Cartwall   frei wählbare Größe und Seitenzahl, Modi ON AIR / PFL / OFF, Sets laden
           und sichern, Favoriten, Lautstärke je Cart, Loop, Pause- oder Neustart-Taste.
Datenbank  Kategorien und Attribute für das Archiv, Stundenuhren, Wochen-Sendeplan,
           Rotation mit Titel- und Interpreten-Sperre, Werbespots mit Buchungszeitraum,
           Tagen, Stunden und Max./Tag, Planung ganzer Stunden, Auswertungen und
           CSV-Export (Musikmeldung, Werbe-Nachweis, Sendeprotokoll).
Streaming  Icecast 2, Shoutcast v1/v2 (MP3 64–320 kBit/s), mehrere Verbindungen,
           Titel-Übertragung, Hörerzahl, Stream-Mikrofon mit Ducking, Stille-Alarm.
Aufnahme   Mitschnitt (Aircheck) mit stündlicher Aufteilung, Datei-Recorder,
           Voice Tracking (Moderation zwischen zwei Titeln vorproduzieren).
Steuerung  Befehle wie in mAirList (z. B. PLAYER 1-1 START, AUTOMATION 1 NEXT,
           CARTWALL 3 START/STOP) – über eigene Tastenkürzel (auch systemweit),
           X-Touch, Zeitplan, Befehls-Elemente, REST, TCP und UDP.
Logging    beliebig viele Textdateien und Web-Aufrufe (GET/POST) bei Titelstart/-ende,
           mit Variablen (%a Interpret, %b Titel, %+a nächster Interpret …).
Klang      Lautheits-Ausgleich nach EBU R128, EQ und Kompressor je Ausgang.
Zeitplan   neue Aktionen: Befehle, Playlist laden/anhängen, Stream, Encoder,
           Mitschnitt, Recorder, Musikplanung.
Hilfe > Tastenkürzel & Bedienung enthält die Befehlsübersicht und alle Logging-Variablen.


XR18 EINRICHTEN – JEDER PLAYER AUF EINEM EIGENEN KANALZUG
---------------------------------------------------------
1. XR18 per USB an den Mac anschließen.
2. Sendepult > Einstellungen (⌘,) > „Audio-Ausgänge“ > „XR18-Vorlage“ > Übernehmen > Sichern.
   Damit gilt:   Player A  → XR18 USB 9/10
                 Player B  → XR18 USB 11/12
                 Cartwall  → XR18 USB 13/14
                 PFL       → bleibt am Mac (Kopfhörer) – je Player frei wählbar
   Jeder Weg lässt sich einzeln auf jedes Gerät und jedes Kanalpaar (oder Mono) legen.
   „Testton“ spielt erst links, dann rechts – so siehst du sofort, wo er ankommt.
3. In X-Air Edit (Input > Source): Kanal 9 = USB 9, Kanal 10 = USB 10, Kanäle 9/10
   als Stereo koppeln. Genauso 11/12 und 13/14.
4. Sendepult > Einstellungen > „XR18“:
   - „XR18 verwenden“ anhaken, IP-Adresse eintragen („Suchen“ oder
     „Vom XR18 Controller“ übernimmt die Adresse aus deinem Controller).
   - Kanal-Zuordnung: Player A = Kanal 9, Player B = Kanal 11, Cartwall = Kanal 13.
   - Mikrofon-Kanäle anhaken (für die gelbe Lampe „MIKRO“ und den Moderations-Timer).
   - Faderstart anlassen. Sichern.
   Oben rechts wird „XR18“ grün; an jedem Player steht sein Kanal und der Fader-Pegel.

FADERSTART
- Fader des Player-Kanals hoch (über −60 dB) → der Player startet – mit dem Titel,
  der in genau diesem Player liegt (beide Player sind vorgeladen).
- Fader ganz runter (unter −80 dB) oder Kanal stumm → der Player stoppt; der nächste
  Titel wird geladen.
- Die Taste „Radio ON“ im XR18 Controller fährt den Fader hoch/runter – startet und
  stoppt den Player also gleich mit.
- Im AUTO-Betrieb regeln die Fader standardmäßig nur die Lautstärke (umstellbar).
- Läuft ein Player bei geschlossenem Fader, blinkt seine Kanal-Anzeige („Fader zu“).
Tipp: Im XR18 Controller unter „Fader-Zuordnung“ die Kanäle 9, 11 und 13 auf
X-Touch-Fader legen – dann hast du die Player direkt unter den Fingern.
Hinweis: Die Klangbearbeitung in Sendepult wirkt vor dem XR18 – EQ und Dynamik im
Mixer bleiben davon unberührt.


X-TOUCH COMPACT FÜR SENDEPULT-FUNKTIONEN
----------------------------------------
Einstellungen > „X-Touch“: Funktion wählen (WEITER, Player A/B Start/Stop, Carts …),
„Lernen“ klicken, Taste am X-Touch drücken, Sichern.
- Erlaubt sind nur Tasten, die im XR18 Controller frei sind. In seiner Grundbelegung
  sind das die Drehregler-Drücktasten 1–8. Auf Layer B (Taste „B“ am X-Touch) sind alle
  Tasten frei – der Controller reagiert dort nicht.
- Belegst du später im Controller eine Taste, die Sendepult benutzt, sperrt Sendepult
  sie sofort und meldet das.
- Sendepult sendet nichts an das X-Touch: Für Sendepult-Tasten leuchten deshalb keine
  LEDs. LEDs, Motorfader und Layer bleiben vollständig beim XR18 Controller.


ZUSAMMENSPIEL MIT DEM XR18 CONTROLLER (beide laufen gleichzeitig)
-----------------------------------------------------------------
- XR18: Sendepult liest nur. Eigener Netzwerk-Port, keine Mixer-Änderungen, kein
  „/xremote“ – es belegt also keinen der Fernsteuer-Plätze im XR18.
- X-Touch: Sendepult hört nur zu und sendet nie etwas (keine LEDs, keine Fader,
  kein Layer-Wechsel, kein Standard-/MC-Modus).
- Tasten: Sendepult liest die Einstellungsdatei des Controllers laufend mit
  (~/Library/Application Support/XR18Controller/config.json) und nimmt nur freie Tasten.
- Ports: Ohne eingeschaltete Fernsteuerung öffnet Sendepult keinen Port. Die optionale
  Fernsteuerung (REST/TCP/UDP, Standard 9300–9302) verweigert 8765 (XR18 Controller)
  und 10024 (XR18).
- Am XR18 Controller muss nichts geändert werden.


ERSTE SCHRITTE
- Audiodateien oder Ordner aus dem Finder in die Playlist oder direkt auf einen Player
  ziehen (oder ⌘I).
- Neue Titel werden automatisch analysiert: Stille am Anfang/Ende wird
  abgeschnitten, der Überblendpunkt („Start Next“) gesetzt und die Lautheit gemessen.
- ASSIST: Jeder Titel wird mit WEITER (Leertaste), Start-Taste oder Faderstart gestartet.
  AUTO: Die Titel laufen von selbst nacheinander und überblenden.
  Eine Stopp-Marke (⌘⇧H) hält die Automatik an.
- Doppelklick auf einen Titel öffnet seine Eigenschaften, ↩ den Cue-Editor.
- Cartwall: Datei auf eine Taste ziehen, Klick startet/stoppt, F1–F16 als Tastatur.
- Zeitplan: wiederkehrende Ereignisse, z. B. täglich 06:59:50 Nachrichten-Jingle.
- Protokoll: Jeder gespielte Titel landet als CSV in Dokumente/Sendepult/Protokolle.

MUSIKPLANUNG IN 5 MINUTEN
1. Archiv: Musikordner einlesen (Reiter „Archiv“ > „Ordner …“).
2. Datenbank > Titel > „Aus Ordnern …“ legt für jeden Unterordner eine Kategorie an
   (z. B. Hits, 80er, Jingles) – oder Titel markieren und „Kategorie zuweisen“.
3. Datenbank > Stundenuhren: Ablauf einer Stunde festlegen
   (Jingle, Hits, Neuheit, Werbeblock, Fixzeit-Marke …), optional „Auffüllen bis zur
   vollen Stunde“.
4. Datenbank > Sendeplan: Uhr wählen und über die Wochentage/Stunden ziehen.
5. Datenbank > Planen – oder Einstellungen > Playlist & Automation > Leerlauf-Aktion
   „Musikplanung“: Dann plant Sendepult im AUTO-Betrieb selbst weiter.


FALLS ETWAS NICHT GEHT
- Beim XR18 stehen nur „Kanal 1/2“ zur Wahl: Programme > Dienstprogramme >
  Audio-MIDI-Setup > XR18 > Ausgang muss 18 Kanäle zeigen; Sendepult danach neu starten.
- „XR18“ oben bleibt rot: IP-Adresse prüfen (steht in X-Air Edit und im XR18 Controller),
  Zugriff aufs lokale Netzwerk erlauben, Mac und XR18 im selben Netz.
- „X-Touch“ oben bleibt rot: X-Touch per USB angeschlossen? Unter Einstellungen > X-Touch
  den MIDI-Eingang wählen.
- Stream verbindet nicht: Einstellungen > Streaming zeigt den Fehler je Verbindung
  (z. B. „Passwort falsch“, „Mountpoint belegt“).

DATEIFORMATE
MP3, WAV, AIFF, M4A/AAC, FLAC, OGG, Opus. Playlists: .sendepult und M3U/M3U8.
Cartwall-Sets: .cartset. Aufnahmen und Mitschnitte: MP3.

DATEN
Einstellungen, Cartwall, Zeitplan, Datenbank und die zuletzt offene Playlist liegen unter
~/Library/Application Support/Sendepult und werden automatisch gesichert.
Protokolle, Mitschnitte, Aufnahmen und Voice-Tracks liegen unter Dokumente/Sendepult.

NICHT ENTHALTEN (gegenüber mAirList)
Treiber für Studio-Mischpulte anderer Hersteller (DHD, Lawo, Axia, Wheatstone …),
die Pascal-Skriptsprache und der Mehrplatz-Datenbankserver. Statt Skripten gibt es
Befehle, Befehls-Elemente, Zeitplan und Logging-Web-Aufrufe.
