NAME

Music::Duration - Add 32nd, 64th & odd fractional durations to MIDI-Perl

VERSION

version 0.0301

SYNOPSIS

# Compare:
> perl -MMIDI::Simple -MData::Dumper -e'print Dumper \%MIDI::Simple::Length'
> perl -MMusic::Duration -MData::Dumper -e'print Dumper \%MIDI::Simple::Length'

# In a program:
use MIDI::Simple;
use Music::Duration;
Music::Duration::fractional('z', 5);
new_score();
patch_change(1, 33);          # Jazz kit
n('zsn', 'n38') for 1 .. 5;   # Snare sixteenth quintuplet
n('qn', 'n38');

DESCRIPTION

This module adds thirty-second and sixty-fourth note divisions to MIDI::Simple. (These are 32nd: y, dy, ddy, ty and 64th: x, dx, ddx, tx.)

Also, this module allows the addition of non-standard note divisions with the <fractional> function, below.

FUNCTIONS

fractional()

$z = Music::Duration::fractional('z', 5)

Add a fractional duration-division for each note, to the MIDI::Simple Length hash.

In the example above, we add 5th note divisions called "z-notes" to the existing lengths.

TO DO

Decouple from MIDI and provide a subroutine of lengths.

Allow addition of any literal or coderef entry to the Length hash.

Only require MIDI::Simple and set the Length hash if present.

SEE ALSO

MIDI and MIDI::Simple

The code in the t/ directory

AUTHOR

Gene Boggs <gene@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Gene Boggs.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.