folgendes problem seit neuem snapshot:
wenn ich einen player über midi starte kommt eine fehlermeldung im systemlog, wenn der player stoppt soll er ein midi signal senden, macht er seit dem letzten snapshot nicht mehr.
systemlog mit den fehlermeldungen ist im anhang.
ps habe dann wieder auf 3.1.1 zurückgegriffen, da funkt. alles ! , brauchst du auch meine scripts die ich beim playerstop verwende?
Nimm mal bitte den Build 795 (gerade hochgeladen) und schalte in der Konfiguration unter Verschiedenes -> Optionen den Debug-Modus ein. Danach sollte dann bei den Fehlermeldungen zusätzlich der Dialog aufgehen, über den du einen detaillierten Bugreport schicken kannst. Das bitte machen.
Die Scripts zu sehen wäre sicherlich auch hilfreich.
Eine der Änderungen in den neuesten Snapshots ist es, dass die Scripts im Hintergrund (in einem anderen Thread) ausgeführt werden. Vielleicht liegt da das Problem, weil dein Script irgendwas macht, was damit nicht kompatibel ist. Du könntest parallel mal probieren, in der scripting.ini im Abschnitt “NotificationScripts” die Zeile
Threading=off
einzufügen. Wenn es dann wieder geht, liegt es definitiv am Threading.
Eine der Änderungen in den neuesten Snapshots ist es, dass die Scripts im Hintergrund (in einem anderen Thread) ausgeführt werden. Vielleicht liegt da das Problem, weil dein Script irgendwas macht, was damit nicht kompatibel ist. Du könntest parallel mal probieren, in der scripting.ini im Abschnitt "NotificationScripts" die Zeile
Code:
Threading=off
einzufügen. Wenn es dann wieder geht, liegt es definitiv am Threading.
habe ich gemacht, ändert sich leider nichts. ( im anhang )
habe den debug modus aktiviert, leider kein zusätzlicher dialog vorhanden.
Die Einstellung gehört in einen zusätzlichen Abschnitt “NotificationScripts”:
[NotificationScripts]
Threading=off
Ohne dein Scripts zu sehen kann ich jetzt wenig mehr dazu sagen. Finde bitte vorher mal heraus, an welchem der vielen Scripts es liegt, und poste nur das.
PS habe noch herausgefunden, dass mairlist bei diesem script:
[code]procedure OnPlayerStop(PlaylistIndex: integer; PlayerIndex: integer; Duration: TTimeValue);
begin
if (PlayerIndex=0) and (PlayList(0).GetPlayer(0).GetState <> psPaused) then begin
MidiOut ( 03, 176, 73, 00 ) ;
end;
if (PlayerIndex=1) and (PlayList(0).GetPlayer(1).GetState <> psPaused) then begin
MidiOut ( 03, 176, 74, 00 ) ;
end;
end;
begin
end.[/code]
folgende fehlermeldung ins systemlog schreibt, wenn ich den player pausiere:
2010-09-13 15:15:22 Fehler PLAYERCONTROL_STOP 14B8FD690193590F ? 0000 0000 0117271D <?xml version="1.0" encoding="utf-8"?>Manfred Mann5-4-3-2-1Music118883262613.09.2010 15:15:20mAirListDB:5EFC3331F145A8AF95E4CFF7871F518D2118GenreNew AgeG:\Michael\Privat\Musik\musik1\oldies\NEU\Greatest Hits Of The 60s 2\14 - 5-4-3-2-1 - Manfred Mann.mp3 List index out of bounds (4635649)
bei diesem script sendet mairlist nur ein midi signal wenn der player stoppt und nicht pausiert.
Dadurch verschluckt sich mAirList, und der List Index Out Of Bounds Fehler tritt auf.
Den Parameter gibt es schon seit Version 3.0.13, sowohl bei OnPlayerStart als auch OnPlayerStop. Schau also noch einmal deine Scripts durch, ob er überall vorhanden ist. Dass bislang keine Fehler deswegen aufgetreten sind ist wohl eher Zufall gewesen.
Wegen dem Threading, ich werde in den kommenden Build noch ein paar Verbesserungen des MIDI-Codes einbauen. Vielleicht kann man es dann wieder aktivieren.