IC210 -- Clarifications to Project 2: ****************** Fri Oct 16 2009 ****************** 1. Deadline for early extra credit is Fri Oct *23* (not Oct 24). 2. Read the starter code before you begin! You will especially need this before starting Step 2. 3. You should write the "current song" to a file ONLY when specifically told to do so by the user (when they select menu option 3). That means for steps 5, 6, 7, and 8, you are just modifying the current song in memory. For instance, step 5 changes the volume of the current song in memory. If you then write that song to a file, you can play it and hear the difference. 4. In Step 8, the combined song becomes the new "current song" in memory. 5. In Step 9, you of course need to write the combined song to a file before you can listen to it. Also, "turn the volume up" means turns the volume up on your speakers (to hear the song well!) -- it does *not* mean you should change the volume with your program. 6. The instructions tell you to create a new array when you load a new song (from a .wav file) into memory. You may also create new arrays at other times. (In fact, you'll probably find that you have to do so!) ****************** Posted Tues Oct 20 2009 ****************** Let me re-iterate that you should read the provided starter code (project2.cpp) in detail. The purpose of the starter code is to demonstrate how to do new things with the wave file -- e.g., how to find out the total number of samples, and how to read the samples from the file. However, you probably don't want to keep all of the given code in main() -- once you understand how it works, you can "comment out" the given code in main() and start making your own code and functions. As you do new things -- particularly reading in the new file and writing the file, then you will want to use the techniques that you saw demonstrated in the starter code. ****************** Posted Fri Oct 23 2009 ****************** Step 5 says to change the volume you should "Scale all song samples by the users selected factor." In other words, if the factor is 2.5, then *multiply* every sample by 2.5. If, however, that causes the sample value to go above 1, just set it to 1. Or if it goes below -1, set it to -1. ****************** Posted Sat Oct 24 2009 ****************** > I am working on step 8 which is to combine two songs. I have a basic > understanding of how to do it but am a little confused on the wording. Does > it want us to sum all the samples from each array and then average, or sum > each individual sample from each array and then average all of those? Take the first sample from song1 and the first sample from song2 -- average those 2 values and that is the value of the sample for the combined song. Do likewise for sample #2 from song1 and sample #2 from song2. Repeat. So if both input songs had 100 samples, the resultant combined song (which becomes your new "current song" in memory) would also have 100 samples. ****************** Posted Mon Oct 26 2009 ****************** > Professor, > > I wanted to clarify the instructions on screenshots. Am I taking a > picture of Steps 8 and 9. If so, do you need at head and tail printout? What > about steps 10 and 11? Thanks for your help. > Yes, the idea is to do screenshots, but for steps 8/9 you can do them together and then show the final head/tail final result after unscrambling the mystery song. If you do any extra credit, then also show a screenshot that demonstrates how that works.