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-gui
definiert eine Browserseite. Das Argumentbody
ist 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-slider
definiert 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-attributes
Referenzzellen 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-value
führt automatisch zu einem Update im Gui2.Die übrigen Argumente von
#'create-o-slider
detzen 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