# WCCC_MustMove

# OffCenteredBlinks

For this week's **Creative Code challenge** by @sableRaph: *<mark>“Must Move”</mark>*, **OffCenteredBlinks** Represents various movements both noticeable and subtle that can occur through **SonicPi & LiveCodeLab**.

## Poetry

```ocaml
Celestial Eyes
Must move , they say
Blinking as they reach the lines
The lines of horizon
Looking to see the depths of Poseidon
But till then, they shall Move Each Day
```

## Video

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

## Code

### LiveCodeLab

```javascript

(time % 29 + 1) times with i
	scale 0.83,0.83,1
	fill aqua
	ambientLight tan(i),sin(i)*25,72
	ball (time % 15 + 1)/24,i,sin(i/3)*4


12 times
	stroke red
		peg 12
	stroke green
		ball 140
```

```javascript

simpleGradient yellow,red,orange


(time % 29 + 1) times with i
	scale 0.83,0.83,1
	fill green
	ambientLight tan(i),sin(i)*25,72
	ball (time % 15 + 1)/24,i,sin(i/3)*4


12 times
	stroke red
		peg 12
	stroke green
		ball 140
```

## SonicPi

```ruby

def Sine_ing(looping,samp1,samp2,samp3)
  use_random_seed Time.now.to_i / 3
  rangeFul = (0..30).to_a.shuffle() #shuffling a range of numbers from 0 to 30 into an array
  #setting counters
  i = 0
  j = rangeFul.length()
  
  #setting the live loop
  live_loop looping do
    use_bpm [140,70,35].choose
    use_random_seed Time.now.to_i / 2
    with_fx :echo, mix: Math.sin(j).abs do
      with_fx :distortion,mix: Math.sin(i).abs do
        #If the sin makes the number a negative
        if Math.sin(rangeFul[i]) > 0
          sample [samp1,samp3].choose,rate: Math.sin(rangeFul[i])
        end
      end
    end
    
    
    with_fx :ping_pong, mix: Math.sin(i).abs do
      use_bpm [280,140,75].choose
      use_random_seed Time.now.to_i / 8
      #If the sin makes the number a positive
      if Math.sin(rangeFul[i]) >  0
        sample [samp2,samp3].choose
      end
    end
    
    with_fx :ixi_techno, mix: Math.sin(j).abs do
      use_bpm [120,60,30,15].choose
      with_fx :vowel, mix: Math.cos(j).abs do
        with_fx :gverb, mix: rrand(0.4,0.8) do
          use_random_seed Time.now.to_i / 9
          #If the sin makes the number 0
          if Math.sin(rangeFul[i]) == 0
            sample [samp1,samp2].choose
          end
        end
      end
    end
    
    
    i += 1
    
    if i >= rangeFul.length()
      i = 0
    end
    
    j -= 1
    
    if j <= 0
      j = 0
    end
    
    sleep [Math.sin(i).abs + 0.25,Math.sin(j).abs + 0.25].choose #to avoid the issue with zero
    
  end
end


Sine_ing(:SineFul,:tabla_ghe5,:drum_bass_soft,[:elec_blip,:ambi_glass_hum].choose)
Sine_ing(:SineFul2,:ambi_dark_woosh,:perc_snap2,:glitch_perc5)
Sine_ing(:SineFul3,[:ambi_piano,:sn_generic].choose,:ambi_haunted_hum,:vinyl_backspin)
Sine_ing(:SineFul4,[:elec_blip,:bd_fat].tick, :glitch_perc5,:vinyl_backspin)
```
