Playlist automatisch speichern mit Skript

Moinsen!

Ich benutze zwei Playlists und würde gerne, wenn ich die eine lade, die andere automatisch vorher speichern - ohne dasss sich das Speicherfenster öffnet.
Ich habe bereits den Befehl “CurrentPlaylist.SaveToMLP” hier im Forum gefunden, der allerdings bei mir den Fehler “Unknown identifier” auslöst.

Was mache ich denn wohl falsch? Ich freue mich auf hilfreiche Hinweise :smile:

Sonnige Grüße

Michael

Ach so, was ich vergaß: Der Wechsel der MLPs läuft über eine frei programmierbare Tastatur, es müsste also der Weg über Skript (Button) oder einen Befehl (Fernsteuerung) sein.

Danke für Eure Hilfe!

Probiere doch mal

CurrentPlaylist.SaveToFileWithFilter('C:\Pfad\zur\Playlist.mlp', '');

Alternative Grüße

TSD

Ahoi TSD!

Nein, aber ja - Dein Tipp hat bei mir einen “Syntax error” produziert.

Jedoch: Ich bin dann mal syntaktisch eigeninitiativ gestartet und habe das “WithFilter” und den hinteren Teil der Klammer ab dem Komma weggelassen. Voilà, das richtige Ergebnis, Playliste gespeichert.

Und daher fünf Sterne und ein Dankeschön für Deinen Denkanstoß! Gäbe es doch nur eine komplette Funktionsreferenz für die aktuelle Version …

Sonnige Grüße

Michael

Definiere “Funktionsrefernz”.
Ich kann derzeit nur auf das Wiki verweisen, das stetig erweitert wird, aber momentan leider noch lückenhaft ist.

Freiwillige vor! Ich unterstütze euch gerne.

Moin Uli!

“Funktionsreferenz” meint tatsächlich mal eine komplette Angabe aller Scriptbefehle bzw. auch der Befehle für die Fernsteuerung. Viele stehen im Wiki, ja, aber nicht mit der Angabe der jeweiligen mAirList-Version, und so muss man sich immer durchfriemeln bzw. im Forum suchen, denn manche “alte” Kommandos, die ich als Nutzer der Version 6 brauchen könnte, funktionieren nicht mehr oder heißen ganz anders.

Das ist aber in dieser Software bisher auch das einzige Manko, das ich entdecken konnte - es funktioniert ja schließlich sonst richtig gut. Und solange ich weiß, dass ich hier finde und zur Not fragen kann, ist ja fast alles gut … :slight_smile:

Sonnige Grüße

Michael

Guter Hinweis, danke dafür.
Mal überlegen…

Wir möchten das Wiki natürlich so aktuell wie möglich halten. Aber wie gehen wir mit “veralteten” Befehlen um?

Das ist so eine Frage des Standpunktes.
Einerseits haben wir den Support für alle Versionen unterhalb der 6 eingestellt - damit ist gemeint, dass es keine Updates mehr gibt. Aber mehr als genug Anwender haben noch die v5.x im produktiven Einsatz, und sie werden im Forum auch noch verarztet.

Bei der v4 sollten wir jetzt wirklich mal die Schotten dicht machen, auch hier im Forum. Das braucht aber noch Vorlauf, mit Ankündigung & Co.
Mal sehen.

Jetzt wieder zurück ins Wiki: Was ist veraltet, was ist aktuell?
Wir sind uns einig: Neue Befehle sollen dokumentiert werden, kein Thema. Das heute veröffentlichte Build 4135 hat wieder was neues im Gepäck:

[+] New command: "PLAYER x-y PAUSE/PAUSE/STOP" (pause if playing, do nothing
    if already paused, stop otherwise) - used internally by DHD remote control,
    but also available as a standalone command
[+] Scripting: Added TimeValueToDateTime and DateTimeToTimeValue functions

Okay, jetzt zum Schönheitsfehler: Für geänderte oder entfallene Kommandos und Funktionen gibt es keinen Changelog. :frowning:

Also braucht es ein laufendes Monitoring (huhu, Community), z.B. beim Upgrade und die dazu passende Dokumentation.
Aber möchte der v5-Anwender in der Doku lesen “sorry, veraltet”?

Wer eine gute Idee zu dem Thema hat: Raus damit, bitte. Ich grüble noch.

Nanu? Bei mir nicht, ich hab’s extra ausprobiert. Hinterm Komma sind zwei einzelne Apostrophe, war das bei Dir auch? Na, egal, ich freue mich, daß es geht.
 

Gelöste Grüße

TSD

Alternativ einfach SaveToFile('dateiname.mlp') – das macht dasselbe wie SaveToFileWithFilter('dateiname.mlp', '') mit leerem zweiten Parameter (= Dateityp) - es bestimmt den gewünschen Dateitypen automatisch anhand der Dateierweiterung.

Für das Scripting ist das so gut wie unmöglich, denn dort sind die gesamten internen Klassen/Interfaces von mAirList reingereicht - sozusagen “das Tor zur Hölle”.

Vorteil: Man kann wirklich (fast) alles ansteuern (außer direkter Zugriff auf die GUI, das geht nicht wegen Multithreading-Einschränkungen von Delphi).

Nachteil: Es kann sich schonmal was ändern, wenn die Entwicklung voranschreitet :wink:

Was die Befehle angeht, so sind @UliNobbe und vor allem @Tondose (danke dafür!) tatsächlich dabei, die Liste im Wiki nach und nach zu vervollständigen:

https://wiki.mairlist.com/reference:remote_control_commands

1 Like

Merci!

Das ist schon mal eine große Hilfe. Wobei mir da nun schon wieder auffällt, dass ich mt je einem Befehl (also einer Taste) ON/OFF AIR bzw. Automation ON/OFF schalten kann. Bei der Cartwall brauche ich dafür zwei - da gibt es kein Toggle. Oder steht’s noch nocht drin?

Angenehmen Feiertag!

Michael

Gute Frage - offenbar nicht. Ich habe versucht ON AIR WHEN OFF AIR mit dem Gegenteil zu verknüpfen, aber das funktionierte leider nicht.
Dabei ist mir aufgefallen, dass die Modi ON AIR und OFF AIR jeweils doppelt aufgeführt sind.
:thinking:

In solchen Fällen hilft dieses Vorgehen.

Geschaltete Grüße

TSD

Wenn’s doppelt ist, hält es vielleicht besser :smile:
Eine Möglichkeit, Befehle kombinieren zu können, indem man sie quasi als Stack mit Parametern in die Fernsteuerung einbauen kann, wäre himmlisch. Freie Belegung einer jeden Taste mit mehreren Funktionen … :+1:

Auch dafür herzlichen Dank - ich lasse das mal am langen Wochenende ins Gehirn einsinken und probiere ein wenig herum.

Yep. Mit ein wenig Scripting alles möglich. Siehe hier. Bei Fragen: gerne.

Mehrfache Grüße

TSD

Die Befehlsverkettung mit dem ; greift bei der Fernsteuerung nicht? :thinking:

Doch, geht. Vielleicht müssen noch ein paar Feinheiten bei der Umsetzung berücksichtigt werden.

Angepaßte Grüße

TSD