WCCC_TextMode

2 min read
Table of contents

TextDisArrayMent
For this week's Creative Code challenge by @sableRaph: “TextMode, TextDisArrayment is coded in Playertdfgcvbxyz, SonicPi & LivecodingYouTube.
The Letters and their movements are originally coded in playertdfgcvbxyz written in for http://blog.illestpreacha.com/minacoding2023letters and for this, added more disarrayment in the text aided with LiveCodingYouTube & SonicPi
Poem
Disarrayment
Displacement
Diving in the Division
Dithered in their Decisions
In This arrangement
Video
Code
Play.ertdfgcvb.xyz
/**
Illestpreacha: Ascii Peaks
Remix of the following
@author illestprecha
@title Asciipeaks
@desc using the context.time as a counter for various variables
author ertdfgcvb
title How to draw a circle
desc Use of context.metrics.aspect
https://play.ertdfgcvb.xyz/#/src/basics/how_to_draw_a_circle
*/
import { length } from '/src/modules/vec2.js'
export var settings = {
backgroundColor : 'black',
color : 'gold',
fontWeight : 'bold',
lineHeight : 2.5,
fps : 1
}
export function main(coord, context, cursor, buffer) {
const counter = context.time
// contex.metrics.aspect holds the font (or cell) aspect ratio
const aspectRatio = cursor.pressed ? 1 : context.metrics.aspect
// Transform coordinate space to (-1, 1)
// width corrected screen aspect (m) and cell aspect (aspectRatio)
const m = Math.min(context.cols * aspectRatio, context.rows)
const st = {
x : (counter % 10 + 1) % 5 * (coord.x - context.cols / 2) / m * aspectRatio, // apply aspect
y :(counter % 15 + 1) % 7.5 * (coord.y - context.rows / 2) / m
}
// Distance of each cell from the center (0, 0)
const l = length(st)
//Radius patterning
if(counter % 45 > 30)
{
// counter is the radius
return l < (counter % 25 + 1)/20 ? 'Xo++oX' : '__'
}
else if (counter % 45 < 15)
{
return l < (counter % 20 + 1)/20 ? 'AbcCdA' : '++++'
}
else
{
return l < (counter % 30+ 1)/45 ? '+_+-+_+' : '0-0-0-0'
}
}
---------------------------------------------------------
//Part 2
//Radius patterning
if(counter % 45 > 30)
{
// counter is the radius
return l < (counter % 25 + 1)/20 ? 'Xo+|+oX' : '__'
}
else if (counter % 45 < 15)
{
return l < (counter % 20 + 1)/20 ? 'AbcCdA' : '++//++'
}
else
{
return l < (counter % 30+ 1)/45 ? '[]+_()-+()_+[]' : '0-1-1-1'
}
SonicPi
live_loop :ultra do
use_random_seed Time.now.to_i / 2
with_fx :vowel ,voice: dice(3), mix: [0.1,0.2,0.3,0.5,0.7,0.8].tick do
sample :ambi_choir, beat_stretch: [0.5,2,4,6,8].choose
sleep [0.5,1,2,4].choose
end
end
live_loop :ultra1 do
use_random_seed Time.now.to_i / 3
with_fx :vowel ,voice: dice(3), mix: [0.1,0.2,0.3,0.5,0.7,0.8].tick do
sample :ambi_choir, beat_stretch: [0.5,2,4,6,8].choose
sleep [0.5,1,2,4].choose
end
end
LiveCodingYoutube
disarray = "y9QJpTyFSSY"
disarray2 = "-sWJfQlhbD0"
disarray3 = "z526JjtQRfY"
create(1,3,disarray)
cue(0,disarray2)
cue(2,disarray3)
speed(0,1.5)
speed(1,2)
speed(2,0.5)
play(all)
0
Subscribe to my newsletter
Read articles from Kofi / Illestpreacha directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
