diff options
| author | Andreas Brachold <vdr07@deltab.de> | 2008-01-01 18:08:52 +0000 |
|---|---|---|
| committer | Andreas Brachold <vdr07@deltab.de> | 2008-01-01 18:08:52 +0000 |
| commit | 8222d826a768795076a655fcc057a218b7f8e933 (patch) | |
| tree | d0ee5e644afb288ab61d1d86f3a6856b5a6e4fef /lib/Tools.pm | |
| parent | 8d11e5ef702eb4e7a0448eb43d39f28c9670954e (diff) | |
| download | xxv-8222d826a768795076a655fcc057a218b7f8e933.tar.gz xxv-8222d826a768795076a655fcc057a218b7f8e933.tar.bz2 | |
* STREAM: Add HTTPD Streaming for recording, with starttime
* RECORDS: Start playback with start time
* TIMERS: drop workaround getOldDeactivTimer - 'Search for old and deactivated Timers and delete this'
cleanup etc/xxvd.cfg.example, skin.cfg
rdisplay: add input field for start time
Diffstat (limited to 'lib/Tools.pm')
| -rw-r--r-- | lib/Tools.pm | 50 |
1 files changed, 49 insertions, 1 deletions
diff --git a/lib/Tools.pm b/lib/Tools.pm index a588f53..6e2072d 100644 --- a/lib/Tools.pm +++ b/lib/Tools.pm @@ -26,7 +26,7 @@ our $DBH = {}; &getFromSocket &fields &load_file &save_file &tableUpdated &buildsearch &deleteDir &getip &convert &int &entities &reentities &bench &fmttime &getDataByTable &getDataById &getDataBySearch &getDataByFields &touch &url - &con_err &con_msg); + &con_err &con_msg &text2frame &frame2hms); # ------------------ @@ -667,4 +667,52 @@ sub url{ return $s; } +################################################################################ +# Convert text to frame number +# in => frame / HH:MM:SS.FF / HH:MM:SS / MM:SS.FF / MM:SS +# out => frame +sub text2frame() { + my $s = shift; + + my $start = 0; + if($s =~ /^\d+$/sig) { + $start = $s; + } elsif($s =~ /^\d+\:\d+\:\d+\.\d+$/sg) { + my ($hour,$minute,$seconds,$frames) = $s =~ /(\d+)\:(\d+)\:(\d+)\.(\d+)/s; + $start = ($hour * 3600) + ($minute * 60) + $seconds; + $start *= 25; + $start += $frames; + } elsif($s =~ /^\d+\:\d+\:\d+$/sg) { + my ($hour,$minute,$seconds) = $s =~ /(\d+)\:(\d+)\:(\d+)/s; + $start = ($hour * 3600) + ($minute * 60) + $seconds; + $start *= 25; + } elsif($s =~ /^\d+\:\d+\.\d+$/sg) { + my ($minute,$seconds,$frames) = $s =~ /(\d+)\:(\d+)\.(\d+)/s; + $start = ($minute * 60) + $seconds; + $start *= 25; + $start += $frames; + } elsif($s =~ /^\d+\:\d+$/sg) { + my ($minute,$seconds) = $s =~ /(\d+)\:(\d+)/s; + $start = ($minute * 60) + $seconds; + $start *= 25; + } + return $start; +} + +################################################################################ +# Convert frame number to HMS Text +# in => frame +# out => HH:MM:SS.FF +sub frame2hms() { + my $frames = shift; + + my $frame = $frames % 25; + my $time = $frames / 25; + my $sec = $time % 60; + my $min = ($time / 60) % 60; + my $hour = CORE::int($time/3600); + + return sprintf('%d:%02d:%02d.%02d', $hour, $min, $sec, $frame); +} + 1; |
