Click here to Skip to main content
15,867,686 members
Articles / Desktop Programming / MFC
Article

Effecto Player

Rate me:
Please Sign up or sign in to vote.
4.78/5 (39 votes)
23 Sep 20035 min read 163.3K   14.8K   97   27
Media audio player with 3D and 2D effects and skinning.

Image 1

Introduction

Effecto player is a Wave file player with capability to apply multiple special effects (like Echo, Chorus, Flanger, ...) on the media stream in run time using DirectSound, a part of DirectX 8.1 family. It can manage surround systems by changing sound media place in surround environment and has a highly customizable skinning interface.

User interface

The program consists of four main windows, every window having its own functionality. I will describe each function required to be able to manage the program.

The following screen shot will explain:

Image 2

The main window

It has full control over the file and contains all the keys. The keys that control the sound are:

  1. play
  2. stop
  3. pause
  4. previous
  5. next
  6. open file
  7. hide/show play list
  8. hide/show effect window

This window also contains two sliders controls for:

  • volume control
  • panning volume

The play list window

It controls the songs that are available in the stack. It contains dragged items of the songs.

Image 3

The effects window

Image 4

It controls eight sound effects that I will describe later. We have added a pop up checked menu that help the user to choose the supported effects. The list items have two states, if it is checked, it shows that the effect is active, as shown above.

This window also contains eight radio buttons for sectioning the current effect. For every selected effect, there are sliders controls that affect the parameters. For example the echo effect contains four parameters:

  • fWetDryMix
  • fFeedback
  • fLeftDelay
  • fRightDelay

For every parameter there is a slider control.

The 3D window

This window controls the 3D effect of the sound. As shown in the picture, there is a standing person in the space and the 3D effect is computed according to him. The user has complete control over the sound position so that he can change the sound position in the 3D space with the mouse.

Image 5

Skinning

The application gives you capability to fully customize the user interface, starting from images of the buttons and back ground, to the position of buttons.

In the folder skin there is the default skin I made for myself. You can make your own by opening the skin.ini file and changing the parameters you need. And here is a complete reference to every param and what it does:

[main]  Window
0=17,85,40,103 button from left to write
1=40,85,63,103
2=63,85,86,103
3=86,85,109,103
4=109,85,132,103
5=132,85,155,103
6=257,1,268,10          close button
7=228,102,240,108       show list button
8=250,102,262,108     show effect window  button
 
s0=156,84,219,97         volume slider
s1=230,84,264,97       pan slider
back=mainback.bmp    back ground picture 
press=mainpress.bmp  press buttons
unpress=mainunpress.bmp
over=mainover.bmp
disable=maindisable.bmp
 
[effect]
back=back.bmp
bars=eqmain.bmp
press=buteqlizer1.bmp
unpress=buteqlizer0.bmp
radio0=radio0.bmp
radio1=radio1.bmp
0=150,36,14,66  slideers of effects
1=168,36,14,66
2=186,36,14,66
3=204,36,14,66
4=222,36,14,66
5=240,36,14,66
6=10,8,32,24
 [playlist]
back=playlistback.bmp

The supported sound effects

  • DSFXChorus effect

    Chorus is a voice-doubling effect created by echoing the original sound with a slight delay and slightly modulating the delay of the echo. The parameters for a chorus effect:

    • fWetDryMix

      Ratio of wet (processed) signal to dry (unprocessed) signal.

    • fDepth

      Percentage by which the delay time is modulated by the low-frequency oscillator, in hundredths of a percentage point.

    • fFeedback

      Percentage of output signal to feed back into the effect's input..

    • fFrequency

      Frequency of the LFO,

    • fDelay

      Number of milliseconds the input is delayed before it is played back.

  • DSFXCompressor effect

    Compression is a reduction in the fluctuation of a signal above a certain amplitude. The parameters for compression effect:

    • fGain

      Output gain of signal after compression.

    • fAttack

      Time before compression reaches its full value.

    • fRelease

      Speed at which compression is stopped after input drops below fThreshold.

    • fThreshold

      Point at which compression begins, in decibels.

    • fRatio

      Compression ratio.

    • fPredelay

      Time after fThreshold is reached before attack phase is started, in milliseconds.

  • DSFXDistortion effect

    Distortion is achieved by adding harmonics to the signal in such a way that, as the level increases, the top of the waveform becomes squared off or clipped. The parameters for a distortion effect:

    • fGain

      Amount of signal change after distortion.

    • fEdge

      Percentage of distortion intensity.

    • fPostEQCenterFrequency

      Center frequency of harmonic content addition.

    • fPostEQBandwidth

      Width of frequency band that determines range of harmonic content addition.

    • fPreLowpassCutoff

      Filter cutoff for high-frequency harmonics attenuation.

  • DSFXEcho effect

    An echo effect causes an entire sound to be repeated after a fixed delay. The parameters for an echo effect:

    • fWetDryMix

      Ratio of wet (processed) signal to dry (unprocessed) signal.

    • fFeedback

      Percentage of output feed back into input.

    • fLeftDelay

      Delay for left channel, in milliseconds.

    • fRightDelay

      Delay for right channel, in milliseconds.

    • lPanDelay

      Value that specifies whether to swap left and right, delays with each successive echo.

  • DSFXFlanger effect

    Flange is an echo effect in which the delay between the original signal and its echo is very short and varies over time. The result is sometimes referred to as a sweeping sound. The term flange originated with the practice of grabbing the flanges of a tape reel to change the speed. The parameters for a flange effect:

    • fWetDryMix

      Ratio of wet (processed) signal to dry (unprocessed) signal.

    • fDepth

      Percentage by which the delay time is modulated by the low-frequency oscillator (LFO), in hundredths of a percentage point.

    • fFeedback

      Percentage of output signal to feed back into the effect's input.

    • fFrequency

      Frequency of the LFO.

    • fDelay

      Number of milliseconds the input is delayed before it is played back.

  • DSFXGargle effect

    The gargle effect modulates the amplitude of the signal. The parameters for an amplitude modulation effect:

    • dwRateHz

      Rate of modulation, in Hertz.

  • DSFXParamEq effect

    A parametric equalizer amplifies or attenuates signals of a given frequency. The parameters for a parametric equalizer effect.

    • fCenter

      Center frequency, in Hertz.

    • fBandwidth

      Bandwidth, in semitones.

    • fGain

      Gain

  • DSFXWavesReverb effect

    The Waves reverberation effect is intended for use with music. The Waves reverberation DMO is based on the Waves MaxxVerb technology. The parameters for a Waves reverberation effect:

    • fInGain

      Input gain of signal, in decibels (dB).

    • fReverbMix

      Reverb mix, in dB.

    • fReverbTime

      Reverb time, in milliseconds.

    • fHighFreqRTRatio

Please send me your feedback or any bug report at ahmed_ismaiel@hotmail.com.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
Egypt Egypt
My name is Ahmed Ismaiel Zakaria
i'm programming c++ & visual c++ (MFC )& Visual basic and recently COM,ATL
Student in Faculty of computer and information science in Egypt

Comments and Discussions

 
General_-doens't work at all Pin
onej14-Nov-09 20:46
onej14-Nov-09 20:46 
Rant[My vote of 1] there is a very serious bug Pin
oexc013-Jun-09 13:45
oexc013-Jun-09 13:45 
GeneralA JOB Pin
amr almasry25-Aug-07 8:47
amr almasry25-Aug-07 8:47 
Generalwhich platform is good for running this program Pin
prajith_jr17-Jun-07 6:21
prajith_jr17-Jun-07 6:21 
Generalcompilation error while using directx 8.1 Pin
prajith_jr15-Jun-07 0:52
prajith_jr15-Jun-07 0:52 
Questionhow to download directx 8.0 Pin
shijinknox10-Jun-07 21:50
shijinknox10-Jun-07 21:50 
GeneralError Compiling using VC++6 Pin
okayteds31-May-07 1:26
okayteds31-May-07 1:26 
GeneralRe: Error Compiling using VC++6 Pin
Ahmed Ismaiel Zakaria31-May-07 2:01
Ahmed Ismaiel Zakaria31-May-07 2:01 
GeneralRe: Error Compiling using VC++6 Pin
okayteds11-Jun-07 6:16
okayteds11-Jun-07 6:16 
GeneralVB.net Pin
chadynemer6-Feb-07 3:30
chadynemer6-Feb-07 3:30 
GeneralRe: VB.net Pin
Ahmed Ismaiel Zakaria6-Feb-07 3:40
Ahmed Ismaiel Zakaria6-Feb-07 3:40 
GeneralRe: VB.net Pin
chadynemer6-Feb-07 5:05
chadynemer6-Feb-07 5:05 
Questionhow to compile Pin
g_be19-Feb-06 6:54
g_be19-Feb-06 6:54 
AnswerRe: how to compile Pin
Ahmed Ismaiel Zakaria19-Feb-06 6:57
Ahmed Ismaiel Zakaria19-Feb-06 6:57 
GeneralD3d8types.h missing Pin
viii200316-Feb-06 21:19
viii200316-Feb-06 21:19 
GeneralRe: D3d8types.h missing Pin
Ahmed Ismaiel Zakaria16-Feb-06 22:14
Ahmed Ismaiel Zakaria16-Feb-06 22:14 
Generaleffecto player Pin
deivasigamani22-Sep-05 10:34
deivasigamani22-Sep-05 10:34 
GeneralRe: effecto player Pin
Ahmed Ismaiel Zakaria22-Sep-05 22:04
Ahmed Ismaiel Zakaria22-Sep-05 22:04 
GeneralThanks!!! Pin
Miguel Elias10-Sep-04 10:36
Miguel Elias10-Sep-04 10:36 
GeneralGreat Job .. Pin
ayman_m31-Aug-04 23:14
ayman_m31-Aug-04 23:14 
GeneralEffecto Pin
atuahene23-Apr-04 20:25
atuahene23-Apr-04 20:25 
GeneralRe: Effecto Pin
Ahmed Ismaiel Zakaria28-Apr-04 12:43
Ahmed Ismaiel Zakaria28-Apr-04 12:43 
hi ,
thanks ,the project already needs Directx sdk8.1 installed, if this didn't help please specify the file names so that i can tell you the problem

Thanks and Best Regards,
Ahmed Ismaiel
sonork ID 100.11442
GeneralWell Done! Pin
emu999eggs18-Apr-04 12:19
emu999eggs18-Apr-04 12:19 
GeneralRe: Well Done! Pin
Ahmed Ismaiel Zakaria2-May-04 0:25
Ahmed Ismaiel Zakaria2-May-04 0:25 
Generalcan't download the exe Pin
Rushmi2-Apr-04 16:27
Rushmi2-Apr-04 16:27 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.