Eine Sekunde ist aber happig. Wenn der Ladevorgang zu lange dauert, dann müssen sie vorher geladen werden (
imho). Aber ich hab ja die Anwendung nicht vor mir, kann das also nur aus der Ferne (grob) beurteilen.
Du machst das schon.
Frohes Fest zurück.
Wir haben es nun so gelöst..
Ob das elegant ist mag dahingestellt sein
Code:
case Action.ActionType.ACTION_PAGE_UP:
{
var timeSpamVerif = DateTime.Now - _lastAction;
if (timeSpamVerif.TotalSeconds >= 2)
{
_validAction = true;
}
else
{
_validAction = false;
}
if (FullScreen && CurrentAudioStream != 0)
{
Log.Debug("BASS: Switch to Previous Vis");
if (_validAction)
{
_lastAction = DateTime.Now;
VizManager.GetPrevVis();
}
}
break;
}
case Action.ActionType.ACTION_PAGE_DOWN:
{
var timeSpamVerif = DateTime.Now - _lastAction;
if (timeSpamVerif.TotalSeconds >= 2)
{
_validAction = true;
}
else
{
_validAction = false;
}
if (FullScreen && CurrentAudioStream != 0)
{
Log.Info("BASS: Switch to Next Vis");
if (_validAction)
{
_lastAction = DateTime.Now;
VizManager.GetNextVis();
}
}
break;
}
wobei die 2 Sek. nicht variabel sind was wiederrum einen Deadlock auslösen könnte
wenn die Plugins zu schnell geändert werden da ich nur einen Thread zur Verfügung stelle.
Ist also Zeit abhängig und von PC zu PC unterschiedlich.
Hmmmm...
In der
IDE funktioniert es mit 1 Sekunde als Eigenständige Ausführung dann nicht mehr deshalb 2 Sek.
Aber auch das könnte zu Problemen führen.
Was gäbe es da noch für eine Möglichkeit.
Timer wollen die nicht warum auch immer...
Und auf Änderung bzw. addieren eines KeyUp Events wurde gemeckert.
Was eigentlich die eleganteste und richtige Lösung wäre da man dann gezwungen wäre diesen erst loszulassen
damit das nächste Plugin geladen wird.
gruss