public void sendPotentialAudioOptionsToServer(Properties potentialAudioOptions, AudioFormat potentialAudioFormat)
	{
		// connect to server
		setSocket(serverAddress, getPort());
		
		// if no socket, just tell the gui that it isn't supported
		if (getSocket() == null)
		{
			if (audioOptionsGUI != null)
				audioOptionsGUI.setStatusText(AUDIO_FORMAT_NOT_SUPPORTED);
			
			// fuuuuuuu..
			return;
		}
		
		try
		{
			// send options to server
			getSocketOutput().println(CHECK_IF_VALID_AUDIO);
			
			// convert properties to String to send to server
			String propertiesString = PropertiesUtil.propertiesToString(potentialAudioOptions);
			
			getSocketOutput().println(propertiesString);
			
			// get response, convert to boolean, send to gui
			String isSupportedString = getSocketInput().readLine();
			boolean isSupported = isSupportedString.equals(AbstractVentriloquistApplication.TRUE);
			
			// update gui if failure
			if (audioOptionsGUI != null && !isSupported)
				audioOptionsGUI.setStatusText(AUDIO_FORMAT_NOT_SUPPORTED);
			
			// if supported, update client and server
			if (isSupported)
			{
				// update and save options and audioFormat
				updateOptions(potentialAudioOptions);
				setAudioFormat(potentialAudioFormat);
				saveOptions(AbstractVentriloquistApplication.DEFAULT_OPTIONS_FILE);
				
				// send to server to update and save
				updateServerOptions();
				
				// update gui
				if (audioOptionsGUI != null)
					audioOptionsGUI.setStatusText(AUDIO_FORMAT_SAVED);
			}
		}
		catch (IOException e)
		{
			System.out.println("Error sending potential options..");
		}

		// close socket
		setSocket(null);
	}