#!/usr/bin/env perl
use strict;
use warnings;

use Data::Dumper::Compact 'ddc';
use MIDI::Util qw(setup_score midi_format);
use Music::Chord::Progression;
use Music::Scales qw(get_scale_notes);

my $score = setup_score();

my @pitches = get_scale_notes('C', 'pentatonic');
my @notes = map { $pitches[int rand @pitches] } 1 .. 4;

for my $note (@notes) {
    my $prog = Music::Chord::Progression->new(
        scale_note => $note,
#        substitute => 1,
    );
    my $chords = $prog->generate;

    for my $chord (@$chords) {
        my @chord = midi_format(@$chord);
        $score->n('wn', @chord);
    }
    print $note, ': ', ddc($chords);
}

$score->write_score("$0.mid");
