um bei mir den Fehler einzugrenzen bin ich wie folgt vorgegangen und habe nach jedem Schritt getestet.
Zusätzliche Sicherung von Mairlist komplett aus beiden Ordnern Programfiles und ProgramData.
Deaktivierung aller Hintergrundskripte. Ausser das, um den Talktimer blinken zu lassen.
Deaktivierung aller Aktionen nach Programmstart, wo ich ein Skript mit startete.
Prüfen von vergebenen ID’s (TALKTIMER und BUTTON.TALK). Gegebenenfalls korrigieren.
Anderes GUI Objekt testen mit den richtigen ID’s.
Andere und ältere Mairlistversionen getestet.
Frisches Mairlist als Standardkonfiguration (wie neu ohne meine Änderungen und Designanpassungen).
Als bei einer Cleaninstallation das mit dem blinkenden Button ging, habe ich diese genommen und in den Konfigurationsordner nur meine Änderungen (Konfigurationsdatei, Datenbank, ini-Dateien für Layout und Scripte) zurück kopiert.
Habe das entsprechende GUI-Objekt, was blinken sollte noch einmal neu erstellt und alles ging.
War zwar ein sehr großer Aufwand, aber das Endergebnis zählt.
Vielleicht hätte ich es gleich an einer Cleaninstallation testen sollen, aber hinterher ist man immer schlauer.
Guten Morgen zusammen,
als erstes vielen Dank an Euch für die Zahlreichen Tipps und Hilfestellungen.
BTW @NickTheRipper andere Hintergrundscripte die ggf. dazwschen funken könnten nutze ich nicht, lediglich Tastenkombis zum Steuern der Player und Cartwall, daran kanns also nicht liegen.
Ich bin dem Tipp von Nick gefolgt, habe alles gesichert, neuinstalliert und nur das Script und die dementsprechenden Bildschirmobjekte erstellt und verlinkt. Leider wieder ohne Erfolg bzw. so wie oben und mehrfach beschrieben.
Aktiviere ich den Talktimer über die Mic Taste und das Script läuft minimum oder länger als 90 Sekunden erledigt er problemlos seinen Job, ich stoppe den Talktimer über die Mic-Taste und die Meldung verschwindet. Funktioniert also in dem Punkt tadellos.
Allerdings redet man ja nicht immer genau oder länger als 90 Sekunden, für diesen Fall aktiviere ich natürlich genauso den Talktimer über den Mic-Botton und stoppe den Talktimer durch erneutes drücken der MIC-Taste innerhalb bzw. vor Ablauf der 90 Sekunden, z.B. nach 45 Sekunden, dann läuft das Script einfach weiter und gibt mir nach Ablauf der restlichen 45 Sekunden die Meldung Talktime Over
Wenn ich das Script über die Konfiguration - Hintergrundscripte einbinde nimmt das Programm das Script an, benutze ich den Script-Import über Script ausführen bekomme ich die Fehlermeldung die auch Nick hatte.
Getestet habe ich das mit den Versionen:
Version 6.3.6 Build 4382
Version 6.3.8 Build 4403
Ich gebs nun auf, wie gesagt es ist ein Nice to Have, kein Must Have
ich habe mal versucht das Problem von @MrBeat nachzustellen und es ist mir gelungen.
Im Skript reduzierte ich einmal die Zeit von 90 Sekunden auf 5 Sekunden. Danach aktivierte ich das Mikrofon und zog den Regler bei 3 Sekunden wieder zu. Tatsächlich beginnt dann der Button nach einigen Sekunden an zu blinken. Erreicht man Overtime (5 Sekunden) und zieht dann den Mikrofonregler runter, dann läuft alles super.
Sprich zieht man den Regler vor erreichen der angegebenen Zeit wieder nach unten, dann stoppt zwar der Talktimer, aber der Overtimebutton fängt trotzdem nach der abgelaufenen Overtime an zu blinken.
Ich habe nun schon einige Sachen versucht im Skript anzupassen, aber ich habe noch nicht das Problem beseitigen können.
Wir alle haben offenbar nur geprüft (bzw. ich), ob Overtime funktioniert und das geht ohne Probleme.
@MrBeat
Sorry, ich hatte Dich offenbar erst nicht richtig verstanden und nach Deiner letzten Beschreibung habe ich es noch einmal bei mir getestet und kann es nun auch nachvollziehen.
Welches Skript hattest Du zunächst ausprobiert? Das erste, was ich gepostet hatte oder das zweite? Das zweite ist nur für Leute ohne Pult, die den Mikrofoneingang des Encoders benutzen. Das dritte ist eine Abwandlung des zweiten.
ist das nicht das identische Skript von davor, denn der Button Overtime blinkt damit auch nicht?
Ich habe mal beide Skripte bei mir nebeneinander verglichen, um zu sehen was Du geändert hast und ich kann keinen Unterschied finden.
ich habe mir mal angeschaut, was Du zu Version 2 geändert hast und das dann auf das aller erste Skript (Mischpult Variante) angepaßt. Es läuft nun auch, wenn man das Mikrofon vor erreichen von Overtime herunter zieht.
Hier die von mir angepasste Variante. Vielen Dank für Deine Geduld.
const
TALK_TIME = 90; // Zeit in Sekunden bis zur Warnung
BUTTON_NAME = 'BUTTON.TALK'; // Name des statischen Textes
BCOLOR_ON = '#FF0000'; // Hintergrundfarbe "an"
BCOLOR_OFF = '#F0F0F0'; // Hintergrundfarbe "aus"
FCOLOR_ON = '#F7F8E0'; // Schriftfarbe "an"
FCOLOR_OFF = '#848484'; // Schriftfarbe "aus"
var
TalktimerOn, ButtonStatus: boolean;
procedure ButtonOn;
begin
ExecuteCommand(BUTTON_NAME + ' FONTCOLOR ' + FCOLOR_ON);
ExecuteCommand(BUTTON_NAME + ' BACKGROUNDCOLOR ' + BCOLOR_ON);
ButtonStatus := true;
end;
procedure ButtonOff;
begin
ExecuteCommand(BUTTON_NAME + ' FONTCOLOR ' + FCOLOR_OFF);
ExecuteCommand(BUTTON_NAME + ' BACKGROUNDCOLOR ' + BCOLOR_OFF);
ButtonStatus := false;
end;
procedure ButtonFlash;
begin
EnableTimerEx('Flash', 750);
end;
procedure ButtonStop;
begin
DisableTimerEx('Flash');
ButtonOff;
end;
procedure OnLoad;
begin
TalktimerOn := false;
ButtonOff;
end;
procedure OnTimerEx(ID: string);
begin
if ID = 'Time' then
begin
ButtonFlash;
DisableTimerEx('Time');
end;
if ID = 'Flash' then
begin
if ButtonStatus then
ButtonOff
else
ButtonOn;
end;
end;
procedure OnExecuteCommand(Command: string);
begin
if (copy (Command, 1, 15) = 'TALKTIMER START')
AND NOT TalktimerOn then
begin
if TALK_TIME > 0 then
begin
TalktimerOn := true;
EnableTimerEx('Time', TALK_TIME * 1000);
end;
end
else if ((copy (Command, 1, 15) = 'TALKTIMER START')
OR (Command = 'TALKTIMER STOP'))
AND TalktimerOn then
begin
TalktimerOn := false;
DisableTimerEx('Time');
ButtonStop;
end;
end;
begin
end.
wenn Du ohne Mischpult arbeitest dann das letzte von Tondose. Wenn Du mit Mischpult arbeitest, dann das letzte von mir korrigierte Skript.
Tondose ist mit Skripten super fit, da komme ich leider noch nicht hinterher, aber ich lerne immer wieder dazu und verstehe auch so einige Umsetzungen und Skripte anzupassen. Ich versuche mich da immer wieder dran. Es kann ja nichts kaputt gehen. Vor allem ist Tondose da auch immer sehr hilfsbereit und geduldig.
Beide Scripte, bei @Tondose seinem Script steuere ich es ohne den Hotkey der Tastatur TALKTIMER STAR/STOP an und bei @NickTheRipper seinem mit dem genannten Hotkey über die Tastatur.
Siehe Screens:
Bild 1: Ablauf der Talktime nach 90 Sekunden
Bild 2: Beginn der Talktime für 8 Sekunden
Bild 3: Deutlich über der Zeit nach abschalten des Talktimers.
Falls Du mich meinst, Nein sind sie nicht und ich mache das ja für mich und nicht für die anderen davon ab, den Button Redezeit vorbei oder Sprechzeit überschritten zu nennen ist auch doof.