Select from below  
 
:: Main ::
:: Fave Tools ::
.Visual C++.
.Photoshop.
.Microangelo.
.Programmer's File Editor.
  :: Wave Editor ::  
  » Comments 

What is it?

Think Sound Recorder, you know, that program that's part of Windows Accessories. I did it as a project for my subject "Multimedia Programming for Windows" with a few enhancements such as skins, and additional effects. I think I did a pretty good job, I was told to present in front of class, sat in the lecturer's seat. :-)

Click for a larger image
Screenshot

How it works

When you open a .wav file in Wave Editor, it processes the file byte by byte, first of all making sure it is opening a PCM type file, and then reading the WAVEINFO header and audio information into a buffer. This is how the waves (ie "scribbly lines") are drawn, by reading values from each byte. Playback is done via Windows' Media Control Interface.

The program is an example of an MDI (Multiple Document Interface) application. In an MDI application, you are able to open multiple wave files at once, each in its own window. (Unlike Sound Recorder, which is a dialog based application and only allows you to open one file at any time.)

Flicker free animation was done using a scratch device context, and then blitting it back to the primary device context. A timer was then added to move the slider automatically as the file is being played. The interface and buttons had to be planned in advance, and then manually positioned via code. (Tedious process!)

The copy function was implemented by using a memory buffer to store wave data. The paste function checks the destination file's sampling rate (KHz), resolution (bits), and channels (stereo or mono), runs an algorithm to do any conversions if necessary, and then finally copies the memory buffer to the existing wave buffer. The cut function basically just copies the selected wave portion to the memory buffer, and then subsequently deletes it away from the wave buffer.

File I/O was done implemented using the multimedia I/O services.

How it was implemented

Software used:

  • Visual C++ using MFC
  • Adobe Photoshop 5.0
  • Windows 98

Visual C++ was used to implement the actual program, while Photoshop was used to implement the buttons and bitmaps. And finally debugging was done on the Win98 platform.

Recommend this page! Click HERE to send a recommendation!



  » back to top
   
Privacy Policy | Skyjuice Software
Website Content Protection