PAL script starten/stoppen via een ander PAL script

Voor vragen over Playlist Automation Language.
Plaats reactie
pvmeegen

PAL script starten/stoppen via een ander PAL script

Ongelezen bericht door pvmeegen »

Is het mogelijk om vanuit een palscript een ander palscript te starten en/of te stoppen?
Helaas is het niet mogelijk om via de event scheduler een palscript te stoppen.

Ik ben bekend met de commands PAL.loop:=false/true
Echter heb ik een script lopen die in de loop moet blijven, dus wil ik met een ander script het betreffende script gaan aansturen die dan weer via de scheduler wordt gestart.

Code: Selecteer alles

PAL.Loop :=false;
const StartTime = '20:00:00';
const EndTime = '22:00:00';

PAL.WaitForTime(StartTime);
PAL.Start  mijnscript.PAL;

PAL.WaitForTime(EndTime);
PAL.Stop  mijnscript.PAL;
Nu krijg ik bij de opdrachten PAL.Start en PAL.Stop een error.

----

Nu werk ik ook met AutoShell om externe scripts te runnen, dat werkt allemaal prima.
Is het eventueel mogelijk om via de opdrachtregel (cdm.exe) een commando uit sturen naar sam dat een PAL script gestart danwel gestopt moet worden?

Ohw jah, wellicht ook handig te weten, ik werk (nog steeds) met sam 4.2.2
Gebruikersavatar
Wout
Beheerder
Berichten: 3505
Lid geworden op: 03 dec 2007, 14:17
SAM-versie: 2019.3
Database: MariaDB
Windows: 11
Locatie: West-Brabant
Contacteer:

Re: PAL script starten/stoppen via een ander PAL script

Ongelezen bericht door Wout »

Je kan met de volgende commando in PAL een ander script starten.

Code: Selecteer alles

{$I 'C:\test\test.PAL'}
Afbeelding
pvmeegen

Re: PAL script starten/stoppen via een ander PAL script

Ongelezen bericht door pvmeegen »

Thnx voor de tip Wout, ik ben er mee aan de slag gegaan maar stuit nog op wellicht een klein probleem.
Als eerst heb ik een show_dj1.PAL gemaakt, deze wordt om 19:59 gestart vanuit de scheduler.
Als tweede een check_stream_dj1.PAL gemaakt, deze wordt geladen via de {$I '....'} uit show_dj1.PAL

Nu gaat het begin prima, maar zodra check_stream_dj1.PAL opnieuw zou moeten beginnen dan gaat het mis.

Ik heb beide scriptjes hier onder;


show_dj1.PAL

Code: Selecteer alles

PAL.Loop :=false;
const StartTime = '20:00:00';
const EndTime = '22:00:00';

PAL.WaitForTime(StartTime);
{$I 'D:\PAL\check_stream_dj1.PAL'}

PAL.WaitForTime(EndTime);
check_stream_dj1.PAL

Code: Selecteer alles

PAL.Loop:=True;
var I : Integer;
var SongA : TsongInfo;
SongA := Activeplayer.GetSonginfo();
PAL.LockExecution;
I := 0 ;
begin;
    WriteStr('Relay number '); WriteLn(I);
    WriteStr('--Active: '); WriteLn(Relays[I].Active);
  end;
PAL.UnlockExecution;
If Relays[I].Active = False or (SongA['songtype'] = 'C') then
Else
Queue.AddUrl('http://192.168.178.12:8001/Live_DJ1',ipTop); 
PAL.WaitForTime(T['+00:00:05']); 
If Relays[I].Active = False or (SongA['songtype'] = 'C') then
Else
PAL.WaitForPlayCount(1); 
If Relays[I].Active = False or (SongA['songtype'] = 'C') then
Else
PAL.WaitForPlayCount(1); 
SongA.Free;
PAL.WaitForTime(T['+00:00:05']); 
PAL.LockExecution;
Zodra de het script check_stream_dj1.PAL aan het einde is gekomen gaat show_dj1.PAL netjes naar de PAL.WaitForTime(EndTime), echter is dan check_stream_dj1.PAL niet meer actief in de loop zoals wel aangegeven.

Wat doe ik hier mis? of wil ik hiermee de spreekwoordelijke kers op de taart :D :D
Gebruikersavatar
Borg
Beheerder
Berichten: 487
Lid geworden op: 25 jun 2006, 16:54
SAM-versie: 2.8.0.
Database: MySQL
Windows: 10
Locatie: Het Westland
Contacteer:

Re: PAL script starten/stoppen via een ander PAL script

Ongelezen bericht door Borg »

Oude post maar zoek hetzelfde..

Ik zou graag een PAL script hebben wat onze weekplanning PAL stopt en vervolgens weer opstart. Een soort reboot dus.

In onze weekplanning worden dropbox bestanden geladen maar het lijkt erop dat na verloop van enige tijd dit niet lekker loopt totdat ik het script handmatig stop en weer start.

Jos
ʎɐqǝ uo pɹɐoqʎǝʞ ɐ ʎnq ı ǝɯıʇ ʇsɐן ǝɥʇ sı sıɥʇ
Plaats reactie
  • Vergelijkbare Onderwerpen
    Reacties
    Weergaves
    Laatste bericht