Aplicaciones ejemplo para Windows 7 Multitouch: PianoTouch

Windows Técnico

Sindicación

Proximos HOLs

Loading...

En la anterior entrada en Windows Técnico dentro de la categoría Multitouch se presentaba el Canal Windows7-Multitouch abierto en Codeplex y donde, como ya indicábamos, se irá situando toda una serie de aplicaciones ejemplo (en un formato de código abierto), así como material técnico de utilidad para aquellos profesionales interesados en la programación de aplicaciones para dispositivos tablet multitouch con Windows 7.

La combinación de estas dos herramientas, artículos en Windows Técnico y aplicaciones ejemplo disponibles en el Canal Windows 7- Multitouch proporcionarán a los desarrolladores un entorno de aprendizaje de considerable utilidad.

En el presente post se suministrará información referida a la aplicación PianoTouch, dado su carácter más básico y genérico para iniciarse en este tipo de programación para dispositivos tablet multitouch con MS Windows 7 y el entorno de programación Windows Presentation Foundation (WPF). Posteriormente se irá dando entrada a artículos referidos a otras aplicaciones y materiales disponibles en el canal.

Dentro de los materiales disponibles, junto a la propia aplicación, figura el Instalador-PianoTouch o el código fuente de la aplicación ZIP-Codigo-PianoTouch-CSHARP para su análisis.

Lógicamente, y dado su carácter ejemplificador, la aplicación presenta una operativa sencilla. La intención fundamental es la de ilustrar respecto de las posibilidades táctiles de este entorno de desarrollo. Para ello será necesario controlar los eventos que el tablet genera por medio de MS Windows 7. Las teclas del piano son las encargadas de capturar estos eventos y llevar a efecto la acción deseada, en este caso hacer sonar una nota musical.

image

UserControl1

Como es posible apreciar en la imagen anterior, cada tecla es una instancia de la clase “Usercontrol1”, que controla el evento y permite crear réplicas de las teclas de forma fácil  modificándole el aspecto a cada una de ellas de forma independiente.

La parte más importante de este control se ha resaltado en la anterior imagen y es la captura de los eventos de “TouchDown” y “TouchUP”. Estos son responsables de actuar cuando se presiona el control y cuando se finaliza la presión sobre el mismo. Ellos son los encargados de hacer sonar la nota musical. Como vemos están asociados cada uno a una función “pulsado” y “levantapulsado”. El código de cada uno se muestra a continuación:

private void pulsado(object sender, TouchEventArgs touchEventArgs)

        {

              int r = midiOutShortMsg(handle, 0x90 + ((60 + nota) * 0x100) + (127 * 0x10000) + 0);

               DropShadowEffect myDropShadowEffect = new DropShadowEffect();

           // le quitamos la sombra

            Color myShadowColor = new Color();

            myShadowColor.A = 255;

            myShadowColor.B = 0;

            myShadowColor.G = 0;

            myShadowColor.R = 0;

            myDropShadowEffect.Color = myShadowColor;

             myDropShadowEffect.Direction = 320;

             myDropShadowEffect.ShadowDepth = 0;

             myDropShadowEffect.BlurRadius = 6;

             myDropShadowEffect.Opacity = 0.0;

            this.tecla.Effect = myDropShadowEffect;

  

        }

 

 

        private void levantapulsado(object sender, TouchEventArgs touchEventArgs)

        {

                  int re = midiOutShortMsg(handle, 0x80 + ((60 + nota) * 0x100) + (0 * 0x10000) + 0);

            DropShadowEffect myDropShadowEffect = new DropShadowEffect();

                        // le ponemos la sombra

            Color myShadowColor = new Color();

            myShadowColor.A = 255;

            myShadowColor.B = 50;

            myShadowColor.G = 50;

            myShadowColor.R = 50;

            myDropShadowEffect.Color = myShadowColor;

 

            myDropShadowEffect.Direction = 320;

             myDropShadowEffect.ShadowDepth = 12;

 

            myDropShadowEffect.BlurRadius = 6;

              myDropShadowEffect.Opacity = 0.9;

            this.tecla.Effect = myDropShadowEffect;

            }

 

Las dos funciones presentan como principal objetivo crear el efecto de pulsado, para ello se modifica las sombra de la tecla, simulando así la pulsación de forma visual.

 

Tras la simulación de la pulsación indicada, ahora para recrear el piano se hará uso de la clase “MainWindow.xaml”. Para ello se generarán tantas teclas como se desee, asignándoles una imagen dependiendo de la tecla, considerando si es blanca o negra y la posición que ocupa. Se presenta a continuación un ejemplo donde se asignan dos “userControl1”, modificando en cada uno de ellos el parámetro “NotaImagen” para añadirle una imagen distinta, y asignándole una nota musical a través del parámetro “Nota”:

<my:UserControl1 x:Name="Tecla1" NotaImagen="T1.png"   Canvas.Left="12" Canvas.Top="12"  Nota="4" />

 <my:UserControl1 x:Name="Tecla2" NotaImagen="T2.png" Nota="6" Margin="107,235,812,340" Canvas.Left="-54" Canvas.Top="-223" />

 

El resultado de añadir varios controles es el piano final, con distintos sonidos para cada tecla y un aspecto visual como el que se presenta a continuación.

image

Piano

Para probarlo directamente sin tener que compilar, tal y como se indicaba, se ha añadido un instalador en el canal dentro del apartado de Downloads con el nombre de Instalador-PianoTouch.

Esperemos que esta información os sea de utilidad, finalizamos como siempre esperando que os suscribáis al canal RSS de Windows técnico.

image


Enviado may 26 2011, 05:02 por Ignacio Briones

Comentarios

Windows Técnico escrito Aplicaciones ejemplo para Windows 7 Multitouch: PuzzleAnimalTouch
en 06-01-2011 18:13

Continuando con la presentación de ejemplos de aplicaciones para dispositivos Tablet   Multitouch

Windows Técnico escrito Aplicaciones ejemplo para Windows 7 Multitouch: SonidosAnimales
en 06-09-2011 14:05

Tras la presentación en Codeplex , del Canal Windows7-Multitouch anunciábamos en entradas anteriores

Windows Técnico escrito Aplicaciones ejemplo para Windows 7 Multitouch: SonidosAnimales
en 06-09-2011 14:08

Tras la presentación en Codeplex , del Canal Windows7-Multitouch anunciábamos en entradas anteriores

Windows Técnico escrito Aplicaciones ejemplo para Windows 7 Multitouch: MeteorologíaEspañaTouch
en 06-16-2011 19:57

Son ya varias las aplicaciones anunciadas en Windows Técnico a través de diversas entradas que describen

Windows Técnico escrito Aplicaciones ejemplo para Windows 7 Multitouch: MeteorologíaEspañaTouch Versión 1.1
en 06-24-2011 16:27

En la última publicación sobre aplicaciones para Windows 7 Multitouch se mostró la posibilidad de usar

Windows Técnico escrito Aplicaciones de ejemplo MS Windows7 Multitouch – “SimonDiceTouch Renewed”
en 08-23-2011 17:20

Hace varias semanas se publicó en el canal “codeplex” el último proyecto de ejemplo, denominado “ MapaMeterorologicoV1

Añadir un comentario

(requerido)  
(opcional)
(requerido)  
Recordarme
If you can't read this number refresh your screen
Enter the numbers above: