@Override
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
   if (resultCode == 0) {
     if (data == null) {
       return;
     }
     Song s = (Song) data.getSerializableExtra("song object");
     library.remove(s.getTitle());
     library.addSong(s);
     Log.d("", "updating song, length: " + s.size());
     Log.d("", "should have updated song");
     updateView();
   } else if (resultCode == 1) {
     // delete
     if (data == null) {
       return;
     }
     Song s = (Song) data.getSerializableExtra("song object");
     library.remove(s.getTitle());
     updateView();
   }
 }
  public void setupFakeSongs() {
    library = new Library();
    Song s1 = new Song();
    Log.d("", "new song make");
    s1.setTitle("My Favorite Song");
    Log.d("", "new song title");
    s1.addNote(new Note(NoteFrequencies.getFrequency("e4"), 0.125, "e4"));
    Log.d("", "new note");
    s1.addNote(new Note(NoteFrequencies.getFrequency("e5"), 0.25, "e5"));
    s1.addNote(new Note(NoteFrequencies.getFrequency("a4"), 0.5, "a4"));
    s1.addNote(new Note(NoteFrequencies.getFrequency("b4"), 0.125, "b4"));
    Log.d("", "all notes");
    library.addSong(s1);

    for (Song s : library.getSongs()) {
      songs.add(s.getTitle());
    }
  }
 public void updateView() {
   if (this.library == null) {
     this.library = new Library();
   }
   songs = new ArrayList<String>();
   for (Song i : this.library.getSongs()) {
     songs.add(i.getTitle());
   }
   arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, songs);
   list1.setAdapter(arrayAdapter);
   if (library.getSongs().size() == 0) {
     text.setText("User Library (empty)");
   } else {
     text.setText("User Library");
   }
   Collections.sort(songs);
   Log.d("", "songs: " + songs.size());
   arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, songs);
   list1.setAdapter(arrayAdapter);
   persistStorage();
 }