Tk::MultiMediaControls - Create media player control buttons.
$mmc = $parent->MultiMediaControls(-option => value, ... );
Create multimedia controls similar to that found on Apple applications like QuickTime, iMovie, iDVD, iTunes, etcetera. This mega-widget accepts a -buttons option that specifies a list of controller buttons, and a series of specialized options that bind callbacks to those buttons.
A list of controller buttons: [ qw/ home rewind play stop fastforward / ]. You supply the callbacks that implement the above buttons, which nominally have this effect on the movie:
[ qw/ home rewind play stop fastforward / ]
home - reset movie to first frame
rewind - play movie in fast reverse
play - a toggle: play movie at normal speed / pause movie
stop - stop movie (reset to first frame?)
fastforward - play movie in fast forward
Callbacks that are invoked when control buttons are pressed or released. Callbacks that include the string highlight are invoked when Button-1 is pressed and held. With the exception of the -leftcommand and -rightcommand, all other callbacks are invoked when Button-1 is released.
Three keys have special meanings that parallel Apple's bindings. The space bar (space) is bound to toggle the play/pause button. The left-arrow (Left) and right-arrow (Right) should, if possible, display the previous or next movie frame. Use -leftcommand and -rightcommand for this.
A MultiMediaControls widget has no additional methods.
This example creates a MultiMediaControls widget appropriate for a Tk::Animation widget:
my $p = $mw->Animation( -format => 'gif', -file => ' ... ' ); my $mmc = $mw->MultiMediaControls( # Define, from left to right, the window's controller buttons. -buttons => [ qw/ home rewind play stop fastforward / ], # Define callbacks for the buttons' various states. -fastforwardhighlightcommand => [ $p => 'fast_forward', 4 ], -fastforwardcommand => [ $p => 'fast_forward', 1 ], -homecommand => [ $p => 'set_image', 0 ], -pausecommand => [ $p => 'pause_animation' ], -playcommand => [ $p => 'resume_animation' ], -rewindhighlightcommand => [ $p => 'fast_reverse', -4 ], -rewindcommand => [ $p => 'fast_reverse', 1 ], -stopcommand => [ $p => 'stop_animation' ], # Define callbacks for the left and right arrow keys. -leftcommand => [ $p => 'prev_image' ], -rightcommand => [ $p => 'next_image' ], )->pack;
sol0@Lehigh.EDU
Copyright (C) 2003 - 2004, Steve Lidie. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Apple, QuickTime, animation, multimedia, iMovie, iTunes
I'm sure there are end cases and errors that I've neglected to catch.
To install Tk::MultiMediaControls, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Tk::MultiMediaControls
CPAN shell
perl -MCPAN -e shell install Tk::MultiMediaControls
For more information on module installation, please visit the detailed CPAN module installation guide.