PlaybackControl -> Invalid number of parameters

Moin,

habe gerade einige Baustellen bei der Migration v4 → v5… Unter anderem nun die “Hot-Buttons”:

21.01.2016 23:19:46 Information hot_1 - DirectSound: ALTO S-12 CH7+8 (PHASE 26 USB(16/48)) - vorne (1/2) - 2 21.01.2016 23:20:22 Fehler Fehler beim Ausführen des Scripts H:\onAir\mAirlist\script\hotButtons\hot_1.mls: [Error] (14:57): Invalid number of parameters

Mein v4 Script war wie folgt:

[code]var
pi: IFilePlaylistItem;
device: IPlaybackDevice;

begin
pi := Factory.CreateFilePlaylistItem(‘[…]\sfx\buttons\hot_2.mp3’, [fitMMD, fitTags]);
device := Instance.GetDeviceConfig.GetPlaybackDevice(‘Cartwall’);

CurrentPlaybackControl.PlayItemDetached(pi, device);
end.[/code]

umgebaut ist es nun so (dachte ich zumindest):

[code]var
pItem : IFilePlaylistItem;
oDevice : IAudioDevice;
myFileName : String;
begin
myFileName := ‘[…]\sfx\buttons\hot_1.mp3’;

{
oDevice := Instance.GetDeviceConfig.GetPlaybackDevice(‘Cartwall’);
}
oDevice := Instance.GetPlaybackDevices.GetItem(4);
pItem := Factory.CreateFilePlaylistItem(myFileName, );

Systemlog(pItem.GetTitle() + ' - ' + oDevice.GetDisplayName() + ' - ' + IntToStr(CurrentPlaybackControl.GetPlayerCount));
CurrentPlaybackControl.PlayItemDetached(pItem, oDevice);

end.[/code]

Das funktioniert leider nicht wie gedacht… Zeile 1vom ersten Code zeigt das Script OHNE PlayItemDetached(…) und Zeile 2 mit. Mir ist ebenfalls aufgefallen das GetPlaybackDevice(‘Cartwall’) scheinbar ein falsches (in meinem Fall das PFL-Device) ausgibt (Cartwall ist im onAir-Modus) zurückgibt. Bug oder Script falsch umgearbeitet?

Wie kriege ich die Buttons unter v5 wieder ans rennen?

Wird per RUNSCRIPT aufgerufen / per Fernsteuerung.

Mairlist v5.2 HS

PlayItemDetached erwartet als dritten Parameter jetzt die Liste der Audiogeräte für regionalisierte Inhalte (als IPlaybackDeviceList).

Wenn man keine Regionalisierung verwendet, könnte es ausreichen, einfach “nil” einzusetzen. Probier das mal aus.

Danke, schau ich mir später an - Könntest Du ggf. mal ne neue Scriptinghelp generieren? http://download.mairlist.com/mAirList/v5.2/scriptinghelp/ ist leer, die 5.1er hat die entsprechende Info leider nicht - ich hab ein Wust an Scripten von v2-4 den ich umarbeiten “darf”.

Wenn Du mir noch ein Feedback zur Frage/Feststellung bzgl. des Cartwall-Audio-Device (Instance.GetDeviceConfig.GetPlaybackDevice(‘Cartwall’); returns PFL-Device) geben könntest, wäre das perfekt :wink:

Die CHM-Datei ist tatsächlich nicht auf dem neuesten Stand. Der Parameter ist erst im Laufe der v5.1 dazugekommen.

Bei der Cartwall gibt es nun die Geräte “Cartwall_OnAir” und “Cartwall_PFL”.

Like a charm! - Danke Dir.

Fertige Script für andere mit ähnlichem Problem:

[code]var
pItem : IFilePlaylistItem;
oDevice : IPlaybackDevice;
myFileName : String;

begin
myFileName := ‘H:\onAir\mAirlist\sfx\buttons\hot_1.mp3’;

pItem := Factory.CreateFilePlaylistItem(myFileName, [fitMMD, fitTags]);
oDevice := Instance.GetDeviceConfig.GetPlaybackDevice(‘Cartwall_OnAir’);

CurrentPlaybackControl.PlayItemDetached(pItem, oDevice, nil);
end.[/code]