Merge pull request #1835 from GPCsolutions/optimize_images
Optimize images
195
dev/optimize_images.sh
Executable file
@ -0,0 +1,195 @@
|
||||
#!/bin/bash
|
||||
# Borrowed from https://gist.github.com/lgiraudel/6065155
|
||||
# Inplace mode added by Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||
|
||||
PROGNAME=${0##*/}
|
||||
INPUT=''
|
||||
QUIET='0'
|
||||
NOSTATS='0'
|
||||
INPLACE='0'
|
||||
max_input_size=0
|
||||
max_output_size=0
|
||||
|
||||
usage()
|
||||
{
|
||||
cat <<EO
|
||||
Usage: $PROGNAME [options]
|
||||
|
||||
Script to optimize JPG and PNG images in a directory.
|
||||
|
||||
Options:
|
||||
EO
|
||||
cat <<EO | column -s\& -t
|
||||
-h, --help & shows this help
|
||||
-q, --quiet & disables output
|
||||
-i, --input [dir] & specify input directory (current directory by default)
|
||||
-o, --output [dir] & specify output directory ("output" by default)
|
||||
-ns, --no-stats & no stats at the end
|
||||
-p, --inplace & optimizes files inplace
|
||||
EO
|
||||
}
|
||||
|
||||
# $1: input image
|
||||
# $2: output image
|
||||
optimize_image()
|
||||
{
|
||||
input_file_size=$(stat -c%s "$1")
|
||||
max_input_size=$(expr $max_input_size + $input_file_size)
|
||||
|
||||
if [ "${1##*.}" = "png" ]; then
|
||||
optipng -o1 -clobber -quiet $1 -out $2.firstpass
|
||||
pngcrush -q -rem alla -reduce $2.firstpass $2 >/dev/null
|
||||
rm -fr $2.firstpass
|
||||
fi
|
||||
if [ "${1##*.}" = "jpg" -o "${1##*.}" = "jpeg" ]; then
|
||||
jpegtran -copy none -progressive $1 > $2
|
||||
fi
|
||||
|
||||
output_file_size=$(stat -c%s "$2")
|
||||
max_output_size=$(expr $max_output_size + $output_file_size)
|
||||
}
|
||||
|
||||
get_max_file_length()
|
||||
{
|
||||
local maxlength=0
|
||||
|
||||
IMAGES=$(find $INPUT -regextype posix-extended -regex '.*\.(jpg|jpeg|png)' | grep -v $OUTPUT)
|
||||
|
||||
for CURRENT_IMAGE in $IMAGES; do
|
||||
filename=$(basename "$CURRENT_IMAGE")
|
||||
if [[ ${#filename} -gt $maxlength ]]; then
|
||||
maxlength=${#filename}
|
||||
fi
|
||||
done
|
||||
|
||||
echo "$maxlength"
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
# If $INPUT is empty, then we use current directory
|
||||
if [[ "$INPUT" == "" ]]; then
|
||||
INPUT=$(pwd)
|
||||
fi
|
||||
|
||||
# If $OUTPUT is empty, then we use the directory "output" in the current directory
|
||||
if [[ "$OUTPUT" == "" ]]; then
|
||||
OUTPUT=$(pwd)/output
|
||||
fi
|
||||
# If inplace, we use /tmp for output
|
||||
if [[ "$INPLACE" == "1" ]]; then
|
||||
OUTPUT='/tmp/optimize'
|
||||
fi
|
||||
|
||||
# We create the output directory
|
||||
mkdir -p $OUTPUT
|
||||
|
||||
# To avoid some troubles with filename with spaces, we store the current IFS (Internal File Separator)...
|
||||
SAVEIFS=$IFS
|
||||
# ...and we set a new one
|
||||
IFS=$(echo -en "\n\b")
|
||||
|
||||
max_filelength=`get_max_file_length`
|
||||
pad=$(printf '%0.1s' "."{1..600})
|
||||
sDone=' [ DONE ]'
|
||||
linelength=$(expr $max_filelength + ${#sDone} + 5)
|
||||
|
||||
# Search of all jpg/jpeg/png in $INPUT
|
||||
# We remove images from $OUTPUT if $OUTPUT is a subdirectory of $INPUT
|
||||
IMAGES=$(find $INPUT -regextype posix-extended -regex '.*\.(jpg|jpeg|png)' | grep -v $OUTPUT)
|
||||
|
||||
if [ "$QUIET" == "0" ]; then
|
||||
echo --- Optimizing $INPUT ---
|
||||
echo
|
||||
fi
|
||||
for CURRENT_IMAGE in $IMAGES; do
|
||||
filename=$(basename $CURRENT_IMAGE)
|
||||
if [ "$QUIET" == "0" ]; then
|
||||
printf '%s ' "$filename"
|
||||
printf '%*.*s' 0 $((linelength - ${#filename} - ${#sDone} )) "$pad"
|
||||
fi
|
||||
|
||||
optimize_image $CURRENT_IMAGE $OUTPUT/$filename
|
||||
|
||||
# Replace file
|
||||
if [[ "$INPLACE" == "1" ]]; then
|
||||
mv $OUTPUT/$filename $CURRENT_IMAGE
|
||||
fi
|
||||
|
||||
if [ "$QUIET" == "0" ]; then
|
||||
printf '%s\n' "$sDone"
|
||||
fi
|
||||
done
|
||||
|
||||
# Cleanup
|
||||
if [[ "$INPLACE" == "1" ]]; then
|
||||
rm -rf $OUTPUT
|
||||
fi
|
||||
|
||||
# we restore the saved IFS
|
||||
IFS=$SAVEIFS
|
||||
|
||||
if [ "$NOSTATS" == "0" -a "$QUIET" == "0" ]; then
|
||||
echo
|
||||
echo "Input: " $(human_readable_filesize $max_input_size)
|
||||
echo "Output: " $(human_readable_filesize $max_output_size)
|
||||
space_saved=$(expr $max_input_size - $max_output_size)
|
||||
echo "Space save: " $(human_readable_filesize $space_saved)
|
||||
fi
|
||||
}
|
||||
|
||||
human_readable_filesize()
|
||||
{
|
||||
echo -n $1 | awk 'function human(x) {
|
||||
s=" b Kb Mb Gb Tb"
|
||||
while (x>=1024 && length(s)>1)
|
||||
{x/=1024; s=substr(s,4)}
|
||||
s=substr(s,1,4)
|
||||
xf=(s==" b ")?"%5d ":"%.2f"
|
||||
return sprintf( xf"%s", x, s)
|
||||
}
|
||||
{gsub(/^[0-9]+/, human($1)); print}'
|
||||
}
|
||||
|
||||
SHORTOPTS="h,i:,o:,q,s,p"
|
||||
LONGOPTS="help,input:,output:,quiet,no-stats,inplace"
|
||||
ARGS=$(getopt -s bash --options $SHORTOPTS --longoptions $LONGOPTS --name $PROGNAME -- "$@")
|
||||
|
||||
eval set -- "$ARGS"
|
||||
while true; do
|
||||
case $1 in
|
||||
-h|--help)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
-i|--input)
|
||||
shift
|
||||
INPUT=$1
|
||||
;;
|
||||
-o|--output)
|
||||
shift
|
||||
OUTPUT=$1
|
||||
;;
|
||||
-q|--quiet)
|
||||
QUIET='1'
|
||||
;;
|
||||
-s|--no-stats)
|
||||
NOSTATS='1'
|
||||
;;
|
||||
-p|--inplace)
|
||||
INPLACE='1'
|
||||
;;
|
||||
--)
|
||||
shift
|
||||
break
|
||||
;;
|
||||
*)
|
||||
shift
|
||||
break
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
main
|
||||
|
||||
BIN
htdocs/theme/amarok/img/1downarrow.png
Executable file → Normal file
|
Before Width: | Height: | Size: 189 B After Width: | Height: | Size: 117 B |
BIN
htdocs/theme/amarok/img/1downarrow_selected.png
Executable file → Normal file
|
Before Width: | Height: | Size: 167 B After Width: | Height: | Size: 117 B |
BIN
htdocs/theme/amarok/img/1leftarrow.png
Executable file → Normal file
|
Before Width: | Height: | Size: 184 B After Width: | Height: | Size: 123 B |
BIN
htdocs/theme/amarok/img/1leftarrow_selected.png
Executable file → Normal file
|
Before Width: | Height: | Size: 182 B After Width: | Height: | Size: 126 B |
BIN
htdocs/theme/amarok/img/1rightarrow.png
Executable file → Normal file
|
Before Width: | Height: | Size: 190 B After Width: | Height: | Size: 118 B |
BIN
htdocs/theme/amarok/img/1rightarrow_selected.png
Executable file → Normal file
|
Before Width: | Height: | Size: 168 B After Width: | Height: | Size: 119 B |
BIN
htdocs/theme/amarok/img/1uparrow.png
Executable file → Normal file
|
Before Width: | Height: | Size: 188 B After Width: | Height: | Size: 118 B |
BIN
htdocs/theme/amarok/img/1uparrow_selected.png
Executable file → Normal file
|
Before Width: | Height: | Size: 183 B After Width: | Height: | Size: 114 B |
BIN
htdocs/theme/amarok/img/1updownarrow.png
Executable file → Normal file
|
Before Width: | Height: | Size: 199 B After Width: | Height: | Size: 125 B |
BIN
htdocs/theme/amarok/img/addfile.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 341 B |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 6.5 KiB |
BIN
htdocs/theme/amarok/img/button_edit.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
BIN
htdocs/theme/amarok/img/calc.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 422 B |
BIN
htdocs/theme/amarok/img/calendar.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 506 B |
BIN
htdocs/theme/amarok/img/call.png
Executable file → Normal file
|
Before Width: | Height: | Size: 515 B After Width: | Height: | Size: 476 B |
0
htdocs/theme/amarok/img/call_out.png
Executable file → Normal file
|
Before Width: | Height: | Size: 501 B After Width: | Height: | Size: 501 B |
BIN
htdocs/theme/amarok/img/close.png
Executable file → Normal file
|
Before Width: | Height: | Size: 372 B After Width: | Height: | Size: 301 B |
|
Before Width: | Height: | Size: 343 B After Width: | Height: | Size: 301 B |
BIN
htdocs/theme/amarok/img/delete.png
Executable file → Normal file
|
Before Width: | Height: | Size: 544 B After Width: | Height: | Size: 424 B |
BIN
htdocs/theme/amarok/img/detail.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 686 B |
BIN
htdocs/theme/amarok/img/disable.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 490 B |
BIN
htdocs/theme/amarok/img/edit.png
Executable file → Normal file
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 524 B |
BIN
htdocs/theme/amarok/img/edit_add.png
Executable file → Normal file
|
Before Width: | Height: | Size: 521 B After Width: | Height: | Size: 461 B |
BIN
htdocs/theme/amarok/img/edit_remove.png
Executable file → Normal file
|
Before Width: | Height: | Size: 259 B After Width: | Height: | Size: 219 B |
BIN
htdocs/theme/amarok/img/editdelete.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 490 B |
BIN
htdocs/theme/amarok/img/error.png
Executable file → Normal file
|
Before Width: | Height: | Size: 696 B After Width: | Height: | Size: 610 B |
BIN
htdocs/theme/amarok/img/file.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 432 B |
BIN
htdocs/theme/amarok/img/filenew.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 552 B |
BIN
htdocs/theme/amarok/img/filter.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 470 B |
BIN
htdocs/theme/amarok/img/folder-open.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 477 B |
BIN
htdocs/theme/amarok/img/folder.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 350 B |
BIN
htdocs/theme/amarok/img/grip.png
Executable file → Normal file
|
Before Width: | Height: | Size: 140 B After Width: | Height: | Size: 90 B |
|
Before Width: | Height: | Size: 140 B After Width: | Height: | Size: 90 B |
BIN
htdocs/theme/amarok/img/help.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 618 B |
BIN
htdocs/theme/amarok/img/helpdoc.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 543 B |
BIN
htdocs/theme/amarok/img/high.png
Executable file → Normal file
|
Before Width: | Height: | Size: 696 B After Width: | Height: | Size: 610 B |
BIN
htdocs/theme/amarok/img/history.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 509 B |
BIN
htdocs/theme/amarok/img/indent1.png
Executable file → Normal file
|
Before Width: | Height: | Size: 688 B After Width: | Height: | Size: 82 B |
BIN
htdocs/theme/amarok/img/info.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 665 B |
BIN
htdocs/theme/amarok/img/lock.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
BIN
htdocs/theme/amarok/img/logout.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
BIN
htdocs/theme/amarok/img/money.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.2 KiB |
BIN
htdocs/theme/amarok/img/next.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 451 B |
BIN
htdocs/theme/amarok/img/object_account.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 382 B |
BIN
htdocs/theme/amarok/img/object_action.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 506 B |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 675 B |
BIN
htdocs/theme/amarok/img/object_barcode.png
Executable file → Normal file
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 167 B |
BIN
htdocs/theme/amarok/img/object_bill.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 555 B |
BIN
htdocs/theme/amarok/img/object_billa.png
Executable file → Normal file
|
Before Width: | Height: | Size: 486 B After Width: | Height: | Size: 437 B |
BIN
htdocs/theme/amarok/img/object_billd.png
Executable file → Normal file
|
Before Width: | Height: | Size: 578 B After Width: | Height: | Size: 525 B |
BIN
htdocs/theme/amarok/img/object_billr.png
Executable file → Normal file
|
Before Width: | Height: | Size: 449 B After Width: | Height: | Size: 440 B |
BIN
htdocs/theme/amarok/img/object_book.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 414 B |
BIN
htdocs/theme/amarok/img/object_bookmark.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
BIN
htdocs/theme/amarok/img/object_calendar.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 423 B |
BIN
htdocs/theme/amarok/img/object_calendarday.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 516 B |
BIN
htdocs/theme/amarok/img/object_calendarweek.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 528 B |
BIN
htdocs/theme/amarok/img/object_category-expanded.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 477 B |
BIN
htdocs/theme/amarok/img/object_category.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 350 B |
BIN
htdocs/theme/amarok/img/object_commercial.png
Executable file → Normal file
|
Before Width: | Height: | Size: 771 B After Width: | Height: | Size: 712 B |
0
htdocs/theme/amarok/img/object_company.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
BIN
htdocs/theme/amarok/img/object_contact.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 515 B |
BIN
htdocs/theme/amarok/img/object_contact_all.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
BIN
htdocs/theme/amarok/img/object_contract.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 521 B |
|
Before Width: | Height: | Size: 655 B After Width: | Height: | Size: 433 B |
BIN
htdocs/theme/amarok/img/object_dir.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 395 B |
BIN
htdocs/theme/amarok/img/object_email.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 421 B |
BIN
htdocs/theme/amarok/img/object_energie.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 522 B |
BIN
htdocs/theme/amarok/img/object_generic.png
Executable file → Normal file
|
Before Width: | Height: | Size: 781 B After Width: | Height: | Size: 729 B |
BIN
htdocs/theme/amarok/img/object_globe.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 822 B |
BIN
htdocs/theme/amarok/img/object_group.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 805 B After Width: | Height: | Size: 771 B |
BIN
htdocs/theme/amarok/img/object_intervention.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 442 B |
BIN
htdocs/theme/amarok/img/object_invoice.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 555 B |
BIN
htdocs/theme/amarok/img/object_label.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 547 B |
BIN
htdocs/theme/amarok/img/object_list.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 540 B |
BIN
htdocs/theme/amarok/img/object_opensurvey.png
Executable file → Normal file
|
Before Width: | Height: | Size: 828 B After Width: | Height: | Size: 743 B |
BIN
htdocs/theme/amarok/img/object_order.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 514 B |
BIN
htdocs/theme/amarok/img/object_payment.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 392 B |
BIN
htdocs/theme/amarok/img/object_phoning.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 408 B |
BIN
htdocs/theme/amarok/img/object_product.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 425 B |
BIN
htdocs/theme/amarok/img/object_project.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 600 B |
BIN
htdocs/theme/amarok/img/object_projectpub.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 734 B |
BIN
htdocs/theme/amarok/img/object_projecttask.png
Executable file → Normal file
|
Before Width: | Height: | Size: 650 B After Width: | Height: | Size: 523 B |
BIN
htdocs/theme/amarok/img/object_propal.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 488 B |
BIN
htdocs/theme/amarok/img/object_reduc.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 432 B |
BIN
htdocs/theme/amarok/img/object_rss.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 662 B |
BIN
htdocs/theme/amarok/img/object_sending.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 568 B |
BIN
htdocs/theme/amarok/img/object_service.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 474 B |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 682 B |
BIN
htdocs/theme/amarok/img/object_stock.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
BIN
htdocs/theme/amarok/img/object_task.png
Executable file → Normal file
|
Before Width: | Height: | Size: 650 B After Width: | Height: | Size: 523 B |
BIN
htdocs/theme/amarok/img/object_technic.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 589 B |
BIN
htdocs/theme/amarok/img/object_trip.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 712 B |
BIN
htdocs/theme/amarok/img/object_user.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 556 B |
BIN
htdocs/theme/amarok/img/off.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 621 B |
BIN
htdocs/theme/amarok/img/ok.png
Executable file → Normal file
|
Before Width: | Height: | Size: 724 B After Width: | Height: | Size: 631 B |
BIN
htdocs/theme/amarok/img/on.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 624 B |
BIN
htdocs/theme/amarok/img/pdf2.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 627 B |
BIN
htdocs/theme/amarok/img/pdf3.png
Executable file → Normal file
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 676 B |