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

use lib map { "$ENV{HOME}/sandbox/$_/lib" } qw(MIDI-Chord-Guitar MIDI-Util);
use MIDI::Chord::Guitar;
use MIDI::Util;

my $score = MIDI::Util::setup_score(patch => 24);

my $mcg = MIDI::Chord::Guitar->new;

# Progression: iv7–VII7–IIImaj7–VImaj7–iiø7–V7–i

for my $spec (
    ['C3', 'm7'],
    ['F3', '7'],
    ['Bb2', 'maj7'],
    ['Eb3', 'maj7'],
    ['A3', 'dim7'],
    ['D3', '7'],
    ['G2', 'm'],
) {
    my $chord = $mcg->transform(@$spec);
    $score->n('qn', $chord->[0]);
    $score->n('dhn', @{$chord}[1 .. $#$chord]);
}

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