9.6 Control de los parámetros mediante un programa externo

Existen muchas formas de indicar el valor de los parámetros de entrada a un programa. La forma más simple es hacerlo a través de la lista de argumentos a la función main(). Por desgracia, esta forma no permite la modificación de dichos parámetros una vez que la ejecución ya ha comenzado.

Otra forma de introducir los parámetros es a través de la entrada estándar, que por defecto, si no se usan los pipes, es el teclado del terminal. Esta opción requiere, como es lógico, el uso de un hilo dedicado. Sin embargo, en esta práctica preferiremos utilizar la entrada y la salida estándar para transferir otros datos (como las señales de audio).

La alternativa que vamos a escoger es la de utilizar un programa externo que se comunica con modulator a través de un socket. Dicho programa se llamará FreqControl y estará escrito en Java. El lenguaje de programación Java es muy adecuado para diseñar interfaces de usuario gráficos lo que nos ayudará a controlar la frecuencia de la señal con comodidad.

Por otra parte, los sockets permiten que los programas modulator y FreqControl se ejecuten de forma independiente en hosts (ordenadores) distintos. Así, podemos estar modulando la señal en un ordenador sin teclado ni pantalla (aunque sí con tarjeta de sonido, como es lógico) y controlando la frecuencia de la señal portadora desde otro ordenador con un terminal gráfico.