diff makeCello.sh @ 538:e9e2488bd0b7 build-default-226

Automated merge with ssh://hg.cryhavoc.org.uk/dottes
author Jim Hague <jim.hague@acm.org>
date Sun, 13 Dec 2015 22:47:40 +0000
parents cf2fe741a582
children ce5c7214f9aa
line wrap: on
line diff
--- a/makeCello.sh	Sun Dec 13 18:50:10 2015 +0000
+++ b/makeCello.sh	Sun Dec 13 22:47:40 2015 +0000
@@ -17,22 +17,24 @@
 # octave. $2 is highest note, $3 is lowest note.
 #
 # If range is G to d', transpose down 2 octaves.
-# If lowest note is < C, transpose down 1 octave.
 # Otherwise calculate the distance above d for the highest note on a one
-# octave transposition, and the distance below G on a two octave
+# octave transposition, and the distance below C on a two octave
 # transposition. Find the smallest, and use the corresponding
-# transposition.
+# transposition, preferring 2 octaves in case of a tie.
 transposedowntwo()
 {
     if (($3 >= 104 && $2 <= 115)); then
         return 0;
     fi
-    if (($3 < 100)); then
-        return 1;
+    over=$(($2 - 108))
+    if (($over < 0)); then
+        over=0
     fi
-    over=$(($2 - 108))
-    under=$((104 - $3))
-    if (($over <= $under)); then
+    under=$((100 - $3))
+    if (($under < 0)); then
+        under=0
+    fi
+    if (($over < $under)); then
         return 1;
     fi