# WCCC_CrossingLines

# WhichLineToCross

For this week's Creative Code challenge by @sableRaph: *“CrossTheLine”,* **WhichLineToCross** explores a scene, where many lines are being crossed and adjusted.Coded with ***LiveCodeLab,*** ***SonicPi & HydraVideoSynth*** with additional digital art techniques.

## Poem

```javascript
Which line to Cross
What line is loss
To the adjustment
Which paths needs to be tossed
And inquire through new judgements
few investments
For the lines to be Crossed
```

## Video

%[https://youtu.be/yyEDUF5_NkI] 

  

## Code

### LIveCodeLab

```javascript



background black

time % 12 times with i
	scale Math.cbrt(cos(time%11)*wave(0.03))
	rotate Math.cbrt(sin(time)*wave(0.03)),Math.cbrt(cos(time)*wave(0.03)),Math.hypot(Math.cbrt(sin(time)*wave(0.03),wave(0.3)))
	noFill
	move Math.cbrt(sin(time)*wave(0.3)),Math.cbrt(sin(time)*wave(0.03)),Math.cbrt(cos(time)*wave(0.03))
	box Math.cbrt(sin(time)*wave(0.03)),Math.cbrt(sin(time)*wave(0.03)),Math.cbrt(sin(time)*wave(0.03))

popMatrix()
time % 12 times with i
	noFill
	scale Math.cbrt(cos(time%11)*wave(0.03))
	rotate Math.cbrt(sin(time)*wave(0.03))+0.6,Math.cbrt(cos(time)*wave(0.03))+0.5,Math.hypot(Math.cbrt(sin(time)*wave(0.03),wave(0.3)))+0.5
	move Math.cbrt(sin(time)*wave(0.3))+0.01,Math.cbrt(sin(time)*wave(0.03))+0.01,Math.cbrt(cos(time)*wave(0.03))+0.01
	rect Math.cbrt(sin(time)*wave(0.03))+0.01,Math.cbrt(sin(time)*wave(0.03))-0.01,Math.cbrt(sin(time)*wave(0.03))-0.01
pushMatrix()




```

### HydraVideoSynth

```javascript
//Various iterations


s0.initScreen()


osc(3,1,1).repeat(()=> (time% 15)/3,()=> Math.sin((time % 15))*4).colorama(()=> (time % 30)/31).modulateRotate(noise(1,2,3).repeat(()=> (time % 10)/4,2)).mask(shape(3.25,0.5,4).scale([0.05,0.125,0.250,0.05,0.375,0.5,0.375,0.25,0.1,0.05].smooth()).repeat([2.7,3.5,4.2,3.1].fast(0.95),[4,3.5,4.1,2.9,2.4,3.1].fast(0.75)).rotate(()=> Math.sin(time)/10 * 7)).scrollX([0.5,0.3,-0.2,-0.1,0.2].fast(0.4)).scrollY([0.15,0.34,-0.31,-0.12,0.05,-0.03].smooth()).diff(src(s0)).out()
speed= 0.25


osc(3,1,1).repeat(()=> (time% 15)/3,()=> Math.sin((time % 15))*4).colorama(()=> (time % 30)/31).modulateRotate(noise(1,2,3).repeat(()=> (time % 10)/4,2)).mask(shape(3.25,0.5,4).scale([0.05,0.125,0.250,0.05,0.375,0.5,0.375,0.25,0.1,0.05].smooth()).repeat([2.7,3.5,4.2,3.1].fast(0.95),[4,3.5,4.1,2.9,2.4,3.1].fast(0.75)).rotate(()=> Math.sin(time)/10 * 7)).scrollX([0.5,0.3,-0.2,-0.1,0.2].fast(0.4)).scrollY([0.15,0.34,-0.31,-0.12,0.05,-0.03].smooth()).diff(src(s0)).pixelate(2500,50).out()

speed= 0.25

osc(3,1,1).repeat(()=> (time% 15)/3,()=> Math.sin((time % 15))*4).colorama(()=> (time % 30)/31).modulateRotate(noise(1,2,3).repeat(()=> (time % 10)/4,2)).mask(shape(3.25,0.5,4).scale([0.05,0.125,0.250,0.05,0.375,0.5,0.375,0.25,0.1,0.05].smooth()).repeat([2.7,3.5,4.2,3.1].fast(0.95),[4,3.5,4.1,2.9,2.4,3.1].fast(0.75)).rotate(()=> Math.sin(time)/10 * 7)).scrollX([0.5,0.3,-0.2,-0.1,0.2].fast(0.4)).scrollY([0.15,0.34,-0.31,-0.12,0.05,-0.03].smooth()).diff(src(s0)).out()

speed= 0.45

```

### SonicPi

```ruby
def neighboring(naming,looping,timer, timer2)
  
  
  #random 10 list array with a seed, to make sure it is always random
  
  use_random_seed Time.now.to_i / timer
  cells = 25.times.map { Random.rand(0...2)}
  
  
  #allows for cell automata rules to include every variable
  cells1 = cells.push(cells[0],cells[1])
  
  puts cells1
  
  naming = []
  
  #length of array and push every neighbor of 3 into the array
  for i in -2..cells1.length-3 do
    naming.push([cells1[i],cells1[i+1],cells1[i+2]])
  end
  
  
  
  #cellular automata rules
  
  vech = [[0,0,0],[0,1,0],[1,1,1],[0,1,0]]
  elec = [[1,0,0],[0,1,1]]
  drums = [[1,0,1],[1,1,0]]
  
  x = "vech5.wav"
  x1 ="vech6.wav"
  x2 = "vech7.wav"
  x3 = "vech8.wav"
  
  live_loop looping do
    
    use_random_seed Time.now.to_i / timer
    
    for i in 0..naming.length do
      if drums.include? naming[i]
        
        with_fx :ixi_techno, mix: [0.1,0.3,0.5,0.25,0.15].tick do
          use_bpm [60,120,30,240].choose
          sample [:drum_bass_hard,:drum_bass_soft,:tabla_ghe2].choose,pitch: dice(5), beat_stretch: [2,3,4].choose
        end
        
        sleep [0.5,1].choose
      else if vech.include? naming[i]
        use_bpm [60,120,30,240,480].choose
        sample [x,x1,x2,x3].choose, rate: [-1,0.5,0.25,2].choose
        sleep [0.5,1].choose
      else
        with_fx :flanger do
          use_bpm [15,30,45,60,120,30,240,480].choose
          sample [:elec_blip,:elec_beep,:elec_soft_kick,:ambi_piano].choose , rate: [-3, -1,0.5,0.25,-1.75,2,3].choose
        end
        sleep [0.5,1,0.2].choose
      end
    end
    
  end
  
  sleep [0.25,0.5,1].choose
end
end

# initalizing variables to pass through

neighboring(@neighbors1,:pass,2,4)
neighboring(@neighbors2,:pass1,3,5)
neighboring(@neighbors4,:pass2,11,64)
neighboring(@neighbors3,:pass3,13,25)

```

```ruby
live_loop :stanza1 do
  use_random_seed Time.now.to_i/2
  with_fx :ping_pong do
    with_fx :vowel, voice: dice(4) do
      with_fx :ixi_techno, mix: [0.1, 0.3, 0.5, 0.3].tick do
        use_bpm [120,30,240].choose
        sample [:loop_garzul, :ambi_dark_woosh].tick,decay: 2, beat_stretch: 6, rate: [-1, 0.5 - 0.25, 2].choose
      end
    end
  end
  sleep [1,2,4].choose
end

live_loop :stanza2 do
  use_random_seed Time.now.to_i/3
  with_fx :ping_pong do
    with_fx :vowel, voice: dice(4) do
      with_fx :flanger, mix: [0.1, 0.3, 0.5, 0.3].tick do
        use_bpm [120,30,240].choose
        sample [:ambi_lunar_land, :ambi_dark_woosh,:elec_beep].choose,decay: 4, beat_stretch: 3, rate: [-1, 0.5 - 0.25, 2].choose
      end
    end
  end
  sleep [1,2,4].choose
end



live_loop :stanza3 do
  use_random_seed Time.now.to_i/4
  with_fx :ping_pong do
    with_fx :vowel, voice: dice(4) do
      with_fx :flanger, mix: [0.1, 0.3, 0.5, 0.3].tick do
        use_bpm [120,30,60,15,240].choose
        sample  [:ambi_piano, :loop_breakbeat].tick,decay: 8, beat_stretch: 1.5, rate: [-1, 0.5 - 0.25, 2].choose
      end
    end
  end
  sleep [1,2,4].choose
end
```
