Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
Tidal
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PLN
Tidal
Commits
615a27dd
Commit
615a27dd
authored
May 04, 2025
by
PLN (Algolia)
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: DPV working!
parent
6f90f7d2
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
95 additions
and
4 deletions
+95
-4
BootTidal.hs
BootTidal.hs
+38
-4
didacticpatternvisualizer.pde
didacticpatternvisualizer.pde
+44
-0
dpv.tidal
utils/dpv.tidal
+13
-0
No files found.
BootTidal.hs
View file @
615a27dd
...
@@ -2,13 +2,36 @@
...
@@ -2,13 +2,36 @@
:
set
prompt
""
:
set
prompt
""
import
Sound.Tidal.Context
import
Sound.Tidal.Context
import
System.IO
(
hSetEncoding
,
stdout
,
utf8
)
import
System.IO
(
hSetEncoding
,
stdout
,
utf8
)
hSetEncoding
stdout
utf8
hSetEncoding
stdout
utf8
-- total latency = oLatency + cFrameTimespan
-- DPV setup
tidal
<-
startTidal
(
superdirtTarget
{
oLatency
=
0.2
,
oAddress
=
"127.0.0.1"
,
oPort
=
57120
})
(
defaultConfig
{
cFrameTimespan
=
1
/
20
})
:
{
let
targetdpv
=
Target
{
oName
=
"didacticpatternvisualizer"
,
oAddress
=
"127.0.0.1"
,
oPort
=
1818
,
oLatency
=
0.2
,
oWindow
=
Nothing
,
oSchedule
=
Live
,
oBusPort
=
Nothing
,
oHandshake
=
False
}
formatsdpv
=
[
OSC
"/delivery"
Named
{
requiredArgs
=
[]
}
]
:
}
-- SuperDirt target
:
{
let
superdirtTarget'
=
superdirtTarget
{
oLatency
=
0.1
,
oAddress
=
"127.0.0.1"
,
oPort
=
57120
}
:
}
:
{
-- Set up targets for both SuperDirt and DPV
let
oscmapdpv
=
[(
targetdpv
,
formatsdpv
),
(
superdirtTarget'
,
[
superdirtShape
])
]
:
}
-- Initialize TidalCycles with both targets
tidal
<-
startStream
defaultConfig
{
cFrameTimespan
=
1
/
20
}
oscmapdpv
:
{
:
{
let
p
=
streamReplace
tidal
let
p
=
streamReplace
tidal
...
@@ -69,7 +92,18 @@ let setI = streamSetI tidal
...
@@ -69,7 +92,18 @@ let setI = streamSetI tidal
:
}
:
}
:
{
:
{
let
modIndex
=
pF
"modIndex"
let
-- DPV specific parameters
grid
=
pS
"grid"
connectionN
=
pI
"connectionN"
connectionMax
=
pI
"connectionMax"
speedSequenser
=
pF
"speedSequenser"
clear
=
pI
"clear"
sizeMin
=
pF
"sizeMin"
sizeMax
=
pF
"sizeMax"
figure
=
pS
"figure"
color
=
pS
"color"
-- Other parameters
modIndex
=
pF
"modIndex"
mix
=
pF
"mix"
mix
=
pF
"mix"
vibrato
=
pF
"vibrato"
vibrato
=
pF
"vibrato"
chorus
=
pF
"chorus"
chorus
=
pF
"chorus"
...
...
didacticpatternvisualizer.pde
0 → 100644
View file @
615a27dd
import
oscP5
.
*
;
import
netP5
.
*
;
OscP5
osc
;
ArrayList
<
Sound
>
sounds
=
new
ArrayList
<
Sound
>
();
ArrayList
<
Cycle
>
cycles
=
new
ArrayList
<
Cycle
>
();
float
alturaBar
;
float
offsetSubdivision
=
40
;
int
connectionTotal
=
4
;
// set total tracks (Number of Tidal connections to represent)
float
movSequenser
=
2
;
// set grid speed (higher speed makes time wider)
void
setup
()
{
osc
=
new
OscP5
(
this
,
1818
);
size
(
1280
,
360
);
//fullScreen(P3D, 2);
alturaBar
=
height
/
connectionTotal
;
noStroke
();
fill
(
0
);
textSize
(
18
);
}
void
draw
()
{
background
(
0
);
fill
(
255
);
rectMode
(
CORNER
);
rect
(
0
,
0
,
width
,
height
);
fill
(
228
);
noStroke
();
for
(
int
y
=
0
;
y
<
(
connectionTotal
*
0.5
);
y
++
)
{
rect
(
0
,
y
*
alturaBar
*
2
,
width
,
alturaBar
);
}
for
(
int
i
=
0
;
i
<
sounds
.
size
()
;
i
++
)
{
if
(
sounds
.
get
(
i
)
!=
null
)
{
sounds
.
get
(
i
).
draw
();
}
}
for
(
int
i
=
0
;
i
<
cycles
.
size
()
;
i
++
)
{
if
(
cycles
.
get
(
i
)
!=
null
)
{
cycles
.
get
(
i
).
draw
();
}
}
}
utils/dpv.tidal
0 → 100644
View file @
615a27dd
-- EX1 Initialize DPV with 2 connections at speed 4
do asap $ connectionMax 2 # speedSequenser 4
d5 $ grid "1 0!7" -- Set grid pattern
-- Play a pattern with visualization
d1 $ s "bd(3,8)" # connectionN 1
d2 $ s "hh(6,8)" # connectionN 2
-- EX2 Initialize DPV
do asap $ connectionMax 3 # speedSequenser 4
d5 $ grid "1 0!15"
-- Play a pattern with visualization
d1 $ s "bd(3,8)" # connectionN 1 # sizeMin 12 # sizeMax 60 # figure "rect" # color "0519f5"
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment