Revistas en disco
 DOC'S LLFB Nº 30
Anterior
MenĂº
Logotipo
Sí puedes leer esta frase, la página ha sido actualizada.


YACDP 1.2
"Yet Another CD Player"
("¡¡Otro Reproductor Más de CC. DD. musicales!!")

© 1994 Frank Würkner
Todos los derechos reservaos - All Rights Reserved

Traducción al español de Dámaso D. Estévez

01.- Aspectos legales ¡Apoye el "Shareware"!
02.- Garantías Si algo falla, ¿responsables?
03.- Requerimientos Lo necesario para poder ejecutarlo
04.- Características ¿Qué ofrece YACDP?
05.- Primeros pasos Tipos de herramientas soportados
06.- Interfaz gráfico Para qué sirven los botones/gadgets...
07.- Guardar audio IFF-CDR Cómo guardar canciones de CD
08.- Puerto AREXX Control de YACDP desde AREXX
09.- Compatibilidad Unidades de CDROM probadas
10.- Aún pendiente Planes para el futuro
11.- Cómo apoyar YACDP Cómo puede USTED ayudarme
12.- Gracias Quienes me han ayudado
13.- Historia Cambios desde la última versión


01. Aspectos legales

x Copyright

El programa YACDP es propiedad de © 1994 Frank Würkner.
Todos los derechos reservados (All rights reserved).

YACDP es SHAREWARE: el programa puede ser distribuido libremente si...

1º.- el ejecutable y la documentación permanecen intactas y son incluidas en la versión de distribución.

2º.- en el caso de cobrar una cantidad, ésta será sólo para cubrir los costes por el tiempo y el copiado del paquete.


x ¿Por qué "Shareware"?

Bueno, lo que comenzó como algo divertido se ha convertido ahora en un trabajo que me ocupa su tiempo (como por ejemplo las horas que he perdido ajustando YACDP para que funcionase con varias controladoras y modelos de unidades de CD-ROM). Sin embargo, esta versión es TOTALMENTE funcional: y es que no me gustan las malditas peticiones informativas que aparecen cada dos por tres, ni los ficheros llave,... Espero que el propio programa, por sus cualidades intrínsecas, le convenza de que debe registrarse.


x ¿Cómo registrarse?

Basta con volcar por la impresora la 'Hoja de registro' ('Registration form') suministrada y rellenarla. Enviela al autor con 20 marcos alemanes o 15 dólares EE.UU. (sólo dinero en metálico o EuroCheque, por favor): estará contribuyendo a que siga desarrollando nuevas versiones del programa. Recibirá la siguiente actualización por correo: si está interesado en futuras actualizaciones por el mismo método debe añadir 5 marcos alemanes o 5 dólares EE.UU. por cada actualización que desee recibir; sin embargo le recomiendo que consiga éstas a través de AmiNet, AmiNET CD, FredFish(TM) CD o una BBS local. SI tiene dirección Internet de correo electrónico (EMail) puedo avisarle de la disponibilidad de nuevas versiones o enviárselas comprimidas con Lha y "uuencodeadas".



02. Garantías

No garantizo de ninguna manera el funcionamiento o prestaciones de etse programa: si se arriesga a emplearlo, será usted el único responsable de lo que pueda suceder.



03. Requerimientos para poder ejecutar YACDP

  • SO versión 2.0 (SO 2.1 para usar la prestación local) o superior.

  • reqtools.library © 1991-1994 de Nico François (¡gracias Nico!).

  • un adaptador de bus SCSI capaz de enviar comandos SCSI directos.

  • una unidad de CD-ROM SCSI-2 capaz de leer discos CD-DA (especificaciones del "Libro Rojo"): suelen llevar un conector para auriculares, tipo jack, en su parte frontal.

  • opcionalmente, la unidad debe ser capaz de leer pistas digitales de audio a través del bus, o sea, ser capaz de enviar datos de 16 bits por el bus SCSI.



04. Características que ofrece YACDP en esta versión

  • entorno gráfico (GUI) desde el que se puede acceder a todas las funciones normales de un reproductor de CD-ROM.

  • es una "Comodidad".

  • potente puerto AREXX.

  • soporte local a partir de SO versión 2.1 y superior (por ahora sólo alemán como opción).

  • Puede visualizar los nombres de las canciones y el título del CD, siempre que los haya introducido manualmente una primera vez: se han incluido los textos de alrededor de 150 CC.DD.

  • no desperdicia memoria.

  • los errores SCSI son mostrados como texto (95 conocidos).

  • reproducción estéreo en tiempo real a través de su Amiga, incluso con equipos que dispongan como CPU de un 68000 (gracias a las rutinas altamente optimizadas en ensamblador).

  • capacidad de guardar (partes de) canciones en estéreo o en IFF (8SVX) o sin formato (RAW/CDR).

Para las dos últimas características la unidad de CD-ROM debe ser capaz de enviar los datos por el bus SCSI (consulte "Requerimientos").



05. Primeros pasos

Si usa frecuentemente CC.DD. musicales quizás debería colocar el programa en el cajón WBStartup (no olvide modificar los tipos de herramienta 'SONGDIR' y 'AREXXDIR'): pero cualquier otro lugar es posible. Además de TOOLPRI existen otros tipos de herramienta que pueden emplearse si se invoca el programa desde el CLI como por ejemplo 'YACDP CX_POPUP:NO UNIT=6'. Los siguientes tipos de herramientas son los soportados (los valores por defecto de estos son mostrados entre corchetes).

TOOLPRI [0]
  La prioridad de la tarea YACDP (debe ser un nº comprendido entre -128 y 127). Si desea usar habitualmente el modo 'vía SCSI', le recomiendo una prioridad para la tarea de 1.
 
CX_PRIORITY [0]
 

La prioridad como comodidad (debe ser un nº comprendido entre -128 y 127).

 
CX_POPUP [YES]
 
YES (SI) : Muestra la interfaz gráfica (GUI) al ponerse en marcha.
NO (NO) : No la muestra.
 
CX_POPKEY [CTRL SHIFT ALT C]
  Atajo de teclado que hace visible la interfaz gráfica.
 
DEVICE [AUTOMATIC]
 

Su dispositivo SCSI debe ser similar al "scsi.device" (atención el nombre del dispositivo varia si se utilizan mayúsculas y/o minúsculas). Por defecto, busca uno apropiado en una tabla interna, pero si su dispositivo no esta en la lista, fracasa.

 
BOARD [0]
  Nº de tarjeta asignado a la controladora (de 0 a 7), normalmente 0.
 
UNIT [AUTOMATIC]
 

Nº identificador del dispositivo SCSI (de 0 a 7). Por defecto se busca la primera undiad de CD-ROM.

 
LUN [0]
  Nº de undiad lógica SCSI (de 0 a 7). Normalmente 0.
 
VIASCSIMODE [AUTOMATIC]
 

Este comando ordena el envio de datos de audio digital a través del bus SCSI: no es un comando estándar por lo que varia de una unidad a otra. Por defecto se busca el más apropiado para la unidad.

Valores válidos son:

  1. : La unidad no soporta esta prestación: por ello los botones y opciones de menú relacionados al no poderse usar, no aparecerán o lo harán en modo fantasma (aparecerán borrosos), no pudiendose seleccionar.

  2. : Comando empleado en unidades Sony.

  3. : Comando empleado en unidades Toshiba, p. ej, READ(10) más definición del formato de bloque correcto.

  4. : Comando de lectura simple, p. ej. READ(10).

 
SONGDIR [PROGDIR:Songs/]
 

Directorio válido en el que almacenar los ficheros de canciones.

 
AREXXDIR [PROGDIR:AREXX/]
 

Directorio válido en el que buscar para las definiciones del menú AREXX ('YACDP.menu', consulte también "Menú") y los correspondientes macros Arexx.

 
EDITOR [C:Ed %s]
 

Camino y nombre de su editor de texto favorito para emplear cuando edite los nombres de las canciones. Si su editor no se "despega" (o sea, si en cuanto se inicia no devuelve el control a YACDP), debe precederlo con el comando 'run' por ejemplo 'run C:Ed %s' para que YACDP no puede bloqueado. El fichero con los datos de las canciones se releerá cada vez que lo modifique (notificación de fichero).

 
IFFDIR [RAM:]
 

Directorio por defecto en el que se guardarán los ficheros IFF.

 
WINDOWX [0]
  Posición x de la ventana.
 
WINDOWY [11]
  Posición y de la ventana.
 
ZIPWINDOWX [0]
  Posición x de la ventana reducida.
 
ZIPWINDOWY [11]
  Posición y de la ventana reducida.
 
VIASCSI [NO]
 

Estado del botón 'vía SCSI' en el arranque:

YES (SI) : activada.
No (NO) : no activada.
 
AUDIOCHANNELS [---]
 

Si el modo 'vía SCSI' es empleado en la reproducción de la música (se oirá esta a través del Amiga), define cual(es) de los cuatro canales de audio disponibles serán empleados (hay dos para el lado derecho y dos para el izquierdo): por defecto se reserva un par derecho-izquierdo. El uso de más de un canal para cada lado no esta soportado y tampoco tiene sentido. Normalmente no existe razón para modificar los valores por defecto, pero es posible. Los cuatro caracteres admitidos son:


donde X puede ser: - : no se usa.
  L : uso de los datos de audio lado izquierdo.
  R : uso de los datos de audio lado derecho.

Así por ejemplo, para reproducir el canal derecho en el izquierdo y viceversa debería escribirse 'AUDIOCHANNELS:RL--'.

 
AMIGAVOL [64]
  Volumen inicial del Amiga (de 0 a 64).
 
CDROMVOL [KEEP]
  Volumen inicial (el de arranque) para el CD-ROM (de 0 a 255). Por defecto se usa el valor actual del CD-ROM (el valor definido para CDROMBALANCE tampoco es modificado).
 

AMIGABALANCE [0]

  El balance para el Amiga (de -100 a 100). El valor indica que la sonoridad está equilibrada (lado derecho e izquierdo). Valores menores que cero menguan la sonoridad del canal derecho mientras que los mayores de cero afectan al izquierdo.
 
CDROMBALANCE [0]
  El balance para el CD-ROM (de -100 a 100).
 
RETRYS [10]
  Algunas unidades de CD-ROM informan de errores cuando comienzan las operaciones de reproducción o de lectura de los datos de audio a través del bus SCSI: la operación sólo puede ser ejecutada despues de varios intentos. Este tipo de herramienta define su nº máximo para estas operaciones.
 
CLOSEWINQUITS [NO]
 

Este tipo de herramienta indica cómo debe actuarse cuando se pincha sobre el botón de cierre de la ventana. Por defecto se oculta: definirlo como 'YES' (SI) hace que se abandone el programa si la ventana se cierra.

 
NOREQ []
  No muestra las peticiones informativas cuando se producen errores SCSI no fatales. Actívelo si aparecen estas peticiones cada vez que arranca el programa.
 
AUTOSTART []
  Comienza la reproducción en cuanto se inserte un nuevo CD.
 
AUTOEJECT []
  Sólo funciona en combinación con 'AUTOSTART'. El CD es expulsado cuando se llega al final: se puede evitar si pulsa el botón STOP.
 
ALTERNATETIME []
  Muestra el tiempo en formato '00:00:00' en lugar de '0h 0m 0s'.
 
CHIPMEM | FASTMEM | 24BITDMAMEM [cualquiera]
  Si alguna de estas palabras aparece significa que el buffer utilizado para la reproducción del audio debe estar situado en la memoria chip, fast o en la memoria de 24 bits acceso DMA.
 
TESTCDROM []
 

Fuerza al programa a escribir información sobre su ordenador y unidad de CD-ROM en un fichero para a continuación terminar y salir. Por favor, incluya este fichero cuando quiera informarme de errores que haya detectado en el programa.



06. El interfaz gráfico (GUI)

a. Menú Opciones a las que puede acceder
b. Icono Lo que indica la imagen superior izquierda
c. Textos Para que sirven las seis líneas de mensajes

d.

Botones ¿Qué pueden hacer estos bonitos botones?
e. Lo que falta Sobre las barras de deslizamiento...
f. Teclado (atajos) Control desde el teclado


a. Menú

'Sobre el programa' ('About Program')
  Muestra una petición informativa sobre el programa (¡oh, que sorpresa! ;).
 
'Sobre el CD-ROM' ('About CD-ROM')
  Muestra una petición informativa sobre la unidad de CD-ROM, incluyendo el distribuidor/fabricante, el nombre del producto y la revisión.
 
'Sobre el CD' ('About CD')
  Muestra una petición informativa con los nombres de las canciones (si el CD esta presente) y el tiempo de reproducción de cada canción.
 
'Editar Canciones' ('Edit Songs')
  Ejecuta el editor de textos para que pueda introducir el nombre de las canciones. Reemplace las líneas con '<>' por los nombres reales. Si está intereado en como el fichero es creado, consulte "ficheros de canciones y referencia".
 
'Actualizar' ('Update')
  Necesita esta opción si ha cambiado algo en el fichero de canciones del CD y la notificación de ficheros no es soportada o los datos mostrados sobre el CD no fuesen correctos.
 
'OCultar' ('Hide')
  Oculta el entorno/interfaz gráfica (GUI).
 
'Salir' ('Quit')
  Salir del programa.
 
'SCSI'
  Todos los ítems del menú cambian los valores de los correspondientes tipos de herramienta.
 
'Filtro' ('Filter')
  Estado del filtro de paso bajo (por defecto, apagado).
 
'Liberar Dispositivo' ('Release Device')
  Si comienza reproduciendo la música 'vía SCSI', alguna memoria (buffers) y canales de música de su Amiga estarán reservados para YACDP. Emplee esta opción para liberarlos sin salir del programa.
 
'Guardar Audio' ('Save Audio')
  Muestra una ventana en la que debe introducir los parámetros de la parte del CD que desee guardar (consulte "GUardar audio IFF-CDR").
 
'Seguimiento' ('Trace')
  Si esta activado, muestra cada comando Arexx que se envíe a YACDP en la línea de estado/mensajes.
 
'Vaciar cola de espera' ('Flush waitqueue')
  YACDP proporciona un comando Arexx 'WAIT' (consulte "Puerto AREXX") para esperar por situaciones o estados especiales. Cuando pruebe un guión/script Arexx, puede usar esta opción para abortar todos los guiones en espera.

El usuario puede configurar otros ítems en el menú gracias al fichero 'AREXX/YACDP.menu'. Se trata de un fichero de texto ASCII con un nº impar de líneas: los ítems son representados por dos líneas, donde la primera es el nombre que aparecerá en el menú (si la línea contiene sólo un signo menos '-', éste es tratado como una línea separadora a añadir en el menú) y la segunda es el comando a ejecutar cuando se elige dicha entrada en el menú. Puede incluso ejecutar otros programas desde aquí.

Descripción de lo que hacen las macros existentes por defecto:

'Test CD' ('Muestrario' o 'Probar CD')
  Reproduce los 10 primeros segundos de cada canción existente en el CD.
 
'Upside down' ('Invertir orden de reproducción')
  Reproduce las canciones del CD desde la última a la primera.
 
'Fade out' ('Fundido')
  Reduce el volumen de forma continua hasta cero.
 
'Fade in' ('Invertir fundido')
  Aumenta el volumen de forma continua hasta el valor máximo.
 
'Show current position' ('Mostrar posición actual')
  Muestra la posición actual. El primer nº llamado 'Abs. block' es el bloque (absoluto) empleado en la opción 'Save Audio' ('Guardar Audio'), mientras que el nº entre paréntesis es el nº de bloque real.
 
'DumpVars' ('Ver variables')
  Muestra todas las variables Arexx actualmente válidas.


b. Icono (imagen superior izquierda en la ventana del programa)

Un cable SCSI con una interrogación parpadeante...
  el programa no puede enlazarse con su unidad de CD-ROM: juegue con los parámetros en el menú SCSI. Se le mostrarán peticiones informativas con información más detallada.
 
Un CD con una interrogación parpadeante...
  el programa ha detectado una unidad de CD-ROM, pero no se ha insertado ningún CD en ella aún.
 
Un CD con ceros y unos...
  ha insertado un CD, pero es de datos.
 
Un CD con notas musicales sobre él...
  ha insertado un CD musical.


c. Textos

Pista: ('Track:')
  La pista (suele corresponder con la canción) actual.
 
Indice: ('Index:')
  El índice actual. Muy pocos CC.DD. tienen indice (algunos CC.DD. clásicos por ejemplo lo tienen)
 
Tiempo: ('Time:')
  El primer tiempo indica la cantidad de tiempo ya reproducido del total del CD. El segundo muestra la cantidad de tiempo que aún falta.
 
Canción ('Song:')
  El primer tiempo muestra la cantidad de tiempo reproducida de esta pista y el segundo la cantidad de tiempo que aún queda para terminarla. Si solo viese usted un tiempo, seria debido a que la reproducción están en el área de pausa entre dos pistas.
 
Nombre de la canción
  Esta línea muestra el nombre de la canción actual. Si no ve ninguna es posiblemente a que primero tendrá que usar la opción 'Editar Canciones'.
 
Línea de estado/mensajes
 

Esta línea, cuando corresponde, muestra mensajes generados por ejemplo por el Arexx o el estado de la reproducción si se encuentra en...

Modo Continuo ('Continue')
  La línea está vacía
 

Modo Aleatorio ('Shuffle')

 

Los números en color azul (normalmente el cuarto color de la paleta del WB) indican las pistas que se han excluido o que ya han sido reproducidas. El número en color blanco (normalmente el tercer color de la paleta del WB) señala la pista que se esta reproduciendo, mientras que los números en color negro (normalmente el segundo color de la paleta del WB) representan las pistas pendientes de reproducción.

 
Modo Programa ('Program')
 

Los números en color azul indican las pistas ya reproducidas. El número en blanco muestra la pista que actualmente se esta reproduciendo. Los números en color negro muestran las pistas pendientes de reproducción.


d. Botones

Para la mayor parte de las funciones es obvio que debe introducir un CD musical en la undiad o los botones aparecerán en modo fantasma, con lo que no será posible seleccionarlos.

Los botones del '1' al '39' y el botón '+'
  Si su CD tiene más de 39 pistas deberá emplear el botón '+' que aparece en la parte inferior de la ventana, con lo que se le presentará una petición en la que podrá indicar el nº de pista a reproducir. Pinchando en cualquiera de los otros botones se ordena la reproducción de la pista (canción) correspondiente si se encuentra en el modo Continuo; si estuviera en el modo Aleatorio su efecto sería excluir dicha pista de la lista, salvo que ya lo estuviese en cuyo caso se reincorporaría a ésta, si estuviese, sin embargo, en el modo Programa la pista sería añadida a la lista de pistas a reproducir. Pulsando cualquiera conjuntamente con la tecla SHIFT, se mostrará el nombre de la canción en la línea de mensajes.
 
Botón '>'
  Si no está reproduciendose ninguna canción, se inicia ésta.
Si la reproducción está en pausa, se continua con ésta.
Si hay un CD actualmente reproduciendose, se reinicia la reproducción desde el principio de la pista actual.
 
Botón '||'
  (Des)activar la pausa en la reproducción.
 
Botón ' '
  Detener la reproducción.
 
Botón '|<'
  Se inicia la reproducción de la pista anterior: no es posible si la actual es la primera ;-). Si nos encontramos en el modo 'Programa' es la pista situada inmediatamente anterior en la lista. Este botón no tiene efecto en el modo 'Aleatorio'.
 
Botón '>|'
  Se inicia la reproducción de la siguiente pista, no siendo posible si se trata de la última pista. Si nos encontramos en el modo 'Program' será la siguiente en la lista mientras que si se trata del modo 'Aleatorio' la siguiente que corresponda en la lista aleatoria generada será la que se reproducirá.
 
'<<'
  Se salta en la reproducción n segundos hacia atrás.
 
'>>'
 

Se salta en la reproducción n segundos hacia delante, Sin embargo el valor de n dependerá de que tecla (de estado) se presione simultáneamente.

tecla de estado n
SHIFT 10 segs
Ninguna 20 segs
ALT 40 segs
CTRL 60 segs
 
'««'
  Salta al indice anterior.
 
'»»'
  Salta al siguiente indice ('««' y '»»' sólo funcionan si no es´ta activado el modo 'vía SCSI').
 
'^'
  Expulsa el CD.


e. Lo que falta por explicar...

Selector de modo de reproducción
 

Usted puede elegir entre los siguientes modos:

'Continuo' ('Continue')
  Las pistas son reproducidas una detrás de otra.
 
'Aleatorio' ('Shuffle')
  Las pistas se reproducen en un orden aleatorio. Puede excluir pistas de la reproducción si lo desea.
 
'Program' ('Program')
  Ha de crear una lista previamente en la que indicará qué pistas quiere que sean reproducidas para a continuación iniciarse la reproducción.
 
Opción 'Repetir todo' ('Repeat all')
  Si está activada la reproducción se reiniciará en cuanto se llegue al final.
 
Opción 'Repetir pista' ('Repeat track')
  Si está activada, la pista actual se reproducirá de forma indefinida.
 
Opción 'Vía SCSI'
  Si esta activada, los datos de audio serán enviados a través del bus SCSI, convertidos y reproducidos a través del dispositivo 'audio.device'. Debido a este proceso, la CPU se verá sobrecargada de trabajo (al menos en equipos con una CPU 68000) por lo que puede que la multitarea no sea del todo lo fluida que debiera o incluso que la reproducción no fuese continua: solo la interfaz gráfica se refrescará puntualmente cada segundo. Si no está activada, la reproducción la hará la undiad de CD-ROM a través de su hardware.
 
Opción 'Estéreo' ('Stereo')
  Esta opción sólo esta disponible si la opción 'vía SCSI' esta activada, ya que si es a través del propio hardware de la unidad de CD-ROM la reproducción siempre es estéreo: si está activada la reproducción será estéreo, en caso contrario será mono(fónica) por lo que se oirá exactamente lo mismo tanto por el lado derecho como por el izquierdo. Puede ser útil con algunos CC.DD. que tienen unos efectos estéreo penosos.
 
Control deslizante 'Vol'
  El control deslizante le permite controlar el volumen de la unidad de CD-ROM y del Amiga, dependiendo del estado de la opción 'vía SCSI'. Desplazando el control hacia arriba, subirá el volumen.
 
Control deslizante 'Bal'
  Este control deslizante le permite controlar el balance de la unidad de CD-ROM y del Amiga, dependiendo del estado de la opción 'vía SCSI'. Si se encuentra en la posición central, el balance estará equilibrado (mismo volumen en el lado izquierdo y en el derecho). Desplazando el control hacia abajo se baja el volumen del lado derecho, mientras que si se sube se baja el volumen del lado izquierdo.


f. Manejo desde el teclado

'0'...'9'
  Inicia la reproducción del nº de pista pedido. Si dicho nº es de dos dígitos deben ser introducidos rápidamente, con una diferencia entre ambos de como máximo un segundo. Si introduce más de dos dígitos los dos últimos son los validos: así por ejemplo si teclea 5 - 1 - 6 será la pista 16 la reproducida.
 
'G'
  vea el botón '>'.
 
'p'
  vea el botón '||'.
 
'S' o 'RETURN'
  vea el botón ' '.
 
'Cursor abajo'
  vea el botón '|<'.
 
'Cursor arriba'
  vea el botón '>|'.
 
'Cursor izquierda'
  vea el botón '<<' (igual con teclas de estado).
 
'Cursor derecha'
  vea el botón '>>' (igual con teclas de estado).
 
'<'
  vea e
 
'>'
  vea e
 
'^'
  vea el botón '^'.
 
'+'
  Incrementa el volumen.
 
'-'
  Reduce el volumen.
 
Tecla 'HELP'
  vea el ítem de menú "Sobre el CD".
 
'Barra espaciadora'
  Restaura la línea de estado (si un mensaje es mostrado en su lugar).
 
'BACKSPACE' o '<-'
  No tiene efecto en el modo 'Continuo'. En el modo 'Aleatorio' todas las canciones son incluidas en la lista de reproducción. En el modo 'Programa' la última pista incluida en la lista de reproducción será borrada de ella (si no está reproduciendose actualmente).

------------------------------------------------------------------------


07. Guardar audio como IFF o CDR


x. Sobre el Copyright

Piense que aunque haya adquirido un CD, hay ciertos derechos que posiblemente no tenga sobre él (especialmente en el modo CDR, en el que se copia el CD sin pérdida ninguna de información). Compruebe la línea 'Status legal (de la copia)' ('CopyStatus') por si el autor del CD permite la copia digital o no y tenga en cuenta que USTED es el único responsable de que no se viole ningún derecho.


x Cómo está almacenada la información

Los discos CD-DA guardan los datos en bloques de 2352 octetos en los que se almacena 588 valores de 16 bits con signo para el canal izquierdo y otros 588 valores de 16 bits con signo para el derecho. La frecuencia de muestreo de un CD musical es de 44.100 Hz, lo que significa 44.100 valores de 16 bits con signo para cada canal, necesarios para reconstruir una onda sonora de una duración de un segundo. Así 75 (=44100/588) bloques de un CD musical son un segundo de reproducción. Teniendo en cuenta esto, por ejemplo, un minuto de calidad CD ocupa 75*2352*60 = 10584000 (sobre 10 Mb). El chip de sonido del Amiga (Paula) debe reproducir este sonido, previa conversión, en el formato de 8 bits y con una frecuencia máximo de muestreo de 28.867 Hz (más para los modelos Amiga ECS).


x Conversión del sonido

Bueno, ahora que hay que reducir los datos que la unidad de CD-ROM nos envía, ¿pero cómo? El programa le permite controlar ciertos aspectos de la conversión como son:

- La frecuencia de muestreo

44100 (*) ==> 1/1 frecuencia de muestreo original
22050   ==> 1/2
"           "           "
14700   ==> 1/3
"           "           "
11025   ==> 1/4
"           "           "
8820   ==> 1/5
"           "           "
...        

Reduciendo la frecuencia de muestreo a 11.025 obtendrá una calida muy pura.

(*) la mayor parte de los reproductores rechazaran esta frecuencia
--lea el porqué en "Cómo esta almacenada la información"--.

- Los canales

'Estéreo (CDR)' ('Stereo (CDR)')

Datos tomados de forma absoluta sin conversión (el fichero creado es simplemente un volcado de los datos presentes en el CD, y así por ejemplo el fichero no esta en formato IFF). Este formato puede ser usado para convertir el sonido a otros formatos empleando SOX (PLll, portado a Amiga por David Champion, aminet/mus/edit/AmiSOX33.lha). Así por ejemplo puede crear ficheros Windows .WAV de 16 bits simplemente ejecutando 'sox test.cdr test.wav'. El formato del fichero .cdr es (¡cuidado con la ordenación Intel de los octetos!):

Byte Muestra Peso o significación
1 1 Octeto menos significativo canal izquierdo
2 1 Octeto más significativo canal izquierdo
3 1 Octeto menos significativo canal derecho
4 1 Octeto mas significativo canal derecho
5 2 Octeto menos significativo canal izquierdo
... ... ...

'Estéreo (IFF)' ('Stereo (IFF)')

Ambos canales son escritos por separado.

Nota: ¡Algunos reproductores no pueden manejar los IFF estéreo!

Reproductores recomendados son:

- DSound 1.50 © 1991-1994 de Dave Schreiber
(aminet/mus/play/DSound150.lha)

- DeliTracker 2.07 © 1991-1994 de Peter Kunath and Frank Riffel (aminet/mus/play/DeliTracker_207.lha)

'Mono (IFF)'

Los datos para el canal izquierdo y el derecho son combinados, así por ejemplo el tamaño es sólo la mitad de un IFF estéreo.

'Izqdo. sólo (IFF)' ('Left only (IFF)')

solo los datos de audio del canal izquierdo son utilizados.

'Dcho, sólo (IFF)' ('Right only (IFF)')

sólo los datos de audio del canal derecho son utilizados.

- Escalado del sonido

Algunas veces el sonido puede sonar ralentizado, por lo que puede escalarlo dividiendolo por un factor, normalmente 2. Pruebe 2, 4, 8, 16.

Ejemplo:

Veamos cómo se reduciría la entrada si eligiésemos como frecuencia de muestreo 14700, modo 'Derecho e Izquierdo' y como escalado del sonido 2:

I D I D I D
-9785, 456, -23764, 135, -32768, -343

Primero todas las muestras digitalizadas son sumadas: -66069

La salida final debe ser -66069 / 768 = -86

Nota:
Si ha elegido como factor de escalado 4, el resultado será -172, lo cual rebasa los 8 bits y por lo tanto tendrá que ser reducido a -128 (los valores mayores de 127 serán reducidos a 127). En este caso el sonido suele habitualmente sonar mal.

- Los controles deslizantes del lado izquierdo representan la pista de inicio, el tiempo relativo en esta pista y finalmente los bloques absolutos (¿recuerda que un segundo son 75 bloques?). Los controles deslizantes de la derecha representan lo mismo pero para la posición final.

- Botones

'|> INIC' ('PLAY START')
  reproduce durante 10 segundos desde la posición INICIal actual.
 
'|> FIN' ('PLAY END')
  reproduce los 10 segundos anteriores de la actual posición definida como FINal.
 
'|> TODO' ('PLAY ALL')
  reproduce todo el sonido seleccionado.
 
'DETENER' ('STOP')
  detiene la reproducción.
 
'CONV' ('OK')
  para proceder con la CONVersión y que una petición de fichero le permita elegir el nombre del fichero a generar.
 
'CANCELAR' ('CANCEL')
  le hace volver a la ventana principal.

Si todo marcha bien deberá ver una pequeña ventana en la que se mostrará la evolución de la conversión. Presiones ESC o CTRL-C con la ventana activa si desea detener dicho proceso.


08. Puerto Arexx

El programa crea un puerto Arexx llamado 'YACDP'. Algunos de los comandos necesitan argumentos que son tratados de la misma forma que en los comandos CLI. Si los comandos no son reconocidos o los argumentos son inválidos (falta algún argumento imprescindible, un valor numérico es incorrecto, ...) el comando devolverá un error 10. Si un valor numérico está fuera del rango esperado puede ser tomado como el valor válido más próximo no considerándose como un error: por ejemplo si usted envía el comando 'PLAYBACK 20', pero el CD solo dispones de 15 pistas, se tomará la decimoquinta pista como la solicitada, en caso de fallo (RC>5) la variable Arexx ERR contendrá una descripción de lo que ha fallado.

RC Descripción
0 no hay error
5 petición abortada
10 algún error no fatal o no SCSI, por ejemplo comando desconocido
15 error SCSI
20 error fatal que obliga a la terminación del programa principal,
como por ejemplo error por falta de memoria libre.

Los siguientes comandos son los admitidos:

  • PLAYBACK TRACK/N,INDEX/N [1,1]
    Reproduce el CD completo empezando por la pista (TRACK) e índice (INDEX) especificado.

  • PLAYBACK BLOCK/N [primer bloque valido del CD]
    Reproduce el CD completo comenzando por el bloque (BLOCK) especificado. No se asume que el CD debe comenzar en el bloque 0. Emplee el comando 'GETVAR TRACKSTART NUM=n' para localizar el comienzo de éste.

  • PLAY
    Lo mismo que si pincha con el puntero en el botón '>'.

  • PAUSE
    Lo mismo que si pincha con el puntero en el botón '||'.

  • STOP
    Lo mismo que si pincha con el puntero en el botón ' '.

  • LASTSONG
    Lo mismo que si pincha con el puntero en el botón '|<'.

  • NEXTSONG
    Lo mismo que si pincha con el puntero en el botón '>|'.

  • BACKWARD BLOCKS/N [20*75=1500]
    Salta BLOCKS bloques hacia atrás (75 bloques=un segundo). Equivale a pinchar con el puntero en el botón '<<'.

  • FORWARD BLOCKS/N [20*75=1500]
    Salta BLOCKS bloques hacia adelante (75 bloques=un segundo). Equivale a pinchar con el puntero en el botón '>>'.

  • LASTINDEX
    Lo mismo que si pincha con el puntero en el botón '««'.

  • NEXTINDEX
    Lo mismo que si pincha con el puntero en el botón '»»'.

  • EJECT
    Lo mismo que si pincha con el puntero en el botón '^'.

  • SAVEAUDIO FILENAME/A,STARTBLOCK/N/A,ENDBLOCK/N/A,SCALE/N,COMP/N,TYPE/N,NOWIN/S [ , , ,1,2,2, ]
    Este comando corresponde al ítem del menú (Guardar sonido). Debe suministrarse nombre de fichero (FILENAME) bloque inicial (STARTBLOCK) y bloque final (ENDBLOCK). Opcionalmente las muestras digitalizadas pueden ser escaladas (SCALE), definida la frecuencia de muestreo (vea a continuación la tabla) y el formato de fichero (vea a continuación la tabla correspondiente). Si utiliza 'NOWIN' entonces la ventana informativa de cómo evoluciona el proceso no se mostrará.
COMP frec. muestreo
1 44100
2 22050
3 14700
4 11025
5 8820
6 7350
7 6300
8 5512
9 4900
10 4410
TYPE canales y formato de fichero
1 Estéreo (CDR)
2 Estéreo (IFF)
3 Mono (IFF)
4 Izquierdo sólo (IFF)
5 Derecho sólo (IFF)
  • SHOW
    Mostrar interfaz gráfica (GUI).

  • HIDE
    Ocultar interfaz gráfica (GUI).

  • QUIT
    Salir del YACDP.

  • REQUESTER VARNAME/A,TITLE/A,TEXT/A,BUTTONS/A,DEFAULT/N [ , , , ,0]
    Muestra una petición con el título (TITLE) y el texto (TEXT) que usted especifique. Los botones BUTTONS pueden ser separados con el carácter '|': éstos son numerados de izquierda a derecha comenzando por el 1, pero el botón más a la derecha tiene asignado el número 0. El botón por defecto está marcado en negrita. El número resultante es almacenado en VARNAME.

  • GETSTRING VARNAME/A,TITLE/A,DEFAULT [ , ,""]
    Muestra una petición de texto con el título (TITLE) y empleando como texto por defecto (DEFAULT) el que usted desee. La cadena resultante es almacenada en VARNAME. Si el usuario aborta la petición, RC tendrá un valor de 5.

  • GETNUMBER VARNAME/A,TITLE/A,DEFAULT/N,MIN/N/K,MAX/N/K,BONTSHOW/S [ , ,0,-214783648,2147483647, ]
    Muestra una petición numérica con el título (TITLE) y el valor (DEFAULT) que usted le especifique. Puede restringir los valores admisibles por la petición (en realidad su rango) con MIN y MAX. La opción DONTSHOW hace que el valor por defecto no se muestre. El valor es almacenado en VARNAME. Si el usuario aborta la petición RC tendrá un valor de 5.

  • PUTMSG MSG/A,SECS/N [ ,10]
    El mensaje MSG se mostrará SECS segundos en la línea de estado/mensajes.

  • TRON
    Mostrar cada comando Arexx enviado a YACDP en la línea de estado/mensajes.

  • TROFF
    No mostrar comando Arexx en la línea de estado/mensajes.

  • LOCKVARS
    Cuando lea variables que no son independientes de las demás, debe bloquearlas siempre antes de hacerlo. De otra forma sus contenidos pueden no ser fiables: por ejemplo si lee las variables RELBLOCK y TRACK sin bloquearlas previamente puede ocurrir que RELBLOCK tenga un valor demasiado alto, y entre la siguiente llamada de 'GETVAR' la pista cambie, con lo que obtendría un valor de TRACK falseado. No bloquee las variables más que el tiempo estrictamente necesario. Esto asegurará que no se produzcan errores entre 'LOCKVARS' y 'UNLOCKVARS'.

  • UNLOCKVARS
    La contrapartida de 'LOCKVARS'. A cada llamada a 'LOCKVARS' debe existir la correspondiente llamada a 'UNLOCKVARS'.

  • GETVAR VAR/AMVARNAME,NUM/N/K,MODE/N/K [-,igual nombre que VAR,1,0]
    Este comando le permite obtener los valores de algunas variables internas de YACDP. NUM sólo es empleado por algunas variables.

Existen los siguientes tipos:

cadena : cualquier secuencia de caracteres.
número : un nº comprendido entre -2147483648 y 2147483647.
booleano : o 1 (representa lo cierto) o 0 (representa lo falso)
bloquenum

: bloque absoluto del CD donde si MODE es

0 : es dicho nº, por ejemplo "31363".
1 : la posición en hora, minuto, segundo, como por ejemplo " 6m 58s"
2 : es lo mismo que 1 pero en formato alternativo, como por ejemplo "00:06:58".
dirección : dirección de memoria

nombre variable tipo descripción
DEVICE (1) cadena nombre del dispositivo empleado
BOARD (1) número nº tarjeta controladora (de 0 a 7)
UNIT (1) número identificador SCSI (de 0 a 7)
LUN (1) número unidad lógica SCSI (de 0 a 7)
CDROMVOL (1,4) número volumen del CD-ROM (de 0 a 255)
CDROMBAL (1,4) número balance del CD-ROM (de -100 a 100)
AMIVOL (1) número volumen del Amiga (de 0 a 65)
AMIBAL (1) número balance del Amiga (de -100 a 100)
PLAYMODE (1) número 0 = Continuo
1 = Aleatorio ('Shuffle')
2 = Programa
REPEATALL (1) booleano estado de opción "Repetir todo"
REPEATTRACK (1) booleano estado de opción "Repetir pista"
VIASCSI (1) booleano estado de opción "vía SCSI"
STEREO (1) booleano estado de opción "Estéreo"
LOWPASSFILTER (1) booleano 1 si filtro paso bajo esta activado
ALTERNATETIME (1) booleano ídem que tipo de herr. ALTERNATETIME
NOREQ (1) booleano ídem que tipo de herr. NOREQ
RETRYS (1) número ídem que tipo de herr. RETRYS
SHUFFLELIST (1,4) cadena (sólo disponible si PLAYMODE=1)
una lista de canciones aún no reproducidas, la actual es señalada con '*' como por ejemplo 2,5,*8,12 (donde 2, 5 ó 12 pueden ser reproducidas después de la actual, o sea, la 8).
PROGRAMLIST (1,4) cadena (sólo disponible si PLAYMODE=2)
una lista de canciones, la actual está marcada con '*' como p. ej. 2,5,*8,12 (donde 2 y 5 ya han sido reproducidas, 8 es la que está sonando en este momento y 12 será la siguiente).
STATUS número 0 = Unidad de CD-ROM no válida
1 = CD no insertado
2 = CD de datos insertado
3 = reproducción detenida
4 = reproducción en pausa
5 = reproducción en marcha
GUIOPEN booleano 1 si la interfaz se esta mostrando
VIASCSIMODE número ídem que tipo de herramienta VIASCSIMODE.
LANGUAGE cadena lenguaje preferido por el usuario
(para guiones AREXX con soporte local).
WINDOWADR (2) dirección dirección de la ventana de YACDP
VENDORID (3) cadena 8 caracteres que identifican al fabricante.
VENDOR (3) cadena el nombre real del fabricante, si se conoce, sino VENDORID.
PRODUCT (3) cadena 16 caracteres que identifican la unidad de CD-ROM.
REVISION (3) cadena número de revisión de la unidad.
SCSIVER (3) número versión SCSI.
MAXBUSWIDE (3) número ancho máximo de bus (8, 16 ó 32).
MAXTRACK (4) número número de pistas.
CDLEN (4) bloquenum número de bloques en el CD.
CDNAME (4) cadena nombre del CD
BY (4) cadena por ¿¿quiéééén??
TRACKSTART (4) bloquenum bloque inicial de la pista NUM
TRACKLEN (4) bloquenum longitud en bloques de la pista NUM
SONGNAME (4) cadena nombre de la canción de la pista NUM
TRACK (4) número pista actual
INDEX (4) número indice actual
BLOCK (4) bloquenum bloque actual
RELBLOCK (4) bloquenum bloque actual (relativo al inicio de la canción actual).

(1) estas variables pueden ser modificadas con PUTVAR.  
(2) sólo disponible si GUIOPEN ES 1 de otra forma RC será 10
(3) sólo disponible si STATUS>1
(4) sólo disponible si STATUS>2
  • PUTVAR VAR/A,VALUE/A [-,-]
    Este comando permite definir el valor (VALUE) de algunas variables (VAR) internas de YACDP. Vea más adelante.

  • WAIT BLOCK/N/A,FLAGS/N [-,0]
    Este comando obliga a esperar que el bloque actual que se esta reproduciendo sea mayor que BLOCK o que se cumplan algunas de las condiciones defindas por las banderas (FLAGS): vea a continuación la tabla. Puede comprobar ERR para saber qué bandera (condición) ha hecho terminar al comando WAIT.

N 2^N condición
0 1 espera hasta que bloque reproducción menor que BLOCK
1 2 reproducción iniciada por usuario en otra posición
2 4 ventana/interfaz abierta/visible (GUIOPEN=1)
3 8 ventana/interfaz cerrada/oculta (GUIOPEN=0)
4 16 CD-ROM válido encontrado (STATUS>0)
5 32 no se ha encontrado un CD (STATUS=0)
6 64 se ha insertado un CD (STATUS>1)
7 128 no se ha insertado CD (STATUS<=1)
8 256 el CD es musical (STATUS>2)
9 512 no hay CD musical (STATUS<=2)
10 1024 "vía SCSI" activada (VIASCSI=1)
11 2048 "vía SCSI" no activada (VIASCSI=0)
12 4096 CD-ROM reproduciendose (STATUS=5)
13 819