Sistemas

Radio en Internet: Programación en BASH (Cap. 4)


Manos a las obras. Ya presentamos el problema fundamental, lo enfocamos y vimos algunos detalles adicionales. Comenzaremos a programar, definiremos algunas variables.

He decidido, por ahora, que el script BASH preguntará al operador cuántas horas desea grabar, de tal modo el mismo tendrá más control sobre el proceso.

Quienes estén muy perdidos en materia de programación BASH, consulten este Tutorial.

Bien, comencemos a programar. Abrimos un editor de textos como kwrite, kate, vim, emacs o el que más les guste, y definimos qué tipo de script estamos haciendo:

#!/bin/bash

Eso significa que será un script BASH.

Se trata de software libre, es necesario explicitar la licencia (ver GPL howto)

Podríamos definir una variable que contenga la cantidad de segundos a grabar por cada archivo de audio, 3600 segundos son una hora:

# longitud de cada grabación, en segundos: 3600 = 1 hora

tiempo=3600

El programa deberá saber en qué día, mes, año, hora, minuto y segundo se encuentra. El comando date nos brinda una salida de este estilo:

date

lun ago  4 14:15:35 CEST 2008

La ayuda de date (date –help) puede guiarnos en cuanto a qué estructura de tiempo usaremos para nombrar los archivos.

Esto daría el día, mes y año:

date +%d%m%y

040808

Esta forma sería quizá más entendible

date +%d%h%y

04ago08

Sea como fuere, yo propongo separar el tiempo en variables separadas, así obtendremos mayor flexibilidad a la hora de resolver problemas.

# fechas

ANIO00=`date +%y`

ANIO="20$ANIO00"

MES=`date +%m`

DIANUM=`date +%d`

HORA=`date | cut -b12-13`

MIN=`date | cut -b15-16`

# necesitamos los segundos para sincronizar perfectamente

# el comienzo de la primer grabación

SEG=`date | cut -b18-19`

DIANOMBRE=`date | cut -b 1-3`

Bien, estas variables son las fundamentales.

Ahora, me disculpan, pero a mí me gusta darle color a los programas, así obtendremos mayor legibilidad a la hora de intentar ver qué están haciendo (entre tantas letras grises o verdes). Ver ANSI COLORS.

Preguntamos al operador, cuántas horas desea grabar:

# Haremos que le pregunte la cantidad de horas a grabar y subir al server

clear

echo "¿Cuántas horas grabaremos?

(ingresa un número y presiona [enter])"

read canthoras

Entonces, canthoras es una variable que contiene la cantidad de horas a grabar y subir al servidor, simple. Si estuviéramos en una situación en la que debemos grabar las 24hs, esto no tendría sentido, y el programa funcionaría por tiempo indefinido. Pero en nuestro problema, la gente de la radio necesita grabar sólo 14hs por día, y a veces un tanto más, así que deberán definirlo ellos a medida que la radio cambie: hay que tener en cuenta que la programación no será siempre la misma.

Por último en materia de definir variables básicas, creamos un contador que llevará la cuenta de las horas ya grabadas, lo ponemos en 0 (cero).

contador=0

Siguiente –>

Manual para una radio en Internet (Cap. 1)

Guía para grabar programas de Radio en Internet Cap. 2)

Problemas de tener una radio online (Cap. 3)

Radio en Internet: Programación en BASH (Cap. 4)

Programando una radio en Internet (Cap. 5)

Radio en Internet: Compresión de audio (Cap. 6)

Subir programas de radio a Internet (Cap. 7)

Crear una radio online (Cap. 8)



Por Marcos Guglielmetti, el 04/08/2008.

Historias relacionadas

Volver al inicio