WCCC_TextMode

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

Kofi / Illestpreacha
Kofi / Illestpreacha