Darstellung der Umlaute

Hallo,
habe script entdeckt das mir die Hörerzahlen von Laut.fm abfragt.
Da wird mir das ö in Hörer nicht angezeigt und ich muß es mit oe schreiben was mir nicht so gefällt.

ExecuteCommand('LAUTFMSTATUS TEXT Hörer: ’ wirft H?rer raus.

Gibt es da einen Befehl der die Umlaute richtig darstellt?

Liebe grüße

Ist das Skript in UTF-8 codiert?

Ersetzte Gr??e

TSD

Deswegen frage ich ja, wie das geht. :wink:

Im (Windows-) Editor beim abspeichern unter Codierung so lange was anderes wählen, bis die Umlaute stimmen.

Ausprobierte Grüße

TSD

Ausprobiert und für gut befunden, war die Kodierung UTF-8-BOM.

Manchmal naja Danke für den Denkanstoß. :wink:

Dazu hätte ich eine Frage: Bekomme ich das hin, dass mir die Hörerzahlen von einem (oder mehreren) SC-Streams in einem Screenobject angezeigt werden?

Ich bin ja meilenweit vom Scripten entfernt, vielleicht weiss ja jemand etwas…

Schönes Rest-Wochenende!

Diese script ist für laut.fm und nicht für Shoutcast. :wink:

Lg

Naja, wenn Du das komplette Script hier mal Posten würdest, hätten andere Laut.FM Sender vielleicht auch etwas davon und vielleicht lässt es sich sogar relativ einfach anpassen für andere Streamserver.

Darauf wollte ich hinaus. Möglicherweise krieg’ ich das sogar selbst angepasst, aber ich bräuchte halt erstmal den Grundansatz.

Wäre toll, wenn Du das hier posten könntest, @SirJacky

LG

Eine einfache Google Suche hätte zwar auch gereicht aber hier der link zum Autor…

Danke @SirJacky

Ganz so simpel kann eine Abfrage bei Shoutcast oder Icecast natürlich nicht aussehen, die liefern JSON oder XML zurück, was man innerhalb des Scriptes erst mal parsen müsste.
EDIT: Shoutcast 1.9 könnte das glaube ich über die 7.html
EDIT2: Nein, auch da bekommt man eine Komma getrennte Liste, die man noch parsen muss.

@Myka willst Du die gleichen Streams abfragen, zu denen auch Dein Encoder eine Verbindung hat? Der kann ja die Hörerzahl abfragen und auch anzeigen, nur nicht ganz so schön, wie in einem extra Bildschirmobjekt.
Oder geht es darum, dass der Eingabestream auf dem Du sendest und der Ausgabestream, auf den die Hörer zugreifen, nicht miteinander verbunden sind und Du deshalb noch mal direkt beim Streamserver nachfragen musst? Selbst das ginge ja erst mal mit Encoder Boardmitteln.

Auch von mir ein Danke, @SirJacky! Natürlich hätte ich auch die Google-Suche bemühen können… ;-(

@shorty.xs:
Prinzipiell richtig, ich will nur einen der eingetragenen Streams abfragen und den (permanent aktualisierten) Wert als Bildschirmobjekt ausgegeben, weil der Encoder-Status bei uns nicht existiert. Das Levelmeter ist für uns unnötig (zu langsam/ungenau und bei Verwendung von Soundprocessing-Plugins sowieso sinnlos, da die Anzeige hinter dem Plugin läuft) und der “Verbinden/Trennen”-Button könnte versehentlich geklickt werden (schon passiert, vom verantwortlichen Techniker höchstselbst…).
Das Einschalte/Stoppen des Streams selbst geschieht ja über dieses hier: "Altes" ONAIR-Script funktioniert nur noch teilweise, und das hervorragend und zuverlässig.

Und du hast schon wieder recht: Ja, es ist ein anderer Ausgabestream als der Eingabestream (Streampanel…), der ist auch im Encoder eingetragen und liefert auch brav die Daten. Genau diesen (2) möchte ich abfragen und die Zahlen sichbar machen. Auf das Encoder-Einstellungsfenster bzw. die Konfiguration an sich haben die Moderatoren ja keinen Zugriff (Passwort).

Ich danke aufrichtigst für eure Hilfe/Ideen!

Ja, da “Alte OnAIR Script” schwirrte mir auch im Kopf rum.
Das haben wir ja dank @Tondose noch ordentlich aufgebohrt, letzte Version galube ich hier: Ansteuerung des OnAirScreen

Das sollte ja nicht so schwierig sein, hinter den jeweiligen Encoder auch noch die Hörerzahlen zu schreiben. Mit dem Variablen Ansatz den ich da verfolgt habe, müsste man den reinen Zähler, ebenfalls als eigenes Bildschirmobjekt laufen lassen. Wenn Dich die einzelnen Encoder nicht interessieren, kann man das natürlich auch hardcoded machen und die Zahl von Deinem Counter, hinter den Einspeisestream schreiben.

SiSoSnooP fragt ja die Laut.fm API ab und hängt die an einen statischen Text.

procedure OnPlayerStart(PlaylistIndex: integer; PlayerIndex: integer; Item: IPlaylistItem);
var 
stream_1: string;
begin
    stream_1 := HTTPGet('http://api.laut.fm/station/DEINE_STATION/listeners');
    ExecuteCommand('LAUTFMSTATUS TEXT Hörer: '+ stream_1);    
end;
begin
end.

Das verknüpft mit Deinem Ursprünglichen Script, müsst ungefähr so aussehen:

procedure OnLoad;
  begin
    EnableTimer(100);
  end;

procedure OnTimer;
  begin
    if (Encoder.GetConnections.GetItem(0).GetState = ecsConnected) then begin
      ExecuteCommand('ONAIRPRG TEXT ON-AIR Hörer: ' + IntToStr(Encoder.GetConnections.GetItem(i).GetListeners));
      ExecuteCommand('ONAIRPRG BACKGROUNDCOLOR #FF0000');
      ExecuteCommand('ONAIRPRG FONTCOLOR #FFFFFF');
      end	
    else if (Encoder.GetConnections.GetItem(0).GetState = ecsConnecting) then begin
      ExecuteCommand('ONAIRPRG TEXT !OFF AIR!');
      ExecuteCommand('ONAIRPRG FONTCOLOR #FFFFFF');
      ExecuteCommand('ONAIRPRG BACKGROUNDCOLOR #FF0000');
      Sleep(1000);
      end  
    else begin
      ExecuteCommand('ONAIRPRG BACKGROUNDCOLOR #00FF00');
      ExecuteCommand('ONAIRPRG FONTCOLOR #000000');
      ExecuteCommand('ONAIRPRG TEXT KEINE SENDUNG!');
   end;
  end;

begin
end.

Wobei ich jetzt mal angenommen habe, das der Hörerzähler direkt als 2. Encoder eingetragen ist.
Copy & Paste, ungetestet.

EDIT nach ein paar Tests, müsste es so sein, Code Block noch mal geändert.