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

use Music::Percussion::Tabla ();

my $bpm = shift || 260;

my $t = Music::Percussion::Tabla->new(
    file   => "$0.mid",
    bpm    => $bpm,
    volume => 127,
);
#warn __PACKAGE__,' L',__LINE__,' ',$t->soundfont,"\n";

# bol practice
$t->tun;
$t->rest($t->quarter);
$t->ta;
$t->tun;
$t->tin;
$t->tin;
$t->tun;
$t->ta;
$t->te;
$t->te;
$t->ta;
$t->tun;
$t->ta;
$t->tun;
$t->ta;
$t->tun;
$t->tun;
$t->tin;
$t->tin;
$t->ta;
$t->ta;
$t->rest($t->whole);

$t->ta;
$t->tun;
$t->tun;
$t->ta;
$t->ta;
$t->tun;
$t->tun;
$t->ta;
$t->ta;
$t->te;
$t->te;
$t->ta;
$t->ta;
$t->tin;
$t->tin;
$t->ta;
$t->rest($t->whole);

$t->ga;
$t->te;
$t->ka;
$t->ga;
$t->rest($t->quarter);
$t->ka;
$t->ta;
$t->rest($t->quarter);
$t->ta;
$t->ga;
$t->ta;
$t->ka;
$t->ta;
$t->ka;
$t->tu;
$t->ta;
$t->ta;
$t->ga;
$t->ta;
$t->tin;
$t->ta;
$t->ka;
$t->ga;
$t->te;
$t->ta;
$t->rest($t->whole);

for my $i (1 .. 3) {
    $t->ta;
    $t->ta;
    $t->tun;
    $t->ga;
    $t->rest($t->quarter);
}
$t->rest($t->whole);

=for private

for my $i (1 .. $t->beats) {
    $t->tun;
}
for my $i (1 .. $t->beats) {
    $t->ta;
}
for my $i (1 .. $t->beats) {
    $t->tin;
}
for my $i (1 .. $t->beats) {
    $t->tu;
}
for my $i (1 .. $t->beats) {
    $t->te;
}
for my $i (1 .. $t->beats) {
    $t->tete;
}
for my $i (1 .. $t->beats) {
    $t->ka;
}
for my $i (1 .. $t->beats) {
    $t->ga;
}
for my $i (1 .. $t->beats) {
    $t->ga_slide;
}
for my $i (1 .. $t->beats) {
    $t->dha;
}
for my $i (1 .. $t->beats) {
    $t->dhin;
}
for my $i (1 .. $t->beats) {
    $t->tirkit;
}

=cut

#$t->write;
$t->play_timidity;
