private void injectLyricsForPath(String path) {
		// Create a thread pool that will inject lyrics into audio files
		// Start up 3 times as many threads as logical processors
		this.lyricThreadPool = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors() * 3);

		// Get all of the audio files from the given path and store each path in an ArrayList
		//ArrayList<Path> audioPaths = musicScanner.getAudioListFromPath("/Users/Clete2/Desktop/Music/");
		ArrayList<Path> audioPaths = musicScanner.getAudioListFromPath(path);
		// Store lyric injectors for each Path
		ArrayList<LyricInjector> lyricInjectors = new ArrayList<LyricInjector>();

		// Create and store all lyric injectors
		for(Path audioPath : audioPaths) {
			lyricInjectors.add(new LyricInjector(audioPath));
		}

		try {
			// TODO: Insert a timeout for each thread, not the whole queue.
			this.lyricThreadPool.invokeAll(lyricInjectors);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		try {
			// For now we will wait 1 minute per injector.
			// TODO: Insert a timeout for each thread.
			this.lyricThreadPool.awaitTermination(lyricInjectors.size(), TimeUnit.MINUTES);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}		
		this.lyricThreadPool.shutdown();
		this.lyricThreadPool = null;
	}