Ich befasse mich seit einiger Zeit mit dem Aufbau einer Automation.
Mittlerweile habe ich mAirList auch klargemacht, dass es zwei unterschiedliche “configs” kennt - eine für den Live-Sendebetrieb mit Micro und Mischpult, eine andere für die Automation, wo die Player 1 und 2 direkt an den Encoder gehen und wo die Eventsteuerung den gesamten Betrieb übernimmt.
Aber leider nur fast:
Denn ich bekomme natürlich meine Automation nicht dazu, den Stream zu kicken, bevor er selber connectet.
Ein Script habe ich als PHP-Datei (allerdings noch ungetestet) und einen weiteren Entwickler habe ich auch schon angeschrieben.
Kann mir von Euch jemand sagen, wie und wo dieses Script in mAirList einbinden kann, um es
in der Automation per Event auszuführen, bevor dann die Playlist-Wiedergabe startet und
im Live-Sendebetrieb mit einem Button manuell auszuführen.
Es wäre toll, wenn Ihr mir da einen (vermutlich entscheidenden) Tipp geben könntet. Irgendwie hab ich ein Brett vor dem Kopf - und komme deshalb nicht auf die Lösung.
Ist es eigentlich möglich die Steuerung von Strem und Encoder in die Oberfläche zu integrieren?
Also ich habe zum Beispiel mehrere Encoder eingerichtet, da ich mal auf den Teststream, oder den Livestream gehen will oder nur den Aircheck oder eine Kombi usw…
Bei SAM glaube ich konnte man das Fenster mit den Encodern anzeigen lassen und die anhaken mit denen man aktiv werden wollte. Ist soetwas in mAirList auch möglich?
Das zweite ist, ob man einen Button in mAirList einfügen kann, mit dem ich per klick den Strem kicken kann? Also dirket mit einem Befehl wie “http://stream.TEST.com/admin.cgi?mode=kicksrc” aber irgendwie muß ja auch der Login und Passwort mitgeschickt werden.
[quote=“Anna On Air, post:9, topic:7941”]Öhm, da hab ich doch mal ne Frage …
Ist es eigentlich möglich die Steuerung von Strem und Encoder in die Oberfläche zu integrieren?
Also ich habe zum Beispiel mehrere Encoder eingerichtet, da ich mal auf den Teststream, oder den Livestream gehen will oder nur den Aircheck oder eine Kombi usw…
Bei SAM glaube ich konnte man das Fenster mit den Encodern anzeigen lassen und die anhaken mit denen man aktiv werden wollte. Ist soetwas in mAirList auch möglich?[/quote]
Ich gehe mal davon aus, Du hast schon ein Bildschirmelement mit den Encoder Bedienelementen (Live Button, Peakmeter).
Dort findest Du eine Textzeile, die den Status (Online/ Offline) anzeigt. Klick die mal doppelt…
[quote=“Anna On Air, post:9, topic:7941”]Das zweite ist, ob man einen Button in mAirList einfügen kann, mit dem ich per klick den Strem kicken kann? Also dirket mit einem Befehl wie “http://stream.TEST.com/admin.cgi?mode=kicksrc” aber irgendwie muß ja auch der Login und Passwort mitgeschickt werden.
Weiß da von Euch jemand ob das möglich ist?[/quote]
Du brauchst ein kleines Script
begin
HTTPGet('http://stream.TEST.com/admin.cgi?pass=supergeheimespasswort&mode=kicksrc');
end.
Das speicherst Du als kick.mls irgendwohin ab, wo Du es wieder findest. Damit hast Du Dein erstes mAirList Script geschrieben.
Jetzt noch ein Bildschirmobjekt “Button” anlegen und mit dem Script verknüpfen.
RUNSCRIPT c:\woauchimmer\kick.mls
ersmal vielen lieben Dank für die ausführliche Hilfe.
zu 1. Das hilft mir schon mal, da man die Encoder schneller aufrufen kann … Danke - Mein Gedanke war irgendwo ein Bildschirmobjekt zu haben, bei dem ich einfach eine Liste der Encoder habe und für diejenigen die ich benötige ein Häkchen setzen kann. Aber das ist mehr Bequemlichkeit und Spielerei. - Dein Tipp hilft mir jedenfalls gut weiter.
zu 2. HURRA mein erstes Script … Dache ich lach Aber so einfach wars dann doch nicht.
Das Script habe ich wie von Dir vorgegeben angelegt und sowohl “TEST” als auch “supergeheimespasswort” entsprechend ersetzt.
Dann habe ich unter “GUI” - “Bildschirmobjekte” einen “Erweiterten Button” anglegt. Unter dem Reiter “Aktionen” habe ich “Verschiedenes” - “Script ausführen” gewählt und dort beim Dateinamen die Datei eingelesen “K:\mAirList\Scripts\kick_TEST.mls”
Aber der böse Button will nicht kicken … Siehst Du noch einen Fehler in dem was ich gemacht habe?
Funktioniert es wenn Du das Script über “Datei->Script Ausführen” startest?
Wenn nicht mach mal aus den HTTPGet ein HTTPGetAsync, so wie Tom Tom das oben schreibt.
Beide Streams haben zwar unterschiedliche Passwörter, aber Encoder PW und das Admin-PW beim einloggen über den Browser sind jeweils identisch.
Frage: muß im Logging bei der Server URL stream.XXXXXXXXX.com:7777 oder die IP XX.XXX.XXX.XXX:7777 stehen oder sollte das egal sein?
Das doofe ist, heute Nachmittag ging das Logging plötzlich und nachdem ich mAirList neu gestartet hatte ging es wieder nicht mehr. Genauso wie StereoTool plötzlich trotz erfolgter Registrierung die “DEMO-Ansdage” einblendet.
Ich könnte echt verzweifeln heul
In der Log steht nun folgende Fehlermeldung:
2012-06-01 19:25:09 Fehler Fehler beim Logging (Shoutcast - XX.XXX.XXX.XXX:80): Protocol field is empty
In dem Zusammenhang wie kann ich denn überhaupt ein Logging an einen bestimmten Stream koppeln? Ich meine wenn ich bei Encoder1 streame, kann ich ja nicht zusätzlich die Loggingdaten an Encoder2 schicken!
Zum kicken des Streams:
Das folgende Script
begin
HTTPGet('http://stream.pride1radio.com:7777/admin.cgi?pass=XXXXXXX&mode=kicksrc');
end.
ist über “Öffnen” - “Script ausführen” zumindest fähig den kick auszuführen, bringt aber dann folgende Fehlermeldung
Error running script: Laufzeitfehler: (2, 3) Exception: HTTP/1.0 302 Found
Und beim Button passiert garnichts … Hab ich den falschen Button oder was mach ich da falsch?
In der Konfiguration habe ich dazu folgendes gewählt “GUI” - “Bildschirmobjekte” - “Hinzufügen” - “Erweiterter Button” - “Aktionen” - “Verschiedenes” - “Script ausführen” - “Dateiname: K:\mAirlist\Scripts\kick.mls”
Vorab: Ich hab mal das Passwort aus dem Script rausgelöscht
Dann ganz schnell:
“Protocol field is empty” - versuch mal “http://” vor den Hostnamen zu schreiben bei den Logging-Einstellungen.
“HTTP 302 Found” - rein technisch will der Shoutcast-Server dir damit sagen, dass er dich nun zu einer anderen Seite umleiten möchte (redirect) - vermutlich auf die Status-Seite nach erfolgtem Kick. Das Script interpretiert dies als Fehler, denn es rechnet eigentlich mit dem normalen Status-Code 200. Du kannst die Meldung aber einfach unterdrücken, wenn du willst:
begin
try
HTTPGet('http://stream.pride1radio.com:7777/admin.cgi?pass=XXXXXXX&mode=kicksrc');
except
end;
end.
Vorab: DANKE - Alles hab ich gelöscht und das übersehen >:(
Ich habe das Logging jetzt von IP auf http://stream… umgestellt und was soll ich sagen? plötzlich funktioniert es. :-[ Als hätte ich das nicht schon so oft in allen Variationen versucht.
Ich lehne mich mal gant weit aus dem Fenster und stelle die Vermutung an, dass die folgende Fehlermeldung vom zweiten Logging (dem Encoder zu dem ich gerade nicht connected bin) kommt?
Wo noch die Frage auftaucht, soll ich das einfach ignorieren oder gibt es eine Methode einen Logging zu einem bestimmten Encoder zu verknüpfen?
Die Fehlermeldung vom Script ist nun auch weg … sehr schön … Danke vielmals dafür.
Interessanter Weise lies sich folgendes Phänomen replizieren.
Lege ich einen “erweiterten Button” mit einem Scriptaufruf an, ohne dass das Script schon in einem anderen Element eingebettet ist, so funktioniert der Button nicht.
Setze ich einen “normalen Button” zusätzlich mit diesem Script, funktionieren beide Buttons.
Wie auch immer, das Logging funktioniert und der Streamkick ebenfalls …
Das mit dem kicken des Streams macht mir aber noch immer Probleme.
Seltsamer Weise funktioniert es auf dem Teststream, aber nicht auf dem eigentlichen Stream.
Ich habe in mAirList zwei einfache Buttons mit dem folgenden Scripts belegt.
Teststream:
begin
try
HTTPGet('http://stream.TESTSTREAM.com:XXXX/admin.cgi?pass=XXXXXXXXXXXXXXXX&mode=kicksrc');
except
end;
end.
Hauptstream:
begin
try
HTTPGet('http://stream.HAUPTSTREAM.com:YY/admin.cgi?pass=YYYYYYYYYYYYYYYYYYY&mode=kicksrc');
except
end;
end.
Wenn ich die Zeile |http://stream…=kicksrc| direkt in den Browser kopiere kann ich damit beide Streams kicken, egal ob es die Automation oder ich selbst bin. Innerhalb mAirList geht das aber nur mit dem Teststream, der Hauptstream läßt sich über Mairlist nicht kicken. Weder über den Button, noch wenn ich das Script direkt aufrufe. Richtig geschrieben muß dieser Teil ja sein, sonst würde sich die Kopie davon im Browser nicht umsetzen lassen.
Zu diesem mir nicht nachvollziehbaren Problem habe ich bis heute leider keine Lösung gefunden.
Ich verstehs einfach nicht, warum ich über den Browser mit der Eingabe der kompletten Zeile “http://stream… … … … … mode=kicksrc” sowohl die Automation vom Hauptstream, als auch mich selbst vom Teststream kicken kann.
Soblad ich aber das ganze in mAirList integriere, egal ob ich das Script direkt aufrufe, oder übr einen Button oder was sonst noch alles geht, klappt das nur noch beim Teststream, den Hauptstream bekomme ich aus mAirList raus nicht gekickt.