Mac-EyeTV
view release on metacpan or search on metacpan
lib/Mac/EyeTV/Recording.pm view on Meta::CPAN
package Mac::EyeTV::Recording;
use strict;
use warnings;
use DateTime;
use DateTime::Format::Strptime;
use Mac::AppleScript qw(RunAppleScript);
use URI::file;
use base qw(Class::Accessor::Fast);
__PACKAGE__->mk_accessors(
qw(recording start stop title
description channel_number station_name input_source repeats quality
enabled busy id)
);
sub delete {
my $self = shift;
$self->recording->delete;
}
sub duration {
my $self = shift;
return $self->stop - $self->start;
}
sub export {
my($self, $path) = @_;
my $id = $self->id;
my $applescript = qq{
tell application "EyeTV"
export from recording id $id to file "$path" as MPEGPS
end tell
};
warn $applescript;
RunAppleScript($applescript);
}
1;
__END__
=head1 NAME
Mac::EyeTV::Programme - An EyeTV programme
=head1 SYNOPSIS
use Mac::EyeTV;
my $eyetv = Mac::EyeTV->new();
# Examine existing programmes
foreach my $programme ($eyetv->programmes) {
my $start = $programme->start;
my $stop = $programme->stop;
my $title = $programme->title;
my $description = $programme->description;
print "$title $start - $stop ($description)\n";
}
# Record a new programme
my $programme = Mac::EyeTV::Programme->new;
$programme->start($start_dt);
$programme->stop($stop_dt);
$programme->title($title);
$programme->description($description);
$programme->channel_number($channel_number);
$programme->record;
# Export an existing recording
$programme->export("new.mpg");
( run in 1.518 second using v1.01-cache-2.11-cpan-97f6503c9c8 )