diff --git a/lib/calcms/audio.pm b/lib/calcms/audio.pm
new file mode 100644
index 0000000..177bdc4
--- /dev/null
+++ b/lib/calcms/audio.pm
@@ -0,0 +1,98 @@
+package audio;
+use warnings;
+use strict;
+
+sub durationToSeconds($) {
+ my $duration = shift;
+
+ if ( $duration =~ /(\d+):(\d\d):(\d\d).(\d\d)/ ) {
+ return $1 * 3600 + $2 * 60 + $3 + $4 / 100;
+ }
+ return $duration;
+}
+
+sub formatDuration($$$) {
+ my $audioDuration = shift;
+ my $eventDuration = shift;
+ my $value = shift;
+
+ return '' unless $audioDuration;
+ return '' unless $eventDuration;
+ return '' unless $value;
+
+ $audioDuration = durationToSeconds($audioDuration);
+ $eventDuration = durationToSeconds($eventDuration);
+
+ my $delta = 100 * $audioDuration / $eventDuration;
+ my $class = "ok";
+ my $title = '';
+ if ( $delta > 101 ) {
+ $class = "warn";
+ $title = sprintf(
+ qq{ title="file is too long! It should be %d minutes, but is %d"},
+ $eventDuration / 60,
+ $audioDuration / 60
+ );
+ }
+ if ( $delta < 99.99 ) {
+ $class = "error";
+ $title = sprintf(
+ qq{ title="file is too short! should be %d minutes, but is %d"},
+ $eventDuration / 60,
+ $audioDuration / 60
+ );
+
+ }
+
+ return sprintf( qq{
%s
}, $class, $title, $value );
+}
+
+sub formatChannels($) {
+ my $channels = shift;
+ return '' unless $channels;
+ my $class = "ok";
+ $class = "error" if $channels != 2;
+ return sprintf( qq{%d ch.
}, $class, $channels );
+}
+
+sub formatSamplingRate($) {
+ my $samplingRate = shift;
+ return '' unless $samplingRate;
+ my $class = "ok";
+ $class = "error" if $samplingRate != 44100;
+ return sprintf( qq{%s
}, $class, $samplingRate );
+}
+
+sub formatBitrate($) {
+ my $bitrate = shift;
+ return '' unless $bitrate;
+ my $class = 'ok';
+ $class = 'warn' if $bitrate >= 200;
+ $class = 'error' if $bitrate < 192;
+ return sprintf( qq{%s kBit/s
}, $class, $bitrate );
+}
+
+sub formatBitrateMode($) {
+ my $mode = shift;
+ return '' unless $mode;
+ my $class = 'ok';
+ $class = 'error' if $mode ne 'CBR';
+ return sprintf( qq{%s
}, $class, $mode );
+}
+
+sub formatLoudness {
+ my $value = shift;
+ return '' unless $value;
+
+ $value = sprintf( "%.1f", $value );
+ my $class = 'ok';
+ $class = 'warn' if $value > -18.5;
+ $class = 'error' if $value > -16.0;
+ $class = 'warn' if $value < -24.0;
+ $class = 'error' if $value < -27.0;
+
+ return qq{$value dB
};
+}
+
+# do not delete this line
+1;
diff --git a/lib/calcms/playout.pm b/lib/calcms/playout.pm
index 8164b1b..d32e6ca 100644
--- a/lib/calcms/playout.pm
+++ b/lib/calcms/playout.pm
@@ -27,6 +27,111 @@ sub get_columns ($) {
return $columns;
}
+
+
+# get playout entries
+sub get_scheduled($$) {
+ my $config = shift;
+ my $condition = shift;
+
+ return undef unless defined $condition->{studio_id};
+
+ my $date_range_include = 0;
+ $date_range_include = 1
+ if ( defined $condition->{date_range_include} ) && ( $condition->{date_range_include} == 1 );
+
+ my $dbh = db::connect($config);
+
+ my @conditions = ();
+ my @bind_values = ();
+
+ if ( ( defined $condition->{project_id} ) && ( $condition->{project_id} ne '' ) ) {
+ push @conditions, 'p.project_id=?';
+ push @bind_values, $condition->{project_id};
+ }
+
+ if ( ( defined $condition->{studio_id} ) && ( $condition->{studio_id} ne '' ) ) {
+ push @conditions, 'p.studio_id=?';
+ push @bind_values, $condition->{studio_id};
+ }
+
+ if ( ( defined $condition->{start_at} ) && ( $condition->{start_at} ne '' ) ) {
+ push @conditions, 'p.start=?';
+ push @bind_values, $condition->{start_at};
+ }
+
+ if ( ( defined $condition->{from} ) && ( $condition->{from} ne '' ) ) {
+ if ( $date_range_include == 1 ) {
+ push @conditions, 'p.end_date>=?';
+ push @bind_values, $condition->{from};
+ } else {
+ push @conditions, 'p.start_date>=?';
+ push @bind_values, $condition->{from};
+ }
+ }
+
+ if ( ( defined $condition->{till} ) && ( $condition->{till} ne '' ) ) {
+ if ( $date_range_include == 1 ) {
+ push @conditions, 'p.start_date<=?';
+ push @bind_values, $condition->{till};
+ } else {
+ push @conditions, 'p.end_date<=?';
+ push @bind_values, $condition->{till};
+ }
+ }
+
+ my $limit = '';
+ if ( ( defined $condition->{limit} ) && ( $condition->{limit} ne '' ) ) {
+ $limit = 'limit ' . $condition->{limit};
+ }
+
+ my $conditions = '';
+ $conditions = " where " . join( " and ", @conditions ) if scalar @conditions > 0;
+
+ my $order = 'start';
+ $order = $condition->{order} if ( defined $condition->{order} ) && ( $condition->{order} ne '' );
+
+ my $query = qq{
+ select date(p.start) start_date
+ , date(p.end) end_date
+ , dayname(p.start) weekday
+ , p.start_date day
+ , p.start
+ , p.end
+ , p.studio_id
+ , p.project_id
+ , p.duration
+ , p.file
+ , p.errors
+ , p.channels
+ , p.format
+ , p.format_version
+ , p.format_profile
+ , p.format_settings
+ , p.stream_size
+ , p.bitrate
+ , p.bitrate_mode
+ , p.sampling_rate
+ , p.writing_library
+ , p.rms_left
+ , p.rms_right
+ , p.rms_image
+ , p.modified_at
+ , p.updated_at
+ , TIMESTAMPDIFF(SECOND,e.start,e.end) "event_duration"
+ from calcms_playout p left join calcms_events e
+ on p.start = e.start
+ $conditions
+ order by $order
+ $limit
+ };
+
+ #print STDERR Dumper($query).Dumper(\@bind_values);
+ my $entries = db::get( $dbh, $query, \@bind_values );
+ return $entries;
+}
+
+
# get playout entries
sub get($$) {
my $config = shift;
diff --git a/website/agenda/planung/audio_recordings.cgi b/website/agenda/planung/audio_recordings.cgi
index 0288306..ac1d80e 100755
--- a/website/agenda/planung/audio_recordings.cgi
+++ b/website/agenda/planung/audio_recordings.cgi
@@ -21,6 +21,7 @@ use series();
use template();
use audio_recordings();
use events();
+use audio();
use time();
#$|=1;
@@ -33,7 +34,7 @@ our $debug = $config->{system}->{debug};
my $base_dir = $config->{locations}->{base_dir};
my $tempDir = '/var/tmp';
-my $uploadLimit = 300_000_000;
+my $uploadLimit = 400_000_000;
my %params = ();
my $error = '';
@@ -108,7 +109,8 @@ if ( $params->{action} eq 'upload' ) {
showAudioRecordings( $config, $request );
print STDERR "$0 ERROR: " . $params->{error} . "\n" if $params->{error} ne '';
-$params->{loc} = localization::get( $config, { user => $params->{presets}->{user}, file => 'event,comment' } );
+$params->{loc} =
+ localization::get( $config, { user => $params->{presets}->{user}, file => 'event,comment' } );
template::process( $config, 'print', $params->{template}, $params );
exit;
@@ -302,10 +304,14 @@ sub showAudioRecordings {
$recording->{mastered} = $recording->{mastered} ? 'yes' : 'no';
$recording->{eventDuration} = getDuration( $recording->{eventDuration} );
- $recording->{audioDuration} = getDuration( $recording->{audioDuration} );
+ $recording->{audioDuration} = audio::formatDuration(
+ $recording->{audioDuration},
+ $recording->{eventDuration},
+ getDuration( $recording->{audioDuration} )
+ );
- $recording->{rmsLeft} ||= '-';
- $recording->{rmsRight} ||= '-';
+ $recording->{rmsLeft} = audio::formatLoudness( $recording->{rmsLeft} );
+ $recording->{rmsRight} = audio::formatLoudness( $recording->{rmsRight} );
}
my $now = time();
@@ -368,7 +374,8 @@ sub uploadFile {
print STDERR "tempFile=$tempFile\n";
my $start = time();
- open DAT, '>', $tempFile or return { error => 'could not save upload. ' . $! . " " . $tempFile };
+ open DAT, '>', $tempFile
+ or return { error => 'could not save upload. ' . $! . " " . $tempFile };
binmode DAT;
my $size = 0;
my $data = '';
@@ -495,14 +502,18 @@ sub checkFilename {
if ( $filename =~ /\.([a-zA-Z]{3,5})$/ ) {
my $extension = lc $1;
unless ( grep( /$extension/, @validExtensions ) ) {
- return { error => 'Following file formats are supported: ' . join( ",", @validExtensions ) . '!' };
+ return {error => 'Following file formats are supported: '
+ . join( ",", @validExtensions )
+ . '!' };
}
return {
extension => $extension,
error => ''
};
}
- return { error => 'Not matching file extension found! Supported are: ' . join( ",", @validExtensions ) . '!' };
+ return {error => 'Not matching file extension found! Supported are: '
+ . join( ",", @validExtensions )
+ . '!' };
}
# return event duration in seconds
@@ -534,7 +545,8 @@ sub getEventDuration {
print STDERR "getEventDuration: no event found with event_id=$eventId\n";
}
my $event = $events->[0];
- my $duration = time::get_duration_seconds( $event->{start}, $event->{end}, $config->{date}->{time_zone} );
+ my $duration =
+ time::get_duration_seconds( $event->{start}, $event->{end}, $config->{date}->{time_zone} );
return $duration;
}
@@ -544,11 +556,13 @@ sub check_params {
my $checked = {};
$checked->{error} = '';
- $checked->{template} = template::check( $config, $params->{template}, 'upload_audio_recordings' );
+ $checked->{template} =
+ template::check( $config, $params->{template}, 'upload_audio_recordings' );
#print Dumper($params);
#numeric values
- for my $param ( 'project_id', 'studio_id', 'default_studio_id', 'series_id', 'event_id', 'id' ) {
+ for my $param ( 'project_id', 'studio_id', 'default_studio_id', 'series_id', 'event_id', 'id' )
+ {
if ( ( defined $params->{$param} ) && ( $params->{$param} =~ /^\d+$/ ) ) {
$checked->{$param} = $params->{$param};
}
diff --git a/website/agenda/planung/calendar.cgi b/website/agenda/planung/calendar.cgi
index 199770c..297cfce 100755
--- a/website/agenda/planung/calendar.cgi
+++ b/website/agenda/planung/calendar.cgi
@@ -29,6 +29,7 @@ use work_dates();
use playout();
use user_settings();
use audio_recordings();
+use audio();
binmode STDOUT, ":utf8";
@@ -93,7 +94,8 @@ if (
#process header
my $headerParams = uac::set_template_permissions( $request->{permissions}, $params );
$headerParams->{loc} = localization::get( $config, { user => $user, file => 'menu' } );
- template::process( $config, 'print', template::check( $config, 'default.html' ), $headerParams );
+ template::process( $config, 'print', template::check( $config, 'default.html' ),
+ $headerParams );
print q{
@@ -167,7 +169,7 @@ sub showCalendar {
my $start_of_day = $cal_options->{start_of_day};
my $end_of_day = $cal_options->{end_of_day};
- my $params = $request->{params}->{checked};
+ my $params = $request->{params}->{checked};
my $permissions = $request->{permissions} || {};
unless ( $permissions->{read_series} == 1 ) {
uac::permissions_denied('read_series');
@@ -180,9 +182,11 @@ sub showCalendar {
$params->{range} = 28 unless defined $params->{range};
#get colors from user settings
- print user_settings::getColorCss( $config, { user => $params->{presets}->{user} } ) if $params->{part} == 0;
+ print user_settings::getColorCss( $config, { user => $params->{presets}->{user} } )
+ if $params->{part} == 0;
- $params->{loc} = localization::get( $config, { user => $params->{presets}->{user}, file => 'all,calendar' } );
+ $params->{loc} =
+ localization::get( $config, { user => $params->{presets}->{user}, file => 'all,calendar' } );
my $language = $user_settings->{language} || 'en';
$params->{language} = $language;
print localization::getJavascript( $params->{loc} ) if $params->{part} == 0;
@@ -367,7 +371,7 @@ sub showCalendar {
#get playout
delete $options->{exclude};
- my $playout_dates = playout::get( $config, $options );
+ my $playout_dates = playout::get_scheduled( $config, $options );
$id = 0;
for my $date (@$playout_dates) {
my $format = undef;
@@ -377,7 +381,8 @@ sub showCalendar {
. ( $date->{'format_version'} || '' ) . " "
. ( $date->{'format_profile'} || '' );
$format =~ s/MPEG Audio Version 1 Layer 3/MP3/g;
- $format .= ' ' . ( $date->{'format_settings'} || '' ) if defined $date->{'format_settings'};
+ $format .= ' ' . ( $date->{'format_settings'} || '' )
+ if defined $date->{'format_settings'};
$format .= '
';
}
@@ -386,32 +391,44 @@ sub showCalendar {
$date->{series_id} = -1;
$date->{event_id} = $id;
$date->{title} = '';
- $date->{title} .= 'errors: ' . $date->{errors} . '
' if defined $date->{errors};
- $date->{title} .= formatDuration( $date->{duration} ) . "
" if defined $date->{duration};
- $date->{title} .= formatLoudness( "L:", $date->{rms_left} ) . ', ' if defined $date->{rms_left};
- $date->{title} .= formatLoudness( "R:", $date->{rms_right} ) . '
' if defined $date->{rms_right};
- $date->{title} .= formatBitrate( $date->{bitrate} ) . ' ' . $date->{bitrate_mode} . '
'
- if defined $date->{bitrate};
- $date->{title} .= 'replay gain ' . sprintf( "%.1f", $date->{replay_gain} ) . '
'
+ $date->{title} .= 'errors: ' . $date->{errors} . '
'
+ if defined $date->{errors};
+ $date->{title} .= audio::formatDuration(
+ $date->{duration},
+ $date->{event_duration},
+ sprintf( "duration: %.1g h", $date->{duration} / 3600 ) . "
"
+ ) if defined $date->{duration};
+ $date->{title} .= "L:" . audio::formatLoudness( $date->{rms_left} ) . ', '
+ if defined $date->{rms_left};
+ $date->{title} .= "R:" . audio::formatLoudness( $date->{rms_right} ) . '
'
+ if defined $date->{rms_right};
+ $date->{title} .= audio::formatBitrate( $date->{bitrate} ) if defined $date->{bitrate};
+ $date->{title} .= ' ' . audio::formatBitrateMode( $date->{bitrate_mode} ) . '
'
+ if defined $date->{bitrate_mode};
+ $date->{title} .=
+ 'replay gain ' . sprintf( "%.1f", $date->{replay_gain} ) . '
'
if defined $date->{replay_gain};
- $date->{title} .= ( ( $date->{sampling_rate} || '0' ) / 1000 ) . ' kHz
'
+ $date->{title} .= audio::formatSamplingRate( $date->{sampling_rate} )
if defined $date->{sampling_rate};
- $date->{title} .= ( $date->{channels} || '' ) . ' channels
' if defined $date->{channels};
+ $date->{title} .= audio::formatChannels( $date->{channels} ) . '
'
+ if defined $date->{channels};
$date->{title} .= int( ( $date->{'stream_size'} || '0' ) / ( 1024 * 1024 ) ) . 'MB
'
if defined $date->{'stream_size'};
$date->{title} .= $format if defined $format;
$date->{title} .= 'library: ' . ( $date->{writing_library} || '' ) . '
'
if defined $date->{'writing_library'};
- $date->{title} .= 'path: ' . ( $date->{file} || '' ) . '
' if defined $date->{file};
+ $date->{title} .= 'path: ' . ( $date->{file} || '' ) . '
'
+ if defined $date->{file};
$date->{title} .= 'updated_at: ' . ( $date->{updated_at} || '' ) . '
'
if defined $date->{updated_at};
$date->{title} .= 'modified_at: ' . ( $date->{modified_at} || '' ) . '
'
if defined $date->{modified_at};
- #print STDERR Dumper($date) if $date->{file}=~/180503/;
- #$date->{title}.= 'rms_image: ' .($date->{rms_image}||'').'
' if defined $date->{rms_image};
+#print STDERR Dumper($date) if $date->{file}=~/180503/;
+#$date->{title}.= 'rms_image: ' .($date->{rms_image}||'').'
' if defined $date->{rms_image};
- $date->{rms_image} = URI::Escape::uri_unescape( $date->{rms_image} ) if defined $date->{rms_image};
+ $date->{rms_image} = URI::Escape::uri_unescape( $date->{rms_image} )
+ if defined $date->{rms_image};
$date->{origStart} = $date->{start};
@@ -431,6 +448,7 @@ sub showCalendar {
$date = events::calc_dates( $config, $date );
if ( defined $events_by_start->{ $date->{start} } ) {
$events_by_start->{ $date->{start} }->{duration} = $date->{duration} || 0;
+ $events_by_start->{ $date->{start} }->{event_duration} = $date->{event_duration} || 0;
$events_by_start->{ $date->{start} }->{rms_left} = $date->{rms_left} || 0;
$events_by_start->{ $date->{start} }->{rms_right} = $date->{rms_right} || 0;
$events_by_start->{ $date->{start} }->{playout_modified_at} = $date->{modified_at};
@@ -468,7 +486,8 @@ sub showCalendar {
#separate by day (e.g. to 6 pm)
my $events_by_day = {};
for my $event (@$events) {
- my $day = time::datetime_to_date( time::add_hours_to_datetime( $event->{start}, -$start_of_day ) );
+ my $day =
+ time::datetime_to_date( time::add_hours_to_datetime( $event->{start}, -$start_of_day ) );
push @{ $events_by_day->{$day} }, $event;
}
@@ -506,7 +525,9 @@ sub showCalendar {
next unless defined $event->{uploaded_at};
#print STDERR "uploadAt=$event->{uploaded_at}, playoutModified:$event->{playout_modified_at}, playoutUpdatedAt:$event->{playout_updated_at}\n";
- next if ( defined $event->{playout_updated_at} ) && ( $event->{uploaded_at} lt $event->{playout_updated_at} );
+ next
+ if ( defined $event->{playout_updated_at} )
+ && ( $event->{uploaded_at} lt $event->{playout_updated_at} );
#print STDERR Dumper($event);
#$event->{upload} ='pending' ;
@@ -520,7 +541,8 @@ sub showCalendar {
print qq{
};
}
if ( $params->{part} == 1 ) {
- calcCalendarTable( $config, $permissions, $params, $calendar, $events_by_day, $cal_options );
+ calcCalendarTable( $config, $permissions, $params, $calendar, $events_by_day,
+ $cal_options );
printTableHeader( $config, $permissions, $params, $cal_options );
printTableBody( $config, $permissions, $params, $cal_options );
}
@@ -542,46 +564,6 @@ sub showCalendar {
}
}
-sub formatLoudness {
- my $label = shift;
- my $value = shift;
- return '' unless defined $value;
- return '' if $value == 0;
- return '' if $value eq '';
-
- #print STDERR "'$value'\n";
- $value = sprintf( "%d", $value + 0.5 );
- my $class = 'ok';
- $class = 'warn' if $value > -18.5;
- $class = 'error' if $value > -16.0;
- $class = 'warn' if $value < -24.0;
- $class = 'error' if $value < -27.0;
- return qq{$label} . $value . qq{dB};
-}
-
-sub formatDuration {
- my $duration = shift;
- return '' unless defined $duration;
- return '' if $duration eq '';
- my $result = int( ( $duration + 30.5 ) % 60 ) - 30;
- my $class = "ok";
- $class = "warn" if abs($result) > 1;
- $class = "error" if abs($result) > 2;
- return sprintf( qq{%ds}, $class, $duration );
-}
-
-sub formatBitrate {
- my $bitrate = shift;
- return '' if $bitrate eq '';
- if ( $bitrate >= 200 ) {
- return qq{$bitrate};
- } elsif ( $bitrate < 190 ) {
- return qq{$bitrate};
- } else {
- return qq{$bitrate};
- }
-}
-
sub debugDate {
my $date = shift;
$date->{program} = '' unless defined $date->{program};
@@ -592,7 +574,7 @@ sub debugDate {
my $da = ( $date->{start_date} || '' ) . " " . ( $date->{end_date} || '' );
my $type = "schedule:" . ( $date->{schedule} || "" ) . " grid:" . ( $date->{grid} || "" );
- #print STDERR "$dt $da count:$date->{splitCount} $type $date->{program}-$date->{series_name}-$date->{title}\n";
+#print STDERR "$dt $da count:$date->{splitCount} $type $date->{program}-$date->{series_name}-$date->{title}\n";
}
# break dates at start_of_day
@@ -730,9 +712,9 @@ sub showEventList {
my $events_by_day = shift;
my $language = $params->{language};
- my $rerunIcon = '';
- my $liveIcon = '';
- my $draftIcon = '';
+ my $rerunIcon = '';
+ my $liveIcon = '';
+ my $draftIcon = '';
my $archiveIcon = '';
my $out = '';
@@ -785,14 +767,23 @@ sub showEventList {
if ( $class =~ /(event|schedule)/ ) {
$class .= ' scheduled' if defined $event->{scheduled};
$class .= ' error' if defined $event->{error};
- $class .= ' no_series' if ( ( $class eq 'event' ) && ( $event->{series_id} eq '-1' ) );
+ $class .= ' no_series'
+ if ( ( $class eq 'event' ) && ( $event->{series_id} eq '-1' ) );
- for my $filter ( 'rerun', 'archived', 'playout', 'published', 'live', 'disable_event_sync', 'draft' ) {
- $class .= ' ' . $filter if ( ( defined $event->{$filter} ) && ( $event->{$filter} eq '1' ) );
+ for my $filter (
+ 'rerun', 'archived', 'playout', 'published',
+ 'live', 'disable_event_sync', 'draft'
+ )
+ {
+ $class .= ' ' . $filter
+ if ( ( defined $event->{$filter} ) && ( $event->{$filter} eq '1' ) );
}
- $class .= ' preproduced' unless ( ( defined $event->{'live'} ) && ( $event->{'live'} eq '1' ) );
- $class .= ' no_playout' unless ( ( defined $event->{'playout'} ) && ( $event->{'playout'} eq '1' ) );
- $class .= ' no_rerun' unless ( ( defined $event->{'rerun'} ) && ( $event->{'rerun'} eq '1' ) );
+ $class .= ' preproduced'
+ unless ( ( defined $event->{'live'} ) && ( $event->{'live'} eq '1' ) );
+ $class .= ' no_playout'
+ unless ( ( defined $event->{'playout'} ) && ( $event->{'playout'} eq '1' ) );
+ $class .= ' no_rerun'
+ unless ( ( defined $event->{'rerun'} ) && ( $event->{'rerun'} eq '1' ) );
}
$event->{start} ||= '';
@@ -874,7 +865,8 @@ sub showEventList {
);
$out .= q{};
$out .= addEventsToSeries( $series, $params )
- if ( defined $permissions->{assign_series_events} ) && ( $permissions->{assign_series_events} eq '1' );
+ if ( defined $permissions->{assign_series_events} )
+ && ( $permissions->{assign_series_events} eq '1' );
$out .= createSeries($params)
if ( defined $permissions->{create_series} ) && ( $permissions->{create_series} eq '1' );
$out .= q{
};
@@ -1140,20 +1132,29 @@ sub printTableBody {
$content = $event->{start} if $day eq '0';
$event->{project_id} = $project_id unless defined $event->{project_id};
$event->{studio_id} = $studio_id unless defined $event->{studio_id};
- $event->{content} = $content unless ( ( defined $event->{class} ) && ( $event->{class} eq 'time now' ) );
- $event->{class} = 'event' if $day ne '0';
- $event->{class} = 'grid' if ( ( defined $event->{grid} ) && ( $event->{grid} == 1 ) );
- $event->{class} = 'schedule' if ( ( defined $event->{schedule} ) && ( $event->{schedule} == 1 ) );
- $event->{class} = 'work' if ( ( defined $event->{work} ) && ( $event->{work} == 1 ) );
- $event->{class} = 'play' if ( ( defined $event->{play} ) && ( $event->{play} == 1 ) );
+ $event->{content} = $content
+ unless ( ( defined $event->{class} ) && ( $event->{class} eq 'time now' ) );
+ $event->{class} = 'event' if $day ne '0';
+ $event->{class} = 'grid' if ( ( defined $event->{grid} ) && ( $event->{grid} == 1 ) );
+ $event->{class} = 'schedule'
+ if ( ( defined $event->{schedule} ) && ( $event->{schedule} == 1 ) );
+ $event->{class} = 'work' if ( ( defined $event->{work} ) && ( $event->{work} == 1 ) );
+ $event->{class} = 'play' if ( ( defined $event->{play} ) && ( $event->{play} == 1 ) );
if ( $event->{class} eq 'event' ) {
$event->{content} .= '
';
- $event->{content} .= formatDuration( $event->{duration} ) . ' ' if defined $event->{duration};
- $event->{content} .= formatLoudness( 'L', $event->{rms_left} ) . ' ' if defined $event->{rms_left};
- $event->{content} .= formatLoudness( 'R', $event->{rms_right} ) if defined $event->{rms_right};
+ $event->{content} .=
+ audio::formatDuration( $event->{duration}, $event->{event_duration},
+ sprintf("%d min", (($event->{duration}+0.5)/60)) )
+ . ' '
+ if defined $event->{duration};
+ $event->{content} .= 'L' . audio::formatLoudness( $event->{rms_left} ) . ' '
+ if defined $event->{rms_left};
+ $event->{content} .=
+ 'R' . audio::formatLoudness( $event->{rms_right} )
+ if defined $event->{rms_right};
- #$event->{content} .= formatBitrate( $event->{bitrate} ) if defined $event->{bitrate};
+ #$event->{content} .= formatBitrate( $event->{bitrate} ) if defined $event->{bitrate};
$event->{content} .= '';
}
@@ -1205,9 +1206,11 @@ sub printSeries {
if ( ( $params->{studio_id} ne '' ) && ( $params->{studio_id} ne '-1' ) ) {
$out .= q{};
$out .= addEventsToSeries( $series, $params )
- if ( ( defined $permissions->{assign_series_events} ) && ( $permissions->{assign_series_events} eq '1' ) );
+ if ( ( defined $permissions->{assign_series_events} )
+ && ( $permissions->{assign_series_events} eq '1' ) );
$out .= createSeries($params)
- if ( ( defined $permissions->{create_series} ) && ( $permissions->{create_series} eq '1' ) );
+ if ( ( defined $permissions->{create_series} )
+ && ( $permissions->{create_series} eq '1' ) );
$out .= q{
};
}
@@ -1283,7 +1286,14 @@ sub addSeries {
$name = $params->{loc}->{single_events} if $serie->{has_single_events} eq '1';
$title = ' - ' . $title if $title ne '';
- $out .= '' . "\n";
+ $out .=
+ '' . "\n";
}
#print Dumper($series);
@@ -1338,7 +1348,14 @@ sub addEventsToSeries {
my $title = $serie->{title} || '';
$name = $params->{loc}->{single_events} if $serie->{has_single_events} == 1;
$title = ' - ' . $title if $title ne '';
- $out .= '' . "\n";
+ $out .=
+ '' . "\n";
}
#print Dumper($series);
@@ -1416,16 +1433,22 @@ sub print_event {
my $class = $event->{class} || '';
my $showIcons = 0;
if ( $class =~ /(event|schedule)/ ) {
- $class .= ' scheduled' if defined $event->{scheduled};
- $class .= ' no_series' if ( ( $class eq 'event' ) && ( $event->{series_id} eq '-1' ) );
+ $class .= ' scheduled' if defined $event->{scheduled};
+ $class .= ' no_series' if ( ( $class eq 'event' ) && ( $event->{series_id} eq '-1' ) );
$class .= " error x$event->{error}" if defined $event->{error};
- for my $filter ( 'rerun', 'archived', 'playout', 'published', 'live', 'disable_event_sync', 'draft' ) {
- $class .= ' ' . $filter if ( ( defined $event->{$filter} ) && ( $event->{$filter} eq '1' ) );
+ for my $filter ( 'rerun', 'archived', 'playout', 'published', 'live', 'disable_event_sync',
+ 'draft' )
+ {
+ $class .= ' ' . $filter
+ if ( ( defined $event->{$filter} ) && ( $event->{$filter} eq '1' ) );
}
- $class .= ' preproduced' unless ( ( defined $event->{'live'} ) && ( $event->{'live'} eq '1' ) );
- $class .= ' no_playout' unless ( ( defined $event->{'playout'} ) && ( $event->{'playout'} eq '1' ) );
- $class .= ' no_rerun' unless ( ( defined $event->{'rerun'} ) && ( $event->{'rerun'} eq '1' ) );
+ $class .= ' preproduced'
+ unless ( ( defined $event->{'live'} ) && ( $event->{'live'} eq '1' ) );
+ $class .= ' no_playout'
+ unless ( ( defined $event->{'playout'} ) && ( $event->{'playout'} eq '1' ) );
+ $class .= ' no_rerun'
+ unless ( ( defined $event->{'rerun'} ) && ( $event->{'rerun'} eq '1' ) );
$showIcons = 1;
}
@@ -1626,8 +1649,9 @@ sub printToolbar {
# my $options=[];
for my $range (
- $params->{loc}->{label_month}, $params->{loc}->{label_4_weeks}, $params->{loc}->{label_2_weeks},
- $params->{loc}->{label_1_week}, $params->{loc}->{label_day}
+ $params->{loc}->{label_month}, $params->{loc}->{label_4_weeks},
+ $params->{loc}->{label_2_weeks}, $params->{loc}->{label_1_week},
+ $params->{loc}->{label_day}
)
{
my $value = $ranges->{$range} || '';
@@ -1657,14 +1681,17 @@ sub printToolbar {