public void start(Stage primaryStage) throws IOException, URISyntaxException
  {
    musicList = new ArrayList<>();
    File musicFile = new File("src/gameMusic");
    System.out.println("\"src/gameMusic\" exists?; " + musicFile.exists());
    String file = "file:///" + musicFile.getAbsolutePath().replace('\\', '/');
    System.out.println("Path is: " + file);
    for (String i : musicFile.list())
    {
      if (!i.endsWith(".mp3"))
        continue;
      musicList.add(new Media(file + "/" + i));
    }
    openScreen = new Media(file + "/menuMusic/EveningOfChaos.mp3");
    menuSwitch = new SimpleBooleanProperty(true);
    listen = new ChangeListener<Boolean>()
    {

      @Override
      public void changed(ObservableValue<? extends Boolean> arg0,
          Boolean arg1, Boolean arg2)
      {
        player.stop();
        if (menuSwitch.get())
        {
          player = menuBuilder.media(openScreen).build();
        } else
        {
          player = gameBuilder.media(
              musicList.get(rand.nextInt(musicList.size()))).build();
        }

      }
    };
    menuSwitch.addListener(listen);

    // Attaches the 'on Ready, play' runnable to the builder

    menuBuilder = MediaPlayerBuilder.create().onReady(new Runnable()
    {

      @Override
      public void run()
      {
        player.play();
      }
    }).onEndOfMedia(new Runnable()
    {

      @Override
      public void run()
      {
        player = menuBuilder.media(openScreen).build();

      }
    });
    player = menuBuilder.media(openScreen).build();
    gameBuilder = MediaPlayerBuilder.create().onReady(new Runnable()
    {

      @Override
      public void run()
      {
        player.play();
      }
    }).
    // Adds the looping scheme to the builder for in game music
        onEndOfMedia(new Runnable()
        {

          @Override
          public void run()
          {
            int val = rand.nextInt(musicList.size());
            System.out.println("Changed to song " + val);
            player = gameBuilder.media(musicList.get(val)).build();
          }
        });
    isReadyFX = true;
  }