Tehee
This commit is contained in:
2
.dir-locals.el
Normal file
2
.dir-locals.el
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
((nil . ((tidal-boot-script-path . "BootTidal.hs")
|
||||||
|
(tidal-interpreter . "tidal"))))
|
||||||
82
BootTidal.hs
Normal file
82
BootTidal.hs
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
:set -XOverloadedStrings
|
||||||
|
:set prompt ""
|
||||||
|
|
||||||
|
import Sound.Tidal.Context
|
||||||
|
|
||||||
|
import System.IO (hSetEncoding, stdout, utf8)
|
||||||
|
hSetEncoding stdout utf8
|
||||||
|
|
||||||
|
tidal <- startTidal (superdirtTarget {oLatency = 0.05, oAddress = "127.0.0.1", oPort = 57120}) (defaultConfig {cVerbose = True, cFrameTimespan = 1/20})
|
||||||
|
|
||||||
|
:{
|
||||||
|
let only = (hush >>)
|
||||||
|
p = streamReplace tidal
|
||||||
|
hush = streamHush tidal
|
||||||
|
panic = do hush
|
||||||
|
once $ sound "superpanic"
|
||||||
|
list = streamList tidal
|
||||||
|
mute = streamMute tidal
|
||||||
|
unmute = streamUnmute tidal
|
||||||
|
unmuteAll = streamUnmuteAll tidal
|
||||||
|
unsoloAll = streamUnsoloAll tidal
|
||||||
|
solo = streamSolo tidal
|
||||||
|
unsolo = streamUnsolo tidal
|
||||||
|
once = streamOnce tidal
|
||||||
|
first = streamFirst tidal
|
||||||
|
asap = once
|
||||||
|
nudgeAll = streamNudgeAll tidal
|
||||||
|
all = streamAll tidal
|
||||||
|
resetCycles = streamResetCycles tidal
|
||||||
|
setCycle = streamSetCycle tidal
|
||||||
|
setcps = asap . cps
|
||||||
|
getcps = streamGetcps tidal
|
||||||
|
getnow = streamGetnow tidal
|
||||||
|
xfade i = transition tidal True (Sound.Tidal.Transition.xfadeIn 4) i
|
||||||
|
xfadeIn i t = transition tidal True (Sound.Tidal.Transition.xfadeIn t) i
|
||||||
|
histpan i t = transition tidal True (Sound.Tidal.Transition.histpan t) i
|
||||||
|
wait i t = transition tidal True (Sound.Tidal.Transition.wait t) i
|
||||||
|
waitT i f t = transition tidal True (Sound.Tidal.Transition.waitT f t) i
|
||||||
|
jump i = transition tidal True (Sound.Tidal.Transition.jump) i
|
||||||
|
jumpIn i t = transition tidal True (Sound.Tidal.Transition.jumpIn t) i
|
||||||
|
jumpIn' i t = transition tidal True (Sound.Tidal.Transition.jumpIn' t) i
|
||||||
|
jumpMod i t = transition tidal True (Sound.Tidal.Transition.jumpMod t) i
|
||||||
|
jumpMod' i t p = transition tidal True (Sound.Tidal.Transition.jumpMod' t p) i
|
||||||
|
mortal i lifespan release = transition tidal True (Sound.Tidal.Transition.mortal lifespan release) i
|
||||||
|
interpolate i = transition tidal True (Sound.Tidal.Transition.interpolate) i
|
||||||
|
interpolateIn i t = transition tidal True (Sound.Tidal.Transition.interpolateIn t) i
|
||||||
|
clutch i = transition tidal True (Sound.Tidal.Transition.clutch) i
|
||||||
|
clutchIn i t = transition tidal True (Sound.Tidal.Transition.clutchIn t) i
|
||||||
|
anticipate i = transition tidal True (Sound.Tidal.Transition.anticipate) i
|
||||||
|
anticipateIn i t = transition tidal True (Sound.Tidal.Transition.anticipateIn t) i
|
||||||
|
forId i t = transition tidal False (Sound.Tidal.Transition.mortalOverlay t) i
|
||||||
|
d1 = p 1 . (|< orbit 0)
|
||||||
|
d2 = p 2 . (|< orbit 1)
|
||||||
|
d3 = p 3 . (|< orbit 2)
|
||||||
|
d4 = p 4 . (|< orbit 3)
|
||||||
|
d5 = p 5 . (|< orbit 4)
|
||||||
|
d6 = p 6 . (|< orbit 5)
|
||||||
|
d7 = p 7 . (|< orbit 6)
|
||||||
|
d8 = p 8 . (|< orbit 7)
|
||||||
|
d9 = p 9 . (|< orbit 8)
|
||||||
|
d10 = p 10 . (|< orbit 9)
|
||||||
|
d11 = p 11 . (|< orbit 10)
|
||||||
|
d12 = p 12 . (|< orbit 11)
|
||||||
|
d13 = p 13
|
||||||
|
d14 = p 14
|
||||||
|
d15 = p 15
|
||||||
|
d16 = p 16
|
||||||
|
:}
|
||||||
|
|
||||||
|
:{
|
||||||
|
let getState = streamGet tidal
|
||||||
|
setI = streamSetI tidal
|
||||||
|
setF = streamSetF tidal
|
||||||
|
setS = streamSetS tidal
|
||||||
|
setR = streamSetR tidal
|
||||||
|
setB = streamSetB tidal
|
||||||
|
:}
|
||||||
|
|
||||||
|
:set prompt "tidal> "
|
||||||
|
:set prompt-cont ""
|
||||||
|
|
||||||
|
default (Pattern String, Integer, Double)
|
||||||
165
flake.lock
generated
Normal file
165
flake.lock
generated
Normal file
@@ -0,0 +1,165 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"dirt-samples-src": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1698439458,
|
||||||
|
"narHash": "sha256-Mp8qBpsOvW9Zguv95Kv7EU6S3ICaF2aO02Wz6xGURtE=",
|
||||||
|
"owner": "tidalcycles",
|
||||||
|
"repo": "dirt-samples",
|
||||||
|
"rev": "9a6dff8f9ec3cd55b287290cf04e01afa6b8f532",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tidalcycles",
|
||||||
|
"repo": "dirt-samples",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1722813957,
|
||||||
|
"narHash": "sha256-IAoYyYnED7P8zrBFMnmp7ydaJfwTnwcnqxUElC1I26Y=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "cb9a96f23c491c081b38eab96d22fa958043c9fa",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"tidal": "tidal",
|
||||||
|
"utils": "utils"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"superdirt-src": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1697377840,
|
||||||
|
"narHash": "sha256-9qU9CHYAXbN1IE3xXDqGipuroifVaSVXj3c/cDfwM80=",
|
||||||
|
"owner": "musikinformatik",
|
||||||
|
"repo": "superdirt",
|
||||||
|
"rev": "c7f32998572984705d340e7c1b9ed9ad998a39b6",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "musikinformatik",
|
||||||
|
"repo": "superdirt",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tidal": {
|
||||||
|
"inputs": {
|
||||||
|
"dirt-samples-src": "dirt-samples-src",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"superdirt-src": "superdirt-src",
|
||||||
|
"tidal-src": "tidal-src",
|
||||||
|
"vim-tidal-src": "vim-tidal-src",
|
||||||
|
"vowel-src": "vowel-src"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730626669,
|
||||||
|
"narHash": "sha256-nFyZrvTPn9OM9UZmuAwy3e1Ba0ZuYc2FaDCOOhGtqg4=",
|
||||||
|
"owner": "mitchmindtree",
|
||||||
|
"repo": "tidalcycles.nix",
|
||||||
|
"rev": "0db0918e7a3d3c30ed7a6e81dc9d4e3832870ac4",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "mitchmindtree",
|
||||||
|
"repo": "tidalcycles.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tidal-src": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1712519522,
|
||||||
|
"narHash": "sha256-LbvxQmVxHElidCgvt+w0g1k+QQbNLebK46vtRCgsLeQ=",
|
||||||
|
"owner": "tidalcycles",
|
||||||
|
"repo": "tidal",
|
||||||
|
"rev": "88f09edf6bef2228d5f530dea872b08a9d803066",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tidalcycles",
|
||||||
|
"ref": "v1.9.5",
|
||||||
|
"repo": "tidal",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731533236,
|
||||||
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"vim-tidal-src": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1685703852,
|
||||||
|
"narHash": "sha256-8gyk17YLeKpLpz3LRtxiwbpsIbZka9bb63nK5/9IUoA=",
|
||||||
|
"owner": "tidalcycles",
|
||||||
|
"repo": "vim-tidal",
|
||||||
|
"rev": "e440fe5bdfe07f805e21e6872099685d38e8b761",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tidalcycles",
|
||||||
|
"repo": "vim-tidal",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"vowel-src": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1641306144,
|
||||||
|
"narHash": "sha256-zfF6cvAGDNYWYsE8dOIo38b+dIymd17Pexg0HiPFbxM=",
|
||||||
|
"owner": "supercollider-quarks",
|
||||||
|
"repo": "vowel",
|
||||||
|
"rev": "ab59caa870201ecf2604b3efdd2196e21a8b5446",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "supercollider-quarks",
|
||||||
|
"repo": "vowel",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
15
flake.nix
Normal file
15
flake.nix
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
description = "A Tidal Cycles project. https://tidalcycles.org/";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
tidal.url = "github:mitchmindtree/tidalcycles.nix";
|
||||||
|
utils.url = "github:numtide/flake-utils";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs =
|
||||||
|
inputs:
|
||||||
|
inputs.utils.lib.eachDefaultSystem (system: {
|
||||||
|
devShells = inputs.tidal.devShells.${system};
|
||||||
|
formatter = inputs.tidal.formatter.${system};
|
||||||
|
});
|
||||||
|
}
|
||||||
2
main.tidal
Normal file
2
main.tidal
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
d1 $ s "bd"
|
||||||
|
d2 $ s "ac"
|
||||||
Reference in New Issue
Block a user