Music Surface Project
By Melanie and Alex
We are working on a Music Surface Project. It is specifically a percussion instrument application. There will be a triangle, bongos, tambourine, cowbell, and maracas. Each will be playable and there will also be a pop-up window that shares information and history about each instrument. This application is meant for elementary-aged children to learn about percussion and music. The bongos are the focus of the application. They are the biggest instrument and the only instrument that makes more that one sound (it has two separate pads the user can play). The other percussion instruments are there so that more than one user can participate in making music. Because we are targeting our application at such a young audience, we have also included pop-up windows that share some basic information about each instrument's history and uses.
This image is from April 1st.
This image is from April 14th.
This image is from April 22nd.
Final Application Look
This is the final plain image of our surface application. This is what you see when you start the application.
Progress Report as of 22 March 2010
On Monday March 15th, we discussed various options for our final project. We knew that we planned on going in a different direction but also that we still wanted to use sound files in our new application. We decided to go with the bongo application. In class we began by looking through the various “start up” application code to find which one would be most useful for what we planned to create. The Controls Box was the best choice and so that is what we started from. At first we just messed around with the things that were already there. For example, we had already decided that we would be building this application more like the Grand Piano and less like XNA Scatter; so playing with the different types of surface buttons seemed like a good idea. After that (on Wednesday during class time), we basically gutted the Controls Box Code because there were huge chunks in both the XAML and the C# that we wouldn’t be using. Melanie and I met again on Thursday. Before our meeting time I had successfully made a working pair of bongos. They way they work is through the use of toggle surface buttons. I decided to use the toggle button style because the corners are more rounded. When someone presses the bongo pad, they are actually pressing the transparent toggle button placed over just the pad part of the bongo. When the button is pressed it plays a cowbell sound (we need to find a bongo WAV file). The sound file is played through the C# code. I created OnContactDown functions that are linked to the XAML toggle buttons. When the button is pressed, the OnContactDown function plays the sound file through System.Media (just like in our last project). Our next step is to add other percussion instruments. For example, a tambourine, cowbell, maraca, triangle, etc. This way the person using our application has a choice of which instrument to play, or more than one person can participate in making music. Then we would like to add music file you can play along to in the background. It is also important for us to figure out how to give our images transparent backgrounds.
Progress Report as of 1 April 2010
Since the last update, we have made buttons and images for each of the instruments except the triangle (We just haven't gotten around to that yet). We have also figured out how to make the pictures transparent and how to convert and cut down sound files. To edit the pictures of the instruments, we used the Linux program GIMP and converted the files to gifs. Now we are looking into asynchronous sound file playing, collecting all the sound files for each instrument, and researching the history of each instrument in our application (for use in an informative pop-up window).
Progress as of 7 April 2010
This week we have added the triangle and each of the instruments is now making the correct sound! There are some issues with the bongo buttons that we need to look into (the buttons seem to stick and not play when you press them sometimes). We also added the information buttons for each instrument and got one of them working with the pop-up window. The asynchronous sound issue is proving to be difficult to solve but we are still working on it.
Progress as of 14 April 2010
I tried out some code I found for asynchronous loading of sounds but it isn't what I need to solve our problem. We are working on creating the images for the instrument info buttons...some are already made and others we are still waiting on. We decided to change the background to make it more simple and are planning to rearrange the layout.
Progress as of 22 April 2010
I found out from Meena that there is a way to make sound files play at the same time. It turns out we have been using the player. We have been using SoundPlayer from System.Media and it turns out you need to use MediaPlayer from System.Media.