musikinformatik-wise-24.org
Erklärung des Beispiels
- Die Zeile
(defparameter *slider1* (make-ref 1.0))definiert einen Parameter*slider1*, der den Referenzwert des Sliders auf der Clamps Seite enthält. Er wird mit mit einer cl-refs Referenzzelle mit dem Wert 0.0 initialisiert. slider-guidefiniert eine Browserseite. Das Argumentbodyist ein Symbol, das den body der Seite referenziert, der bei Aufruf der Funktion von Clog automatisch übergeben wird.– In der ersten Zeile der Definition von #'slider-gui wird der Titel der Seite im Browser auf "Slider" gesetzt1.
– Der Funktionsaufruf von
#'create-o-sliderdefiniert einen Slider. Das erste Argument dieser Funktion enthält den Ort, wo der Slider angelegt werden soll (in diesem Fall der body der Seite). Das zweite Argument bindet mit Hilfe der Funktion#'bind-refs-to-attributesReferenzzellen der Clamps Seite an Attribute des HTML Elements des Guis. In dem Beispiel wird das zuvor definierte*slider1*an das"value"Attribut des Sliders gebunden. Diese Verbindung ist bidirektional: Eine Veränderung durch Mausinteraktion im Gui führt automatisch zu einer synchronen Veränderung des Wertes von*slider1*und ein Setzen des Wertes von*slider1*mit der Funktion#'set-valueführt automatisch zu einem Update im Gui2.Die übrigen Argumente von
#'create-o-sliderdetzen den Minimal- und Maximalwert des Sliders, seine Orientierung und Layouteigenschaften mit Hilfe des :css Keywords.
Fußnoten:
#'html-document und title sind Funktionen von Clog, die
-entsprechend Ihrem Namen- das html-dokument der Seite, bzw. deren
Titel referenzieren. Für eine detailliertere Darstellung siehe die
Dokumentation von Clog.
Für eine ausführlichere Einführung in Referenzzellen siehe das Kapitel Misc Packages/cl-refs in der Clamps Dokumentation (nach Starten von Clamps unter http://localhost:8282/clamps/index.html erreichbar).
Created: 2025-02-12 Mi 20:35