Skip to content

Instantly share code, notes, and snippets.

@mds2
Created February 27, 2015 02:08
Show Gist options
  • Save mds2/dc1f3d8fad369c514796 to your computer and use it in GitHub Desktop.
Save mds2/dc1f3d8fad369c514796 to your computer and use it in GitHub Desktop.
Single page networked sound server
(ns sound-sample-server (:import
(java.net InetAddress
DatagramPacket
DatagramSocket)))
(use 'overtone.core)
(boot-server)
(defn make-udp-trigger [sound-file port]
(.start
(Thread.
(fn []
(let [samp (sample sound-file)
udp-server (ref nil)]
(do
(dosync (ref-set udp-server (DatagramSocket. port)))
(while true (do
(let [orig-packet (new DatagramPacket
(byte-array 1024) 1024)]
(.receive @udp-server orig-packet)
(samp)
(println (new String (.getData orig-packet)
"UTF-8")))))
))))))
; example (make-udp-trigger "sound_effect.wav" 6666)
; example (make-udp-trigger "fifths_melody.wav" 6668)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment