Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!
Guest

Untitled

By: a guest on Jan 18th, 2013  |  syntax: Java  |  size: 4.86 KB  |  views: 27  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. // uncomment me later
  2. //package net.jnotes;
  3.  
  4. import java.util.*;
  5.  
  6.        
  7. public class TuneParser {
  8.        
  9.         public TuneParser(){
  10.                 // Delete this line
  11.                 System.out.println(decodeNote("B8Q+"));
  12.         }
  13.  
  14.         // Delete this line
  15.         public static void main(String [ ] args)
  16.         {
  17.                 TuneParser tp=new TuneParser();
  18.         }
  19.                        
  20.         public int decodeNote(String note){
  21.                
  22.                 int decode = -1;
  23.                
  24.                 List<String[]> rowList = new ArrayList<String[]>();
  25.                
  26.                 rowList.add(new String[] { "C", "0", "0","1" });
  27.                 rowList.add(new String[] { "C", "1", "12","13" });
  28.                 rowList.add(new String[] { "C", "2", "24","25" });
  29.                 rowList.add(new String[] { "C", "3", "36","37" });
  30.                 rowList.add(new String[] { "C", "4", "48","49" });
  31.                 rowList.add(new String[] { "C", "5", "60","61" });
  32.                 rowList.add(new String[] { "C", "6", "72","73" });
  33.                 rowList.add(new String[] { "C", "7", "84","85" });
  34.                 rowList.add(new String[] { "C", "8", "96","97" });
  35.                 rowList.add(new String[] { "C", "9", "108","109" });
  36.                
  37.                 rowList.add(new String[] { "D", "0", "2","2" });
  38.                 rowList.add(new String[] { "D", "1", "14","15" });
  39.                 rowList.add(new String[] { "D", "2", "26","27" });
  40.                 rowList.add(new String[] { "C", "3", "38","39" });
  41.                 rowList.add(new String[] { "D", "4", "50","51" });
  42.                 rowList.add(new String[] { "D", "5", "62","63" });
  43.                 rowList.add(new String[] { "D", "6", "74","75" });
  44.                 rowList.add(new String[] { "D", "7", "86","87" });
  45.                 rowList.add(new String[] { "D", "8", "98","99" });
  46.                 rowList.add(new String[] { "D", "9", "110","111" });
  47.                
  48.                 rowList.add(new String[] { "E", "0", "4","4" });
  49.                 rowList.add(new String[] { "E", "1", "16","16" });
  50.                 rowList.add(new String[] { "E", "2", "28","28" });
  51.                 rowList.add(new String[] { "E", "3", "40","40" });
  52.                 rowList.add(new String[] { "E", "4", "52","52" });
  53.                 rowList.add(new String[] { "E", "5", "64","64" });
  54.                 rowList.add(new String[] { "E", "6", "76","76" });
  55.                 rowList.add(new String[] { "E", "7", "88","88" });
  56.                 rowList.add(new String[] { "E", "8", "100","100" });
  57.                 rowList.add(new String[] { "E", "9", "112","112" });
  58.  
  59.                 rowList.add(new String[] { "F", "0", "5","6" });
  60.                 rowList.add(new String[] { "F", "1", "17","18" });
  61.                 rowList.add(new String[] { "F", "2", "29","30" });
  62.                 rowList.add(new String[] { "F", "3", "41","42" });
  63.                 rowList.add(new String[] { "F", "4", "53","54" });
  64.                 rowList.add(new String[] { "F", "5", "65","66" });
  65.                 rowList.add(new String[] { "F", "6", "77","78" });
  66.                 rowList.add(new String[] { "F", "7", "89","90" });
  67.                 rowList.add(new String[] { "F", "8", "101","102" });
  68.                 rowList.add(new String[] { "F", "9", "113","114" });
  69.                
  70.                 rowList.add(new String[] { "G", "0", "7","8" });
  71.                 rowList.add(new String[] { "G", "1", "19","20" });
  72.                 rowList.add(new String[] { "G", "2", "31","32" });
  73.                 rowList.add(new String[] { "G", "3", "43","44" });
  74.                 rowList.add(new String[] { "G", "4", "55","56" });
  75.                 rowList.add(new String[] { "G", "5", "67","68" });
  76.                 rowList.add(new String[] { "G", "6", "79","80" });
  77.                 rowList.add(new String[] { "G", "7", "91","92" });
  78.                 rowList.add(new String[] { "G", "8", "103","104" });
  79.                 rowList.add(new String[] { "G", "9", "115","116" });
  80.                
  81.                 rowList.add(new String[] { "A", "0", "9","10" });
  82.                 rowList.add(new String[] { "A", "1", "21","22" });
  83.                 rowList.add(new String[] { "A", "2", "33","34" });
  84.                 rowList.add(new String[] { "A", "3", "45","46" });
  85.                 rowList.add(new String[] { "A", "4", "57","58" });
  86.                 rowList.add(new String[] { "A", "5", "69","70" });
  87.                 rowList.add(new String[] { "A", "6", "81","82" });
  88.                 rowList.add(new String[] { "A", "7", "93","94" });
  89.                 rowList.add(new String[] { "A", "8", "105","106" });
  90.                 rowList.add(new String[] { "A", "9", "117","118" });
  91.                
  92.                 rowList.add(new String[] { "B", "0", "11","11" });
  93.                 rowList.add(new String[] { "B", "1", "23","23" });
  94.                 rowList.add(new String[] { "B", "2", "35","35" });
  95.                 rowList.add(new String[] { "B", "3", "47","47" });
  96.                 rowList.add(new String[] { "B", "4", "59","59" });
  97.                 rowList.add(new String[] { "B", "5", "71","71" });
  98.                 rowList.add(new String[] { "B", "6", "83","83" });
  99.                 rowList.add(new String[] { "B", "7", "95","95" });
  100.                 rowList.add(new String[] { "B", "8", "107","107" });
  101.                 rowList.add(new String[] { "B", "9", "119","119" });
  102.                
  103.                 for (String[] row : rowList) {
  104.                         if ( row[0].equals(note.substring(0,1)) && row[1].equals(note.substring(1,2)) ) {
  105.                                 if ( note.substring(3,4).equals("-")) {
  106.                                         decode=Integer.parseInt(row[2]);
  107.                                 } else if ( note.substring(3,4).equals("+")) {
  108.                                         decode=Integer.parseInt(row[3]);
  109.                                 }
  110.                         }
  111.                        
  112.         }
  113.  
  114.         return decode;                                 
  115.         }
  116.        
  117.         public int decodeDuration(String duration){
  118.                
  119.                 int decode = 0;
  120.                
  121.                 switch(duration){
  122.                        
  123.                         case "D":
  124.                                 return 2;
  125.                
  126.                         case "S":
  127.                                 return 4;
  128.                        
  129.                         case "Q":
  130.                                 return 8;
  131.                                
  132.                         case "C":
  133.                                 return 16;
  134.                                
  135.                         case "M":
  136.                                 return 32;
  137.                                
  138.                         case "B":
  139.                                 return 64;
  140.                
  141.                 }
  142.  
  143.                 return decode;
  144.                
  145.         }      
  146. }