Acerca de este manual

Copyright (C) 2011 Sourcefabric o.p.s

Este manual fue escrito para Sourcefabric por Daniel James, usando las herramientas de FLOSS Manuals. Por favor, envía tus comentarios y sugerencias a: http://en.flossmanuals.net/airtime/

Este es un documento liberado; puede distribuirse y/o modificarse bajo los términos de la Licencia Pública General GNU, publicada por la Free Software Foundation, versión 3.

Este documento se distribuye con el propósito de ser útil, pero SIN GARANTÍA; sin siquiera la garantía implicada de COMERCIABILIDAD o ADECUACIÓN PARA UN PROPÓSITO PARTICULAR. Lee la Licencia Pública General GNU para conocer más detalles.

Debes recibir una copia de la Licencia Pública General GNU; si no, escribe a Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, EEUU.


LICENCIA PÚBLICA GENERAL GNU

Versión 3, 29 de junio de 2007

Copyright © 2007 Free Software Foundation, Inc.  <http://fsf.org/>

Se permite la copia y distribución de copias literales de esta licencia, pero no está permitido modificarla.

Preámbulo

La Licencia Pública General GNU (GNU GPL) es una licencia libre, sin derechos para software y otro tipo de trabajos.

Las licencias para la mayoría del software y otros trabajos prácticos están destinadas a suprimir la libertad de compartir y modificar esos trabajos. Por el contrario, la Licencia Pública General GNU persigue garantizar su libertad para compartir y modificar todas las versiones de un programa--y asegurar que permanecerá como software libre para todos sus usuarios. Nosotros, La Fundación de Software Libre, usamos la Licencia Pública General GNU para la mayoría de nuestro software; y también se aplica a cualquier trabajo realizado de la misma forma por sus autores. Usted también puede aplicarla a sus programas.

Cuando hablamos de software libre, nos referimos a libertad, no a precio. Nuestras Licencias Públicas Generales están destinadas a garantizar la libertad de distribuir copias de software libre (y cobrar por ello si quiere), a recibir el código fuente o poder conseguirlo si así lo desea, a modificar el software o usar parte del mismo en nuevos programas libres, y a saber que puede hacer estas cosas.

Para proteger sus derechos, necesitamos evitar que otros le nieguen esos derechos o le pidan renunciar a ellos. Por lo tanto, usted tiene ciertas responsabilidades cuando distribuye copias del software, o si lo modifica: responsabilidades que persiguen respetar la libertad de otros.

Por ejemplo, si distribuye copias de tales programas, gratuitamente o no, debe transmitir a los destinatarios los mismos derechos que usted recibió. Debe asegurarse que ellos también reciban o puedan conseguir el código fuente. Y debe mostrarles estos términos y condiciones para que conozcan sus derechos.

Los desarrolladores que usen la GPL GNU protegen sus derechos de dos formas: (1) imponen derechos al software, y (2) le ofrecen esta Licencia para que legalmente lo copie, distribuya y/o modifique.

Para proteger a desarrolladores y autores, la GPL expone claramente que no existe garantía alguna para este software libre. Para beneficio de ambos, usuarios y autores, la GPL establece que las versiones modificadas deberán estar identificadas como tales, para que cualquier problema no sea atribuido por error a los autores de versiones anteriores.

Algunos dispositivos están diseñados para negar al usuario la instalación o la ejecución de versiones modificadas del software que usan internamente, aunque el fabricante sí pueda hacerlo. Esto es completamente incompatible con el objetivo de proteger la libertad de los usuarios para modificar el software. Este tipo de abuso sistemático ocurre con productos de uso personal, que es precisamente donde es menos aceptable. Por tanto, hemos diseñado esta versión de la GPL para prohibir estas prácticas en esos productos. Si apareciesen problemas similares en otros ámbitos, estaremos preparados para extender estas prestaciones a las próximas versiones de la GPL, tanto como sea necesario para proteger la libertad de los usuarios.

Por último, todo programa está constantemente amenazado por las patentes de software. Los estados no deberían permitir que las patentes restrinjan el desarrollo y el uso de software en ordenadores de uso general; pero en aquellos que lo hagan, esperamos evitar el especial peligro que suponen las patentes, que aplicadas a un programa libre puedan hacerlo propietario en la práctica. Para prevenir eso, la GPL establece que las patentes no pueden usarse para convertir un programa en no-libre.

A continuación se exponen los términos y condiciones para la copia, distribución y modificación.

TÉRMINOS Y CONDICIONES

0. Definiciones.

En adelante “Esta Licencia” se refiere a la versión 3 de la Licencia Pública General GNU.

"Copyright" también significa "leyes similares al copyright" que son aplicables a otro tipo de trabajos, tales como las máscaras de semiconductores.

"El Programa" se refiere a cualquier trabajo con copyright al que se haya aplicado esta Licencia. Cada beneficiario es asimilable a "usted". "Beneficiarios" y "destinatarios" pueden ser personas físicas u organizaciones.

"Modificar" un trabajo significa copiar o adaptar todo o parte de un trabajo, exceptuando la copia exacta, de manera que se requiera permiso de copyright. El trabajo resultante se denomina "versión modificada" de un trabajo anterior o trabajo "basado en" el trabajo anterior.

Un "trabajo amparado" puede ser tanto el Programa no modificado como un trabajo basado en el Programa.

"Difundir" un trabajo significa hacer cualquier cosa con él, sin permiso, que le haga directa o indirectamente responsable de infringir leyes cubiertas por copyright, excepto la ejecución en un ordenador o la modificación de una copia privada. La difusión incluye la copia, distribución (con o sin modificaciones), distribución pública, y en algunos países también otras actividades.

"Distribuir" un trabajo implica cualquier tipo de difusión que permite a la otra parte hacer o recibir copias. La mera interacción con un usuario mediante una red de ordenadores, sin transferir copia alguna, no se considera "distribución".

Una interfaz de usuario interactiva muestra "Avisos Legales Apropiados" siempre y cuando incluya características visuales apropiadas y destacadas que (1) muestren un aviso de copyright apropiado, y (2) indiquen al usuario que no existe garantía alguna para el trabajo (exceptuando las garantías que se hayan podido establecer), que los beneficiarios deben distribuir el trabajo según se establece en la presente Licencia, y cómo se puede ver una copia de esta Licencia. Si la interfaz muestra una lista de opciones o comandos, tales como menús, un elemento destacado en dicha lista cumple estos criterios.

1. Código.

El "código fuente" de un trabajo es el formato preferido para realizar modificaciones sobre él. "Código objeto" se refiere a cualquier formato del trabajo que no sea código fuente.

Una "Interfaz Estándar" se refiere a una interfaz que sea o bien un estándar oficial definido por una institución de estándares reconocida, o bien, en el caso de interfaces específicos para una determinado lenguaje de programación, una cuyo uso esté generalizada entre los desarrolladores que trabajan con ese lenguaje.

Las "Bibliotecas de Sistema" de un trabajo ejecutable incluyen a cualquier elemento, que no sea el trabajo completo, que (a) esté incluida/o de la misma forma que un componente principal, pero que no forme parte de ese componente principal, y (b) sólo sirva para habilitar la utilización del trabajo a través de ese componente principal, o para implementar un Interfaz Estándar para el cual está disponible una implementación pública en código fuente. Un "Componente Principal", en este contexto, se refiere a un componente principal y esencial (núcleo, sistema de ventanas y similares) del sistema operativo particular (en su caso) sobre el cual funcione el ejecutable, o un compilador utilizado para generar el trabajo, o un intérprete del código objeto utilizado para ejecutarlo.

La "Fuente Correspondiente" de un trabajo en código objeto se refiere a todo código fuente necesario para generar, instalar, y (en el caso de trabajos ejecutables) ejecutar el código objeto y modificar el trabajo, incluyendo guiones que controlen esas actividades. Sin embargo, no se incluyen las Bibliotecas de Sistema del trabajo, o herramientas de propósito general o programas gratuitos habitualmente disponibles y usados sin ninguna modificación para realizar estas actividades pero que no forman parte del trabajo. Por ejemplo, la Fuente Correspondiente incluye los archivos de definición de interfaz asociados con archivos fuente del trabajo, y el código fuente de las bibliotecas compartidas o subprogramas enlazados dinámicamente que el programa requiere por diseño, como la comunicación de datos intrínseca o el control de flujo entre esos subprogramas y otras partes del trabajo.

La Fuente Correspondiente no incluye necesariamente aquello que los usuarios pueden regenerar automáticamente a partir de otras partes de la Fuente Correspondiente.

La Fuente Correspondiente de un trabajo en código fuente es ese mismo trabajo.

2. Permisos Básicos.

Todos los derechos garantizados por esta Licencia se otorgan como copyright del Programa, y se proporcionan de manera irrevocable siempre y cuando se cumplan las condiciones establecidas. Esta Licencia afirma explícitamente su permiso ilimitado para ejecutar el Programa sin modificaciones. El resultado de la ejecución de un programa amparado está cubierto por esta Licencia sólo en el caso de que la salida, por su contenido, constituya un trabajo amparado. Esta Licencia reconoce sus derechos de uso razonable u otro equivalente, tal y como determina la ley de copyright.

Usted podrá realizar, ejecutar y difundir trabajos amparados que no distribuya, sin condición alguna, siempre y cuando no tenga otra licencia más restrictiva. Podrá distribuir trabajos amparados a terceros con el mero objetivo de que ellos hagan modificaciones exclusivamente para usted, o para que le proporcionen ayuda para ejecutar esos trabajos, siempre que cumpla los términos de esta Licencia distribuyendo todo el material de cuyo copyright no posee el control. Aquellos que realicen o ejecuten los trabajos amparados para usted deben hacerlo exclusivamente en su nombre, bajo su dirección y control, con términos que les prohíban realizar copias de su material con copyright al margen de la relación con usted.

La distribución bajo otras circunstancias se permite únicamente bajo las condiciones establecidas más abajo. No está permitido sublicenciar; la claúsula 10 lo hace innecesario.

3. Protección de los Derechos Legales de los Usuarios ante Leyes Anti-Burla.

Ningún trabajo amparado debe considerarse parte de una medida tecnológica efectiva, a tenor de lo establecido en cualquier ley aplicable que cumpla las obligaciones expresas en el artículo 11 del tratado de copyright WIPO adoptado el 20 de diciembre de 1996, o leyes similares que prohíben o restringen la burla de tales medidas.

Cuando distribuya un trabajo amparado, renuncia a cualquier poder legal para prohibir la burla de medidas tecnológicas mientras tales burlas se realicen en ejercicio de derechos amparados por esta Licencia respecto al trabajo amparado; además, usted negará cualquier intención de limitar el uso o modificación del trabajo con el objetivo de imponer, al trabajo de los usuarios, sus derechos legales o de terceros para prohibir la burla de medidas tecnológicas.

4. Distribución de Copias Literales.

Usted podrá distribuir copias literales del código fuente del Programa tal y como lo ha recibido , por cualquier medio, siempre que publique de forma clara y llamativa en cada copia el correspondiente aviso de copyright ; mantenga intactos todos los avisos que establezcan que esta Licencia y cualquier término no-permisivo añadido y acorde con la cláusula 7 son aplicables al código; mantenga intactos todos los avisos de ausencia de garantía; y proporcione a todos los destinatarios una copia de esta Licencia junto con el Programa.

Usted podrá cobrar cualquier importe o no cobrar nada por cada copia que distribuya, y podrá ofrecer soporte o protección de garantía mediante un pago.

5. Distribución de Versiones Modificadas de Código.

Usted podrá distribuir un trabajo basado en el Programa, o las modificaciones que lo producen a partir del Programa, como código fuente en virtud de los términos establecidos en la cláusula 4, siempre que cumpla todas las condiciones siguientes:

Un conjunto o recopilación formado por un trabajo amparado y otros trabajos distintos e independientes, que por su naturaleza no sean ampliaciones del trabajo amparado, que no se combinen con él de alguna forma para dar lugar a un programa mayor, y que estén ubicados en un medio de distribución o almacenamiento, se denomina "paquete" si la recopilación y su copyright al completo no son usados para limitar el acceso o los derechos legales de los usuarios de la recopilación, más allá de lo que permita el trabajo individual. La inclusión de un trabajo amparado en un paquete no hace aplicable esta Licencia al resto de elementos del paquete.

6. Distribución de Código No-Fuente.

Usted podrá distribuir el código objeto de un trabajo amparado en virtud de los términos de las cláusulas 4 y 5, siempre que también distribuya las Fuentes Correspondientes en código máquina, de acuerdo con los términos establecidos en esta Licencia, de alguna de las siguientes maneras:

Una parte separable del código objeto, cuyo código fuente esté excluido de las Fuentes Correspondientes como Biblioteca de Sistema, no necesita ser incluida en la distribución del código objeto del trabajo.

Un "Producto de Usuario" es tanto (1) un "producto de consumo", que se refiere a cualquier propiedad personal tangible habitualmente utilizada para fines personales, familiares o domésticos, o (2) cualquier cosa diseñada o vendida para ser incorporada como extensión/expansión para otro producto. Para determinar si un producto es un producto de consumo, los casos dudosos se resolverán favoreciendo el amparo. En el caso de un producto concreto recibido por un usuario particular, "de uso habitual" se refiere al uso típico o corriente de ese tipo de producto, independientemente de la situación del usuario particular o de la forma en que el usuario concreto utilice, o pretenda o se espere que pretenda utilizar, el producto. Un producto es un producto de consumo independientemente de si el producto tiene usos sustancialmente comerciales, industriales o distintos del consumo, a menos que tales usos representen la única forma posible de utilizar el producto.

Las "Instrucciones de Instalación" para un Producto de Usuario se refieren a cualquier método, procedimiento, clave de autorización, u otro tipo de información necesaria para instalar y ejecutar una versión modificada de un trabajo amparado en ese Producto de Usuario a partir de una versión modificada de las Fuentes Correspondientes. Las instrucciones deben ser suficientes para asegurar el funcionamiento continuo del código objeto modificado sin ningún tipo de condicionamiento o intromisión por el simple hecho de haber sido modificado.

Si, bajo las premisas de esta cláusula, usted distribuye el código objeto de un trabajo en, o con un Producto de Usuario o específicamente para ser usado en el mismo, y la distribución forma parte de una transacción donde los derechos de posesión y uso del Producto de Usuario se transfieren al destinatario a perpetuidad o durante un plazo fijo de tiempo (independientemente de las características de la transacción), las Fuentes Correspondientes distribuidas bajo estos supuestos deben acompañarse de las Instrucciones de Instalación. Sin embargo, estos requerimientos no se aplican si ni usted ni terceros tienen posibilidad de instalar el código objeto modificado en el Producto de Usuario (por ejemplo, el trabajo ha sido instalado en memoria de sólo lectura, ROM):

El requerimiento de proporcionar Información de Instalación no incluye el hecho de continuar proporcionando servicio de soporte, garantía, o actualizaciones para un trabajo que haya sido modificado o instalado por el destinatario, o para el Producto de Usuario en el que se haya modificado o instalado. El acceso a la red puede ser denegado cuando la propia modificación afecte materialmente y de forma adversa a la operación de la red o viole las reglas y protocolos de comunicación en la red.

Las Fuentes Correspondientes distribuidas, y las Instrucciones de Instalación proporcionadas de acuerdo con esta cláusula, deben figurar en un formato documentado públicamente (y con una implementación disponible para el público en código fuente), y no deben necesitar claves de acceso especiales para la descompresión, lectura o copia.

7. Términos Adicionales.

Los "Permisos Adicionales" son condicionantes que amplían los términos de esta Licencia permitiendo excepciones a una o más de sus condiciones. Los Permisos Adicionales que son aplicables al Programa completo deberán ser tratados como si estuviesen incluidos en esta Licencia, hasta los límites de validez impuestos por las leyes aplicables. Si los permisos adicionales se aplicasen sólo a una parte del Programa, esa parte podría ser usada de forma independiente en virtud de dichos permisos, pero el Programa completo seguiría estando afectado por esta Licencia con independencia de los permisos adicionales.

Cuando distribuya una copia de un trabajo amparado, usted podrá opcionalmente eliminar cualquier permiso adicional de esa copia, o de alguna parte del mismo. (Los permisos adicionales pueden haber establecido que sea requerida su eliminación en ciertos supuestos si usted modifica el trabajo.) Usted puede establecer permisos adicionales en material añadido por usted a un trabajo amparado, sobre el cual tiene o podrá aportar sus permisos de copyright correspondientes.

Sin contravenir cualquier otra estipulación en esta Licencia, usted podrá, para el material que añada a un trabajo amparado, (si está autorizado por los poseedores de copyright de ese material) añadir condiciones a esta Licencia con los siguientes términos:

Cualesquiera otras condiciones adicionales no-permisivas son consideradas "otras restricciones" en el contexto de la cláusula 10. Si el Programa, tal cual lo recibió, o cualquier parte del mismo, contiene un aviso indicando que está amparado por esta Licencia junto a una cláusula de restricción posterior específica, usted podrá suprimir esa cláusula. Si un documento de licencia contiene una restricción de este tipo pero permite modificar la licencia o la distribución en virtud de la presente Licencia, usted podrá añadirla al material de un trabajo amparado por los términos de ese documento de licencia, siempre que dicha restricción no se mantenga tras la modificación de la licencia o la distribución.

Si añade condiciones para un trabajo amparado, a tenor de lo establecido en la presente cláusula, usted deberá ubicar, en los archivos fuente involucrados, una declaración de los términos adicionales aplicables a esos archivos, o un aviso indicando dónde localizar los términos aplicables.

Las condiciones adicionales, permisivas o no, deben aparecer por escrito como licencias separadas, o figurar como excepciones; de todas formas, los requisitos anteriores siempre son aplicables.

8. Cancelación.

Usted no podrá distribuir o modificar un trabajo amparado salvo de la forma en la que se ha previsto expresamente en esta Licencia. Cualquier intento diferente de distribución o modificación será considerado nulo, y automáticamente cancelará sus derechos respecto a esta Licencia (incluyendo cualquier patente conseguida según el párrafo tercero de la cláusula 11).

Sin embargo, si deja de violar esta Licencia, entonces su licencia desde el poseedor del copyright correspondiente será restituida (a) provisionalmente, a menos que y hasta que el poseedor del copyright dé por terminada explícita y permanentemente su licencia, y (b) permanentemente, si el poseedor del copyright no le ha notificado por algún cauce de la violación no después de los 60 días posteriores al cese.

Además, su licencia desde el poseedor del copyright correspondiente será restituida permanentemente si el poseedor del copyright le notifica de la violación por algún cauce, es la primera vez que recibe la notificación de violación de esta Licencia (para cualquier trabajo) de ese poseedor de copyright, y usted subsana la violación antes de 30 días desde la recepción del aviso.

La cancelación de sus derechos según esta cláusula no da por canceladas las licencias de terceros que hayan recibido copias o derechos a través de usted con esta Licencia. Si sus derechos han finalizado y no han sido restituidos de forma permanente, usted no está capacitado para recibir nuevas licencias para el mismo material en virtud de la cláusula 10.

9. Aceptación No Requerida para Tener Copias.

No está obligado a aceptar esta Licencia por recibir o ejecutar una copia del Programa. La distribución de un trabajo amparado surgida simplemente como consecuencia de la transmisión entre usuarios para obtener una copia tampoco requiere aceptación. Sin embargo, únicamente esta Licencia le otorga permiso para distribuir o modificar cualquier trabajo amparado. Estas acciones infringen el copyright si usted no acepta las los términos y condiciones de esta Licencia. Por lo tanto, al modificar o distribuir un trabajo amparado, usted indica que acepta la Licencia.

10. Herencia Automática de Licencia para Destinatarios.

Cada vez que distribuya un trabajo amparado, el destinatario recibirá automáticamente una licencia desde los poseedores originales, para ejecutar, modificar y distribuir ese trabajo, al amparo de los términos de esta Licencia. Usted no será responsable de asegurar el cumplimiento por terceros de esta Licencia.

Una "transacción de entidad" es una transacción que transfiere el control de una organización, o todos los bienes sustanciales de una, o subdivide una organización, o fusiona organizaciones. Si la distribución de un trabajo amparado surge de una transacción de entidad, cada parte involucrada en esa transacción que reciba una copia del trabajo, también recibe todas y cada una de las licencias existentes del trabajo que la parte interesada tuviese o pudiese ofrecer según el párrafo anterior, además del derecho a tomar posesión de las Fuentes Correspondientes del trabajo a través de la parte interesada, si está en poder de dicha parte o se puede conseguir con un esfuerzo razonable.

Usted no podrá imponer restricciones posteriores en el ejercicio de los derechos otorgados o concedidos en virtud de la presente Licencia. Por ejemplo, usted no puede imponer a la licencia pagos, derechos u otros cargos por el ejercicio de los derechos otorgados según esta Licencia; además no podrá iniciar litigios (incluyendo demandas o contrademandas en pleitos) alegando que se infringen patentes por cambiar, usar, vender, ofrecer en venta o importar el Programa, o cualquier parte del mismo.

11. Patentes.

Un "colaborador" es un poseedor de copyright que autoriza el uso del Programa o un trabajo en el que se base el Programa bajo los términos y condiciones establecidos en la presente Licencia. El trabajo con esta licencia se denomina "versión en colaboración" con el colaborador.

Todas las reivindicaciones de patentes en posesión o controladas por el colaborador se denominan "demandas de patente original", ya sean existentes o adquiridas con posterioridad, que hayan sido infringidas de alguna forma permitida por esta Licencia, al hacer, usar o vender la versión en colaboración, pero sin incluir demandas que sólo sean infracciones como consecuencia de modificaciones posteriores de la versión en colaboración. Para aclarar esta definición, "control" incluye el derecho de conceder sublicencias de patente de forma que no contravenga los requisitos establecidos en la presente Licencia.

Cada colaborador le concede a usted una licencia de la patente no-exclusiva, global y libre de derechos bajo las reivindicaciones de patente de origen del colaborador, para el uso, modificación, venta, ofertas de venta, importación y otras formas de ejecución, modificación y redistribución del contenido de la versión en colaboración.

En los siguientes tres párrafos, una "licencia de patente" se refiere a cualquier acuerdo o compromiso expreso y manifiesto, cualquiera que sea su denominación, que no imponga una patente (como puede ser el permiso expreso para ejecutar una patente o acuerdos para no imponer demandas por infracción de patente). "Conceder" estas licencias de patente a un tercero significa llegar a tal tipo de acuerdo o compromiso que no imponga una patente al tercero.

Si usted distribuye un trabajo amparado, conociendo que está afectado por una licencia de patente, y no están disponibles de forma pública para su copia las Fuentes Correspondientes, sin cargo alguno y bajo los términos de esta Licencia, ya sea a través de un servidor de red público o mediante cualquier otro medio, entonces usted deberá o bien (1) permitir que sean públicas las Fuentes Correspondientes, o (2) tratar de eliminar los beneficios de la licencia de patente para este trabajo en particular, o (3) tratar de extender, de una forma que no contravenga los requisitos de esta Licencia, la licencia de patente a terceros. "Conocer que está afectado" significa que usted tiene conocimiento real de que, para la licencia de patente, la distribución del trabajo amparado en un determinado país, o el uso del trabajo amparado por sus destinatarios en un determinado país, infringiría una o más patentes existentes en ese país que usted considera aplicables por algún motivo.

Si, de conformidad con alguna transacción o acuerdo(o en un proceso relacionado con ellos), usted distribuye o distribuye con fines de distribución , un trabajo amparado, concediendo una licencia de patente para algún tercero que reciba el trabajo amparado, y autorizándole a usar, distribuir, modificar o distribuir una copia específica del trabajo amparado, entonces la licencia de patente que usted otorgue se extiende automáticamente a todos los receptores del trabajo amparado y cualquier trabajo basado en el mismo.

Una licencia de patente es "discriminatoria" si no incluye dentro de su ámbito de cobertura, prohíbe el ejercicio, o está condicionada a no ejercitar uno o más de los derechos que están específicamente otorgados por esta Licencia. Usted no debe distribuir un trabajo amparado si está implicado en un acuerdo con terceros que estén relacionados con el negocio de la distribución de software, en el que usted haga pagos relacionados con su actividad de distribución del trabajo, y donde se otorgue, a cualquier receptor del trabajo amparado, una licencia de patente discriminatoria (a) en relación con las copias del trabajo amparado distribuido por usted (o copias hechas a partir de éstas), o (b) directa o indirectamente relacionadas con productos específicos o paquetes que contengan el trabajo amparado, a menos que usted forme parte del acuerdo, o que esa licencia de patente fuese otorgada antes del 28 de marzo de 2007.

Ninguna disposición de esta Licencia se considerará como excluyente o limitante de la aplicación de cualquier otra licencia o defensas legales contra la violación de las leyes de propiedad intelectual a que pudiera tener derecho bajo la ley de propiedad intelectual vigente.

12. Incondicionamiento de Libertad de Terceros.

Si a usted le son impuestas condiciones que contravienen las estipuladas en la presente Licencia (ya sea por orden judicial, acuerdo u otros), no quedará eximido de cumplir las condiciones de esta Licencia. Si usted no puede distribuir un trabajo amparado cumpliendo simultáneamente sus obligaciones con esta Licencia y con cualquier otra pertinente, entonces no podrá distribuirlo de ninguna forma. Por ejemplo, si usted se compromete con términos que le obligan a obtener derechos por la distribución a terceros, la única forma de satisfacer ambos condicionantes y esta Licencia es abstenerse completamente de distribuir el Programa.

13. Uso con la Licencia Pública General Affero GNU.

Sin contravenir las disposiciones de la presente Licencia, usted tendrá permiso para enlazar o combinar cualquier trabajo amparado con otro trabajo amparado por la versión 3 de la Licencia Pública General Affero GNU y formar un solo trabajo combinado, y distribuir el trabajo resultante. Los términos de esta Licencia seguirán siendo aplicables a la parte formada por el trabajo amparado, pero los condicionantes especiales de la Licencia Pública General Affero GNU, en su cláusula 13, relativos a la interacción mediante redes, serán aplicables a la combinación de ambas partes.

14. Versiones Revisadas de esta Licencia.

La Fundación para el Software Libre podrá publicar revisiones y/o nuevas versiones de la Licencia Pública General GNU de vez en cuando. Esas versiones serán similares en espíritu a la versión actual, pero podrán diferir en algunos detalles para afrontar nuevos problemas o situaciones.

A cada versión se le da un número distintivo. Si el Programa especifica que le es aplicable cierto número de versión de la Licencia Pública General o "cualquier versión posterior", usted tendrá la posibilidad de adoptar los términos y condiciones de la versión indicada o de cualquier otra versión posterior publicada por la Fundación para el Software Libre. Si el Programa no especifica un número de versión de la Licencia Pública General, usted podrá elegir cualquier versión que haya sido publicada por la Fundación para el Software Libre.

Si el Programa especifica que un apoderado/representante puede decidir qué versiones de la Licencia Pública General pueden aplicarse en el futuro, la declaración pública de aceptación que el apoderado/representante haga de una versión le autoriza a usted con carácter permanente a elegir esa versión para el Programa.

Versiones posteriores de la licencia podrán otorgarle permisos adicionales o diferentes. Sin embargo, no podrán imponerse obligaciones adicionales a cualquier autor o poseedor de copyright como consecuencia de que usted adopte una versión posterior.

15. Ausencia de Garantía.

EL PROGRAMA NO TIENE GARANTÍA ALGUNA, HASTA LOS LÍMITES PERMITIDOS POR LAS LEYES APLICABLES. SALVO CUANDO SE ESTABLEZCA LO CONTRARIO POR ESCRITO, EL POSEEDOR DEL COPYRIGHT Y/O TERCEROS PROPORCIONARÁN EL PROGRAMA "TAL CUAL" SIN GARANTÍA DE NINGÚN TIPO, YA SEA EXPLÍCITA O IMPLÍCITA, INCLUYENDO, PERO SIN LIMITARSE A, LAS GARANTÍAS IMPLÍCITAS MERCANTILES Y DE APTITUD PARA UN PROPÓSITO DETERMINADO. USTED ASUMIRÁ CUALQUIER RIESGO RELATIVO A LA CALIDAD Y RENDIMIENTO DEL PROGRAMA. SI EL PROGRAMA FUESE DEFECTUOSO, USTED ASUMIRÁ CUALQUIER COSTE DE SERVICIO, REPARACIÓN O CORRECCIÓN.

16. Limitación de Responsabilidad.

EN NINGÚN CASO, SALVO REQUERIMIENTO POR LEYES APLICABLES O MEDIANTE ACUERDO POR ESCRITO, PODRÁ UN POSEEDOR DE COPYRIGHT, O UN TERCERO QUE MODIFIQUE O DISTRIBUYA EL PROGRAMA SEGÚN LO INDICADO ANTERIORMENTE, HACERLE A USTED RESPONSABLE DE DAÑO ALGUNO, INCLUYENDO CUALQUIER DAÑO GENERAL, ESPECIAL, OCASIONAL O DERIVADO QUE SURJA DEL USO O LA INCAPACIDAD DE USO DEL PROGRAMA (INCLUYENDO PERO SIN LIMITARSE A LA PÉRDIDA DE DATOS O LA PRESENTACIÓN NO PRECISA DE LOS MISMOS O A PÉRDIDAS SUFRIDAS POR USTED O TERCEROS O AL FALLO DEL PROGRAMA AL INTERACTUAR CON OTROS PROGRAMAS), INCLUSO EN EL CASO DE QUE EL POSEEDOR O UN TERCERO HAYA SIDO ADVERTIDO DE LA POSIBILIDAD DE TALES DAÑOS.

17. Interpretación de las Secciones 15 y 16.

Si la ausencia de garantía y la limitación de responsabilidad descrita anteriormente no tuviesen efecto legal a nivel local en todos sus términos, los juzgados aplicarán las leyes locales que más se aproximen a la exención de responsabilidad civil en lo relativo al Programa, a menos que la copia del Programa esté acompañada mediante pago de una garantía o compromiso de responsabilidad.

FIN DE TÉRMINOS Y CONDICIONES

Agregar contenidos

Si no tienes acceso directo al servidor de Airtime server, puedes agregar archivos a la base de datos y almacenamiento usando la opción Add media de la interfaz administradora. Esta página incluye una casilla para cargar archivos con solo arrastrarlos de las carpetas en tu computadora, si estás usando el buscador de internet recomendado (Firefox 3.6).

Los usuarios invitados no pueden ver la página Add Media.

Si tu buscador no es compatible con la opción de arrastre, puedes usar el botón Add files, el cuál tiene un signo de suma blanco sobre un círculo verd, para abrir una ventana de selección en tu computadora.


Después de agregar todos los qrchivos necesarios, haz clic en Start Upload, el botón con un ícono de flecha verde.

La fila del archivo actualmente en carga estará marcado con un verde pálido. En el final de la lista de carga, una barra de progreso y porcentaje muestra cuánto del archivo se ha cargado con éxito.

Una vez se halla cargado exitosamente, cada fila de archivo mostrará un cheque blanco en el ícono de círculo verde.

 

Tus archivos estarán entonces importados en la base de datos y almacenamiento de Airtime, listos para incluirse en tu lista de reproducción para transmisión.

Importación automática de archivos 

El código airtime-importpuede combinarse con el programa  SFTP (FTP seguro) y el daemon  cron en un servidor GNU/Linuxpara habilitar la importación automática de archivos desde múltiples equipos remotos. Esto ahorra tiempo para tu equipo de estación en el momento en que empiezan sus procesos de producción distributiva o sindicación de contenido.

Los servidores de FTP tradicional usan contraseñas de texto sencillo (sin encriptar) y por eso no son recomendables para las cuentas de carga en los servidores de Airtime con acceso al Internet público. SFTP es un protocolo de plataforma cruzada que trabaja con muchos programas de escritorio, incluyendo gFTP para GNU/Linux (http://www.gftp.org/). Este programa puede instalarse en una computadora de escritorio Debian o Ubuntu con el comando:

 $ sudo apt-get install gftp

Otros clientes populares para SFTP son FileZilla para Windows (http://filezilla-project.org/) y Cyberduck para Mac y Windows (http://cyberduck.ch/).

Para activar cargas en SFTP, debes invocar el comando adduser para crear una cuenta de cargas en el servidor. Por razones de seguridad, esta cuenta de usuario únicamente tiene acceso con SFTP. No puede usarse para ejecutar otros comandos en el sistema.

$ sudo adduser --home /srv/airtime/uploads --shell /usr/lib/sftp-server uploads

El servidor entonces te pedirá que ingreses la contraseña para el nuevo usuario de cargas de archivos, y que lo confirmes. La seguridad de tu servidor de Airtime depende de la fuerza de la contraseña que elijas, así que hazla larga y compleja, con mayúsculas, minúsculas y caracteres numéricos. No es necesario fijar un nombre y detalles adicionales para esta cuenta:  

Adding user `uploads' ...
Adding new group `uploads' (1003) ...
Adding new user `uploads' (1002) with group `uploads' ...
Creating home directory `/srv/airtime/uploads' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for uploads
Enter the new value, or press ENTER for the default
    Full Name []:
    Room Number []:
    Work Phone []:
    Home Phone []:
    Other []:
Is the information correct? [Y/n] Y

 Luego, crea un folder para recibir los archivos de entrada:

 $ sudo mkdir /srv/airtime/uploads/incoming/

Crea un código que se ejecute una vez cada hora:

 $ sudo nano /etc/cron.hourly/airtime-upload

El código debe importar los archivos recién cargados de la carpeta de entrada, usando la opción copiar y luego debe eliminar los archivos cargados originalmente. Este paso, más que el simple uso de la opción observar en la carpeta /srv/airtime/uploads/incoming/, asegura que la cuenta de carga SFTP no tenga acceso de autoría al sistema de almacenamiento de Airtime. Esto representaría un riesgo de seguridad si la contraseña estuviese comprometida.     

#!/bin/sh

# Run the import script on fresh uploads

airtime-import copy /srv/airtime/uploads/incoming/

# Clean the incoming directory to save disk space

rm -r /srv/airtime/uploads/incoming/*.mp3
rm -r /srv/airtime/uploads/incoming/*.ogg

Finalmente, el código debe volverse ejecutable para que el daemon cron pueda operarlo.

$ sudo chmod +x /etc/cron.hourly/airtime-upload

De forma predeterminada, Debian y Ubuntu GNU/Linux ejecutan las tareas de cron.hourly unos 17 minutos después de la hora. Este valor puede ajustarse en el archivo /etc/crontab si es necesario.

Los usuarios remotos deben conectarse al servidor de Airtime con su software clente de preferencia, asegurándose de que especifican un SFTP en lugar de la conexión SFTP. El directorio remoto que los clientes usan puede ser /srv/airtime/uploads/incoming/ como se muestra anteriormente.


Para incrementar la seguridad, puedes configurar tu servidor de Airtime para usar un par de claves encriptadas en la cuenta de cargas, en lugar de una sola contraseña. Revisa https://help.ubuntu.com/community/SSH/OpenSSH/Keys para obtener detalles de cómo hacer esto en un servidor de Ubuntu.

Instalación automática

Este método de instalación está diseñado para computadoras con Ubuntu o Debian GNU/Linux, y es el más recomendado para sistemas de producción de Airtime. Si has realizado una instalación manual de Airtime en tu servidor, deverás ejecutar el código airtime-uninstall para eliminarlo antes de iniciar la instalación automática.

Fijar repositorios para Ubuntu

Al instalar en un servidor de Ubuntu, algunos de los paquetes de Airtime están en los repositorios universemultiverse de Ubuntu. Si estos repositorios están deshabilitados, puedes activarlos en el archivo /etc/apt/sources.list, al abrir el editor nano editor dentro de tu consola. El editor nano debe estar instalado predeterminadamente, de lo contrario, puedes instalarlo con el comando:

$ sudo apt-get install nano  

Luego, abre el archivo sources.list file con el comando:

$ sudo nano /etc/apt/sources.list
Para un servidor Ubuntu Lucid, halla las líneas que inician con deb y finalizan coh lucid universelucid-updates universe, y agrega multiverse al final de las líneas si éstas no lo muestran. El repositorio multiverse es necesario para la biblioteca libmp3lame0 , la cual sirve como codificador MP3.

Los URL del repositorio exacto en tu archivo sources.list difieren de los que aparecen en la imagen anterior, dependiendo de tu locación.

El repositorio de Sourcefabric contiene paquetes para Airtime, y otros repositorios que podrías necesitar con el programa. Para agregar el repositorio de Sourcefabric a un servidor Ubuntu Lucid, agrega la siguiente línea al final del archivo sources.list:

deb http://apt.sourcefabric.org/ lucid main

Para Ubuntu Maverick, Natty o Oneiric, sustituye maverick, nattyoneiric con lucid en la línea anterior.

Presiona Ctrl+O (la tecla Ctrl y la letra O juntas) para guardar el archivo, luego, Ctrl+X para cerrar el editor nano.

Fijar repositorios en Debian

En un servidor Debian squeeze, puedes editar el archivo /etc/apt/sources.list como raíz usando el comando:

# nano /etc/apt/sources.list

Los paquetes de codificación para MP3 encoding no están incluídos en los repositorios de Debian. Puedes obtener los paquetes necesarios, libmp3lame0libmp3lame-dev agregando este repositorio al final del archivo:

deb http://www.debian-multimedia.org squeeze main non-free

Para agregar el repositorio de Sourcefabric a un servidor Debian squeeze server, agrega esta línea al final del archivo:

deb http://apt.sourcefabric.org/ squeeze main

Presiona Ctrl+O (la tecla Ctrl y la letra O juntas) para guardar el archivo, luego, Ctrl+X para cerrar el editor nano.

Instalar la tecla de clave de Sourcefabric  

Ejecuta la lista de paquetes del sistema con:

$ sudo apt-get update

Verás un mensaje de error sobre la ausencia de una clave pública.



Para arreglar este error del sistema, debes instalar el paquete sourcefabric-keyring, el cual contiene la clave de firma del paquete. Esta clave codificada es una medida de seguridad que asegura que los paquetes de Airtime que descargues en el futuro no hayan sido manipulados por terceras personas. Puedes instalar la clave con el comando: 

$ sudo apt-get install sourcefabric-keyring

Cuando se te pida, presionda la tecla Y en tu teclado para instalar el paquete sourcefabric-keyring sin verificación. Si deseas verificar la autenticidad de la clave del paquete, contacta a Sourcefabric y recibirás asistencia.



Actualiza las fuentes de software de tu computadora nuevamente, y confirma que estés usando un repositorio confiable: 

$ sudo apt-get update
Ya no deberías ver el mensaje de error sobre la clave ausente.

Instalar el sistema administrador de la base de datos 

Airtime usa una base de datos PostgreSQL para administrar archivos multimedia y y metadatos asociados al servidor de almacenamiento. Dependiento de la escala de instalación de Airtime, puede que desees instalar PostgreSQL en un servidor separado. Si solo tienes un servidor, puedes instalar el paquete postgresql en la misma computadora de Airtime con el comando:

$ sudo apt-get install postgresql

Instalar un servidor de transmisión

Puede que desees transmitir desde Airtime a un servidor de distribución Icecast, sin necesitar una tarjeta de sonido un mezclador en la cadena de radiodifusión. Esta opción es recomendable para las estaciones completamente automatizadas, en que todos los programas se reproducen en Airtime. Puedes instalar el paquete icecast2 con el comando:

$ sudo apt-get install icecast2

En algunos casos, puede que desees transmitir desde Airtime hacia un servidor Icecast remoto; por ejemplo, si Icecast está instalado en un servidor dentro de un centro de datos con mayor ancho de banda que el servidor Airtime en tu estudio. Esya separación puede ser necesaria si tu tranmisión se populariza, porque cada escucha adicional, conectado a Icecast, demanda más ancho de banda. En ese caso, no necesitas instalar el paquete icecast2 en tu servidor Airtime.

Antes de ejecutar Icecast por primera vez, debes editar el archivo /etc/icecast2/icecast.xml para cambiar los valores predeterminados <source-password>, <relay-password> y<admin-password> de 'hackme' a algo más seguro.

$ sudo nano /etc/icecast2/icecast.xml

También debes cambiar el valor <hostname> al nombre del administrador del servidor de Icecast:

<hostname>icecast.example.com</hostname>

Guarda y cierra el archivo icecast.xml file con Ctrl+O y Ctrl+X. Luego, fija el servidor Icecast para que inicie automáticamente cuando el servidor ejecute el archivo /etc/default/icecast2:

$ sudo nano /etc/default/icecast2

fijando al valor de ENABLE un valor true en la última línea del archivo:

ENABLE=true 

Guarda y cierra el archivo icecast.xml file con Ctrl+O y Ctrl+X, luego, inicia Icecast:

$ sudo service icecast2 start

El servidor debe responder:

Starting icecast2: Starting icecast2
Detaching from the console
icecast2.

Instalar Airtime

Puedes instalar el paqute Airtime con:

$ sudo apt-get install airtime

Este comando instalará todos los componentes de Airtime, junto a otros paquetes que Airtime requiere para ejecutar.

$ sudo apt-get install airtime
Reading package lists... Done
Building dependency tree      
Reading state information... Done
Suggested packages:
  airtime-audio-samples lame mpg123
The following NEW packages will be installed
  airtime
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/15.6MB of archives.
After this operation, 73.1MB of additional disk space will be used.
Preconfiguring packages ...
Selecting previously deselected package airtime.
(Reading database ... 400129 files and directories currently installed.)
Unpacking airtime (from .../airtime_1.9.4-10_amd64.deb) ...

Cuando los paquetes se hayan descargado e instalado, se te harán unas preguntas sobre la configuración del sistema de  Airtime. Puedes aceptar las preferencias predeterminadas presionando Enter, o usa la tecla de tabulación para cambiar tu selección.

Primero, se te preguntará si deseas crear una configuración automática para el servidor web Apache.

Si así lo deseas, deberás ingresar el nombre del dominio que tu equipo utilizará para accesar Airtime. Para un servidor de prueba que sólo será accesado desde la misma computadora, usa la ubicación predeterminada localhost.

Luego, fija la dirección de correo electrónico del servidor administrativo, lo que te servirá de práctica en caso de que el servidor presente problemas. Para un servidor de prueba, la dirección localhost es aceptable.

Los servidores Debian y Ubuntu tienen una configuración Apache predeterminada, la cual puede bloquear el acceso para el equipo de la estación. Si lo deseas, esta configuración predeterminada puede ser removida automáticamente.

Si estás configurando Airtime para transmitir directamente a Icecast sin usar una tarjeta de sonido, puedes ingresar el nombre de equipo y las contraseñas del servidor Icecast durante la instalación de Airtime.

Primero, fija el nombre de equipopara el servidor de Icecast. Si tienes Icecast instalado en el mismo equipo de Airtime, puedes ingresar localhost aquí.


La seguridad de tu servidor de transmisiones depende de la fuerza de las contraseñas que asignes. Debes fijar contraseñas seguras para los accesos source, relay y admin.


Finalmente, se te pedirá que elijas la zona horaria de tu estación. Hallarás una lista de zonas horarias en el Apéndice de este manual.


En algunas distribuciones GNU/Linux, puede aparecerte una advertencia sobre la actualización del paquete rabbitmq-server, aún si nunca lo has instalado en tu equipo. Si RabbitMQ sólo está siendo usado por Airtime en tu servidor, presiona Enter para continuar.


El instalador de Airtime installer ejecutará un código para revisar que el ambiente de tu servidor esté correctamente configurado.

 *** Verifying your system environment ***
CPU                            = Dual Core AMD Opteron(tm) Processor 170
Total RAM                      = 6128244 kB
Free RAM                       = 167276 kB
OS                             = Ubuntu 10.04.3 LTS x86-64
AIRTIME_CONFIG_FILES           = OK
POSTGRESQL_DATABASE            = OK
PYTHON_KOMBU_VERSION           = 1.2.0
PYTHON_POSTER_VERSION          = 0.8.1
PYTHON_MUTAGEN_VERSION         = 1.20
PYTHON_PYINOTIFY_VERSION       = 0.9.2
RABBITMQ_SERVER                = OK
AIRTIME_VERSION_URL            = http://localhost:80/api/version/api_key/%%api_key%%
APACHE_CONFIGURED              = YES
AIRTIME_VERSION                = 1.9.4
PLAYOUT_ENGINE_PROCESS_ID      = 24021
PLAYOUT_ENGINE_RUNNING_SECONDS = 7
LIQUIDSOAP_PROCESS_ID          = 24025
LIQUIDSOAP_RUNNING_SECONDS     = 7
MEDIA_MONITOR_PROCESS_ID       = 24078
MEDIA_MONITOR_RUNNING_SECONDS  = 7
SHOW_RECORDER_PROCESS_ID       = 24055
SHOW_RECORDER_RUNNING_SECONDS  = 7
ICECAST_PROCESS_ID             = 23649

  -- System setup looks OK!

********************** Install Complete ***********************

Ahora puedes proceder al capítulo de Configuración.

Crear una copia de seguridad del servidor

Los siguientes comandos pueden usarse para crear una copia de seguridad de la base de datos y restaurar un servidor ejecutable PostgreSQL en el sistema de Airtime.

Puedes depositar la base de datos entera en un archivo comprimido con la combinación del comando pg_dumpall y gzip. El comando pg_dumpall se ejecuta con el usuario postgres, con el comando sudo y el interruptor -u. Se separa del comando gzip con el símbolo de pipa.

$ sudo -u postgres pg_dumpall | gzip -c > airtime-backup.gz

Este comando puede automatizarse para ejecutar regularmente con la herramienta regular cron en tu servidor.

Al restaurar una base de datos de producción en un sistema Airtime bien instalado, puede ser necesario descargar la base vacía que fue creada en la nueva instalación, usando el comando dropdb. De nuevo, este comando se ejecuta en sudo con el usuario postgres

$ sudo -u postgres dropdb airtime

Este comando dropdb es necesario para evitar el error de 'ya está en existencia' en la creación de tablas cuando se sobreescribe una base de datos vacía en el siguiente paso. Estos errores evitan que algunos datos se restauren, como los datos de cuentas de usuario. Para restaurar, extrae el archivo de copia con gunzip, luego usa el comando psql con el usuario postgres

$ gunzip airtime-backup.gz
$ sudo -u postgres psql -f airtime-backup postgres

Ya deberías ser capaz de ingresar a la interfaz web de Airtime de la manera normal.

Por razones de seguridad, tus copias de seguridad de base de datos deben guardarse en el directorio que esté respaldado por tu herramienta de copia de preferencia, por ejemplo, el directorio /srv/airtime/database_backups. Este asegura que la restauración del almacenamiento tenga una versión completa de la base de datos de Airtime en el día en que se hizo es copia.

Copia de seguridad de almacenamiento

Al crear una copia de la base de datos de Airtime con pg_dumpall no se creará una copia del almacenamiento multimedia, el cual necesitará más espacio. Tomaría mucho tiempo crear un archivo comprimido de cientos de gigabytes con contenidos de almacenamiento, y tendrá pocos beneficios para el CPU si los archivos ya están altamente comprimidos. También es impractivo copiar regularmente archivos muy grandes a lo largo de la red.

En cambio, es prefereible usar una técnica de copia incremental que sincronice al almacenamiento del servidor de producción de Airtime con un servidor de repuesto, cada día o noche. Si el repuesto contiene una instalación, debería ser posible modificar la reproducción de este segundo equipo relativamente rápido, en caso de que exista un fallo de hardware o una emergencia en el servidor de producción.

Una herramienta corriente para crear copias de seguridad incrementles en servidores GNU/Linux es rsync (http://rsync.samba.org/), la cual puede instalarse con el administrador de paquetes de tu distribución GNU/Linux. Sin embargo, la copia incremental sola no puede ayudar en el caso en que un archivo que luego sea importante haya sido eliminado por el administrador. Para crear copias restaurables hacia una fecha anterior, puede usarse  la herramienta rdiff-backup (http://www.nongnu.org/rdiff-backup/).  

Calendario

La página de calendario de la interfaz administradora de Airtime tiene tres vistas: Día, Semana y Año, las cuales pueden cambiarse con los botones grises en la esquina superior derecha. De manderda con un fondo verde claro.

En la esquina superior izquierda de la página, puedes avanzar o retroceder en el calendario con sólo hacer clic en los botones del triángulo blanco con fondo gris. Haz clic en Hoy para ingresar a la visualización del día actual en la vista corriente. En las vistas por día o por semana, hay un menú de arrastrado que te permite fijar la resolución del calendario, de un minuto a sesenta minutos por fila.

Agregar un programa

Sólo los administradores y programadores pueden agregar programas. Para agregar un programa, haz clic en + Show en la esquina superior izquierda de la página, o haz clic en una fila vacía del mismo calendario. Ambas acciones activan la función Add this show , que tiene cinco secciones ordenadas verticalmente: What, When, Record & Rebroadcast, Who y Style. Haz clic en el pequeño triángulo negro a la izquierda del nombre de sección si deseas maximizar o minimizar. 

En la sección What , ingresa el nombre, el URL del sitio público, el género y la descripción del programa que creaste.

Si ya seleccionaste una fecha en el Calendario, la sección When mostrará el campo Date/Time Start . Para fijar otra fecha para el programa, haz clic en ese campo y selecciona la fecha nueva en el calendario emergente. Haz clic en el campo adyacente para fijar el tiempo de inicio en la casilla de hora y minutos. Los valores de los minutos están dispuestos en grupos de cienco, pero puedes ajustar el tiempo manualmente si seleccionas los campos y escribes en ellos. Repite el proceso en los campos de fecha y hora para finalización. La Duración de cada programa aparecerá automáticamente, basada en los horarios de inicio y finalización.

Para fijar el horario de un show regular, selecciona la casilla Repeats? y asigna la programación por semana, cada dos semanas o una vez al mes en el menú que aparecerá. Luego, selecciona los días de la semana en que transmitirás el programa regular. Fija la fecha de finalización para el programa, o selecciona No End para que el programa continúe indefinidamente.

En la sección Record & Rebroadcast, la opción Record? permite la grabación automática de la línea de entrada en la tarjeta de audio, si tu serivdor de Airtime tiene una, en el momento del programa. Los programas en vivo no pueden tener listas de reproducción. El formato predeterminado para grabaciones en vivo es MP3, y los archivos grabados se guardan directamente en el directorio de almacenamiento que configuraste con la instalación.

Si deseas que la grabación se repita en otro horario, selecciona la casilla Rebroadcast? y luego selecciona hasta diez fechas y horas en la opción Repeat Days.

Los programas a grabar aparecerán con el ícono de un punto rojo en el calendario, y cuando sean retransmitidos, llevarán el ícono de un espiral blanco.

En la sección Who, escribe las primeras letras del nombre del DJ para ese programa en los campos de búsqueda, y selecciona un nombre de la base de datos o escoge uno en la lista vertical contigua. Esta asociación del DJ con un programa particular le permite a ese presentador agregar archivos de reproducción al programa, así que es importante verificar que el nombre asignado sea correcto.

Finalmente, selecciona el color de fondo y el color para el texto en la sección Style, para que el nuevo programa pueda ser indentificado más facilmente en el calendario. Haz clic en el ícono del círculo coloreado en la esquina inferior derecha para cerrar esta ventana.

 

Haz clic en Add this show en el encabezado o al pie de la ventana. El programa aparecerá entonces en el calendario, según el horario que seleccionaste.  

Editar un programa

La configuración y los metadatos de un programa pueden modificarse en cualquier momento antes de que comience la transmisión. Haz clic en el programa dentro del calendario, y selecciona Edit Show en el menú emergente lateral. Esto abre la ventana de edición para el programa, que es exactamente igual a la ventana para gregar un programa. Haz clic en  Update Show, en cualquier borde de la ventana, cuando hayas terminado.

Alternativamente, los programas individuales pueden ser arrastrados hacia nuevos días y horarios dentro del calendario. Sin embargo, Airtime no permitirá que lleves un programa futuro hacia un día pasado, o llevar un programa a un día en que los horarios coincidirían con otros programas.    

En las vistas por Día y por Semana, la duración podrá ser ajustada con sólo hacer clic en el borde de la casilla del programa y arrastrarlo hacia arriba o hacia abajo. La nueva duración será calculada instantáneamente. Airtime no te dejará finalizar un programa después del inicio del siguiente.

Añadir contenido a un programa 

Para añadir contenido a un programa, haz clic en el calendario y selecciona  Add/Remove Content para ver el menú emergente.

Esta acción abre la ventana de Schedule Media. Al igual que buscas archivos para una lista de reproducción, puedes buscar las listas completas y arrastrarlas hacia la casilla  Items In This Show.

La barra de progreso anaranjada, debajo de la casilla Items in this Show se actualiza instantáneamente para mostrar cuanto tiempo queda en la duración predeterminada del programa. Si añades demasiados archivos para la longitud relativa del programa, Airtime mostrará una advertencia, y la reproducción acabará abruptamente cuando se acabe el tiempo. Haz cloc en el pequeño triángulo blanco a la izquierda de cada fila para ver detalles sobre cada lista de reproducción, o haz clic en la x blanca a la derecha para removerla del programa.

 

Cuando tu programa tenga todo el contenido necesario, haz clic en OK ben la esquina inferior derecha para cerrar la ventana. En el Calendario, haz clic en el programa y selecciona Show content del menú emergente para ver una lista de los contenidos ya incluídos en el programa.

 

Haz clic en cualquier fila de la ventana de Show Contents para descargar, reproducir o editar un archivo individual. Cuando termines, haz clic en OK en la esquina inferior derecha o en la x blanca en la esquina superior derecha para cerrar la ventana.

Eliminar contenido de un programa

Para remover una lista de reproducción individual del programa, haz clic en el programa dentro del Calendario, y selecciona Add/Remove Content en el menú emergente. En la ventana de Schedule Media, usa la x blanca para remover la lista del contenido del programa. Para eliminar todas las listas de reproducción de un programa, haz clic en el programa dentro del Calendario, y selecciona Remove All Content en el menú emergente.

 

Eliminar un programa próximo

Para eliminar un programa próximo, haz clic en el el programa dentro del Calendario, y selecciona Delete This Instance en el menú emergente. Si deseas eliminar todas las calendarizaciones del programa en el futuro, selecciona Delete This Instance and All Following.

No puedes eliminar el contenido de los programas ya transmitidos. Estos programas tienen una única opción en el menú emergente, Show Content.

Cancelar transmisión y grabación

Si deseas cancelar la transmisión de un programa en vivo y eliminar el archivo grabado del servidor de almacenamiento, haz clic en el programa dentro del Calendario y selecciona Cancel Current Show en el menú emertgente. De la misma forma, es posible cancelar inmediatamente la transmisión de un programa pregrabado o basado en una lista de reproducción mientras está corriendo.

Airtime te preguntará si estás seguro de proceder, porque esta acción no puede revertirse.


Configuración

El paquete de Airtime para Debian/Ubuntu fija las preferencias PHP en el archivo /usr/share/airtime/public/.htaccess pero si has usado uno de los métodos de instalación manuale, debes comprobar que la zona horaria del PHP coincida con la hora local de tu estación. Puedes editar el acceso  .htaccess en el editor nano editor con el comando:

$ sudo nano /usr/share/airtime/public/.htaccess

Encuentra la línea siguiente y cámbiala a la zona horaria de tu estación:

php_value date.timezone "Europe/London"

Puedes encontrar el valor correcto para la zona horaria en el Apéndice de este manual.

Presiona Ctrl+O para guardar el archivo .htaccess, luego Ctrl+X para cerrar el editor nano.

Configurar Liquidsoap

La reproducción a transmitir por Airtime está configurada en Liquidsoap. Puedes abrir el archivo de liquidsoap.cfg para edición con el comando:

$ sudo nano /etc/airtime/liquidsoap.cfg

Si necesitas alimentación para la tarjeta de sonido ALSA en el servidor de Airtime, así como una transmisión directa a Icecast o Shoutcast, debes cambiar el valor de output_sound_device predeterminado de false true:

output_sound_device = true
Si no necesitas transmitir en formato Ogg Vorbis o MP3, puedes cambiar los valores de output_icecast_vorbis y output_icecast_mp3 or output_shoutcastfalse. Al desabilitar las transmisiones unutilizadas, reducirás la carga en la memoria de CPU en tu servidor, porque éstas exigen un continuo recurso del sistema. Si tu servidor está subalimentado, puede que desees codificar la transmisión en otra computadora.

 

Al usar el paquete Debian/Ubuntu, puede que debas fijar la transmisión directa a Icecast durante la instalación. Para fijar el servidor de Airtime a transmisión directa, de manera manual, fija el valor de icecast_pass como <source-password> que colocaste en el archivo de configuración de Icecast. Si estás transmitiendo desde un servidor Icecast separada, cambia el valor de icecast_host al nombre de equipo o dirección de IP de la otra computadora. El valor de icecast_port puede quedarse en 8000, a menos que el administrador del servidor Icecast te haya provisto un distinto número de puerto. Shoutcast tiene una configuración similar, con un valor predeterminado de 9000.

Puedes configurar los valores de mount_point_mp3, mount_point_vorbis, icecast_url, icecast_descriptionicecast_genre para adecuarlos a tu estación. Shoutcast tiene las opciones similares shoutcast_url de shoutcast_genre. La opcion output_icecast_vorbis_metadata está predeterminada como false porque muchos clientes de reproducción multimedia suelen desconectarse de la transmisión cuando los metadatos Ogg Vorbis cambian para mostrar la información de la siguiente pista.

Cuando hayas terminado, guarda y cierra el archivo /etc/airtime/liquidsoap.cfg con Ctrl+O y Ctrl+X. Luego, reinicia el sistema de reproducción de Airtime para habilitar las nuevas configuraciones con el comando: 
$ sudo invoke-rc.d airtime-playout restart

El servidor debe responder:

Restarting Airtime Playout: Done.

Configurar la base de datos   

Puede que desees editar el archivo /etc/airtime/airtime.conf para fijar la base de datos PostgreSQL, así como el nombre de usuario y la contraseña con qué conectarse a esa base de datos: 

$ sudo nano /etc/airtime/airtime.conf

También puedes fijar las opciones para la mensajería RabbitMQ, el API de Airtime y Soundcloud en este archivo, aunque generalmente no deberías necesitar un ajuste en la configuración predeterminada.

Guarda y cierra con Ctrl+O y Ctrl+X. Si has cambiado la configuración de la base de datos, debes ejecutar el comando:

$ sudo airtime-update-db-settings

para asegurarte de que todos los archivos de configuración de Airtime estén actualizados. Este comando debe mostrar una gran cantidad de texto en la consola del servidor, el cual finaliza con:

BUILD FINISHED

y un reporte del tiempo que tomó la actualización de configuraciones.

Ya deberías ser capaz de conectarte a la interfaz administradora de Airtime como muestra el capítulo Iniciando.

Instalación sencilla

El paquete de instalación sencilla para Airtime establece una configuración típica para Airtime, sin consultarte cualquier adecuación. Más tarde, puedes instalar el último paquete de Airtime desde el repositorio de Sourcefabric, con sólo unos pocos clics. Es la mejor opción para las instalaciones de prueba, donde la interfaz administradora de Airtime puede accesarse en la dirección http://localhost URL.

Puedes descargar el paquete airtime-easy-install en el directorio http://apt.sourcefabric.org/misc/. Debes mantener tu conexión a Internet durante la instalación, pues algunos de los paquetes dependientes deben instalarse desde repositorios en línea.

En Ubuntu 10.04 'lucid' o Debian 6.0 'squeeze', puedes ejecutar el paquete airtime-easy-install desde tu escritorio usando el programa GDebi. En el administrador de archivos del escritorio, haz doble clic en el paquete airtime-easy-install package y selecciona Open with GDebi Package Installer:

 

Si tienes un servidor Ubuntu lucid o Debian squeeze sin escritorio, puedes usar gdebi con el comando:

$ sudo gdebi airtime-easy-install_1.9.4-4_all.deb

Si gdebi no está instalado, puedes ejecutar el comando:

$ sudo apt-get install gdebi

Las versiones posteriores de Ubuntu han reemplazado GDebi con el programa software-center. En la instalación de escritorio, haz clic derecho sobre el paquete y selecciona Open with Ubuntu Software Center. Este programa también puede ejecutarse con el comando:    

$ software-center airtime-easy-install_1.9.4-4_all.deb

Cualquiera de estos métodos antes mencionados debe resolver las dependencias de los paquetes automáticamente.

Una vez finalice la instalación sencilla de Airtime, puedes instalar el último paquete de Airtime en un equipo de escritorio usando tu administrador normal de paquetes, como Ubuntu Software Center, o Synaptic en Debian.

 

En el servidor, puedes usar los comandos:

$ sudo apt-get update
$ sudo apt-get install airtime

Configurar para producción

Para convertir una instalación de prueba en una instalación productiva, puedes ejecutar el comando:

$ sudo dpkg-reconfigure airtime

El comando dkpg-reconfigure ejecutará los mismos pasos de la configuración que muestra el capítulo de Instalación automática, para que puedas fijar los nombres de usuario y contraseñas de tu producción en el servidor de Airtime.

Instalación experta

Estos breves pasos de instalación son recomendables para administradores experimentados del sistema GNU/Linux. Si quieres una explicación más detallada, lee el capítulo Instalación automática en este manual.

1. Edita los archivos de respositorio en to servidor:

$ sudo nano /etc/apt/sources.list

Para usuarios Ubuntu Lucid, usa el repositorio de Sourcefabric:

deb http://apt.sourcefabric.org/ lucid main

y habilita el repositorio de multiverso si necesitas soporte en codificación de MP3:

deb http://archive.ubuntu.com/ubuntu/ lucid multiverse

Para servidores Debian Squeeze, usa el repositorio de Sourcefabric:

deb http://apt.sourcefabric.org/ squeeze main

y habilita el repositorio Debian Multimedia si necesitas soporte para codificar MP3:

deb http://www.debian-multimedia.org squeeze main non-free 

2. Instala la clave de firma del paquete Sourcefabric:

$ sudo apt-get update
$ sudo apt-get install sourcefabric-keyring

3. Instala el sistema administrador para la base de datos:

$ sudo apt-get install postgresql

4. Instala el servidor de transmisión multimedia (opcional):

$ sudo apt-get install icecast2

5. Elimina PulseAudio:

$ sudo apt-get purge pulseaudio

6. Instala Airtime:

$ sudo apt-get install airtime

Consulta el capítulo de Configuración para evaluar las opciones. Ahora deberías poder ingresar a la interfaz administradora de Airtime como muestra el capítulo Inicio.

Cómo exportar la programación

Airtime tiene una función que permite mostrar la información del programa en reproducción y los datos del usuario en sitios remotos. Esta función está incluida en Airtime porque no sería usual que invitaras al público en general a ingresar en el servidor directamente. Si tienes a muchas personas exigiendo los datos del servidor simultáneamente, podría sobrepasarse el tráfico de la red que permite el equipo, interrumpiendo tu transmisión. Si se desarrolla de la forma voluntaria, esta sobrecarga de la red se denomina un ataque de negación de servicio.

En lugar de eso, tu servidor público en la web puede recuperar la información del horario desde Airtime. Esta información aparecerá en tu estación transmisora y en los sitios afiliadosm por medio de un sistema de manejo de contenido, como Newscoop de Sourcefabric (http://newscoop.sourcefabric.org/). Puede presentarse con widgets de Javascript widgets, estilizados con CSS, en cualquier formato que desees.

Existen dos tipos de información que pueden recuperarse de manera remota desde Airtime: los metadatos del programa actual y el siguiente (live-info) o el horario de la semana corriente (week-info). Estos metadatos incluyen nombres de programa, horas, descripciones y direcciones individuales del programa en tu sitio público. Así, tu audiencia puede navegar en la información del horario para investigar más sobre un programa particular, o descargar una grabación del programa anterior que hayas hecho descargable.

Si tu servidor de Airtime está accesible en http://airtime.example.com la información del programa en vivo puede recuperarse en tu servidor web con el URL siguiente:

http://airtime.example.com/api/live-info/?callback

El texto de metadatos separado por comas regresará a tu servidor web de una manera similar a la siguiente:

({
"env":"development",
"schedulerTime":"2011-05-09 15:01:18",
"currentShow":[{"start_timestamp":"2011-05-09 16:00:00",
"end_timestamp":"2011-05-09 17:00:00",
"name":"Funk Show",
"id":"8",
"instance_id":"8",
"record":"0",
"url":"http:\/\/funk.example.com\/"}],
"nextShow":[{"id":"9","starts":"2011-05-09 17:00:00",
"ends":"2011-05-09 18:00:00",
"show_id":"9",
"record":"0",
"rebroadcast":"0",
"instance_id":null,
"file_id":null,
"soundcloud_id":null,
"time_filled":null,
"name":"Dance show",
"url":"http:\/\/dance.example.com",
"genre":"Dance",
"description":"Techno, techno, techno, techno!",
"color":"000000",
"background_color":"ffea00",
"start_timestamp":"2011-05-09 17:00:00",
"end_timestamp":"2011-05-09 18:00:00"}],
"timezone":"BST",
"timezoneOffset":"3600"
})

La información del horario de la semana actual puede recuperarse con este URL:

http://airtime.example.com/api/week-info/?callback

En tal caso, los metadatos devueltos tendrán un formato diferente del anterior, y similar al siguiente. Para acortar el ejemplo, esta exportación solo muestra cuatro programas en un lunes. La exportación de un horario semanal tendrá mucho más texto:

({
"sunday":[],
"monday":[
{"show_starts":"2011-05-09 14:25:00",
"show_ends":"2011-05-09 14:35:00",
"show_name":"Elvis Show",
"url":"http:\/\/elvis.example.com\/"},
{"show_starts":"2011-05-09 14:50:00",
"show_ends":"2011-05-09 14:55:00",
"show_name":News",
"url":"http:\/\/news.example.com\/"},
{"show_starts":"2011-05-09 16:00:00",
"show_ends":"2011-05-09 17:00:00",
"show_name":"Funk Show",
"url":"http:\/\/funk.example.com\/"},
{"show_starts":"2011-05-09 17:00:00",
"show_ends":"2011-05-09 18:00:00",
"show_name":"Dance show",
"url":"http:\/\/dance.example.com"}
],
"tuesday":[],
"wednesday":[],
"thursday":[],
"friday":[],
"saturday":[]
})

Si aparece el mensaje You are not allowed to access this resource cuando intentas visualizar la información en tu navegador web, entra a la interfaz administradora de Airtime, haz clic en Configuración dentro del menú principal y luego entra a Preferencias. Habilita la opción Allow Remote Websites To Access "Schedule" Info? y haz clic en Submit. Luego, refresca la página con el URL de la exportación de horario.

 

Guardar información de horarios en cache   

Si el servidor de Airtime está contenido en un firewall, o quieres protegerlo de un alto número de solicitudes de horario, puede que debas guardar la información en un cache dentro del servidor inmediato o público. Puedes crear una regla de firewall que solo permita al servidor de horarios la conexión con el servidor de Airtime, además de los usuarios remotos de la interfaz web de Airtime.

Tu administrador del sistema puede fijar el almacenamiento de horarios en un servidor habilitado Apache o PHP con el programa curl instalñado, usando los siguientes pasos: 

1. Crea un código bash en el servidor de horarios que revise el servidor d eAirtime y escriba los metadatos devueltos en un par de archivos temporales:

$ sudo nano /usr/local/bin/airtime-schedule.sh

El contenido de este archivo debe parecerse al código siguiente, reemplazando air1.example.com con el nombre de tu servidor de Airtime:

#!/bin/sh

curl -s "http://air1.example.com/api/live-info/?callback=***" > /tmp/live-info

curl -s "http://air1.example.com/api/week-info/?callback=***" > /tmp/week-info

2. Haz el código bash ejecutable:

$ sudo chmod +x /usr/local/bin/airtime-schedule.sh

3. Crea una configuración Apache VirtualHost para el servidor de usuario:

$ sudo nano /etc/apache2/sites-available/schedule

Debe contener una definición como la siguiente, reemplazando schedule.example.com con el nombre de tu servidor de horario:

<VirtualHost *:80>
   ServerName schedule.example.com
   DocumentRoot /var/www/schedule/
</VirtualHost>
4. En la carpeta DocumentRoot del servidor de horario, crea las carpetas api/live-info/ y api/week-info/
$ sudo mkdir -p /var/www/schedule/api/live-info/
$ sudo mkdir -p /var/www/schedule/api/week-info/

5. Crea un archivo index.php en la carpeta api/live-info/:

$ sudo nano /var/www/schedule/api/live-info/index.php

con este código:

<?php
$filename = '/tmp/live-info';  // define here the path and name of uploaded live-info file

header('Content-Type: text/javascript');
header("Expires: Thu, 01 Jan 1970 00:00:00 GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");

$callback = empty($_GET['callback']) ? null : $_GET['callback'];
$content = file_get_contents($filename);
$content = str_replace('***', $callback, $content);
echo $content;
?>

6. Crea un archivo index.php en la carpeta api/week-info/:

$ sudo nano /var/www/schedule/api/week-info/index.php

que contenga el código:

<?php
$filename = '/tmp/week-info';  // define here the path and name of uploaded week-info file

header('Content-Type: text/javascript');
header("Expires: Thu, 01 Jan 1970 00:00:00 GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");

$callback = empty($_GET['callback']) ? null : $_GET['callback'];
$content = file_get_contents($filename);
$content = str_replace('***', $callback, $content);
echo $content;
?>

7. Habilita la nueva configuración y recarga el servidor web Apache:

$ sudo a2ensite schedule
$ sudo /etc/init.d/apache2 reload

8. Create un cronometrado para ejecutar el código bash cada minuto:

$ sudo nano /etc/cron.d/airtime-schedule

que contenga la línea:

* * * * * www-data /usr/local/bin/airtime-schedule.sh

El servidor de horario ahora contendrá la misma información que el servidor de Airtime, con un cache de un minuto de existencia. Puedes ajustar el tiempo del cache al moderar la frecuencia con que el cronometrado revisa el servidor de Airtime.

Widgets de página web

Los códigos para HTML, Javascript y CSS de tu sitio público están provistos en la carpeta widgets de tu código de instalación de Airtime. Para que los widgets funcionen en un típico servidor web, los vínculos a los códigos Javascript y CSS deben incluirse en la página HTML <head> element, como el siguiete ejemplo:

<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Airtime widgets</title>
   <script src="js/jquery-1.6.1.min.js" type="text/javascript">
    </script>
   <script src="js/jquery-ui-1.8.10.custom.min.js" type="text/javascript">
    </script>
   <script src="js/jquery.showinfo.js" type="text/javascript">
    </script>
  <link href="css/airtime-widgets.css" rel="stylesheet" type="text/css" />
</head>

Un ejemplo completo aparece en el archivo widgets/sample_page.html en el código de instalación de Airtime.

Este código es para un pequeño widget llamado airtimeLiveInfo que muestra la información del programa actual (tiempo transcurrido y tiempo restante), así como la información del siguiente programa (tiempo de inicio y de fin). En este ejemplo, la etiqueta de texto para onAirNowestá traducida al francés para soportar el lenguaje local:

<script>
    $(document).ready(function() {
        $("#headerLiveHolder").airtimeLiveInfo({
            sourceDomain: "http://schedule.example.com/",
            text: {onAirNow:"Sur Les Antennes", offline:"Offline", current:"Current", next:"Next"},
            updatePeriod: 20 //seconds
        });
    });
</script>

En la página web, este widget puede verse de la siguiente forma:

 

Las propiedades de CSS como color:text-transform:uppercase fueron usadas para estilizar la etiqueta de onAirNow. Hay ejemplos completos en el archivo CSS widgets/css/airtime-widgets.css del código instalador de Airtime. 

El siguiente widget airtimeShowSchedule tiene tamaño mediano, y muestra el próximo horario del día.

<script>
    $(document).ready(function() {
        $("#onAirToday").airtimeShowSchedule({
            sourceDomain: "http://schedule.example.com/",
            text: {onAirToday:"On air today"},
            updatePeriod: 5 //seconds
        });
    });
</script>

 El código de widget anterior puede estilizarse para verse así:


Finalmente, el siguiente código crea un enorme widget airtimeWeekSchedule que permite a los visitantes navegar a lo largo del horario semanal. En este ejemplo, todas las etiquetas han sido traducidas al francés:

<script>    
    $(document).ready(function() {
        $("#scheduleTabs").airtimeWeekSchedule({
            sourceDomain:"http://schedule.example.com/",
            dowText:{monday:"Lundi", tuesday:"Mardi", wednesday:"Mercredi", thursday:"Jeudi", friday:"Vendredi", saturday:"Samedi", sunday:"Dimanche"},
            miscText:{time:"Temps", programName:"Nom du Programme", details:"Détails", readMore:"Lire La Suite"},
            updatePeriod: 600 //seconds
        });
    });
</script>

Con el código anterior y CSS, las primeras seis horas pueden estilizarse de esta forma:

 

El valor de sourceDomain en los ejemplos de código anteriores debe coincidir con el URL del cual deseas servir la información de horarios al público. Si has usado el método de Guardar información de horario en cache, el URL debe ser el de su servidor de horario, no el servidor de Airtime directamente.

Comenzando

Si el servidor de Airtime tiene un buscador web instalado, puedes ingresar a la interfez administradora al abrir esta dirección:

http://localhost/login

Si tienes que adecuar Airtime para el acceso desde múltiples computadoras, puedes usar un nombre de dominio, como por ejemplo:

http://airtime.example.com/login

Puedes ingresar la primera vez con el usuario  admin y la contraseña admin.

Una vez hayas ingresado como admin una ventana de diálogo te preguntará si deseas enviar datos de soporte técnico sobre tu servidor a Sourcefabric. Estos detalles puedes leerlos al hacer clic en el hipervínculo Show me what I am sending, el cual desplegará una ventana con la información. Estos datos ayudan a los ingenieros de Sourcefabric para resolver cualquier problema que surja con tu instalación de Airtime; también contabiliza las instalaciones efectuadas alrededor del mundo. Sourcefabric tiene una política de privacidad para la recolección de datos, la cual puedes consultar en este sitio  http://www.sourcefabric.org/en/about/policy/ . Luego de seleccionar el reporte de datos y las casillas de aprobación para las políticas de privacidad, dale clic a la opción Yes, help Airtime para enviar tu solicitud.

 

Esta ventana también te ofrece la opción de promocionar tu estación en Sourcefabric.org (en la página http://sourcefabric.org/en/products/airtime_whosusing) al seleccionar la opción correspondiente. Completa la forma siguiente con los datos de tu estación. Estos datos de contacto son solo requisitos de verificación, y no serán expuestos públicamente. Dale clic a la opción  Browse para seleccionar la imagen del logotipo de tu estación como un archivo dentro de tu computadora. 


Luego de cerrar la ventana, podrás ver el Panel Principal, el cual encabeza cada página de la interfaz de Airtime. A la derecha, el Panel Principal muestra los detalles del último archivo reproducido, el archivo que actualmente se transmite (con una barra de progreso anaranjada y un cronómetro) y los detalles del siguiente archivo a reproducir. Muestra también el nombre y el horario designado del programa actual, con una barra de progreso azul.

Debajo de este lado del Panel Principal está el menú de navegación, con varios sub-menús como  Now Playing, Add Media, Playlist Builder, Calendar, ConfigureHelp. Veremos los contenidos de estos sub-menús en los siguientes capítulos de este manual.

Al lado derecho, el Panel Principal tiene un indicador de transmisión, el cual cambia su color de gris a rojo cuando se reproduce un archivo. También hay un reloj que indica la hora de la estación y la zona horaria. En el margen, un hipervínculo titulado About abre una ventana con los detalles de la versión de Airtime que has instalado. Debajo de este hipervínculo aparece el nombre del usuario ingresado y la opción para cerrar sesión. 

Revisar un servidor de Icecast

Si habilitaste la opción de transmisión con Icecast cuando instalaste Airtime, puedes revisar que el servidor Icecast esté funcionando con abrir el puerto 8000 del servidor con tu buscador web. Por ejemplo, en el mismo servidor, puedes usar:

http://localhost:8000/

Deberías poder ver la página de status con los detalles de la conexión que Airtime logró con Icecast. Si acabas de instalar Airtime, no habrá archivos en reproducción.

Ayuda

El menú de ayuda en Airtime ofrece una 'guía rápida' para nuevos usuarios.

Puedes visitar el foro de soporte técnico de Airtime, y enlistarte en la lista de correspondencia en http://forum.sourcefabric.org/index.php/f/14/

Este foro está conectado al correo electrónico, así que las publicaciones del foro aparecerán en la lista de correo y vice versa. Puedes publicar en el foro al escribir a airtime-support@lists.sourcefabric.org

Para suscribirte a las actualizaciones por correo electrónico, debes registrarte e ingresar al foro por medio del link apropiado. Haz clic en la opción 'Suscribe' en el encabezado de la página.

Reporte de errores

Airtime necesita tu restroalimentación para mejorar. Si crees que has encontrado un error, visita http://dev.sourcefabric.org/ e inicia tu sesión, usando la misma cuenta y contraseña que registraste para el foro de Airtime. Crea un reporte de errores al seleccionar Create Issue, luego Airtime y finalmente Bug. Así, el equipo de Airtime team puede darle seguimiento al error y notificarte cuando haya sido corregido. También puedes solicitar mejoras y nuevas funciones para Airtime en este sitio.

Contacto

Finalmente, si ninguno de estos medios ha sido efectivo, escríbenos directamente a contact@sourcefabric.org y trataremos de ayudarte.

Otra ayuda

El wiki de UNESCO, llamado Community Radio - A user's guide to the technology (http://cr-userguide.web4all.in/) ofrece una guía comprensiva acerca de cómo montar una estación de radio digital. Esta guía está destinada para las personas que quieren instituir una estación en India, pero incluye muchos consejos prácticos que pueden ser útiles en cualquier país.

Integrar con Mixxx

Mixxx es una aplicación de plataforma cruzada en Open Source, diseñada para DJs Está disponible en http://www.mixxx.org 

Una vez instalado en tu computadora, Mixxx complementa a tu servidor de Airtime para proveer un sistema completo de transmisión grabada o en vivo. Aunque Mixxx tiene muchas funciones diseñadas para los DJs de música bailable, como la mezcla de ritmos y la extensión de tonos independientes, el programa puede usarse para cualquier transmisión manual, incluyendo programas discursivos como las noticias.

Mixxx funciona con muchas de las plataformas de hardware más populares, las cuáles se conectan a la computadora con un cable USB. La superficie de control puede reemplazar o aumentar un mezclador análogo en tu estudio, dependiendo de tu mezcla en vivo y requerimientos de reproducción.

Si el directorio de tu servidor de almacenamiento para Airtime /srv/airtime/stor/ es accessible desde una computadora de escritorio como sitio de sólo lectura, Mixxx aceptará el sitio como su biblioteca de música predeterminada, cuando inicie por primera vez. (Este sitio puede configurarse después de la instalación, haciendo clic en Options, luego Preferences y luego Library en el menú principal de Mixxx).

 

Puede que necesites ajustar los permisos de archivo y directorio para que el directorio de almacenamiento tenga acceso de lectura al usuario de escritorio. No es recomendable habilitar el acceso de ecritura directamente al servidor de almacenamiento, pues esto permitiría a los usuarios de escritorio eliminar archivos que luego sean necesarios para la reproducción.

Si el destino del sistema de archivos ha sido correctamente configurado, los metadatos de los archivos en el servidor de almacenamiento de Airtime aparecerán en la ventana principal de la interfaz de Mixxx.Los archivos individuales en el servidor de almacenamiento de Airtime pueden agregarse a los reproductores de Mixxx con un clic derecho sobre el nombre de archivo, o usando los botones de hardware indicados en la plataforma de control. Así, es posible administrar el equipo de almacenamiento de manera remota y colaborativa por medio de Airtime, mientras se usa Mixxx como un servicio de reproducción en vivo, en múltiples estudios remotos.

El archivo de almacenamiento en Airtime puede exportarse como cualquier otro archivo compartido. El método implementado depende del sistema operativo en las computadoras de escritorio, y la condición de que estén conectadas con la misma red local o remota que el servidor de Airtime. Por razones de desempeño y redundancia, es recomendable reunir los archivos en cache para un programa particular en la computadora en que se instaló Mixxx. Por ejemplo, para una computadora con GNU/Linux client machine, una descarga nocturna de nuevos archivos con rsync protegería  el equipo de problemas de red a la hora de la reproducción, evitando interrupciones en la transmisión remota.

Los usuarios de Mixxx también pueden grabar un programa, codificarlo y luego cargarlo por medio de la interfaz web de Airtime en un servidor local o remoto para las transmisiones colaborativas o generadas por usuario. Además, Mixxx 1.9.0 y sus versiones psteriores incluyen un agente de transmisión en vivo que, como Airtime, es compatible con el servidor multimedia Icecast.

Máscara de Airtime para Mixxx

Una máscara temática de Airtime para Mixxx, diseñada para los usuarios de transmisión, está disponible para descargas en https://sourceforge.net/projects/airtime/files/

Esta máscara es una interfaz simplificada para la transmisión en vivo no se enfoca en control para el tiempo y el tono, la ecualización, el efecto flanger, la repetición y otras funciones que requieren los DJs de música bailable. A cambio, está enfatizada en crear una interfaz simple y clara que no requiere movimientos mayores para operar los controles más importantes.

Luego de descargar, extrae el archivo zip file y cópialo al directorio skins en la computadora donde instalaste Mixxx. Por ejemplo, en Debian o Ubuntu:

$ unzip Airtime1280x1024_skin_for_Mixxx.zip
$ sudo cp -r Airtime1280x1024 /usr/share/mixxx/skins/

Luego, ejecuta Mixxx y selecciona la máscara de Airtime haciendo clic en Options, Preferences y luego Interface en el menú princioal de Mixxx.

 

Personalizar la interfaz

Como aplicación web, la interfaz administradora de Airtime es completamente personalizable por medio de los mismos métodos con que se actualiza una página web, por ejemplo, si deseas incrementar el tamaño de letra o cambiar los colores en la interfaz de Airtime para ayudar a los miembros del equipo que tengan problemas de la vista. Para lograrlo, abre uno de los archivos CSS en el directorio /public/css/ bajo el directorio de Airtime DocumentRoot dentro de un editor como nano:

$ sudo nano /usr/share/airtime/public/css/styles.css

Para cambiar el fondeo de la interfaz administrador a de gris oscuro a blanco, la propiedad background: de la etiqueta del cuerpo debe modificarse a #ffffff como se ve a continuación:

body {
      font-size: 62.5%;
      font-family:Arial, Helvetica, sans-serif;
      background: #ffffff;
      margin: 0;
      padding: 0;
}

Guarda el archivo con Ctrl+O, luego refresca el navegador para ver el cambio de color de la interfaz.

Cualquier cambio personalizado que hagas a la interfaz administradora debe guardarse antes de actualizar Airtime a la siguiente versión, de lo contrario, será eliminado. Si has hecho mejoras que crees que podrían ayudar a otros usuarios de Airtime, contáctanos a Sourcefabric y cuéntanos sobre ellas.

Modificar la interfaz de Icecast

Si tienes instalado Icecast, en el directorio /etc/icecast2/web/ hallarás varios XSLT y otros archivos que se utilizan para generar la interfaz web de Icecast. Si estás familiarizado con HTML, deberías ser capaz de modificar estas páginas, puesto que están bien comentadas. Debes ser muy cuidadoso con la sintaxis, porque algo tan simple como un corchete suelto podría desconfigurar la interfaz web de Icecast.

Por ejemplo, puedes cambiar la página status.xsl:

$ sudo nano /etc/icecast2/web/status.xsl

La modificación de la página status.xsl es un buen lugar para empezar, pues es la página predeterinada en que los visitantes del sitio pueden ver el puerto 8000 de tu servidor de Icecast. El cambio más obvio que debe hacerse en estas páginas es el contenido de las etiquetas <title> y <h2>, para anunciar el nombre de la estación. También puedes modificar el archivo style.css en el directorio para cambiar las opciones de color y diseño. 

Luego de guardar el archivo con Ctrl+O, refresca tu navegador y podrás ver la nueva apariencia.

 

Cuando estés satisfecho con la apriencia de la interfaz web y la calidad de sonido de tus transmisiones, puedes descomentar la sección <directory> en el archivo /etc/icecast2/icecast.xml para que tu nueva estación aparezca instantáneamente en el sitio web de directorio de Icecast http://dir.xiph.org, el cual te ayudará a reunir más seguidores. También puedes colocar un hipervínculo a la página de estado de Icecast en el puerto 8000 de tu página oficial para la estación, de manera que puedas integrar ambos sitios.

Administrar carpetas multimedia

Airtime tiene un archivo de almacenamiento multimedia, que puedes hallar en la carpeta /srv/airtime/stor/ folder de tu servidor. En Manage media folders dentro del menú Configure, puedes cambiar esta ubocación predeterminada, o añadir nuevas carpetas para Airtime. Todos los archivos que agregues serán importados automáticamente a la base de datos de Airtime; los archivos eliminados en el equipo también serán removidos de esta base de datos. 

Para cambiar la carpeta de almacenamiento de Airtime, haz clic en la opción Choose folder. En la ventana siguiente, selecciona los nombres de las carpetas que buscas. Haz clic en  Open para accesar esa carpeta.

 

De vuelta en la página de Manage Media Folders, selecciona la opción Set para asegurar la nueva carpeta de almacenamiento. Airtime confirmará si estás seguro de esta acción. Para asegurarla, haz clic en OK.

La página Manage Media Folders ahora mostrará la nueva ubicación del almacenamiento.

La carpeta de almacenamiento no puede ser modificada si Airtime está importando nuevos archivos. Si intentas cambiarla, aparecerá un mensaje de error.


Implementando una carpeta

En la opción Choose a folder to watch, haz clic en choose folder , abre la carpeta que buscas, y haz clic en la opción Add . Puedes agregar todas las carpetas que necesites. Para eliminar una carpeta, haz clic en la x a la derecha de su fila en la lista.

Nuevamente, Airtime preguntará si estás seguro de proceder.

Cualquier modificación en tus archivos almacenados será automáticamente registrada por Airtime. Si editas cualquier elemento de la carpeta, como un corte en una pista de audiio, Airtime instantáneamente ajustará la lista de reproducción para mostrar la duración de ese archivo específico.

La estructura del directorio y los nombres de archivo en el almacenamiento son legibles. Esto significa que puedes encontrar documentos para descarga o edición usando cualquier explorador de archivo, así como la pestaña de búsqueda en el Playlist Builder.

Administrar usuarios

Debes crear una nueva contraseña administradora inmediatamente, usando la opción Manage Users en el menú de configuración.

A la izquierda de la página Manage Users, haz clic en admin dentro de la lista de usuarios. Los detalles para este usuario aparecerán en la casilla al lado derecho. Hasta ese momento, admin es el único perfil de usuario con contraseña.

Ingresa una contraseña segura (que esté verificada como práctica) en el espacio designado. La seguridad de esta contraseña es esencial para el óptimo funcionamiento de tu estación, porque facilita el acceso a todas las opciones de calendarización y administración. Puedes agregar otros detalles a tu perfil en esta página, incluyendo tu nombre completo y datos para contactarte. Cuando termines, haz clic en Submit.

Para agregar nuevos usuarios al sistema, uno por cada empleado de la estación que necesite ingresar a Airtime, haz clic en la opción New User. Escribe un nombre de usuario, una contraseña y los datos de contacto y luego selecciona el tipo de usuario del menú predeterminado; puedes escoger entre Administrador, Programador, DJ o Invitado. La diferencia entre los tipos de usuario es así:

Los nuevos usuarios aparecerán a la izquierda de la página Manage Users. Si tienes un gran número de usuarios, puedes usar la herramienta de búsqueda que encabeza la lista (tiene un ícono de lupa) para identificar a un usuario específico. Selecciona las opciones en la lista de encabezado para ordenar los resultados de búsqueda por Usuario, Primer nombre, Apellido o Tipo de usuario.

Para editar una cuenta de usuario, haz clic en la fila de ese usuario dentro de la lista. Cambia los detalles del usuario en la casilla ubicada a la derecha y finaliza con un clic en Submit. Para remover una cuenta de usuario, haz clic en el ícono x a la derecha de la fila.

Instalación manual

Generalmente, no es necesario que instales Airtime manualmente, a menos que estés probando una versión en desarrollo del programa. Las versiones de Airtime más recomendables para usos de producción están disponibles para descarga y actualización por medio de secure apt, como lo muestra el capítulo Instalación automática.

Instalación completa

El libreto airtime-full-install ha sido probado en servidores Ubuntu GNU/Linux y está diseñado para configurar un servidor por ti, usando las preferencias preestablecidas.

1. En la consola o terminal del servidor, descarga Airtime desde https://sourceforge.net/projects/airtime/files/ con wget. Por ejemplo, para descargar la version 1.9.4, puedes usar el comando:

$ wget http://downloads.sourceforge.net/project/airtime/1.9.4/airtime-1.9.4.tar.gz

2. Extrae el archivo descargado en tu directorio raíz. Esto creará un subdirectorio llamado  airtime-1.9.4:

$ sudo tar -xvzf airtime-1.9.4.tar.gz -C ~/

3. Ejecuta el código airtime-full-install:

$ sudo ~/airtime-1.9.4/install_full/ubuntu/airtime-full-install

El código de instalación indicará qué archivos están siendo instalados en tu equipo, y los directorios en que están siendo extraídos. Finalmente, ejecutará el código airtime-check-system para confirmar que tu servidor esté funcionando correctamente.

 *** Verifying your system environment ***
CPU                            = Dual Core AMD Opteron(tm) Processor 170
Total RAM                      = 6128244 kB
Free RAM                       = 167276 kB
OS                             = Ubuntu 10.04.3 LTS x86-64
AIRTIME_CONFIG_FILES           = OK
POSTGRESQL_DATABASE            = OK
PYTHON_KOMBU_VERSION           = 1.2.0
PYTHON_POSTER_VERSION          = 0.8.1
PYTHON_MUTAGEN_VERSION         = 1.20
PYTHON_PYINOTIFY_VERSION       = 0.9.2
RABBITMQ_SERVER                = OK
AIRTIME_VERSION_URL            = http://localhost:80/api/version/api_key/%%api_key%%
APACHE_CONFIGURED              = YES
AIRTIME_VERSION                = 1.9.4
PLAYOUT_ENGINE_PROCESS_ID      = 24021
PLAYOUT_ENGINE_RUNNING_SECONDS = 7
LIQUIDSOAP_PROCESS_ID          = 24025
LIQUIDSOAP_RUNNING_SECONDS     = 7
MEDIA_MONITOR_PROCESS_ID       = 24078
MEDIA_MONITOR_RUNNING_SECONDS  = 7
SHOW_RECORDER_PROCESS_ID       = 24055
SHOW_RECORDER_RUNNING_SECONDS  = 7
ICECAST_PROCESS_ID             = 23649

  -- System setup looks OK!

********************** Install Complete ***********************
Estás listo para proceder al capítulo de Configuración.

Instalación mínima   

El código alternativo airtime-install no configura tu servidor, dándote más opciones para fijar tus requerimientos.

1. En la consola o terminal del servidor, instala la lista de dependencias. Por ejemplo, en Ubuntu 10.04 (Lucid Lynx) LTS puedes ejecutar el comando:

$ sudo apt-get install apache2 curl ecasound gzip libao-ocaml \
libapache2-mod-php5 libcamomile-ocaml-dev libesd0 libmad-ocaml \
libmp3lame-dev libportaudio2 libsamplerate0 libsoundtouch-ocaml \
libtaglib-ocaml libvorbis-ocaml-dev monit mpg123 odbc-postgresql \
patch php-pear php5-curl php5-gd php5-pgsql python2.6 \
python-virtualenv rabbitmq-server sudo tar unzip

La otra dependencia que debes instalar es phing (asegúrate de anotar el número de versión correspondiente):

$ sudo pear channel-discover pear.phing.info
$ sudo pear install phing/phing-2.4.2

2. Revisa que los módulos del servidor web Apache que usa Airtime estén habilitados:

$ sudo a2enmod php5 rewrite

El servidor debe responder:

Module php5 already enabled
Module rewrite already enabled

3. Crea un directorio para contener la interfaz web de Airtime:

$ sudo mkdir -p /usr/share/airtime/public

4. Luego, crea un archivo de configuración virtual de Airtime para  Apache:

$ sudo nano /etc/apache2/sites-available/airtime

e ingresa la información siguiente, sustituyendo el nombre de tu servidor con airtime.example.com y la dirección de tu administrador con admin@example.com. Asegúrate de fijar los comandos de DocumentRootDirectory correctamente. Estos deberían coincidir con el directorio público en que el instalador extraerá la interfaz web, que, de forma predeterminada, es el directorio /usr/share/airtime/public/.

<VirtualHost *:80>
   ServerName airtime.example.com
   ServerAdmin admin@example.com
   DocumentRoot /usr/share/airtime/public
   php_admin_value upload_tmp_dir /tmp

  <Directory /usr/share/airtime/public>
      DirectoryIndex index.php
      AllowOverride all
      Order allow,deny
      Allow from all
  </Directory>
</VirtualHost>

Presiona Ctrl+O para guardar el archivo, luego Ctrl+X para salir del editor nano.

5. Crea el archivo de configuración PHP /etc/airtime/airtime.ini en nano:

$ sudo nano /etc/airtime/airtime.ini

con los siguientes contenidos:

[PHP]
memory_limit = 512M
magic_quotes_gpc = Off
file_uploads = On
upload_tmp_dir = /tmp

Guarda y cierra nano. Luego, une este archivo a la configuración PHP del sistema con el comando:

$ sudo ln -s /etc/airtime/airtime.ini /etc/php5/conf.d/airtime.ini

6. Habilita la nueva configuración con el comando:

$ sudo a2ensite airtime

El servidor debe responder:

Enabling site airtime.
Run '/etc/init.d/apache2 reload' to activate new configuration!

Puede que necesites deshabilitar la configuración predeterminada del sitio, porque puede interferir con tu instalación de Airtime:

$ sudo a2dissite default

Como sugiere el comando anterior, vuelve a cargar la configuración del servidor web.

$ sudo /etc/init.d/apache2 reload

El servidor debe responder:

 * Reloading web server config apache2
7. Descarga Airtime de https://sourceforge.net/projects/airtime/files/ con wget. Por ejemplo, para descargar la versión 1.9.4, puedes usar el comando:
$ wget http://downloads.sourceforge.net/project/airtime/1.9.4/airtime-1.9.4.tar.gz

8. Extrae el archivo descargado en el directorio raíz. Esta acción creará un subdirectorio llamado airtime-1.9.4:

$ sudo tar -xvzf airtime-1.9.4.tar.gz -C ~/
9. Monit es una utilidad de Airtime que supervisa la ejecución adecuada del sistema. Habilítala abriendo el archivo /etc/default/monit en el editor nano
$ sudo nano /etc/default/monit

Encuentra la línea que comience con startup y cambia el valor a 1:

startup=1

Guarda el archivo con Ctrl+O y cierra nano con Ctrl+X. Ahora copia la configuración Monit del directorio de instalación de Airtime en el directorio /etc/monit/conf.d/:

$ sudo cp ~/airtime-1.9.4/python_apps/monit/airtime-monit.cfg /etc/monit/conf.d/

Abre el archivo /etc/monit/monitrc en nano:

$ sudo nano /etc/monit/monitrc

Al final del archivo, agrega:

include /etc/monit/conf.d/*
Guarda el archivo con Ctrl+O y cierra con Ctrl+X. Luego, inicia Monit con:
$ sudo invoke-rc.d monit start

Encontrarás más información sobre Monit en el capítulo Usando Monit.

10. En Debian squeeze, asegúrate que el daemon rabbitmq-server halla iniciado:

$ sudo invoke-rc.d rabbitmq-server start

11. Finalmente, ejecuta el código airtime-install

$ sudo ~/airtime-1.9.4/install_minimal/airtime-install 

Una vez el código airtime-check-system confirme que la instalación fue exitosa, puedes proceder al capítulo Configuración.

Instalar opciones de código

De forma predeterminada, el código airtime-install preserva cualquier configuración o instalación existente en el servidor. Sin embargo, también es posible dictar la conducta del código con la opción de comando siguiente: 

--help|-h            Displays usage information.
--overwrite|-o       Overwrite any existing config files.
--preserve|-p        Keep any existing config files.
--no-db|-n           Turn off database install.
--reinstall|-r       Force a fresh install of this Airtime version

Desinstalación manual

Para desinstalar manualmente Airtime de tu servidor, ejecuta el código airtime-uninstall en el directorio original de instalación, por ejemplo:

$ sudo ~/airtime-1.9.4/install_minimal/airtime-uninstall

Optionalmente, también puedes eliminar los archivos de almacenamiento y configuración de Airtime. Si tienes copias, no necesitarás esta información dentro de este servidor particular. El comando rm debe usarse con cuidado, pues no hay manera de revertirlo.

$ sudo rm -r /srv/airtime
$ sudo rm -r /etc/airtime

Ahora suena

Esta página provee dos vistas de las carpetas que reproduce tu estación, las cuáles pueden intercambiarse cambiando entre las opciones Day ViewNow View, situadas en la esquina superior derecha de la interfaz administradora.

La forma predeterminada es Now View, donde los archivos ya reproducidos son eliminados de la lista automáticamente. Los nombres del programa tienen fondo azul, y los archivos individuales tienen un fondo gris. La fila del archivo en reproducción tiene un fondo anaranjado. Los programas incompletos (aquellos sin contenido suficiente para el tiempo disponible) aparecen con una fila que muestra el vacío temporal en segundos. Este vacío tiene un fondo rojo.

A la derecha de la vista Now View, aparecen el programa y la lista de reproducción de cada archivo. (La creación de programas y listas de reproducción se discutirá más adelante). Si un programa está incompleto, es decir, si su tiempo de reproducción es menor al espacio de transmisión, un ícono de advertencia rojo aparecerá en la columna de Status. Este ícono indica que el archivo en esa fila será cortado abruptamente cuando acabe el programa.

Un programa en vivo que esté dispuesto para la reproducción aparecerá con un fondo gris oscuro, para indicar que no tiene una lista de reproducción.


La vista Day View es similar a la Now View, excepto que los archivos ya reproducidos se acumulan en el encabezado de la ventana. Puedes seleccionar el horario del día que deseas ver al hacer clic en la casilla de la fecha, justo a la derecha de la opción Day View, y seleccionar un día del calendario emergente.


Crear lista de reproducción

Esta página de la interfaz de Airtime te permite buscar entre los archivos multimedia, ordenar los resultados de acuerdo a diferentes criterios y arrastrar los resultados individuales a una lista de reproducción abierta. También puedes arreglar la lista de reproducción actual con un arrastrado. La página de Playlist Builder no es visibe para los usuarios invitados. 

La pestaña de búsqueda

A la izquierda de la página de Playlist Builder , la pestaña de búsqueda lista los archivos sueltos y las listas de reproducción en almacenamiento de Airtime, con diez resultados por página por configuración predeterminada. Haz clic en Show entries en la esquina superior derecha para mostrar 10, 25, 50 o 100 resultados por página, de acuerdo a tu preferencia.

Haz clic en los encabezados de columna Title, Creator, Album, Track, LengthType para ordenar tus resultados. En la columna Type, alos archivos de audio aparecen con un ícono de bocina, mientras que las listas de reproducción tienen un ícono de documento. En el margen inferior de la ventana, haz clic en First, Previous, Next, Last o los números de página individuales para buscar en el archivo de almacenamiento multimedia.

Escribe un término de búsqueda en la casilla en la esquina superior izquierda, a la par del ícono de lupa. Puedes buscar un archivo de acuerdo al título, el creador, el álbum, el número de pista o la duración. Por ejemplo, para buscar todos los archivos que tengag entre siete y ocho minutos de duración, escribe 00:07 en la casilla de búsqueda. Como sucede en un buscador de Internet, los resultados filtrados van depurándose mientras escribes; no es necesario que presiones Enter.

Al seleccionar una fila de archivo en la pestaña de búsqueda, se abrirá una opción para editar los metadatos de ese archivo, descargarlo a la computadora local para reproducción y edición, o eliminarlo del servidor de almacenamiento de Airtime. La opción de eliminar debe usarse con cuidado, porque no puede revertirse. Por eso, sólo los usuarios administradores pueden eliminar archivos. 


Crear una nueva lista de reproducción

Una vez hayas encontrado los archivos que necesitas, puedes crear una nueva lista de reproducción en el lado derecho de la página de Playlist Builder . Haz clic en New para comenzar.

Escribe un título y una descripción para la lista de repoducción, luego haz clic en Submit. Si fijas metadatos de buena calidad, será más fácil que encuentres la lista en la pestaña de búsqueda, así que debes ser lo más descriptivo posible.

Ahora, arrastra los archivos de la pestaña de búsqueda a la nueva lista de reproducción a la derecha.

Luego de arrastrar los archivos hacia la nueva lista de repoducción, el tiempo total aparecerá en la esquina superior derecha. La duración de un archivo individual aparece en cada fila de la lista de reproducción con letras blancas, y debajo de esta cifra aparece el tiempo transcurrido desde el inicio de la lista, en una letra gris más pequeña.

Para escuchar una lista de reproducción en tu buscador de Internet, haz clic en el pequeño triángulo blanco play/pause a la izquierda de cada fila. Haz clic en la pequeña x blanca a la derecha de cada fila para eliminar un archivo de la lista. Puedes sostener y arrastrar archivos para reordenarlos.

Haz clic en el ícono del lápiz junto al nombre de la lista de reproducción para editarlo, o haz clic enView/edit description para abrir una ventana de edición de metadatos.

Haz clic en la opción de Crossfade (dos flechas blancas horizontales, cruzadas en un rectángulo gris), a la dercha de las opciones NewDelete , para abrir la barra beige donde puedes determinar los tiempos de desvanecimiento para el sonido.

Haz clic en cualquier otro de los botones de Crossfade entre las filas de archivo para abrir otra barra beige que permite determinar los tiempos de desvanecimiento entre dos archivos adyacentes en la lista. Los botones de crossfade para archivos adyacentes cambian a un fondo anaranjado cuando les das clic.

Cada archivo en la lista de reproducción también tiene un botón con dos corchetes, el cual permite fijar la entrada y la salida de ese archivo en particular. Como el botón de crossfade, su fondo cambia a anaranjado cuando le das clic. La duración del archivo en la lista de reproducción se actualiza inmediatamente, pero la duración original también aparece para referencia.


Cuando tu lista de reproducción esté finalizada, haz clic en Done Editing en la esquina superior derecha. Si deseas editar los contenidos de la lista o sus metadatos, puedes encontrarla por orden de título, creador o duración en la pestaña de búsqueda. Haz clic en la lista de reproducción en los resultados de búsqueda y selecciona  Edit en el menú emergente. Una lista de reproducción que esté ya abierta para edición mostrará la opción Close en el menú contextual. También puedes eliminar una lista en ese menú.


Preferencias

En el menú de Configure dale clic a Preferences para configurar el nombre de tu estación y el tiempo de desfaz predeterminado para entrelazar los archivos de sonido. La opción de Stream Label te permite configurar los metadatos que enviarás en transmisiones directas hacia Icecast, como Artista, Título, Programa, Artista y Título, o Nombre de la Estación o Nombre del Programa.

También puedes habilitar el acceso en vivo, sólo para lectura, hacia el calendario Airtime para el sitio público de tu estación con la opción Allow Remote Websites to Access Schedule Info?. (Conoce más acerca de esta opciónen la sección de Configuración Avanzada de este manual). Luego, selecciona Submit.

Configuración de SoundCloud

Si tu estación tiene una cuenta de SoundCloud (en http://soundcloud.com), puedes subir las grabaciones de programas en vivo a este servicio, de forma automática. Dale clic al pequeño triángulo negro junto a la sección de SoundCloud Settings para encontrar esta opción. Luego de seleccionar el espacio Upload Recorded Shows To SoundCloud, puede que debas ingresar tu correo electrónico y tu contraseña de SoundCloud, y los metadatos que SoundCloud usará para categorizar las grabaciones de tu programa. También puedes configurar un género predeterminado y buscar la licencia para derechos de autor, incluyendo dominio público, derechos reservados o una de nuestas licencias de Creative Commons  (ve más en http://creativecommons.org).

Please note that like most online distribution services, SoundCloud terms of service require you to have copyright in, or permission for Internet distribution from the copyright holder of, any media that you upload.

Preparar el servidor

Las siguientes instrucciones asumen que tienes acceso raíz a un servidor GNU/Linux, y estás familiarizado con las líneas de comando elementales. Los administradores de sistema más experimentados pueden avanzar al capítulo de Instalación experta en el apéndice de este manual.

La plataforma más recomendable para el servidor de Airtime es Ubuntu 10.04 'Lucid Lynx' LTS. Debian 6.0 'squeeze' es una excelente alternativa. El servidor debe contar, como mínimo, con un procesador de 1GHz y 512MB de memoria RAM. La instalación de Airtime no usa mucho espacio de disco, pero necesitarás espacio de capacidad para los archivos multimedia. Se recomienda un arreglo de intercambio rápido RAID para el archivo multimedia, en caso de que el disco duro presente fallos. También deberías considerar un UPS u otro sistema de protección para la batería par aprotegerte de fallas a corto plazo.

La interfaz administradora de Airtime está diseñada para funcionar con cualquier buscador, en cualquier computadora de escritorio o portátil. El buscador más recomendado es Mozilla Firefox 3.6.

Tarjetas de sonido

Si deseas que tu servidor de Airtime tenga una alimentación directa del audio para tu transmisión o cualquier otro decodificador, tu equipo servidor debe tener una tarjeta de sonido instalada en el puerto ALSA. Casi todas las tarjetas de sonido tienen puertos ALSA instalados en el kernel de Linux, por lo que no necesitan instalarse por separado. Si tienes dudas sobre el soporte de puertos para tu tarjeta de sonido, revisa la matriz de tarjetas sonoras ALSA en http://www.alsa-project.org/main/index.php/Matrix:Main.

Si tu equipo de Airtime machine sólo se usará para transmitir a un servidor de Icecast, no necesitarás instalar una tarjeta de sonido en tu servidor. Esta opción es recomendable para instalaciones de Airtime en tu centro de datos ISP, remotas desde cualquier transmisor.

Deshabilitar escritorio y otros sonidos

Si estás instalando Airtime en un computador de escritorio, asegúrate de deshabilitar o remover los programas que podrían enviar sonidos indeseables a tu tarjeta de sonido para transmisión. Esto incluye mensajes de alerta sobre el funcionamiento del equipo o inicios de sesión. En Ubuntu, estos sonidos se configuran usando  Sistema -> Preferencias-> Sonido en el menú de escritorio principal. Este diálogo de configuración sólo funciona cuando el servidor de sonido PulseAudio está instalado.

Puedes remoder todos los sonidos indesiables de tu computadora para que no se reproduzcan accidentalmente en la tarjeta de sonido. Por ejemplo, en Ubuntu, puedes eliminar el paquete ubuntu-sounds con el comando:

$ sudo apt-get purge ubuntu-sounds

Eliminar PulseAudio, si está instalado

El servidor de sonido PulseAudio no es compatible con la alimentación de la tarjeta de sonido de Airtime, pero está instalada de forma predeterminada en Ubuntu. Para remover PulseAudio de cualquier equipo Ubuntu, escribe el siguiente comando:

$ sudo apt-get purge pulseaudio

Al remover el paquete pulseaudio en el escritorio, el equipo Ubuntu puede forzar la remoción del metapaquete ubuntu-desktop. Sin embargo, este metapaquete sólo está instalado en el sistema para programar actualizaciones; su eliminación no destruye el escritorio GNOME.

Después de remover PulseAudio, si tu equipo de Airtime tiene escritorio, puedes instalar una aplicación de mezclador para controlar la tarjeta de sonido ALSA directamente, como la gnome-alsamixer:

$ sudo apt-get install gnome-alsamixer

En un servidor con tarjeta de sonido pero si escritorio, puedes controlar los niveles salida y entrada de sonido usando el programa de comando lineal alsamixer:

Este programa ya debería estar instalado en un equipo Ubuntu o Debian con tarjeta de sonido. Si no, puedes instalarla con el comando:

$ sudo apt-get install alsa-utils

Eliminar webmin, si está instalado

El panel de control webmin (http://www.webmin.com) se conoce por su capacidad para remover los paquetes  Apache y PHP en equipos Debian o Ubuntu, lo que puede provocar la eliminación del paquete de Airtime. Este problema se revierte fácilmente al reinstalar los paquetes afectados, pero podría afectar tu transmisión repreoducible en Airtime. Webmin generalmente no está instalado en el equipo a menos que el administrador lo programe manualmente. Esto sucede porque webmin fue eliminado de los repositorios en los paquetes oficiales de Debian y Ubuntu hace algunos años.

RabbitMQ en Debian

En Debian 6.0 (Squeeze) el daemon rabbitmq-server no arranca automáticamente después del reinicio. Esto debe arreglarse antes de instalar Airtime, para prevenir problemas durante la reproducción. Si el paquete rabbitmq-server package fue instalado antes del último arranque del equipo, necesitarás ejecutar:

# invoke-rc.d rabbitmq-server start

como el usuario raíz antes de instalar Airtime. Si no está instalado aún, ejecuta el siguiente comando como raíz:

# apt-get install rabbitmq-server

Luego de una instalación fresca rabbitmq-server arrancará automáticamente, por lo que no será necesario ejecutar el comando invoke-rc.d antes mencionado.

En cualquier caso, debes editar las líneas 13 y 14 del archivo /etc/init.d/rabbitmq-server (as root) para mostrar:

# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6

y luego ejecutar este comando (como raíz):

# update-rc.d rabbitmq-server defaults

Esto debe asegurar que rabbitmq-server ejecute en el próximo inicio de sesión.

Proceder a instalación   

Ahora, tu servidor debe estar listo para instalar Airtime. Dependiendo de tus requisitos, puedes dirigirte a los capítulos Instalación sencilla, Instalación manual o Instalación automática. 

Derechos de autor

Si es la primera vez que incursionas en la conducción y la transmisión radial en línea, este resumen de las reglas de compensación para los derechos de autor puede ahorrarte muchos problemas en el futuro. 

Las estaciones de música independiente por Internet no suelen ser como deberían, debido a las numerosas demandas de SoundExchange en Estados Unidos, y algunas organizaciones afines en otros países. Éstas son sociedades anónimas o autoridades gubernamentales que recaudan fondos de los conductores de radio para pagar los derechos de autoría de diferentes músicos.  Estas sociedades para la recaudación de comisiones exigen que pagues antes de transmitir cualquier pieza musical de un disco comercial- no importa si tienes ganancias o no. Sin importar el porcentaje de la comisión, la cuota anual reduce desproporcionadamente los recursos de las estaciones pequeñas.

Por ejemplo, en el Reino Unido, la Limited Online Music Licence (MCPS-PRS) protege la transmisión musical no comercial siempre y cuando sus ganacias brutas no excedan £12,500 por año. El costo límite ha ascendido hasta a £1,120, más un impuesto del 20% anual, para distribuir hasta  450,000 transmisiones únicas y servir 25,000 archivos. Si tus ganancias traspasan el límite, debes aplicar para una licencia completa de MCPS-PRS. No suena tan mal al inicio, pero 25,000 archivos anuales rinden menos de cuatro descargas por hora en un sitio permanentemente abierto. Esta licencia solo cubre los derechos de publicación, no de grabación, así que debes negociar una licencia adicional de Phonographic Performance Limited para reproducir discos completos.

Generalmente, debes proveer todos los detalles estadísticos de toda la música transmitida o reproducida en tu sitio para la sociedad de comisiones de derechos de autor. Incluso, si tu estación tiene mayormente programas diálogo, existen muchas limitaciones en la letra pequeña de sus licencias musicales. Por ejemplo, no puedes usar música para propósitos promocionales y no puedes transmitir una opera completa sin negociar licencias separadas. Es extraño, pero no tienes permiso para reproducir una pieza musical en un "contexto denigrante" para el autor o los locutores; los chistes de percusión están prohibidos, entonces.

Sin embargo, la mayor desventaja de estas licencias e MCPS-PRS sólo cubren a los oyentes dentro del Reino Unido. Así que, si tu estación en línea reúne a unos varios oyentes en países extranjeros, tendrás que pagar por las licencias musicales correspondientes en esos países. No es sorpresa que muchas estaciones de radio no lucrativas han desaparecido de las ondas virtuales a lo largo de los últimos años, pues al no tener las licencias adecuadas sus operadores podrían ser demandados. Si quieres tomar la ruta de la licencia pagada, y puedes costearla, visita http://www.prsformusic.com y http://www.ppluk.com para los detalles de la licencia en el Reino Unido. En los Estados Unidos, busca http://www.soundexchange.com para apuntarte con una cuota mínima de  $500 anuales para locutores web no comerciales. Esto incluye una cuota de uso correspondiente a la cantidad de horas escuchadas para asegurar el derecho a transmitir música de las disqueras asociadas.

La transmisión de contenido gratuito promete una nueva emergencia para las radios digitales.  Como las sociedades recaudadoras de comisiones, como MCPS-PRS y SoundExchange sólo representan los intereses de sus miembros, quienes no estén afiliados pueden transmitir su contenido original sin pagar licencias. Es decir, si en tu sitio anuncias que tu transmisión tiene material protegido, disponible al público bajo una licencia específica, nadie debería malinterpretar tus intenciones. Incluso podrías convencer a otras personas para que te permitan transmitir sus contenidos, siempre y cuando no tengan una obligación legal conflictiva, como un acuerdo previo con otra sociedad recaudadora en otra parte del mundo. Puedes pedir permiso para transmitir cuando tus visitantes del sitio suban sus propios archivos de música por via HTML, como sucede en MySpace. Por otra parte, puedes reunir archivos legales con la apropiada licencia de Creative Commons (http://www.creativecommons.org) o cualquier otra licencia de contenido gratuito.

El permiso explícito para transmitir en un servidor privado siempre será el mejor, así que considera tus propios términos y condiciones antes de aceptar archivos de terceras personas para la difusión. Por ejemplo, ¿cómo sabrás si alguien subió un archivo pirata a tu estación digital? Este tipo de situaciones pueden traerte problemas con las autoridades defensoras de los derechos de autor y sus mismos acreedores.

Setting the server time

La fidelidad al horario más preciso es vital para el desempeño de Airtime. Puedes confirmar que la fecha y la hora de tu servidor estén correctas con el comando:

$ date

El servidor debe responder con la fecha, hora, zona horaria y año en un formato similar al siguiente:

Mon Mar  7 14:59:17 GMT 2011

La zona horaria debe corresponder con el continente y la ciudad que muestra el archivo .htaccess file durante la instalación de Airtime, como el GMT en el ejemplo anterior que coincide con Europe/London. Si no es así, ve la sección Ajustar la zona horaria del servidor, más abajo.

Aunque puedes ajustar la fecha y hora del servidor manualmente, no es recomendable porque el reloj del servidor puede cambiar con el tiempo, comprometiendo la precisión de tu horario de transmisión. Si tu servidor de Airtime está conectado permanentemente al Internet, puedes sincronizarlo con un servidor de tiempo con el programa ntp. Si ntp aún no está instlado, puedes introducir este comando en Debian o Ubuntu: 

$ sudo apt-get install ntp

Puedes abrir el archivo de configuración ntp en el editor nano para añadir otros nombre de servidor de tiempo: 

$ sudo nano /etc/ntp.conf 

En Ubuntu GNU/Linux, el servidor de tiempo predeterminado es ntp.ubuntu.com, pero existen muchos otros en el Internet público, incluyendo el grupo de servidores que aparece en  http://www.pool.ntp.org/ para cada país. La variedad de servidores NTP situados cerca de tu servidor de Airtime tendrán resultados más exactos. Por ejemplo, un servidor en el Reino Unido puede usar esta lista: 

# You do need to talk to an NTP server or two (or three).
server ntp.ubuntu.com
server 0.uk.pool.ntp.org
server 1.uk.pool.ntp.org
server 2.uk.pool.ntp.org
server 3.uk.pool.ntp.org

Ingresa los nombres de servidor que necesites, presiona Ctrl+O para escribir en el archivo /etc/ntp.conf file, y luego Ctrl+X para salir del editor nano. Reinicia el servicio ntp con: 

$ sudo service ntp restart

El servidor debe responder:

* Stopping NTP server ntpd                                 [ OK ]
* Starting NTP server ntpd                                 [ OK ]

Luego, usa el comando ntpq -p para confirmar que el ntp funcione. Este comando debe producir una imagen similar a la siguiente:

Ajustar la zona horaria del servidor  

Si tu servidor está configurado con una zona horaria diferente a la que escogiste durante la instalación de Airtime, tu horario de transmisión podría reproducirse en horas incorrectas. El centro de datos de tu servidor de Airtime server puede situarse en cualquier lugar del mundo. Ciertos servidores se configuran con la Hora Universal Coordinada o HUC (similar a la Hora Media de Greenwich o HMG), sin importar su localización. Si esto no le conviene a tu estación, puedes configurar el paquete tzdata (datos de zona horaria) en Debian y Ubuntu con el comando:

$ sudo dpkg-reconfigure tzdata

Este comando abre un menú donde puedes seleccionar el continente que requieres con presionar Enter.

 

Luego debes escoger la ciudad más cercana, nuevamente presionando Enter. La zona horaria apropiada se selecciona de acuerdo con la información que provees.

 

El mensaje de la consola de respuesta al comando dpkg-reconfigure tzdata confirmará la nueva configuración.  

Current default time zone: 'Europe/London'
Local time is now:      Mon Mar  7 15:04:58 GMT 2011.
Universal Time is now:  Mon Mar  7 15:04:58 UTC 2011.

Trasladar transmisiones

En una configuración típica, la alimentación externa del estudio de transmisiones y la alimentación programada por el archivo de almacenamiento están mezclados antes de que se envíen más lejos en la cadena de transmisión, a un transmisor o un servidor multimedia en Internet.

Si tu servidor de Airtime se sitúa en un centro de datos remoto, quizás no tengas la opción de trasladar el medio de transmisión de un programa en vivo a uno calendarizado de manera manual, pues no tienes acceso físico para conectarte al mezclador de transmisiones en ese servidor. Por otra parte, puede que tengas un servidor de Airtime en el estudio, conectado a tu mezclador principal, pero quieres que tus transmisiones se trasladen automáticamente a las horas correctas. No es eficiente desconectar la transmisión y comenzar una nueva, pues los reproductores de la audiencia quedarán desconectados si eso sucede.

El servidor de Icecast tiene una función de fallback-mount que puede mover clientes (reproductores multimedia que usa a audiencia) de una fuente a otra, a medida que se abren vacantes. Esto facilita el traslado de alimentación programada desde Airtime hasta un programa en vivo en otra fuente, y se traslada de vuelta a Airtime cuando el programa finaliza. 

Para habilitar la función, edita el archivo de configuración principal de Icecast para definir los puntos de uso, y la relación entre ellos.

$ sudo nano /etc/icecast2/icecast.xml

La sección de ejemplo en <mount> que provee el archivo icecast.xml está descomentada de forma predeterminada. Antes o después de la sección comentada, agrega tres puntos de montaje definidos. El punto de montaje predeterminado usado por Airtime es /airtime.ogg que aparece en un archivo /etc/airtime/liquidsoap.cfg. Debes definir un punto de montaje para la fuente en vivo (llamada /live.ogg en este ejemplo) y un punto de montaje para que se conecte el público (llamado /stream.ogg en este ejemplo).

   <mount>
        <mount-name>/airtime.ogg</mount-name>
        <hidden>0</hidden>
   </mount>

   <mount>
        <mount-name>/live.ogg</mount-name>
        <fallback-mount>/airtime.ogg</fallback-mount>
        <fallback-override>1</fallback-override>
        <hidden>0</hidden>
   </mount>

   <mount>
        <mount-name>/stream.ogg</mount-name>
        <fallback-mount>/live.ogg</fallback-mount>
        <fallback-override>1</fallback-override>
        <hidden>0</hidden>
   </mount>

Estos puntos de montaje indicar que el cliente conectado a un URL como http://icecast.example.com:8000/stream.ogg será redirigido al punto de montaje /live.ogg si está disponible. Si no es así, el cliente se dirigirá al punto /airtime.oggcalendarizado para la reproducción.

Al fijar el valor de <fallback-override> en 1 (activado) el punto de montaje /live.ogg volverá a estar disponible, y el cliente srá re-conectado al mismo. Si deseas ocultar los puntos /airtime.ogg y /live.ogg de la interfaz pública de Icecast, fija el valor de <hidden> de estas definiciones en 1.

Configuración de una fuente en vivo

Para integrar una fuente de transmisión con Airtime, conecta la fuente en vivo al servidor de Icecast con los parámetros definifo en /etc/airtime/liquidsoap.cfg file, excepto por el punto de montaje. Este debe ser el punto que definiste en el archivo /etc/icecast2/icecast.xml file, como /live.ogg en el ejemplo anterior.

Para configurar Mixxx para transmitirle a Icecast, haz clic en OptionsPreferences, y luego Live Broadcasting. Para el servidor Type, selecciona el valor predeterminado de Icecast 2 cuando transmitas a servidores Debian o Ubuntu, pues esta es la versión de Icecast provista para distribuciones GNU/Linux.  

 

De forma predeterminada, las transmisiones de Icecast están protegidos contra problemas de red, lo que causa latencia para los públicos remotos. Al monitorear la transmisión en un sitio remoto, puede que necesites empezar la transmisión en vivo unos segundos antes de que termine la transmisión anterior, para facilitar una transición fluida.

Opciones de soporte

Si no registraste Airtime al momento de la instalación, como lo muestra el capítulo Iniciando, puedes seleccionar Support Settings en el menú de Configure para ver las opciones de retroalimentación automatizada de Airtime's. Selecciona la casilla Send support feedback para enviar detalles técnicos de tu instalación de Airtime a Sourcefabric, por medio de Internet. Estos detalles ayudan a Sourcefabric para diagnosticar cualquier problema que puedas tener con tu sistema automático de transmisión.

Es posible que desees enviar los detalles de tu estación a Sourcefabric, para que puedas promoverla con otros usuarios de Airtime en la página http://www.sourcefabric.org. Esta función también ayuda para que Sourcefabric dirija sus servicios de soporte aplicativo a los países que más lo requieren. Selecciona la casilla Promote my station on Sourcefabric.org e introduce tus datos. Puedes cargar el logo de tu estación desde un archivo de imagen en tu computadora al hacer clic en Browse.


Haz clic en Show me what I am sending para que se expanda una ventana con los detalles técnicos que se enviarán a Sourcefabric. Esta información es recolectada de acuerdo a la política de privacidad de Sourcefabric privacy (http://www.sourcefabric.org/en/about/policy/), a la cual deberás acceder antes de enviar tu información.

El comando de usuario de Airtime

Airtime incluye una herramienta de línea de comando en en la que que puede agregar, actualizar o remover cuentas. Puedes ver las opciones del comando completo al escribir en la consola de servicio sin problemas:

$ airtime-user

airtime-user
===============
    This program allows you to manage Airtime users.

OPTIONS:
    --addupdate <username>
        Add the user or update user information.
    --delete <username>
        Remove the user.

Por ejemplo, para crear una cuenta para un DJ llamado Disco Dave, puedes introducir lo siiguiente:

$ airtime-user --addupdate dave
Creating user
Enter password (min 6 characters): saturdaynightfever1977
Enter first name: Disco
Enter last name: Dave
Enter user type [(A)dmin|(P)rogram Manager|(D)J|(G)uest]: D

Las cuentas de usuario existentes pueden actualizarse con este comando). 

Zonas horarias

Selecciona el valor apropiado para la zona horaria en la lsita siguiente, e incorpóralo al archivo php.ini en tu servidor de Airtime.

África

Africa/Abidjan, Africa/Accra, Africa/Addis_Ababa, Africa/Algiers, Africa/Asmara, Africa/Asmera, Africa/Bamako, Africa/Bangui, Africa/Banjul, Africa/Bissau, Africa/Blantyre, Africa/Brazzaville, Africa/Bujumbura, Africa/Cairo, Africa/Casablanca, Africa/Ceuta, Africa/Conakry, Africa/Dakar, Africa/Dar_es_Salaam, Africa/Djibouti, Africa/Douala, Africa/El_Aaiun, Africa/Freetown, Africa/Gaborone, Africa/Harare, Africa/Johannesburg, Africa/Kampala, Africa/Khartoum, Africa/Kigali, Africa/Kinshasa, Africa/Lagos, Africa/Libreville, Africa/Lome, Africa/Luanda, Africa/Lubumbashi, Africa/Lusaka, Africa/Malabo, Africa/Maputo, Africa/Maseru, Africa/Mbabane, Africa/Mogadishu, Africa/Monrovia, Africa/Nairobi, Africa/Ndjamena, Africa/Niamey, Africa/Nouakchott, Africa/Ouagadougou, Africa/Porto-Novo, Africa/Sao_Tome, Africa/Timbuktu, Africa/Tripoli, Africa/Tunis, Africa/Windhoek

América

America/Adak, America/Anchorage, America/Anguilla, America/Antigua, America/Araguaina, America/Argentina/Buenos_Aires, America/Argentina/Catamarca, America/Argentina/ComodRivadavia, America/Argentina/Cordoba, America/Argentina/Jujuy, America/Argentina/La_Rioja, America/Argentina/Mendoza, America/Argentina/Rio_Gallegos, America/Argentina/Salta, America/Argentina/San_Juan, America/Argentina/San_Luis, America/Argentina/Tucuman, America/Argentina/Ushuaia, America/Aruba, America/Asuncion, America/Atikokan, America/Atka, America/Bahia, America/Bahia_Banderas, America/Barbados, America/Belem, America/Belize, America/Blanc-Sablon, America/Boa_Vista, America/Bogota, America/Boise, America/Buenos_Aires, America/Cambridge_Bay, America/Campo_Grande, America/Cancun, America/Caracas, America/Catamarca, America/Cayenne, America/Cayman, America/Chicago, America/Chihuahua, America/Coral_Harbour, America/Cordoba, America/Costa_Rica, America/Cuiaba, America/Curacao, America/Danmarkshavn, America/Dawson, America/Dawson_Creek, America/Denver, America/Detroit, America/Dominica, America/Edmonton, America/Eirunepe, America/El_Salvador, America/Ensenada, America/Fort_Wayne, America/Fortaleza, America/Glace_Bay, America/Godthab, America/Goose_Bay, America/Grand_Turk, America/Grenada, America/Guadeloupe, America/Guatemala, America/Guayaquil, America/Guyana, America/Halifax, America/Havana, America/Hermosillo, America/Indiana/Indianapolis, America/Indiana/Knox, America/Indiana/Marengo, America/Indiana/Petersburg, America/Indiana/Tell_City, America/Indiana/Vevay, America/Indiana/Vincennes, America/Indiana/Winamac, America/Indianapolis, America/Inuvik, America/Iqaluit, America/Jamaica, America/Jujuy, America/Juneau, America/Kentucky/Louisville, America/Kentucky/Monticello, America/Knox_IN, America/La_Paz, America/Lima, America/Los_Angeles, America/Louisville, America/Maceio, America/Managua, America/Manaus, America/Marigot, America/Martinique, America/Matamoros, America/Mazatlan, America/Mendoza, America/Menominee, America/Merida, America/Mexico_City, America/Miquelon, America/Moncton, America/Monterrey, America/Montevideo, America/Montreal, America/Montserrat, America/Nassau, America/New_York, America/Nipigon, America/Nome, America/Noronha, America/North_Dakota/Beulah, America/North_Dakota/Center, America/North_Dakota/New_Salem, America/Ojinaga, America/Panama, America/Pangnirtung, America/Paramaribo, America/Phoenix, America/Port-au-Prince, America/Port_of_Spain, America/Porto_Acre, America/Porto_Velho, America/Puerto_Rico, America/Rainy_River, America/Rankin_Inlet, America/Recife, America/Regina, America/Resolute, America/Rio_Branco, America/Rosario, America/Santa_Isabel, America/Santarem, America/Santiago, America/Santo_Domingo, America/Sao_Paulo, America/Scoresbysund, America/Shiprock, America/St_Barthelemy, America/St_Johns, America/St_Kitts, America/St_Lucia, America/St_Thomas, America/St_Vincent, America/Swift_Current, America/Tegucigalpa, America/Thule, America/Thunder_Bay, America/Tijuana, America/Toronto, America/Tortola, America/Vancouver, America/Virgin, America/Whitehorse, America/Winnipeg, America/Yakutat, America/Yellowknife

Antártida

Antarctica/Casey, Antarctica/Davis, Antarctica/DumontDUrville, Antarctica/Macquarie, Antarctica/Mawson, Antarctica/McMurdo, Antarctica/Palmer, Antarctica/Rothera, Antarctica/South_Pole, Antarctica/Syowa, Antarctica/Vostok

Ártico

Arctic/Longyearbyen

Asia

Asia/Aden, Asia/Almaty, Asia/Amman, Asia/Anadyr, Asia/Aqtau, Asia/Aqtobe, Asia/Ashgabat, Asia/Ashkhabad, Asia/Baghdad, Asia/Bahrain, Asia/Baku, Asia/Bangkok, Asia/Beirut, Asia/Bishkek, Asia/Brunei, Asia/Calcutta, Asia/Choibalsan, Asia/Chongqing, Asia/Chungking, Asia/Colombo, Asia/Dacca, Asia/Damascus, Asia/Dhaka, Asia/Dili, Asia/Dubai, Asia/Dushanbe, Asia/Gaza, Asia/Harbin, Asia/Ho_Chi_Minh, Asia/Hong_Kong, Asia/Hovd, Asia/Irkutsk, Asia/Istanbul, Asia/Jakarta, Asia/Jayapura, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi, Asia/Kashgar, Asia/Kathmandu, Asia/Katmandu, Asia/Kolkata, Asia/Krasnoyarsk, Asia/Kuala_Lumpur, Asia/Kuching, Asia/Kuwait, Asia/Macao, Asia/Macau, Asia/Magadan, Asia/Makassar, Asia/Manila, Asia/Muscat, Asia/Nicosia, Asia/Novokuznetsk, Asia/Novosibirsk, Asia/Omsk, Asia/Oral, Asia/Phnom_Penh, Asia/Pontianak, Asia/Pyongyang, Asia/Qatar, Asia/Qyzylorda, Asia/Rangoon, Asia/Riyadh, Asia/Saigon, Asia/Sakhalin, Asia/Samarkand, Asia/Seoul, Asia/Shanghai, Asia/Singapore, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran, Asia/Tel_Aviv, Asia/Thimbu, Asia/Thimphu, Asia/Tokyo, Asia/Ujung_Pandang, Asia/Ulaanbaatar, Asia/Ulan_Bator, Asia/Urumqi, Asia/Vientiane, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg, Asia/Yerevan

Océano Atlántico

Atlantic/Azores, Atlantic/Bermuda, Atlantic/Canary, Atlantic/Cape_Verde, Atlantic/Faeroe, Atlantic/Faroe, Atlantic/Jan_Mayen, Atlantic/Madeira, Atlantic/Reykjavik, Atlantic/South_Georgia, Atlantic/St_Helena, Atlantic/Stanley

Australia

Australia/ACT, Australia/Adelaide, Australia/Brisbane, Australia/Broken_Hill, Australia/Canberra, Australia/Currie, Australia/Darwin, Australia/Eucla, Australia/Hobart, Australia/LHI, Australia/Lindeman, Australia/Lord_Howe, Australia/Melbourne, Australia/North, Australia/NSW, Australia/Perth, Australia/Queensland, Australia/South, Australia/Sydney, Australia/Tasmania, Australia/Victoria, Australia/West, Australia/Yancowinna

Europa

Europe/Amsterdam, Europe/Andorra, Europe/Athens, Europe/Belfast, Europe/Belgrade, Europe/Berlin, Europe/Bratislava, Europe/Brussels, Europe/Bucharest, Europe/Budapest, Europe/Chisinau, Europe/Copenhagen, Europe/Dublin, Europe/Gibraltar, Europe/Guernsey, Europe/Helsinki, Europe/Isle_of_Man, Europe/Istanbul, Europe/Jersey, Europe/Kaliningrad, Europe/Kiev, Europe/Lisbon, Europe/Ljubljana, Europe/London, Europe/Luxembourg, Europe/Madrid, Europe/Malta, Europe/Mariehamn, Europe/Minsk, Europe/Monaco, Europe/Moscow, Europe/Nicosia, Europe/Oslo, Europe/Paris, Europe/Podgorica, Europe/Prague, Europe/Riga, Europe/Rome, Europe/Samara, Europe/San_Marino, Europe/Sarajevo, Europe/Simferopol, Europe/Skopje, Europe/Sofia, Europe/Stockholm, Europe/Tallinn, Europe/Tirane, Europe/Tiraspol, Europe/Uzhgorod, Europe/Vaduz, Europe/Vatican, Europe/Vienna, Europe/Vilnius, Europe/Volgograd, Europe/Warsaw, Europe/Zagreb, Europe/Zaporozhye, Europe/Zurich

Océano Índico

Indian/Antananarivo, Indian/Chagos, Indian/Christmas, Indian/Cocos, Indian/Comoro, Indian/Kerguelen, Indian/Mahe, Indian/Maldives, Indian/Mauritius, Indian/Mayotte, Indian/Reunion

Océan Pacífico

Pacific/Apia, Pacific/Auckland, Pacific/Chatham, Pacific/Chuuk, Pacific/Easter, Pacific/Efate, Pacific/Enderbury, Pacific/Fakaofo, Pacific/Fiji, Pacific/Funafuti, Pacific/Galapagos, Pacific/Gambier, Pacific/Guadalcanal, Pacific/Guam, Pacific/Honolulu, Pacific/Johnston, Pacific/Kiritimati, Pacific/Kosrae, Pacific/Kwajalein, Pacific/Majuro, Pacific/Marquesas, Pacific/Midway, Pacific/Nauru, Pacific/Niue, Pacific/Norfolk, Pacific/Noumea, Pacific/Pago_Pago, Pacific/Palau, Pacific/Pitcairn, Pacific/Pohnpei, Pacific/Ponape, Pacific/Port_Moresby, Pacific/Rarotonga, Pacific/Saipan, Pacific/Samoa, Pacific/Tahiti, Pacific/Tarawa, Pacific/Tongatapu, Pacific/Truk, Pacific/Wake, Pacific/Wallis, Pacific/Yap

Solucionar problemas

Si tu servidor de Airtime no funciona correctamente, puedes detener, iniciar o reiniciar los componentes individuales del sistema con el comando service:

$ sudo service airtime-playout        start|stop|restart|status
$ sudo service airtime-media-monitor  start|stop|restart|status
$ sudo service airtime-show-recorder  start|stop|restart|status

En Debian squeeze, usa el comando invoke-rc.d en lugar de service en los comandos anteriores.

La opción status ejecuta el código airtime-check-system para confirmar que todas las dependencias de Airtime estén instaladas y funcionen correctamente.

Airtime reúne varios archivos de bitácora bajo el destino /var/log/airtime/, el cual es muy útil para solucionar problemas. El comando less, al usarse con la opción +G, habilita la lectura de la bitácora de reproducción de Airtime en el final:

$ less +G /var/log/airtime/pypo/pypo.log

Si quieres ver la bitácora mientras continúa, como una bitácora de Liquidsoap, puedes usar el comando tail con la función -f:

$ sudo tail -f /var/log/airtime/pypo-liquidsoap/ls_script.log

Puedes interrumpir tail al presionar Ctrl-C oen tu teclado. El monitor multimedia de Airtime tiene su propia bitácora en el archivo: 

/var/log/airtime/media-monitor/media-monitor.log

y el grabador de programas de Airtime tiene su bitácora en:

/var/log/airtime/show-recorder/show-recorder.log

Puede que los ingenieros de Sourcefabric te pidan una copia de estos archivos cuando estén ayudándote a resolver dificultades técnicas con tu instalación de Airtime.

Cómo actualizar una versión

Antes de actualizar un servidor de producción de Airtime, debes crear copias de repuesto de la base de datos PostgreSQL y el servidor de almacenamiento de Airtime.Esto es especialmente importante si deseas establecer una rutina de repuesto regular. La copia adicional es una medida de seguridad en caso de una pérdida de información accidental durante la actualización, por ejemplo, debido al ingreso de un comando equivocado al mover archivos. Ve el capítulo Crear una copia de seguridad del servidor en este manual para conocer cómo se hacen estas copias.

Si has habilitado Airtime con el método mostrado en el capítulo de Instalación automática, puedes actualizar del mismo modo. Un nuevo paquete de Airtime, disponible en el repositorio de Sourcefabric, puede instalarse con:

$ sudo apt-get update
$ sudo apt-get upgrade

Si usaste el método que aparece en el capítulo Instalación manual, puedes repetir los pasos de descargar y extraer el código a un directorio de instalación y ejecutar el código airtime-install. Éste último detectará la habilitación de Airtime en uso y copiará los archivos de configuración que encuentre. 

Al terminar la actualización, puede que desees limpiar el cahe de tu navegador antes de ingresar a la nueva versión de la interfaz administradora de Airtime. Si el sistema de reproducción comienza y detecta un programa que debería estar sonando, se adelantará al punto adecuado y comenzará a reproducirlo.

En Airtime 1.9.0 y sus versiones posteriores, el concepto de archivos vinculados fue reemplazado con el concepto de carpetas observadas. Si estás actualizando una versión anterior a Airtime 1.9.0 y tienes archivos vinculados previamente, las carpetas que los contienen no serán observadas hasta que las agregues a la lista de observación. Ve el capítulo Administrar carpetas mutlimedia para conocer más detalles.

Usar Monit

Monit es una herramienta para administrar procesos del monitor, archivos, directorios y sistemas de archivos en su servidor de Airtime. Se instala automáticamente con Airtime.

Para ver la interfaz web de Monit, abre el puerto 2812 de tu servidor en el navegador, por ejemplo:

http://localhost:2812/

Debes iniciar sesión para ver la interfaz web de Monit. El usuario predeterminado es admin y su contraseña es monit.

 

Para configurar Monit para que mande mensajes de correo, edita el archivo /etc/monit/monitrc para no comentar el parámetro set mailserver. Cambia esta línea para mostrar el nombre del servidor SMTP en la red de tu servidor de Airtime como muestra tu administrador del sistema.

$ sudo nano /etc/monit/monitrc

Al fondo del archivo de configuración, puedes fijar las direcciones De y Para a las cuales se destinan los mensajes con los parámetros set mail-formatset alert parameters. Se requiere que descomentes las líneas.

Presiona Ctrl+O para guardar el archivo, y Ctrl+X para salir del editor nano. Reinicia monit con:

$ sudo invoke-rc.d monit restart

 Hallarás más información sobre el uso de Monit en http://mmonit.com/monit/documentation/

Usar el código de importación

Si tienes muchos archivos en tu biblioteca, la importación de los mismos a un sistema automatizado de transmisión sería tedioso y retardado. Por eso, Airtime incluye un código que puede importar un directorio completo con un solo comando.

Calidad de Metadatos

El importación de airtime envía automáticamente todos los metadatos en las etiquetas ID3 de tus archivos. Si estas etiquetas están incorrectas o incompletas, tendrás que editar los metadatos antes de importarlos o sufrir las consecuencias. Por ejemplo, si las etiquetas no tienen género y creador, será imposible buscar, asignar o calendarizar las pistas de acuerdo a esos criterios. 

Hau muchos programas que pueden usarse para corregir errores o información incompleta en las etiquetas ID3. En GNU/Linux, el programa Ex Falso (http://code.google.com/p/quodlibet/) puede fijar y editar múltiples etiquetas ID3 antes de importarlas a tu servidor de Airtime. En un equipo Ubuntu, puedes instalar este programa con el comando:

$ sudo apt-get install exfalso

Después de instalar, puedes ejecutar el programa con el comando:

$ exfalso

La función Etiquetas de Destino es muy útil para ahorrar tiempo cuando tienes muchos archivos sin etiqueta. Algunas veces, erxiste información del creador o del título en el nombre del archivo o la estructura de destino, y se puede convertir a etiqueta ID3 automáticamente.

Silencio en archivos multimedia

Antes de importar archivos, es bueno practicar paa buscar secciones silenciadas en los archivos multimedia. Aunque Airtime puede compensar el silencio al inicio o al final con el uso de desvanecimiento de sonido en la lista de reproducción, es mejor recortar esos archivos a la extensión necesaria antes de cargarlos. Esto es porque los archivos recortados no requieren una constante configuración para desvanecimientos, y el los archivos en almacenamiento podrían reutilizarse constantemente en diferentes programas. Audacity es un editor de plataforma cruzada, muy útil para recortar archivos de audio, disponible en http://audacity.sourceforge.net/

Las introducciones silenciosas o desvanecimientos demasiado extensos pueden aparentar vacíos en la reproducción transmitida. Algunos CDs de audio tienen una "pista oculta" al final, la cual usa un largo periodo de silencio dentro de la pista anterior, en lugar de agregar una pista nueva. Esto hará que el programa codifique el material oculto y el silencio dentro de la misma pista. Por ejemplo, la pista Debra en el CD Midnite Vultures de Beck incluye material escondido después de siete minutos de silencio, como muestra esta escena de Audacity.

Copiar versus observar

Existen tres opciones en el código de importación de Airtime: Puedes copiarmover archivos en la carpeta de almacenamiento principal, o puedes observar archivos en otro equipo. Cada opción tiene ventajas y desventajas, así que necesitas pensar cómo le conviene a tu estación organizar sus archivos.

El código de importación de Airtime funciona desde la línea de comando, así que debes ingresar a la consola en el servidor de Airtime. En las versiones más recientes, ya no es necesario que especifiques el destino completo a los archivos que deseas importar. La función de copia se especifica con el subcomando siguiente:

$ airtime-import copy <directory>

donde <directory> es el directorio raíz de los archivos que deseas importar.

Por otro lado, puede que desees eliminar los archivos de la locación original, luego de copiarlos al archivo de almacenamiento. Eso se logra con el subcomando de mover:

$ airtime-import move <directory>

Si los nuevos archivos son duplicados de archivos ya importados, el código los detectará.

Los usuarios conectados a la interfaz administradora serán advertidos si hay un importe en desarrollo. Los usuarios con privilegio administrador no deben intentar cambiar el almacenamiento predeterminado de Airtime mientras ocurre una reproducción.

La observación se activa con el subcomando watch add:

$ airtime-import watch add <directory>

El código reportará el nombre del archivo observado, por ejemplo:

$ airtime-import watch add /home/daniel/Music/mp3/Beck
/home/daniel/Music/mp3/Beck/ added to watched folder list successfully

El código observado aparecerá en la página Manage Media Folders en la interfaz administradora de Airtime. Para obtener una lista de los archivos observados en la consola de servicio, puedes usar el subcomando:

$ airtime-import watch list
/home/daniel/Music/mp3/Beck/

Los archivos nuevos que se copien a una carpeta en obsevación (por ejemplo, al usar el administrador de archivos de tu equipo) aparecerán en la base de datos de Airtime, listos para la reproducción. Igualmente, si eliminas un archivo utilizando el administrador de archivos, el mismo archivo será eliminado de la base de datos y las listas de reproducción.

$ airtime-import watch remove /home/daniel/Music/mp3/Beck
/home/daniel/Music/mp3/Beck/ removed from watched folder list successfully 

Fijar un destino de archivo   

The airtime-import script also enables you to read or write Airtime's storage folder path configuration. You can find out the current setting with the storage-dir get sub-command:

$ airtime-import storage-dir get
/srv/airtime/stor

Puedes configurar un nuevo destino de la carpeta con el subcomando storage-dir set:

$ airtime-import storage-dir set /home/daniel/Music/mp3/
Successfully set storage folder to /home/daniel/Music/mp3/

El subcmando storage-dir set sdebe usarse con precaución, porque mover la carpeta de almacenamiento durante la programación regular podría interrumpir la transmisión.