aboutsummaryrefslogtreecommitdiff
path: root/project/scripts/minimap.sh
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--project/scripts/minimap.sh174
1 files changed, 174 insertions, 0 deletions
diff --git a/project/scripts/minimap.sh b/project/scripts/minimap.sh
new file mode 100644
index 0000000..37ac857
--- /dev/null
+++ b/project/scripts/minimap.sh
@@ -0,0 +1,174 @@
+#!/bin/bash
+# made by Wiimm, 2012-10-06
+
+plusmode=0
+testmode=
+kclmode=0
+
+#------------------------------------------------------------------------------
+
+function trim()
+{
+ echo "$1" | sed -r 's/[[:blank:]]+/ /; s/^ //; s/ $//'
+}
+
+#------------------------------------------------------------------------------
+
+function add_destname()
+{
+ local dest="$1"
+ local plus="$2"
+ local add="$3"
+
+ if [[ ! $dest =~ $add ]]
+ then
+
+ if ((plus))
+ then
+ #--- add '+'
+
+ local s1="${dest%%(*}"
+ local s2="${dest#*(}"
+ if [[ $s1 != $s2 ]]
+ then
+ s2="($s2"
+ else
+ s1="${dest%%\[*}"
+ s2="${dest#*\[}"
+ if [[ $s1 != $s2 ]]
+ then
+ s2="[$s2"
+ else
+ s2=""
+ fi
+ fi
+ s1=$( trim "$s1" )
+ s2=$( trim "$s2" )
+ dest="$s1+ $s2"
+ fi
+
+
+ #--- add '[+$add]'
+
+ local s1="${dest%%]*}"
+ local s2="${dest#*]}"
+ if [[ $s1 != $s2 ]]
+ then
+ dest="$s1,+$add]$s2"
+ else
+ dest="$dest [+$add]"
+ fi
+ fi
+ echo "$dest"
+}
+
+#------------------------------------------------------------------------------
+
+while (($#))
+do
+ src="$1"
+ shift
+
+ if [[ $src = + ]]
+ then
+ plusmode=1
+ continue
+ fi
+
+ if [[ $src = ++ ]]
+ then
+ plusmode=1
+ kclmode=1
+ continue
+ fi
+
+ if [[ $src = -t || $src == --test ]]
+ then
+ testmode=--test
+ continue
+ fi
+
+ if [[ $src = -k || $src == --kcl ]]
+ then
+ kclmode=1
+ continue
+ fi
+
+ if [[ ! -f $src ]]
+ then
+ printf "%s: Not found: %s\n" "${0##*/}" "$src" >&2
+ continue
+ fi
+
+ #--- extract ext
+
+ ext="${src##*.}"
+ if [[ $ext = $src ]]
+ then
+ dest="$src"
+ ext=""
+ else
+ dest="${src%.*}"
+ ext=".$ext"
+ fi
+
+ d=${dest%_d}
+ if [[ "$d" != "$dest" ]]
+ then
+ dest="$d"
+ ext="_d${ext}"
+ fi
+
+ dest="$(add_destname "$dest" 1 minimap)"
+
+
+ #--- trim dest
+
+ dest="$( trim "$dest" )$ext"
+
+ if ((plusmode))
+ then
+ idx="${dest:0:2}"
+ idx="${idx/[^0-9]/}"
+ let idx=10#0$idx
+ if (( idx % 10 < 4 ))
+ then
+ let idx=idx+1
+ else
+ let idx=idx+7
+ fi
+ dest="$idx ${dest:3}"
+ #echo "idx=$idx"
+ fi
+
+ temp="$dest.temp"
+ echo "DEST=|$dest|"
+
+
+ #--- create temp, fix minimap, rename track
+
+ ln -f "$src" "$temp"
+ wszst -q minimap -r --auto "$temp" $testmode
+ if ! diff -q "$src" "$temp" >/dev/null
+ then
+ ((plusmode)) || rm -f "$src"
+ mv "$temp" "$dest"
+ if ((kclmode))
+ then
+ kcldest="$(add_destname "$dest" 0 kcl)"
+ echo "KCLDEST=|$kcldest|"
+ cp -p "$dest" "$kcldest"
+ wszst norm "$kcldest" --kcl new,drop
+ if diff -q "$dest" "$kcldest" >/dev/null
+ then
+ rm "$kcldest"
+ else
+ rm "$dest"
+ fi
+ fi
+ fi
+
+ rm -f "$temp"
+
+done
+