public static void main(final String args[]) {
		ApplicationLauncher l = new ApplicationLauncher();
		if(args.length == 0) {
			reportUsage();
			System.exit(0);
		}
		
		if(args[0].equalsIgnoreCase("generate")) {
			try {
				l.writeConfigurationFile();
			} catch (JAXBException e) {
				LOGGER.error("Problems writing configuration file. Exiting application");	
				e.printStackTrace();
				System.exit(0);
			}
		} else {
			try {
				Config config = l.readConfigurationFile(args[0]);
				l.spawnAudioProcessorThread(config);
			} catch (JAXBException e) {
				LOGGER.error("Problems reading configuration. Exiting application");
				e.printStackTrace();
			}
			final Scanner scanner = new Scanner(System.in);
			System.out.print("Please enter 'q' to exit application:");
			while (true) {
				final String input = scanner.nextLine();
				if ("q".equals(input.trim())) {
					break;
				}
				System.out.print("Please enter a string and press <enter>:");
			}
			System.exit(0);
		}
	}