The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

POE::Framework::MIDI::POEConductor - Management and rendering of POEMusician objects

ABSTRACT

DESCRIPTION

POE functionality for the management of POEMusician objects, and eventual rendering down to perl code for MIDI::Simple via the Conductor's 'render' method.

SYNOPSIS

  use POE::Framework::MIDI::POEMusician; 

  #... include your musician objects here ...

  POE::Framework::MIDI::POEConductor->spawn({
      bars => 30,
      verbose => 1,
      debug => 1,
      filename => 'test_output.mid',
      musicians => [
          {
              name => 'frank',

              # specify which module you want to have "play" this track. 
              # 
              # the only real requirement for a musician object is
              # that it define a 'make_bar' method.  ideally that should
              # return POE::Framework::MIDI::Bar( { number => $barnum } );
              # or a ::Phrase( { number => $barnum } );

              # set the package you want to generate events on this channel
              package => 'POE::Framework::MIDI::Musician::Your::Musicians::GuitarFreak',

              # which channel should these events end up on?    
              channel => 1,

              # which patch should we use?  frank likes the jazz guitar sound.
              patch => '27',
          },

          {
              name => 'ike',
              package => 'POE::Framework::MIDI::Musician::Your::Musicians::MyOrganPlayer',
              channel => 2,
              patch => '60',
          },
          {
              name => 'terry',
              package => 'POE::Framework::MIDI::Musician::Your::Musicians::MyFunkyDrummer',
              channel => 9, # drum channel - zero based
              patch => '58',
          },
      ],
  }); 

  $poe_kernel->run;

SEE ALSO

POE

MIDI::Simple

POE::Framework::MIDI::Conductor

http://justsomeguy.com/code/POE/POE-Framework-MIDI

AUTHOR

Primary: Steve McNabb <steve@justsomeguy.com>

CPAN ID: SMCNABB

Secondary: Gene Boggs <cpan@ology.net>

CPAN ID: GENE

COPYRIGHT AND LICENCE

Copyright (c) 2002 Steve McNabb. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

The full text of the license can be found in the LICENSE file included with this module.