diff --git a/CPAN/Media/Scan.pm b/CPAN/Media/Scan.pm deleted file mode 100644 index 038fa6e092e..00000000000 --- a/CPAN/Media/Scan.pm +++ /dev/null @@ -1,160 +0,0 @@ -package Media::Scan; - -use strict; -use base qw(Exporter); - -use Media::Scan::Audio; -use Media::Scan::Image; -use Media::Scan::Error; -use Media::Scan::Progress; -use Media::Scan::Video; - -# Log levels -use constant MS_LOG_ERR => 1; -use constant MS_LOG_WARN => 2; -use constant MS_LOG_INFO => 3; -use constant MS_LOG_DEBUG => 4; -use constant MS_LOG_MEMORY => 9; - -# Flags -use constant MS_USE_EXTENSION => 1; -use constant MS_FULL_SCAN => 1 << 1; -use constant MS_RESCAN => 1 << 2; -use constant MS_INCLUDE_DELETED => 1 << 3; -use constant MS_WATCH_CHANGES => 1 << 4; -use constant MS_CLEARDB => 1 << 5; - -our $VERSION = '0.01'; - -our @EXPORT = qw( - MS_LOG_ERR MS_LOG_WARN MS_LOG_INFO MS_LOG_DEBUG MS_LOG_MEMORY - MS_USE_EXTENSION MS_FULL_SCAN MS_RESCAN MS_INCLUDE_DELETED - MS_WATCH_CHANGES MS_CLEARDB -); - -require XSLoader; -XSLoader::load('Media::Scan', $VERSION); - -=head2 new( \@paths, \%options ) - -Create a new Media::Scan instance and begin scanning. - -paths may be a single scalar path, or an array reference with multiple paths. - -options include: - -=over 4 - -=item loglevel (default: MS_LOG_ERR) - -One of the following levels: - - MS_LOG_ERR - MS_LOG_WARN - MS_LOG_INFO - MS_LOG_DEBUG - MS_LOG_MEMORY - -=item async (default: 0) - -If set to 1, all scanning is performed in a background thread, and the call to new() will -return immediately. Make sure to keep a reference to the Media::Scan object, or -the scan will be aborted at DESTROY-time. - -=item cachedir (default: current dir) - -An optional path for libmediascan to store some cache files. - -=item flags (default: MS_USE_EXTENSION | MS_FULL_SCAN) - -An OR'ed list of flags, the possible flags are: - - MS_USE_EXTENSION - Use a file's extension to determine how to scan it. - MS_FULL_SCAN - Perform a full scan on every file. - MS_RESCAN - Only scan files that are new or have changed since the last scan. - MS_INCLUDE_DELETED - The result callback will be called for files that have been deleted - since the last scan. - MS_WATCH_CHANGES - Continue watching for changes after the scan has completed. - MS_CLEARDB - Wipe the internal libmediascan database before scanning. - -=item ignore (default: none) - -An array reference of file extensions that should be skipped. You may also specify 3 special types: - - AUDIO - Ignore all audio files. - IMAGE - Ignore all image files. - VIDEO - Ignore all video files. - -=item ignore_dirs (default: none) - -An array reference of directory substrings that should be skipped, for example the iTunes container -directories ".ite" and ".itlp" or the Windows directory "RECYCLER". The substrings are case-sensitive. - -=item thumbnails (default: none) - -An arrayref of hashes with one or more thumbnail specifications. Thumbnails are created during the -scanning process and are available within the result callback. - -The format of a thumbnail spec is: - - { format => 'AUTO', # or JPEG or PNG - width => 100, - height => 100, - keep_aspect => 1, - bgcolor => 0xffffff, - quality => 90, - } - -Most values are optional, however at least width or height must be specified. - -=item on_result - -A callback that will be called for each scanned file. The function will be passed -a L, L, or L depending on the -file type. This callback is required. - -=item on_error - -An callback that will be called when a scanning error occurs. It is passed a -L. - -=item on_progress - -An optional callback that will be passed a L at regular intervals -during scanning. - -=item on_finish - -An optional callback that is called when scanning has finished. Nothing is currently passed -to this callback, eventually a scanning summary and overall stats might be included here. - -=cut - -sub new { - my ( $class, $paths, $opts ) = @_; - - if ( ref $paths ne 'ARRAY' ) { - $paths = [ $paths ]; - } - - $opts->{loglevel} ||= MS_LOG_ERR; - $opts->{async} ||= 0; - $opts->{flags} ||= MS_USE_EXTENSION | MS_FULL_SCAN; - $opts->{paths} = $paths; - $opts->{ignore} ||= []; - $opts->{thumbnails} ||= []; - - if ( ref $opts->{ignore} ne 'ARRAY' ) { - die "ignore must be an array reference"; - } - - my $self = bless $opts, $class; - - $self->xs_new(); - - $self->xs_scan(); - - return $self; -} - -1; \ No newline at end of file diff --git a/CPAN/Media/Scan/Audio.pm b/CPAN/Media/Scan/Audio.pm deleted file mode 100644 index f4441d71b44..00000000000 --- a/CPAN/Media/Scan/Audio.pm +++ /dev/null @@ -1,8 +0,0 @@ -package Media::Scan::Audio; - -use strict; -use base qw(Media::Scan::Result); - -# Implementation is in xs/Audio.xs and xs/Result.xs - -1; \ No newline at end of file diff --git a/CPAN/Media/Scan/Error.pm b/CPAN/Media/Scan/Error.pm deleted file mode 100644 index dd084c9a10c..00000000000 --- a/CPAN/Media/Scan/Error.pm +++ /dev/null @@ -1,18 +0,0 @@ -package Media::Scan::Error; - -use strict; - -# Implementation is in xs/Error.xs - -sub as_hash { - my $self = shift; - - return { - error_code => $self->error_code, - averror => $self->averror, - path => $self->path, - error_string => $self->error_string, - }; -} - -1; \ No newline at end of file diff --git a/CPAN/Media/Scan/Image.pm b/CPAN/Media/Scan/Image.pm deleted file mode 100644 index c8c6e32f61f..00000000000 --- a/CPAN/Media/Scan/Image.pm +++ /dev/null @@ -1,19 +0,0 @@ -package Media::Scan::Image; - -use strict; -use base qw(Media::Scan::Result); - -# Implementation is in xs/Image.xs and xs/Result.xs - -sub as_hash { - my $self = shift; - - return { - %{ $self->SUPER::as_hash() }, - codec => $self->codec, - width => $self->width, - height => $self->height, - }; -} - -1; \ No newline at end of file diff --git a/CPAN/Media/Scan/Progress.pm b/CPAN/Media/Scan/Progress.pm deleted file mode 100644 index 5ace5e26b76..00000000000 --- a/CPAN/Media/Scan/Progress.pm +++ /dev/null @@ -1,20 +0,0 @@ -package Media::Scan::Progress; - -use strict; - -# Implementation is in xs/Progress.xs - -sub as_hash { - my $self = shift; - - return { - phase => $self->phase, - cur_item => $self->cur_item, - total => $self->total, - done => $self->done, - eta => $self->eta, - rate => $self->rate, - }; -} - -1; \ No newline at end of file diff --git a/CPAN/Media/Scan/Result.pm b/CPAN/Media/Scan/Result.pm deleted file mode 100644 index 2aeec967db7..00000000000 --- a/CPAN/Media/Scan/Result.pm +++ /dev/null @@ -1,24 +0,0 @@ -package Media::Scan::Result; - -use strict; - -# Implementation is in xs/Result.xs - -sub as_hash { - my $self = shift; - - return { - type => $self->type, - path => $self->path, - mime_type => $self->mime_type, - dlna_profile => $self->dlna_profile, - size => $self->size, - mtime => $self->mtime, - bitrate => $self->bitrate, - duration_ms => $self->duration_ms, - hash => $self->hash, - thumbnails => $self->thumbnails, - }; -} - -1; \ No newline at end of file diff --git a/CPAN/Media/Scan/Video.pm b/CPAN/Media/Scan/Video.pm deleted file mode 100644 index 0676845c008..00000000000 --- a/CPAN/Media/Scan/Video.pm +++ /dev/null @@ -1,20 +0,0 @@ -package Media::Scan::Video; - -use strict; -use base qw(Media::Scan::Result); - -# Implementation is in xs/Video.xs and xs/Result.xs - -sub as_hash { - my $self = shift; - - return { - %{ $self->SUPER::as_hash() }, - codec => $self->codec, - width => $self->width, - height => $self->height, - fps => $self->fps, - }; -} - -1; \ No newline at end of file diff --git a/CPAN/arch/5.10/arm-linux-gnueabi-thread-multi/auto/Media/Scan/Scan.so b/CPAN/arch/5.10/arm-linux-gnueabi-thread-multi/auto/Media/Scan/Scan.so deleted file mode 100755 index 35afdfa6a80..00000000000 Binary files a/CPAN/arch/5.10/arm-linux-gnueabi-thread-multi/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.10/i386-linux-thread-multi/auto/Media/Scan/Scan.so b/CPAN/arch/5.10/i386-linux-thread-multi/auto/Media/Scan/Scan.so deleted file mode 100755 index 7799db495cd..00000000000 Binary files a/CPAN/arch/5.10/i386-linux-thread-multi/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.10/powerpc-linux-thread-multi/auto/Media/Scan/Scan.so b/CPAN/arch/5.10/powerpc-linux-thread-multi/auto/Media/Scan/Scan.so deleted file mode 100755 index c11acd72b11..00000000000 Binary files a/CPAN/arch/5.10/powerpc-linux-thread-multi/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.10/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so b/CPAN/arch/5.10/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so deleted file mode 100755 index 496ee16e0be..00000000000 Binary files a/CPAN/arch/5.10/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.12/arm-linux-gnueabi-thread-multi-64int/auto/Media/Scan/Scan.so b/CPAN/arch/5.12/arm-linux-gnueabi-thread-multi-64int/auto/Media/Scan/Scan.so deleted file mode 100755 index 14b1d178b52..00000000000 Binary files a/CPAN/arch/5.12/arm-linux-gnueabi-thread-multi-64int/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.12/i386-linux-thread-multi-64int/auto/Media/Scan/Scan.so b/CPAN/arch/5.12/i386-linux-thread-multi-64int/auto/Media/Scan/Scan.so deleted file mode 100755 index b928edd36c2..00000000000 Binary files a/CPAN/arch/5.12/i386-linux-thread-multi-64int/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.12/i386-linux-thread-multi/auto/Media/Scan/Scan.so b/CPAN/arch/5.12/i386-linux-thread-multi/auto/Media/Scan/Scan.so deleted file mode 100755 index b928edd36c2..00000000000 Binary files a/CPAN/arch/5.12/i386-linux-thread-multi/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.12/powerpc-linux-thread-multi-64int/auto/Media/Scan/Scan.so b/CPAN/arch/5.12/powerpc-linux-thread-multi-64int/auto/Media/Scan/Scan.so deleted file mode 100755 index 28d4d4d8bd3..00000000000 Binary files a/CPAN/arch/5.12/powerpc-linux-thread-multi-64int/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.12/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so b/CPAN/arch/5.12/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so deleted file mode 100755 index 28d93abd890..00000000000 Binary files a/CPAN/arch/5.12/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.14/MSWin32-x86-multi-thread/auto/Media/Scan/Scan.dll b/CPAN/arch/5.14/MSWin32-x86-multi-thread/auto/Media/Scan/Scan.dll deleted file mode 100755 index 557bdc3c7c0..00000000000 Binary files a/CPAN/arch/5.14/MSWin32-x86-multi-thread/auto/Media/Scan/Scan.dll and /dev/null differ diff --git a/CPAN/arch/5.14/arm-linux-gnueabi-thread-multi-64int/auto/Media/Scan/Scan.so b/CPAN/arch/5.14/arm-linux-gnueabi-thread-multi-64int/auto/Media/Scan/Scan.so deleted file mode 100755 index f64f4932afe..00000000000 Binary files a/CPAN/arch/5.14/arm-linux-gnueabi-thread-multi-64int/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.14/arm-linux-gnueabihf-thread-multi-64int/auto/Media/Scan/Scan.so b/CPAN/arch/5.14/arm-linux-gnueabihf-thread-multi-64int/auto/Media/Scan/Scan.so deleted file mode 100755 index 003e3f0f07c..00000000000 Binary files a/CPAN/arch/5.14/arm-linux-gnueabihf-thread-multi-64int/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.14/i386-linux-thread-multi-64int/auto/Media/Scan/Scan.so b/CPAN/arch/5.14/i386-linux-thread-multi-64int/auto/Media/Scan/Scan.so deleted file mode 100755 index 75e9670e287..00000000000 Binary files a/CPAN/arch/5.14/i386-linux-thread-multi-64int/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.14/i386-linux-thread-multi/auto/Media/Scan/Scan.so b/CPAN/arch/5.14/i386-linux-thread-multi/auto/Media/Scan/Scan.so deleted file mode 100755 index 75e9670e287..00000000000 Binary files a/CPAN/arch/5.14/i386-linux-thread-multi/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.14/powerpc-linux-thread-multi-64int/auto/Media/Scan/Scan.so b/CPAN/arch/5.14/powerpc-linux-thread-multi-64int/auto/Media/Scan/Scan.so deleted file mode 100755 index 074e5c52032..00000000000 Binary files a/CPAN/arch/5.14/powerpc-linux-thread-multi-64int/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.14/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so b/CPAN/arch/5.14/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so deleted file mode 100755 index 056e890373c..00000000000 Binary files a/CPAN/arch/5.14/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.16/i386-linux-thread-multi/auto/Media/Scan/Scan.so b/CPAN/arch/5.16/i386-linux-thread-multi/auto/Media/Scan/Scan.so deleted file mode 100644 index c63978707b1..00000000000 Binary files a/CPAN/arch/5.16/i386-linux-thread-multi/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.16/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so b/CPAN/arch/5.16/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so deleted file mode 100755 index 2cd66d09bb0..00000000000 Binary files a/CPAN/arch/5.16/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.18/darwin-thread-multi-2level/auto/Media/Scan/Scan.bundle b/CPAN/arch/5.18/darwin-thread-multi-2level/auto/Media/Scan/Scan.bundle deleted file mode 100755 index 0b0f02fa7f3..00000000000 Binary files a/CPAN/arch/5.18/darwin-thread-multi-2level/auto/Media/Scan/Scan.bundle and /dev/null differ diff --git a/CPAN/arch/5.18/i386-linux-thread-multi-64int/auto/Media/Scan/Scan.so b/CPAN/arch/5.18/i386-linux-thread-multi-64int/auto/Media/Scan/Scan.so deleted file mode 100755 index d03cfbbf837..00000000000 Binary files a/CPAN/arch/5.18/i386-linux-thread-multi-64int/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.18/i386-linux-thread-multi/auto/Media/Scan/Scan.so b/CPAN/arch/5.18/i386-linux-thread-multi/auto/Media/Scan/Scan.so deleted file mode 100755 index ca6e4790a2b..00000000000 Binary files a/CPAN/arch/5.18/i386-linux-thread-multi/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.18/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so b/CPAN/arch/5.18/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so deleted file mode 100755 index 6318cc82874..00000000000 Binary files a/CPAN/arch/5.18/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.20/arm-linux-gnueabi-thread-multi-64int/auto/Media/Scan/Scan.so b/CPAN/arch/5.20/arm-linux-gnueabi-thread-multi-64int/auto/Media/Scan/Scan.so deleted file mode 100644 index dad903dc2af..00000000000 Binary files a/CPAN/arch/5.20/arm-linux-gnueabi-thread-multi-64int/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.20/arm-linux-gnueabihf-thread-multi-64int/auto/Media/Scan/Scan.so b/CPAN/arch/5.20/arm-linux-gnueabihf-thread-multi-64int/auto/Media/Scan/Scan.so deleted file mode 100755 index 0c0dcc33b0f..00000000000 Binary files a/CPAN/arch/5.20/arm-linux-gnueabihf-thread-multi-64int/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.20/i386-linux-thread-multi-64int/auto/Media/Scan/Scan.so b/CPAN/arch/5.20/i386-linux-thread-multi-64int/auto/Media/Scan/Scan.so deleted file mode 100755 index 159f03dcef9..00000000000 Binary files a/CPAN/arch/5.20/i386-linux-thread-multi-64int/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.20/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so b/CPAN/arch/5.20/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so deleted file mode 100755 index c27b7ba02d2..00000000000 Binary files a/CPAN/arch/5.20/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.22/arm-linux-gnueabihf-thread-multi-64int/auto/Media/Scan/Scan.so b/CPAN/arch/5.22/arm-linux-gnueabihf-thread-multi-64int/auto/Media/Scan/Scan.so deleted file mode 100755 index f2c834ebf49..00000000000 Binary files a/CPAN/arch/5.22/arm-linux-gnueabihf-thread-multi-64int/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.22/i386-linux-thread-multi-64int/auto/Media/Scan/Scan.so b/CPAN/arch/5.22/i386-linux-thread-multi-64int/auto/Media/Scan/Scan.so deleted file mode 100755 index cc509397724..00000000000 Binary files a/CPAN/arch/5.22/i386-linux-thread-multi-64int/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.22/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so b/CPAN/arch/5.22/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so deleted file mode 100755 index 5efa41db95d..00000000000 Binary files a/CPAN/arch/5.22/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.24/aarch64-linux-thread-multi/auto/Media/Scan/Scan.so b/CPAN/arch/5.24/aarch64-linux-thread-multi/auto/Media/Scan/Scan.so deleted file mode 100755 index 5d3a6dfde1c..00000000000 Binary files a/CPAN/arch/5.24/aarch64-linux-thread-multi/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.24/arm-linux-gnueabihf-thread-multi-64int/auto/Media/Scan/Scan.so b/CPAN/arch/5.24/arm-linux-gnueabihf-thread-multi-64int/auto/Media/Scan/Scan.so deleted file mode 100755 index 66e7ed32a6b..00000000000 Binary files a/CPAN/arch/5.24/arm-linux-gnueabihf-thread-multi-64int/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.24/i386-linux-thread-multi-64int/auto/Media/Scan/Scan.so b/CPAN/arch/5.24/i386-linux-thread-multi-64int/auto/Media/Scan/Scan.so deleted file mode 100755 index 4a002d3d9c7..00000000000 Binary files a/CPAN/arch/5.24/i386-linux-thread-multi-64int/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.24/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so b/CPAN/arch/5.24/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so deleted file mode 100755 index 3a3a3eac654..00000000000 Binary files a/CPAN/arch/5.24/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.26/aarch64-linux-thread-multi/auto/Media/Scan/Scan.so b/CPAN/arch/5.26/aarch64-linux-thread-multi/auto/Media/Scan/Scan.so deleted file mode 100755 index b6a0b8cd9d1..00000000000 Binary files a/CPAN/arch/5.26/aarch64-linux-thread-multi/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.26/arm-linux-gnueabihf-thread-multi-64int/auto/Media/Scan/Scan.so b/CPAN/arch/5.26/arm-linux-gnueabihf-thread-multi-64int/auto/Media/Scan/Scan.so deleted file mode 100755 index 99f4ab913b7..00000000000 Binary files a/CPAN/arch/5.26/arm-linux-gnueabihf-thread-multi-64int/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.26/i386-linux-thread-multi-64int/auto/Media/Scan/Scan.so b/CPAN/arch/5.26/i386-linux-thread-multi-64int/auto/Media/Scan/Scan.so deleted file mode 100755 index 2e442f6dedf..00000000000 Binary files a/CPAN/arch/5.26/i386-linux-thread-multi-64int/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.26/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so b/CPAN/arch/5.26/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so deleted file mode 100755 index 5f0966bf1d1..00000000000 Binary files a/CPAN/arch/5.26/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.28/aarch64-linux-thread-multi/auto/Media/Scan/Scan.so b/CPAN/arch/5.28/aarch64-linux-thread-multi/auto/Media/Scan/Scan.so deleted file mode 100755 index 781e3190516..00000000000 Binary files a/CPAN/arch/5.28/aarch64-linux-thread-multi/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.28/arm-linux-gnueabihf-thread-multi-64int/auto/Media/Scan/Scan.so b/CPAN/arch/5.28/arm-linux-gnueabihf-thread-multi-64int/auto/Media/Scan/Scan.so deleted file mode 100755 index 5daea848d41..00000000000 Binary files a/CPAN/arch/5.28/arm-linux-gnueabihf-thread-multi-64int/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.28/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so b/CPAN/arch/5.28/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so deleted file mode 100755 index 3c2440f91bd..00000000000 Binary files a/CPAN/arch/5.28/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.30/aarch64-linux-gnu-thread-multi/auto/Media/Scan/Scan.so b/CPAN/arch/5.30/aarch64-linux-gnu-thread-multi/auto/Media/Scan/Scan.so deleted file mode 100755 index 87d1f1f6822..00000000000 Binary files a/CPAN/arch/5.30/aarch64-linux-gnu-thread-multi/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.30/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so b/CPAN/arch/5.30/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so deleted file mode 100755 index b759e87f5b9..00000000000 Binary files a/CPAN/arch/5.30/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.32/aarch64-linux-thread-multi/auto/Media/Scan/Scan.so b/CPAN/arch/5.32/aarch64-linux-thread-multi/auto/Media/Scan/Scan.so deleted file mode 100755 index 7d74523feb6..00000000000 Binary files a/CPAN/arch/5.32/aarch64-linux-thread-multi/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.32/arm-linux-gnueabihf-thread-multi-64int/auto/Media/Scan/Scan.so b/CPAN/arch/5.32/arm-linux-gnueabihf-thread-multi-64int/auto/Media/Scan/Scan.so deleted file mode 100755 index 2796439f5d0..00000000000 Binary files a/CPAN/arch/5.32/arm-linux-gnueabihf-thread-multi-64int/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.32/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so b/CPAN/arch/5.32/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so deleted file mode 100755 index c9bcebc6bad..00000000000 Binary files a/CPAN/arch/5.32/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/CPAN/arch/5.34/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so b/CPAN/arch/5.34/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so deleted file mode 100755 index 98a1e6cf76d..00000000000 Binary files a/CPAN/arch/5.34/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so and /dev/null differ diff --git a/Changelog8.html b/Changelog8.html index 4948c6724e4..bc21e331c8f 100644 --- a/Changelog8.html +++ b/Changelog8.html @@ -10,6 +10,7 @@

Version 8.3.0

  • Server Changes:
    • +
    • Remove support for media types other than audio (video, pictures). Let's make "M" music again.
    • #651 - Updated French translation - thanks Frank-Berry!
    • Added British English translations - thanks expectingtofly!
    • Updated Czech translation - thanks mipa87!
    • @@ -22,7 +23,6 @@

      Version 8.3.0

    • #751 - Shuffle tracks added with "playlist loadtracks" for a given year (thanks philchillbill!)
    • #758 - Allow selection of regional language (eg. ZH_CH or EN_GB) through JSONRPC (thanks expectingtofly!)
    • #785 - Improve adding albums as favorites: don't rely on the album title alone, but use the artist to identify the album, too.
    • -
    • Remove support for media types other than audio (video, pictures).
    • Remove more legacy plugins: Amazon, MP3Tunes, Orange, YALP

    diff --git a/HTML/Default/html/js-main.html b/HTML/Default/html/js-main.html index 486e3074c29..debfaf1451d 100644 --- a/HTML/Default/html/js-main.html +++ b/HTML/Default/html/js-main.html @@ -7,10 +7,6 @@ INCLUDE "html/ext/ext-main.js"; END; -IF hasMediaSupport; - INCLUDE "html/lightbox/lightbox.js"; -END; - INCLUDE "html/SqueezeJS/Base.js"; INCLUDE "html/SqueezeJS/UI.js"; INCLUDE "html/Main.js"; diff --git a/HTML/Default/html/lightbox/images/close.gif b/HTML/Default/html/lightbox/images/close.gif deleted file mode 100644 index ca517b6ab36..00000000000 Binary files a/HTML/Default/html/lightbox/images/close.gif and /dev/null differ diff --git a/HTML/Default/html/lightbox/images/lb-load.gif b/HTML/Default/html/lightbox/images/lb-load.gif deleted file mode 100644 index f864d5fd38b..00000000000 Binary files a/HTML/Default/html/lightbox/images/lb-load.gif and /dev/null differ diff --git a/HTML/Default/html/lightbox/images/next.gif b/HTML/Default/html/lightbox/images/next.gif deleted file mode 100644 index 1fe6ca1ed04..00000000000 Binary files a/HTML/Default/html/lightbox/images/next.gif and /dev/null differ diff --git a/HTML/Default/html/lightbox/images/prev.gif b/HTML/Default/html/lightbox/images/prev.gif deleted file mode 100644 index aefa804ab44..00000000000 Binary files a/HTML/Default/html/lightbox/images/prev.gif and /dev/null differ diff --git a/HTML/Default/html/lightbox/lightbox.css b/HTML/Default/html/lightbox/lightbox.css deleted file mode 100644 index 5529f90d573..00000000000 --- a/HTML/Default/html/lightbox/lightbox.css +++ /dev/null @@ -1,110 +0,0 @@ -/*! - * Ext Core Library $version http://extjs.com/ Copyright(c) 2006-2009, $author. The MIT License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ -#ux-lightbox { - position: absolute; - left: 0; - width: 100%; - z-index: 15000; - text-align: center; - line-height: 0; -} - -#ux-lightbox img { - width: auto; - height: auto; -} - -#ux-lightbox a img { - border: none; -} - -#ux-lightbox-outerImageContainer { - position: relative; - background-color: white; - width: 250px; - height: 250px; - margin: 0 auto; -} - -#ux-lightbox-imageContainer { - padding: 10px; -} - -#ux-lightbox-loading{ - position: absolute; - top: 40%; - left: 0%; - height: 25%; - width: 100%; - text-align: center; - line-height: 0; - background: url(images/lb-load.gif) no-repeat center 15%; -} - -#ux-lightbox-hoverNav { - position: absolute; - top: 0; - left: 0; - height: 100%; - width: 100%; - z-index: 10; -} - -#ux-lightbox-imageContainer > #ux-lightbox-hoverNav { - left: 0; -} - -#ux-lightbox-hoverNav a{ - outline: none; -} - -#ux-lightbox-navPrev, -#ux-lightbox-navNext { - width: 49%; - height: 100%; - background-image: url(data:image/gif;base64,AAAA); /* Trick IE into showing hover */ - display: block; -} - -#ux-lightbox-navPrev { left: 0; float: left;} -#ux-lightbox-navNext { right: 1px; float: right;} -#ux-lightbox-navPrev:hover, #ux-lightbox-navPrev:visited:hover { background: url(images/prev.gif) left 33% no-repeat; } -#ux-lightbox-navNext:hover, #ux-lightbox-navNext:visited:hover { background: url(images/next.gif) right 33% no-repeat; } -#ux-lightbox-outerDataContainer { - margin: 0 auto; - width: 100%; -} - -#ux-lightbox-dataContainer{ - font: 10px Verdana, Helvetica, sans-serif; - background-color: white; - overflow: auto; - line-height: 1.4em; -} - -#ux-lightbox-data{ padding:0 10px; color: #666; } -#ux-lightbox-data #ux-lightbox-details{ width: 80%; float: left; text-align: left; } -#ux-lightbox-data #ux-lightbox-caption{ font-weight: bold; } -#ux-lightbox-data #ux-lightbox-imageNumber{ display: block; clear: left; padding-bottom: 1.0em; } -#ux-lightbox-data #ux-lightbox-navClose{ background: url(images/close.gif) no-repeat; width: 26px; height: 26px; float: right; padding-bottom: 0.7em; outline: none;} -#ux-lightbox-data #ux-lightbox-navClose:hover{ background-image: url(images/close.gif);} -#ux-lightbox-overlay, -#ux-lightbox-shim{ - border: 0; - position: absolute; - top: 0; - left: 0; - z-index: 14999; - width: 100%; - height: 500px; - background-color: #000; - padding: 0; - margin: 0; -} - -#ux-lightbox-shim { - z-index: 89; - background-color: transparent; - filter: alpha(opacity=0); -} diff --git a/HTML/Default/html/lightbox/lightbox.js b/HTML/Default/html/lightbox/lightbox.js deleted file mode 100644 index 8ec4f2407ca..00000000000 --- a/HTML/Default/html/lightbox/lightbox.js +++ /dev/null @@ -1,384 +0,0 @@ -/*! - * Ext Core Library $version http://extjs.com/ Copyright(c) 2006-2009, $author. The MIT License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ -Ext.ns('Ext.ux'); - -Ext.ux.Lightbox = (function(){ - var els = {}, - images = [], - activeImage, - initialized = false, - selectors = []; - - return { - overlayOpacity: 0.85, - animate: true, - resizeSpeed: 8, - borderSize: 10, - labelImage: "Image", - labelOf: "of", - - init: function() { - this.resizeDuration = this.animate ? ((11 - this.resizeSpeed) * 0.15) : 0; - this.overlayDuration = this.animate ? 0.2 : 0; - - if(!initialized) { - Ext.apply(this, Ext.util.Observable.prototype); - Ext.util.Observable.constructor.call(this); - this.addEvents('open', 'close'); - this.initMarkup(); - this.initEvents(); - initialized = true; - } - }, - - initMarkup: function() { - els.shim = Ext.DomHelper.append(document.body, { - tag: 'iframe', - id: 'ux-lightbox-shim' - }, true); - els.overlay = Ext.DomHelper.append(document.body, { - id: 'ux-lightbox-overlay' - }, true); - - var lightboxTpl = new Ext.Template(this.getTemplate()); - els.lightbox = lightboxTpl.append(document.body, {}, true); - - var ids = - ['outerImageContainer', 'imageContainer', 'image', 'hoverNav', 'navPrev', 'navNext', 'loading', 'loadingLink', - 'outerDataContainer', 'dataContainer', 'data', 'details', 'caption', 'imageNumber', 'bottomNav', 'navClose']; - - Ext.each(ids, function(id){ - els[id] = Ext.get('ux-lightbox-' + id); - }); - - Ext.each([els.overlay, els.lightbox, els.shim], function(el){ - el.setVisibilityMode(Ext.Element.DISPLAY) - el.hide(); - }); - - var size = (this.animate ? 250 : 1) + 'px'; - els.outerImageContainer.setStyle({ - width: size, - height: size - }); - }, - - getTemplate : function() { - return [ - '
    ', - '
    ', - '
    ', - '', - '
    ', - '', - '', - '
    ', - '
    ', - '', - '
    ', - '
    ', - '
    ', - '
    ', - '
    ', - '
    ', - '
    ', - '', - '', - '
    ', - '
    ', - '', - '
    ', - '
    ', - '
    ', - '
    ', - '
    ' - ]; - }, - - initEvents: function() { - var close = function(ev) { - ev.preventDefault(); - this.close(); - }; - - els.overlay.on('click', close, this); - els.loadingLink.on('click', close, this); - els.navClose.on('click', close, this); - - els.lightbox.on('click', function(ev) { - if(ev.getTarget().id == 'ux-lightbox') { - this.close(); - } - }, this); - - els.navPrev.on('click', function(ev) { - ev.preventDefault(); - this.setImage(activeImage - 1); - }, this); - - els.navNext.on('click', function(ev) { - ev.preventDefault(); - this.setImage(activeImage + 1); - }, this); - }, - - register: function(sel, group) { - if(selectors.indexOf(sel) === -1) { - selectors.push(sel); - - Ext.fly(document).on('click', function(ev){ - var target = ev.getTarget(sel); - - if (target) { - ev.preventDefault(); - this.open(target, sel, group); - } - }, this); - } - }, - - open: function(image, sel, group, slideWindow) { - group = group || false; - this.setViewSize(); - els.overlay.fadeIn({ - duration: this.overlayDuration, - endOpacity: this.overlayOpacity, - callback: function() { - images = []; - - var index = 0; - if(!group) { - images.push([image.href, image.title || image.text]); - } - else { - var setItems = slideWindow ? slideWindow.Ext.query(sel) : Ext.query(sel); - Ext.each(setItems, function(item) { - if(item.href) { - images.push([item.href, item.title || item.text]); - } - }); - - while (images[index][0] != image.href) { - index++; - } - } - - // calculate top and left offset for the lightbox - var pageScroll = Ext.fly(document).getScroll(); - - var lightboxTop = Math.min(pageScroll.top + (Ext.lib.Dom.getViewportHeight() / 10), 40); - var lightboxLeft = pageScroll.left; - els.lightbox.setStyle({ - top: lightboxTop + 'px', - left: lightboxLeft + 'px' - }).show(); - - this.setImage(index); - - this.fireEvent('open', images[index]); - }, - scope: this - }); - }, - - setViewSize: function(){ - var viewSize = this.getViewSize(); - els.overlay.setStyle({ - width: viewSize[0] + 'px', - height: viewSize[1] + 'px' - }); - els.shim.setStyle({ - width: viewSize[0] + 'px', - height: viewSize[1] + 'px' - }).show(); - }, - - setImage: function(index){ - activeImage = index; - - this.disableKeyNav(); - if (this.animate) { - els.loading.show(); - } - - els.image.hide(); - els.hoverNav.hide(); - els.navPrev.hide(); - els.navNext.hide(); - els.dataContainer.setOpacity(0.0001); - els.imageNumber.hide(); - - var preload = new Image(); - preload.onload = (function(){ - els.image.dom.src = images[activeImage][0]; - this.resizeImage(preload.width, preload.height); - }).createDelegate(this); - preload.src = images[activeImage][0]; - }, - - resizeImage: function(w, h){ - var wCur = els.outerImageContainer.getWidth(); - var hCur = els.outerImageContainer.getHeight(); - - var viewSize = this.getViewSize(); - var closeHeight = 100; - - var wNew = (w + this.borderSize * 2); - var hNew = (h + this.borderSize * 2); - - var ratio = h/w; - - if (wNew > viewSize[0]) { - wNew = viewSize[0]; - h = wNew * ratio; - hNew = h + this.borderSize * 2; - w = wNew - this.borderSize * 2; - } - - if (hNew > viewSize[1] - closeHeight) { - hNew = viewSize[1] - closeHeight; - wNew = hNew / ratio; - w = wNew - this.borderSize * 2; - h = hNew - this.borderSize * 2; - } - - var wDiff = wCur - wNew; - var hDiff = hCur - hNew; - - var afterResize = function(){ - els.hoverNav.setWidth(els.imageContainer.getWidth() + 'px'); - - els.navPrev.setHeight(h + 'px'); - els.navNext.setHeight(h + 'px'); - - els.outerDataContainer.setWidth(wNew + 'px'); - - els.image.setWidth(w); - els.image.setHeight(h); - this.showImage(); - }; - - if (hDiff != 0 || wDiff != 0) { - els.outerImageContainer.shift({ - height: hNew, - width: wNew, - duration: this.resizeDuration, - scope: this, - callback: afterResize, - delay: 50 - }); - } - else { - afterResize.call(this); - } - }, - - showImage: function(){ - els.loading.hide(); - els.image.fadeIn({ - duration: this.resizeDuration, - scope: this, - callback: function(){ - this.updateDetails(); - } - }); - this.preloadImages(); - }, - - updateDetails: function(){ - var detailsWidth = els.data.getWidth(true) - els.navClose.getWidth() - 10; - els.details.setWidth((detailsWidth > 0 ? detailsWidth : 0) + 'px'); - - els.caption.update('' + images[activeImage][1] + ''); - - els.caption.show(); - if (images.length > 1) { - els.imageNumber.update(this.labelImage + ' ' + (activeImage + 1) + ' ' + this.labelOf + ' ' + images.length); - els.imageNumber.show(); - } - - els.dataContainer.fadeIn({ - duration: this.resizeDuration/2, - scope: this, - callback: function() { - var viewSize = this.getViewSize(); - els.overlay.setHeight(viewSize[1] + 'px'); - this.updateNav(); - } - }); - }, - - updateNav: function(){ - this.enableKeyNav(); - - els.hoverNav.show(); - - // if not first image in set, display prev image button - if (activeImage > 0) - els.navPrev.show(); - - // if not last image in set, display next image button - if (activeImage < (images.length - 1)) - els.navNext.show(); - }, - - enableKeyNav: function() { - Ext.fly(document).on('keydown', this.keyNavAction, this); - }, - - disableKeyNav: function() { - Ext.fly(document).un('keydown', this.keyNavAction, this); - }, - - keyNavAction: function(ev) { - var keyCode = ev.getKey(); - - if ( - keyCode == 88 || // x - keyCode == 67 || // c - keyCode == 27 - ) { - this.close(); - } - else if (keyCode == 80 || keyCode == 37){ // display previous image - if (activeImage != 0){ - this.setImage(activeImage - 1); - } - } - else if (keyCode == 78 || keyCode == 39){ // display next image - if (activeImage != (images.length - 1)){ - this.setImage(activeImage + 1); - } - } - }, - - preloadImages: function(){ - var next, prev; - if (images.length > activeImage + 1) { - next = new Image(); - next.src = images[activeImage + 1][0]; - } - if (activeImage > 0) { - prev = new Image(); - prev.src = images[activeImage - 1][0]; - } - }, - - close: function(){ - this.disableKeyNav(); - els.lightbox.hide(); - els.overlay.fadeOut({ - duration: this.overlayDuration - }); - els.shim.hide(); - this.fireEvent('close', activeImage); - }, - - getViewSize: function() { - return [Ext.lib.Dom.getViewWidth(), Ext.lib.Dom.getViewHeight()]; - } - } -})(); - -Ext.onReady(Ext.ux.Lightbox.init, Ext.ux.Lightbox); \ No newline at end of file diff --git a/HTML/Default/index.html b/HTML/Default/index.html index 71bbb0b6916..05f0d98d486 100644 --- a/HTML/Default/index.html +++ b/HTML/Default/index.html @@ -13,7 +13,6 @@ [% INCLUDE "html/ext/resources/css/ext-main.css" %] [% END %] - [% IF hasMediaSupport %][% END %] @@ -43,7 +42,7 @@ #noJS { color: white; } #noJS a, #noJS a:visited { color: yellow; } - + .loading-indicator { background-image: url([% webroot %]html/images/loading.gif); } @@ -87,12 +86,12 @@ Ext.onReady(function() { Main.init(); - // Firefox wouldn't load the frame on first attempt. Have it load an empty page first, before the home.html + // Firefox wouldn't load the frame on first attempt. Have it load an empty page first, before the home.html if (Ext.isGecko) frames.browser.location.href = "about:blank"; - + var navigationUrl = "[% webroot %][% IF search; "search"; ELSE; "home"; END %].html?player=[% playerid %]&uid=[% USE date; date.now %]&query=[% search | uri %]"; - + // we're parsing our URL to see whether the user wants to open it with a given URL in the left hand pane var extendedUrl = document.URL.split('index.html/'); if (extendedUrl.length == 2) { @@ -100,15 +99,15 @@ if (extendedUrl.length >= 1) { var doc = extendedUrl[0]; var params = Ext.urlDecode(extendedUrl[1]); - + // some parameters we don't want to carry along delete params.player; delete params.sess; - + navigationUrl = (doc.match(/^http/) ? '' : '[% webroot %]') + doc + '?' + Ext.urlEncode(params); } } - + if (frames.browser.location) frames.browser.location.href = navigationUrl; @@ -160,7 +159,7 @@ - +
    diff --git a/HTML/Default/xmlbrowser.html b/HTML/Default/xmlbrowser.html index 6dfabfe384c..7b9515f759c 100644 --- a/HTML/Default/xmlbrowser.html +++ b/HTML/Default/xmlbrowser.html @@ -66,12 +66,6 @@ [% ELSE %] - - [% IF slideshowTest %] - - - [% END %] -