Usuario:ManuelRomero/DAW/moviles/piano

Especificación de la práctica

 * Realizar una aplicación que sea un piano con App inventor
 * Se pretende que tengamos una serie de teclas cada una de las cuales generará un sonido musical. (no consideramos ni sostenidos ni bemoles).
 * Como funcionalidad podemos considerar que se puede grabar lo que se toca, y posteriormente reproducirlo.
 * En cualquier momento podríamos borrar lo que hubiera con una opción por ejemplo del reset.

Diseñando el interfaz
Imagen:interfazPiano.png
 * Con la breve exposición anterior podríamos pensar en el siguiente interfaz
 * Los elementos utilizados son
 * Tres botones para las acciones de reset grabar reproducir
 * Un objeto Aligment Horizontal Para ubicar dichos botones
 * 8 botones para cada una de las notas desde el do menor hasta el do mayor
 * Un objeto Aligment Horizontal para colocar los botones que simulan el piano
 * Un objeto sound para los sonidos
 * Un reloj para a la hora de grabar los sonidos respetar los espacios de tiempo entre ellos
 * Las propiedades (tamaños, colores, ...) un poco a gusto del consumidor :)

Especificando el comportamiento

 * Antes de especificar el comportamiento debemos subir los sonidos que queremos reporducir
 * Son sonidos en ficheros wav de muy corta duracción
 * Para subir un fichero podemos usar las propiedades de diseño y seleccionar los ficheros que queremos subir (de uno en uno)
 * Por ejemplo podemos usar la propiedad backgroudImage de un boton y subir ahí todos los ficheros presionando el botón Upload new...



Suena la música
Imagen:FuncionPlay1.png Imagen:clickNota.png
 * Sound es un objeto especial, es como si fuera un casett que sabe usar el hardware del teléfono para reproducir sonidos
 * Antes de que sound reproduzca un sonido debemos cargarlo previamente
 * En clase hemos usamos el símil de antes de que suene una canción debo insetar el cd o el pen con la música
 * Todas las cosas que queremos que se realicen antes de usar la aplicación las especificaremos en el método inizialice del objeto Screen
 * Lo que queremos es que al hacer un click suene la nota
 * Previamente debemos cargar los sonidos en el objeto
 * Ahora simplemente cuando suene el click sobre en botón queremos que suene la nota correspondiente
 * Como porblablemente ya has intuido, seguramente querramos hacer más cosas(Si se está grabando que al hacer click de alguna forma se guarde la nota).
 * Es por ello que vamos a crear una función que haga cosas cuando presionamos una nota
 * La siguiente imagen muestra los bloques creados para especificar este comportamiento
 * Creamos una funcion llamada play
 * Y la invocación de la función sería