There's a short way to write a long chord progression than this?

Hi there :

I’m trying to write long chord progressions,

but there’s some mistake :

it dosen’t loop,and i don’t like to write :

p1=[1,3];p2=[6,5];p3=[4,5]

I was trying something like this :

p = (ring 1,3,6,5,4,5) or maybe :
p = ([1,3];[6,5];[4,5])



# Long Chord Progression

##  p = chord progression
##  i = chord inversion

p1=[1,3];p2=[6,5];p3=[4,5]
i1=(range -1,3);i2=(ring 0,1)

use_bpm 90/4
use_transpose -12

in_thread(chords1: :chords1) do
  p1.each do |d|
    i1.each do |i1|
      use_synth :hollow
      use_synth_defaults amp: 1,cutoff: 80
      play_chord (chord_degree d,:a,:aeolian, 3, invert: i1)
      sleep 0.25
    end
  end
  in_thread(chords2: :chords2) do
    p2.each do |d|
      i2.each do |i2|
        play_chord (chord_degree d,:a,:aeolian, 3, invert: i2)
        sleep 0.25
      end
    end
    in_thread(chords3: :chords3) do
      p3.each do |d|
        i2.each do |i2|
          play_chord (chord_degree d,:a,:dorian, 3, invert: i2)
          sleep 0.25
        end
      end
    end
  end
end

How can i achieve the same result with less code ?

Thank you,again.

That’s really hard to read. Better to use the write syntax to get indented and highlighted code as described here: Change running code

Thank you Martin :

I was using the wrong “accent”.

It’s much better now :blush: