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

use Data::Dumper;
use Music::Cadence;

my $mc = Music::Cadence->new;

my $chords = $mc->cadence;
print Dumper $chords;
# [['G','B','D'], ['C','E','G','C']]

$mc = Music::Cadence->new( octave => 4 );

$chords = $mc->cadence;
print Dumper $chords;
# [['G4','B4','D4'], ['C4','E4','G4','C5']]

$chords = $mc->cadence(
type    => 'half',
octave  => 0,
leading => 2,
);
print Dumper $chords;
# [['D','F','A'], ['G','B','D']]

$chords = $mc->cadence(
type      => 'imperfect',
octave    => 4,
inversion => { 1 => 1, 2 => 1 },
);
print Dumper $chords;
# [['B4','D4','G4'], ['E4','G4','C4']]

$mc = Music::Cadence->new(
key    => 'C#',
octave => 5,
);

$chords = $mc->cadence;
print Dumper $chords;
# [['G#5','C5','D#5'], ['C#5','F5','G#5','C#6']]

$mc = Music::Cadence->new(
key    => 'C#',
octave => 5,
format => 'midi',
);

$chords = $mc->cadence;
print Dumper $chords;
# [['Gs5','C5','Ds5'], ['Cs5','F5','Gs5','Cs6']]

$mc = Music::Cadence->new( format => 'midinum' );

$chords = $mc->cadence( octave => 4 );
print Dumper $chords;
# [[67,71,62], [60,64,67,72]]

$chords = $mc->cadence( octave => -1 );
print Dumper $chords;
# [[7,11,2], [0,4,7,12]]

$mc = Music::Cadence->new( seven => 1 );

$chords = $mc->cadence;
print Dumper $chords;
# [['G','B','D','F'], ['C','E','G','A#','C']]

$chords = $mc->cadence(
type   => 'evaded',
octave => 4,
);
print Dumper $chords;
# [['F4','G5','B5','D5'], ['E4','G4','A#4','C5']]
