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