Haunt skelet + watcher!
commit
a2432ceec7
|
@ -0,0 +1 @@
|
||||||
|
site/
|
|
@ -0,0 +1,7 @@
|
||||||
|
.glavna-navigacija ul {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
}
|
||||||
|
.glavna-navigacija ul li:not(:first-child) {
|
||||||
|
margin-left: 2rem;
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
(use-modules (haunt asset)
|
||||||
|
(haunt builder blog)
|
||||||
|
(haunt builder atom)
|
||||||
|
(haunt builder assets)
|
||||||
|
(haunt reader commonmark)
|
||||||
|
(haunt site)
|
||||||
|
(kreten theme))
|
||||||
|
|
||||||
|
|
||||||
|
(site #:title "kreten.si"
|
||||||
|
#:domain "kreten.si"
|
||||||
|
#:default-metadata
|
||||||
|
'((author . "Jurij")
|
||||||
|
(email . "jurij@kompot.si"))
|
||||||
|
#:posts-directory "stvari"
|
||||||
|
#:readers (list commonmark-reader)
|
||||||
|
#:builders (list (blog #:theme kreten-theme)
|
||||||
|
(atom-feed)
|
||||||
|
(atom-feeds-by-tag)
|
||||||
|
(static-directory "slike")
|
||||||
|
(static-directory "css")))
|
|
@ -0,0 +1,25 @@
|
||||||
|
(define-module (kreten templates)
|
||||||
|
#:use-module (haunt site)
|
||||||
|
#:export (base-tmpl))
|
||||||
|
|
||||||
|
(define* (base-tmpl site body #:key title)
|
||||||
|
`((doctype "html")
|
||||||
|
(html
|
||||||
|
(head
|
||||||
|
(meta (@ (charset "utf-8")))
|
||||||
|
(title ,(if title
|
||||||
|
(string-append title " [" (site-title site) "]")))
|
||||||
|
(link (@ (rel "stylesheet")
|
||||||
|
(type "text/css")
|
||||||
|
(href "css/stil.css"))))
|
||||||
|
(body
|
||||||
|
(article
|
||||||
|
(header
|
||||||
|
(h1 (a (@ (href "/"))
|
||||||
|
(site-title site)))
|
||||||
|
(nav (@ (class "glavna-navigacija"))
|
||||||
|
(ul
|
||||||
|
(li "Zadnje objave")
|
||||||
|
(li "Projekti")
|
||||||
|
(li "Razno"))))
|
||||||
|
,body)))))
|
|
@ -0,0 +1,16 @@
|
||||||
|
(define-module (kreten theme)
|
||||||
|
#:use-module (kreten templates)
|
||||||
|
#:use-module (haunt builder blog)
|
||||||
|
#:export (kreten-theme))
|
||||||
|
|
||||||
|
(define kreten-theme
|
||||||
|
(theme #:name "kreten.si"
|
||||||
|
#:layout
|
||||||
|
(lambda (site title body)
|
||||||
|
(base-tmpl
|
||||||
|
site body
|
||||||
|
#:title title))
|
||||||
|
;; #:post-template post-tmpl
|
||||||
|
;; #:collection-template collection-tmpl
|
||||||
|
;; #:pagination-template pagination-tmpl
|
||||||
|
))
|
|
@ -0,0 +1,37 @@
|
||||||
|
title: wavey wind // plesni podaljšek
|
||||||
|
date: 2021-08-08 23:22
|
||||||
|
tags: projekt,pifcamp,ljudmila
|
||||||
|
summary: OSC controlled visual (used with motion controller)
|
||||||
|
---
|
||||||
|
|
||||||
|
# Wavey Wind, the Modul-air Mitt
|
||||||
|
|
||||||
|
Using an ESP32 microcontroller with wifi and bluetooth capability, a gyroscope/accelerometer module and keyboards switches, I will be building an experimental low cost motion "glove" controller with a button for each finger.
|
||||||
|
|
||||||
|
The idea stems from an earlier abstract visualisation project which was intended to visualise music. After building the initial prototype and hooking it up with a touch user interface of sliders that modulate the visuals, I asked myself why should I make the program interpret music? We already do that when we listen and (can) react by dancing; using a motion sensor, the dancing can be "aplified" by turning bodily motions into shapes and colours projected on a surface.
|
||||||
|
|
||||||
|
Using the motion mitt, the operator of visuals doesn't have to get locked into a clumsy little touchscreen but can immerse in the experience of sound and video while co-creating it. A workshop will be held to build a number of gloves that can connect in an ad-hoc network, so that group of people could collaborate with them.
|
||||||
|
|
||||||
|
The glove(s) will send events via the open sound control protocol, opening the possibility to using using them for audio synthesis/modulation, or maybe even as a general interface.
|
||||||
|
|
||||||
|
"What Can a Body Do?"
|
||||||
|
|
||||||
|
# Gibalna rokavička ("Wavey Wind, the Modul-air Mitt")
|
||||||
|
|
||||||
|
Z ESP32 mikrokontrolerjem, ki omogoča wifi in bluetooth povezljivost, modulom z žiroskopom in pospeškomerjem ter tipkovničnimi stikali bom izdelal eksperimentalni nizkocenovni gibalni vmesnik z gumbom za vsak prst.
|
||||||
|
|
||||||
|
Ideja izhaja iz zgodnješega projekta abstraktne vizualizacije, ki naj bi odsevala glasbo. Po izgradnji zgodnjega prototipa z vmesnikom na drsnikov na dotik, ki modulirajo prikaz, sem se vprašal zakaj bi program interpretiral glasbo? To namreč počnemo že mi, na poslušanje (lahko) odreagiramo s plesom, gibalni senzor pa bi lahko telesne gibe "ojačal" v oblike in barve, projecirane na površino.
|
||||||
|
|
||||||
|
Z gibalno rokvičko se opravljalka_ec vizualij lahko izogne ujetosti v neroden zaslon na dotitk in potopi raje v izkušnjo zvoka in videa med soustvarjanjem le-te. Organizirana bo tudi delavnica za izgradnjo večih rokavičk, ki se lahko med sabo povežejo v ad-hoc mrežo, kar skupini ljudi omogoči sodelovanje.
|
||||||
|
|
||||||
|
Rokavica oz. rokavice bodo pošiljale podatke preko OSC (open sound control) protokola, kar odpira tudi možnost rabe za zvočno sintezo/modulacijo ali celo kot splošni vmesnik.
|
||||||
|
|
||||||
|
"Kaj zmore telo?"
|
||||||
|
|
||||||
|
# Izvorna koda / materiali
|
||||||
|
https://git.kompot.si/g1smo/wavey-wind
|
||||||
|
https://git.kompot.si/g1smo/pifcamp-2021
|
||||||
|
|
||||||
|
# Predhodnik
|
||||||
|
|
||||||
|
[Cancerain](projekti/cancerain.html)
|
|
@ -0,0 +1,13 @@
|
||||||
|
title: NE TI SI bil
|
||||||
|
date: 2022-06-26 21:56
|
||||||
|
tags: meta
|
||||||
|
summary: nova spletna stran
|
||||||
|
---
|
||||||
|
|
||||||
|
# NE TI SI bil
|
||||||
|
|
||||||
|
Ta spletna stran, grajena s [hauntom](https://dthompson.us/projects/haunt.html) v [guile schemu](https://www.gnu.org/software/guile/).
|
||||||
|
|
||||||
|
## vir
|
||||||
|
|
||||||
|
https://git.kompot.si/g1smo/bil
|
|
@ -0,0 +1,37 @@
|
||||||
|
title: wavey wind // plesni podaljšek
|
||||||
|
date: 2021-08-08 23:22
|
||||||
|
tags: projekt,pifcamp,ljudmila
|
||||||
|
summary: OSC controlled visual (used with motion controller)
|
||||||
|
---
|
||||||
|
|
||||||
|
# Wavey Wind, the Modul-air Mitt
|
||||||
|
|
||||||
|
Using an ESP32 microcontroller with wifi and bluetooth capability, a gyroscope/accelerometer module and keyboards switches, I will be building an experimental low cost motion "glove" controller with a button for each finger.
|
||||||
|
|
||||||
|
The idea stems from an earlier abstract visualisation project which was intended to visualise music. After building the initial prototype and hooking it up with a touch user interface of sliders that modulate the visuals, I asked myself why should I make the program interpret music? We already do that when we listen and (can) react by dancing; using a motion sensor, the dancing can be "aplified" by turning bodily motions into shapes and colours projected on a surface.
|
||||||
|
|
||||||
|
Using the motion mitt, the operator of visuals doesn't have to get locked into a clumsy little touchscreen but can immerse in the experience of sound and video while co-creating it. A workshop will be held to build a number of gloves that can connect in an ad-hoc network, so that group of people could collaborate with them.
|
||||||
|
|
||||||
|
The glove(s) will send events via the open sound control protocol, opening the possibility to using using them for audio synthesis/modulation, or maybe even as a general interface.
|
||||||
|
|
||||||
|
"What Can a Body Do?"
|
||||||
|
|
||||||
|
# Gibalna rokavička ("Wavey Wind, the Modul-air Mitt")
|
||||||
|
|
||||||
|
Z ESP32 mikrokontrolerjem, ki omogoča wifi in bluetooth povezljivost, modulom z žiroskopom in pospeškomerjem ter tipkovničnimi stikali bom izdelal eksperimentalni nizkocenovni gibalni vmesnik z gumbom za vsak prst.
|
||||||
|
|
||||||
|
Ideja izhaja iz zgodnješega projekta abstraktne vizualizacije, ki naj bi odsevala glasbo. Po izgradnji zgodnjega prototipa z vmesnikom na drsnikov na dotik, ki modulirajo prikaz, sem se vprašal zakaj bi program interpretiral glasbo? To namreč počnemo že mi, na poslušanje (lahko) odreagiramo s plesom, gibalni senzor pa bi lahko telesne gibe "ojačal" v oblike in barve, projecirane na površino.
|
||||||
|
|
||||||
|
Z gibalno rokvičko se opravljalka_ec vizualij lahko izogne ujetosti v neroden zaslon na dotitk in potopi raje v izkušnjo zvoka in videa med soustvarjanjem le-te. Organizirana bo tudi delavnica za izgradnjo večih rokavičk, ki se lahko med sabo povežejo v ad-hoc mrežo, kar skupini ljudi omogoči sodelovanje.
|
||||||
|
|
||||||
|
Rokavica oz. rokavice bodo pošiljale podatke preko OSC (open sound control) protokola, kar odpira tudi možnost rabe za zvočno sintezo/modulacijo ali celo kot splošni vmesnik.
|
||||||
|
|
||||||
|
"Kaj zmore telo?"
|
||||||
|
|
||||||
|
# Izvorna koda / materiali
|
||||||
|
https://git.kompot.si/g1smo/wavey-wind
|
||||||
|
https://git.kompot.si/g1smo/pifcamp-2021
|
||||||
|
|
||||||
|
# Predhodnik
|
||||||
|
|
||||||
|
[Cancerain](projekti/cancerain.html)
|
|
@ -0,0 +1,66 @@
|
||||||
|
(use-modules (ice-9 ftw)
|
||||||
|
(ice-9 match)
|
||||||
|
(srfi srfi-1))
|
||||||
|
|
||||||
|
;; Hello threading macro!
|
||||||
|
(define-syntax ->>
|
||||||
|
(syntax-rules ()
|
||||||
|
((->> value)
|
||||||
|
value)
|
||||||
|
((->> value (fn args ...) rest ...)
|
||||||
|
(->> (fn args ... value) rest ...))
|
||||||
|
((->> value fn rest ...)
|
||||||
|
(->> (fn value) rest ...))))
|
||||||
|
|
||||||
|
(define
|
||||||
|
(zlistaj name stat . children)
|
||||||
|
(list
|
||||||
|
(string->symbol name)
|
||||||
|
(stat:mtime stat)
|
||||||
|
(->> children
|
||||||
|
(fold
|
||||||
|
(lambda (kos vsi-kosi)
|
||||||
|
(let* ((cname (list-ref kos 0))
|
||||||
|
(polno-ime (string-append name "/" cname))
|
||||||
|
(ignoriran (hash-ref ignoriraj polno-ime)))
|
||||||
|
(if (not ignoriran)
|
||||||
|
(append (apply zlistaj
|
||||||
|
(append (list polno-ime)
|
||||||
|
(drop kos 1)))
|
||||||
|
vsi-kosi)
|
||||||
|
vsi-kosi)))
|
||||||
|
'()))))
|
||||||
|
|
||||||
|
(define stari-fajli '())
|
||||||
|
|
||||||
|
(define ignoriraj (make-hash-table))
|
||||||
|
(hash-set! ignoriraj "./site" #t)
|
||||||
|
(hash-set! ignoriraj "./.git" #t)
|
||||||
|
(hash-set! ignoriraj "." #t)
|
||||||
|
|
||||||
|
(define (list-eq? list1 list2)
|
||||||
|
(if (list? list1)
|
||||||
|
(fold (lambda (kos1 kos2 vsi-kosi)
|
||||||
|
(and (list-eq? kos1 kos2)
|
||||||
|
vsi-kosi))
|
||||||
|
#t
|
||||||
|
list1
|
||||||
|
list2)
|
||||||
|
(eq? list1 list2)))
|
||||||
|
|
||||||
|
(define (pregleduj-in-izgradi)
|
||||||
|
(let* ((vse (file-system-tree "." (lambda (name stat)
|
||||||
|
(not (hash-ref ignoriraj (string->symbol name))))))
|
||||||
|
(fajli (list-ref (apply zlistaj vse) 2))) ;; "." folder ignoriramo ker se spremeni pri buildu
|
||||||
|
(if (list-eq? fajli stari-fajli)
|
||||||
|
#:nil
|
||||||
|
(begin
|
||||||
|
(display "Sprememba!\n")
|
||||||
|
(if (> (length stari-fajli) 0)
|
||||||
|
(system "haunt build")
|
||||||
|
#:nil)))
|
||||||
|
(set! stari-fajli fajli)
|
||||||
|
(sleep 1)
|
||||||
|
(pregleduj-in-izgradi)))
|
||||||
|
|
||||||
|
(pregleduj-in-izgradi)
|
Loading…
Reference in New Issue