Advertisement
Guest User

Key signature function from I_scare_children's beeper player

a guest
Mar 25th, 2013
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.47 KB | None | 0 0
  1. #determines flats/sharps based on the key
  2. #contains 12 functions;
  3. #dependens on: variables_from_input_commands
  4. key_signature () {  
  5.  
  6. #functions for each symbol of the key signature (in the order of the circle of fifths)
  7.     fis () {
  8.         if [ "$base_pitch" == "F" -a "$acc" == "" ]; then
  9.         acc="#"
  10.         fi
  11.     }
  12.  
  13.     cis () {
  14.         if [ "$base_pitch" == "C" -a "$acc" == "" ]; then
  15.         acc="#"
  16.         fi
  17.     }
  18.  
  19.     gis () {
  20.         if [ "$base_pitch" == "G" -a "$acc" == "" ]; then
  21.         acc="#"
  22.         fi
  23.     }
  24.  
  25.     dis () {
  26.         if [ "$base_pitch" == "D" -a "$acc" == "" ]; then
  27.         acc="#"
  28.         fi
  29.     }
  30.  
  31.     ais () {
  32.         if [ "$base_pitch" == "A" -a "$acc" == "" ]; then
  33.         acc="#"
  34.         fi
  35.     }
  36.  
  37.     eis () {
  38.         if [ "$base_pitch" == "E" -a "$acc" == "" ]; then
  39.         acc="#"
  40.         fi
  41.     }
  42.  
  43.     b   () {
  44.         if [ "$base_pitch" == "H" -a "$acc" == "" ]; then
  45.         acc="b"
  46.         fi
  47.     }
  48.  
  49.     es () {
  50.         if [ "$base_pitch" == "E" -a "$acc" == "" ]; then
  51.         acc="b"
  52.         fi
  53.     }
  54.  
  55.     as () {
  56.         if [ "$base_pitch" == "A" -a "$acc" == "" ]; then
  57.         acc="b"
  58.         fi
  59.     }
  60.  
  61.     des () {
  62.         if [ "$base_pitch" == "D" -a "$acc" == "" ]; then
  63.         acc="b"
  64.         fi
  65.     }
  66.  
  67.     ges () {
  68.         if [ "$base_pitch" == "G" -a "$acc" == "" ]; then
  69.         acc="b"
  70.         fi
  71.     }
  72.  
  73.     ces () {
  74.     if [ "$base_pitch" == "C" -a "$acc" == "" ]; then
  75.     acc="b"
  76.     fi
  77. }
  78.  
  79. case $key in #assigning appropriate symbols to the key
  80.     G|e|D|h|A|"f#"|"f #"|E|"c#"|"c #"|H|"g#"|"g #"|"F#"|"F #"|"d#"|"d #")
  81.         fis
  82.         case $key in
  83.             D|h|A|"f#"|"f #"|E|"c#"|"c #"|"c #"|H|"g#"|"g #"|"F#"|"F #"|"d#"|"d #")    
  84.                 cis
  85.             case $key in
  86.                 A|"f#"|"f #"|E|"c#"|"c #"|H|"g#"|"g #"|"F#"|"F #"|"d#"|"d #")  
  87.                     gis
  88.                 case $key in   
  89.                     E|"c#"|"c #"|H|"g#"|"g #"|"F#"|"F #"|"d#"|"d #")   
  90.                         dis
  91.                     case $key in
  92.                         H|"g#"|"g #"|"F#"|"F #"|"d#"|"d #")        
  93.                             ais                        
  94.                         case $key in
  95.                             "F#"| "F #"|"d#"|"d #")    
  96.                                 eis                            
  97.                                 ;;
  98.                         esac
  99.                     esac
  100.                 esac
  101.             esac
  102.         esac
  103.     ;;
  104.     F|d|B|Hb|g|"Eb"|"E b"|c|"Ab"|"A b"|f|"Db"|"D b"|"Hb"|"h b"|"Gb"|"G b"|"eb"|"e b")  
  105.         b      
  106.         case $key in
  107.         B|Hb|g|"Eb"|"E b"|c|"Ab"|"A b"|f|"Db"|"D b"|"hb"|"h b"|"Gb"|"G b"|"eb"|"e b")
  108.             es         
  109.             case $key in
  110.             "Eb"|"E b"|c|"Ab"|"A b"|f|"Db"|"D b"|"hb"|"h b"|"Gb"|"G b"|"eb"|"e b")     
  111.                 as             
  112.                 case $key in
  113.                 "Ab"|"A b"|f|"Db"|"D b"|"hb"|"h b"|"Gb"|"G b"|"eb"|"e b")  
  114.                     des                
  115.                     case $key in
  116.                     "Db"|"D b"|"hb"|"h b"|"Gb"|"G b"|"eb"|"e b")   
  117.                         ges                    
  118.                         case $key in
  119.                         "Gb"|"G b"|"eb"|"e b")     
  120.                             ces                        
  121.                         esac
  122.                     esac
  123.                 esac
  124.             esac
  125.         esac
  126. esac
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement