Ankündigung

Einklappen
Keine Ankündigung bisher.

[mmh] ChangeLog auf aktuellen Stand 1.0.99

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [mmh] ChangeLog auf aktuellen Stand 1.0.99

    Version 1.0.97:

    Bugfixes HS:
    • Engine startet auch bei fehlender DATAPOINT-Definiton
    • Logausgabe in korrektem Adressformat
    • Absturz bei aktivierter Debug-Ausgabe behoben


    Allgemeine Features:

    Neue, allgemeine Formatier-Befehle %& und %|:
    %&{Wert} - "ver-und'et" die voranstehende Integer-Zahl mit {Wert}. (Bit Maskierung)

    Beispiel: 100{%&15} -> 4

    %|{Wert} - "ver-oder't" die voranstehende Integer-Zahl mit {Wert}. (Bit Maskierung)

    Beispiel: 100{%|15} -> 111

    Die wird zB in dem Eventserver oder auch in den Mappings der Commandserver benötigt, um komplexe Protokolle bitweise zerlegen bzw maskieren zu können.


    Die Formatier-Befehle lassen sich jetzt in allen .csv's zusätzlich zur Match-Bedingung angeben

    ...;<8{%&15};...

    verknüpft den erhaltenen Wert mit &15 und wird nur dann eine Aktion auslösen, wenn das daraus entstehende Resultat <8 ist.

    Die Match-Bedingung ist nicht zwingend, d.h. ein
    ...;{%&15};...

    funktioniert auch.

    Der Parser unterstützt jetzt das Einbetten von 1-Byte Hex-Werten in die Kommandosequenz:

    <SYS><SETVOL=\0x0F></SYS> ist also gleichbedeutend mit <SYS><SETVOL=15></SYS>

    Gleiches gilt für die Match-Bedingung:

    ...;<\0x08{%&\0x0F};... entspricht ...;<8{%&15};...

    Version 1.0.98:

    Bugfixes:
    • - intern: Speicher-Handling des Parsers geändert (möglicher Fix für Thread-Überlauf)
    • - der additional send port hat bisher auf den Quell-Port des Clients +1 zurückgesendet, jetzt korrekt auf den in der PrefPane angezeigten Port.
    • - Button-Ansteuerung bei fehlender Actionsequenz in der Button .csv gefixt


    Änderungen:

    PrefPane: Lizenz-Agreement Button jetzt rechts unterhalb des Banners

    Neuerungen:

    Buttonleisten - neue Definition in der CONFIG-Sektion:
    SIZE;{Pixel}/AUTO - setzt die Buttonhöhe bzw. -breite auf {Pixel} bzw. 1/10 des Bildschirms (bei AUTO), default: AUTO

    Neue TV - Kommandos:
    GETFAV - liefert die aktuelle Favoritenliste
    SETFAV={Name} - aktiviert die Favoritenliste {Name}
    GETFAVLIST - liefert eine Liste aller Favoritenlisten
    GETALLFAVCHS={Name} - liefert eine Liste aller Kanäle der Favoritenliste {Name}



    Version 1.0.99:

    Neue Features:

    Buttonleisten:

    neuer Schalter in der Buttonleisten-csv:

    IMAGE;SCALE/CENTER/TOP/BOTTOM/LEFT/RIGHT
    legt die Position des Button-Bildes fest. SCALE skaliert auf Buttongröße (default)

    Neue SYS-Befehle:

    DISABLEBUTTON={Leiste},{Index} - schaltet einen Button ab, dieser ist dann nicht mehr klickbar und wird ausgegraut
    ENABLEBUTTON={Leiste},{Index} - reaktiviert einen Button, der zuvor abgeschaltet wurde

    Die automatische Bild-Skalierung kann nun abgeschaltet werden und Bilder in ihrer echten Größe unverändert dargestellt werden.

    Ab sofort sind Texte und Bilder in einem Button gleichzeitig möglich (bisher nur beim SWITCH-Buttontyp)

    Bugfix HOLD-Button: Die Zuordnung langer/kurzer Klick war nicht immer eindeutig.

    GUI allgemein:

    Neue SYS-Befehle:
    • HIDEMOUSE - versteckt den Mauszeiger - Mausklicks und -bewegungen funktionieren trotzdem
    • SHOWMOUSE - zeigt den Mauszeiger wieder
    • LOCKMOUSE - lähmt den Mauszeiger - Mausklicks funktionieren trotzdem
    • UNLOCKMOUSE - gibt den Mauszeiger wieder frei


    Wichtig: die obigen Befehle funktionieren nur dann, wenn die mmh-GUI die vorderste Applikation ist. Zwar wird bei jedem Maus-Kommando die mmh-GUI unsichtbar in den Vordergrund geholt, aber es ist theoretisch möglich, daß durch andere FRONT-Befehle bzw. einen Mausklick des Users eine andere Applikation in den Vordergrund geholt wird. Geschieht dies, funktioniert die Maus wieder wie gewohnt. Wird dann jedoch (z.B. durch den Aufruf einer Buttonleiste) irgendwann die GUI wieder in den Vordergrund geholt, stellt sich der konfigurierte Maus-Zustand wieder ein.
    Um zu verhindern, daß die GUI den Focus durch Mausaktionen verliert, stellt man entweder ein WINDOW bildschirmfüllend dar oder blockiert den Mauszeiger über einem GUI-Element (WINDOW bzw. Buttonleiste).


    PefPane:

    Bugfix: "hartes" Ausblenden der PrefPane bei Rückkehr zu den System-Einstellungen behoben

    Änderung Log-Fenster: das Logfenster überlappt jetzt nicht mehr die Fenstergrenzen des PrefPanes. Dafür gibt es unten links jetzt einen Button Expand/Collapse, der das Logfenster auf Wunsch vergrößert bzw. wieder verkleinert.

    Allgemeine Bugfixes:

    Snow Leopard (10.6): Der System-Sleep bei aktiviertem mmh geht jetzt genauso schnell wie unter Leopard.

    SYS-ENKEY funktioniert wieder.

    Allgemeine Änderungen:

    Das automatische Konvertieren von HEX-Werten in der Kommandosequenz wurde entfernt (Kollidierte mit Buttonlabels, die Steuerzeichen benötigen), stattdessen gibt es neue Formatier-Optionen:

    {%dec}
    wandelt einen Hex-Wert in den entsprechende Dezimalzahl um,

    Beispiel:
    <SYS><SETVOL=2F{%dec}></SYS> wird zu <SYS><SETVOL=47></SYS>


    {%ascii}
    wandelt eine Hex-Sequenz in ASCII-Zeichen um,

    Beispiel:
    <SYS><SAY=414243{%ascii}></SYS> wird zu <SYS><SAY=ABC></SYS>


    {%hex{Stellen}}
    wandelt eine Dezimalzahl oder eine ASCII-Sequenz in eine HEX-Zahl mit {Stellen} (nur bei Dezimalzahlen) um. {Stellen} ist optional.

    Beispiele:
    <SYS><SAY=15{%hex}></SYS> wird zu <SYS><SAY=F></SYS>
    <SYS><SAY=15{%hex4}></SYS> wird zu <SYS><SAY=000F></SYS>
    <SYS><SAY=A1BC{%hex}></SYS> wird zu <SYS><SAY=41314243></SYS>


    (mmh erkennt, daß das Argument nicht nur aus Ziffern besteht und wandelt daher alles in Zeichencodes um, in diesem Modus wird immer der komplette String umgewandelt, {Stellen} hat hier keinen Einfluß)

    Rechenoperationen:
    {%-{Wert}} - subtrahiert {Wert} vom Argument
    {%+{Wert}} - addiert{Wert} zum Argument
    {%/{Wert}} - dividiert das Argument durch {Wert} - ist {Wert} = 0 erfolgt keine Berechnung

    {%*{Wert}} - multipliziert das Argument mit {Wert}

    Die Zahl der Nachkommastellen des Resultats hängt von der Zahl der Nachkommastellen von {Wert} ab. Die Interne Berechnung erfolgt immer als Fliesskommazahl.

    Sämtliche Formatieroptionen lassen sich jetzt in einer {} zusammenfassen. Die Ausführung erfolgt von links nach rechts:

    Umfassendes Beispiel:

    <SYS><SETVOL=0A{%dec,%+30,%*2,%/4,%-3}></SYS> wird zu <SYS><SETVOL=17></SYS>


    0A wird in eine Dezimalzahl umgewandelt: 10
    10 + 30 = 40
    40 * 2 = 80
    80 / 4 = 20
    20 - 3 = 17

    Aber das ist nur etwas für Fortgeschrittene.. :-) und Thema in der Experts Schulung....

    ... schönes WE

    PS: aktuelle Command Liste für den Script Client habe ich noch nicht und kommt mit dem aktuellen Scriptclient in den nächsten Tagen.
    Angehängte Dateien
Lädt...
X