Kako je kolega RayDX zapoceo seriju tutoriala za programiranje aplikacija uz pomoc DirectX-a , ja cu probat pojasnit jedan vrlo vazan aspekt C++ programiranja danas a to je zvuk. Procesiranje i upotrebu zvuka cemo uciti kroz SFMOD S( zasad neznate sta je FMOD ali ne brinite se, sve ce biti objasnjeno. ). Ja isto tako nisam naucio sve sta se tice ovog aspekta programiranja pa cu i ja ucit neke stvari uz vas, i vi uz mene.

Svi primjeri ce biti rađeni u Visual Studiu 2005 Service pack 2, na Windows XP OS-u. IDE koje mozete korisititi su : Borland,DevC++,ili pak VS express. Ja osobno toplo preporucujem VS 2005 - i za njega garantiram da ce primjeri radit.

Prvo cemo zapocet osnovnim upitima, sta nam treba i gdje isto skinuti i kako uspjesno integrirati FMOD u nas IDE.



SŠto je FMOD

S- Mi cemo koristiti FMOD 3 Programmers API - on je zapravo engine koji c++ programeri rapidno koriste za produciranje svakakvih zvukova u svojim aplikacijama ( podrzava .ogg,.wav,.mp3 i ostale poznate formate)
FMOD mozete zamislit kao skup biblioteka koje su potrebne za produkciju zvukova u vasim programima a to znaci da te "biblioteke" sadrze funkcije koje suradjuju usko s nasom zvucnom karticom.


SGdje da skinem FMOD
SNa http://www.fmod.orgS- skinite FMOD 3 Programmers API Windows 32 verziju 3.75

SSkinio sam .rar datoteku sa svim potrebnim stvarima, sta i gdje da raspakiram

SPrvo napravite novi direktorij nazovimo ga recimo "FMOD" i u njega raspakirajte sve sta ste dobili u skinutom .rar arhivu,posto cemo radit u VS-u treba napravit sljedece :
u C:\Program Files\Microsoft Visual\VC\include direktorij stavite sljedece fajlove : fmod.h,fmod_errors.h,fmoddyn.h i wincompat.h a u lib direktorij :fmodvc.lib - imajte na umu da fmod.dll fajl mora biti uvijek u istom direktoriju gdje je i vas projekt, znaci ako imate projekt c:\igra\mojac++igra tu vam mora biti i fmod.dll koji je potreban za pravilno izvodjenje


Sada mozemo krenut na isprobavanje.

Udjimo u VS i pokrenimo : SFile - new - project Si izaberimo Win32 console application.
Dajte ime vasem projektu, recimo "Fmod tut".
Dobili smo novi projekat i sad prvo sta moramo napravit je ici ljevo pod Source files desnim klikom i ici na new i napravit novu source datoteku, nazovimo je "main".

Sljedeca stvar je da moramo linkat nas projekat s jednom od Fmod lib-a.
Radimo sljedece : [b]SProject - Fmod tut propertis - Configuration propertis - Linker - input i onda pod Additional Dependencies upisite : fmodvc.lib. Sjecate se kad smo i di smo stavili tu "knjiznicu"? Da, u lib folder jer nam je ona potrebna za pravilno izvodjenje zadataka koje cemo postaviti za nas VS projekt. Isto tako bilo bi dobro da nadjete neki mali .midi file i postavite ga u direktorij od vaseg projekta ( default je My Documents\Visual Studio\Projects i tamo nadjite direktorij vaseg projekta i stavite neki .mp3 file tamo skupa s onim fmod.dll fajlom se sjecate da on mora biti uvijek ukljucen tamo di je vas projekt?).
Evo vam jedan jednostavni midi za probu :
http://download.yousendit.com/4EDF048827DBB6D3

Ok sada cu vam dat source code i onda cemo se poblize upoznat s njime ( necu vam objasnjavat djelove koda koje se ticu samog C++ jezika, jer bi s time trebali biti upoznati, samo cu objasnit djelove sta se ticu FMOD-a jer je ovo ipak tutorial malo naprednije vrste i ovo ne preporucam ljudima koji su totalni pocetnici sta se tice C++-a ).

Source :

Code:
S#include <iostream>
#include <fmod.h>
using namespace std;
char a;

int main () {
	FSOUND_Init(44100, 32, 0);
	FMUSIC_MODULE *mu = NULL;

mu = FMUSIC_LoadSong("canyon.mid");
FMUSIC_PlaySong(mu);

cout << "Press any key to exit" << endl;
cin >> a;
return 0;

Znaci redom :


FSOUND_Init(44100,32,0);

- Ovaj dio zapravo daje do znanja FMOD-u da kroz sljedece parametre radi ovo : mixa zvuk na 44100hz , koristi 32 kanala za reprodukciju zvuka a o ovoj 0 cemo drugi puta jer je ona nevazna zasad. Prihvatite je zdravo za gotovo

FMUSIC_MODULE *mu = NULL;

Kao sta znate u c++-u je dobra programerska navika deklarirati varijable i ostale stvari, pa tako i FMUSIC_MODULE i dajte do znanja da je rezultat ove "moguce varijable" NULL. Zato jer cemo ovu "mu" varijablu koristiti kao kasnije deklaraciju.

mu = FMUSIC_LoadSong("canyon.mid");

Evo tu deklariramo mu varijablu da bude odgovorna za ucitavanje pjesme u ovom slucaju "canyon.mid" koji je u direktoriju od vaseg projekta.

FMUSIC_PlaySong(mu);

Evo vidite, tu pozivamo da ovaj ucitani .midi fajl pokrenemo, a ucitavamo ga tako sta ga ucitavamo kroz varijablu "mu" kojoj je taj fajl dodjeljen.


Sad isprobajte svoj novonastali program, trebao bi se pokrenut console prozor i pocet svirat ovaj .midi fajl, a ako upisete neko slovo i stisnete enter program bi se trebao zatvoriti.


Evo toliko za ovaj put, moze sticky a ako vidim da ljudi hoce jos naucit o FMOD-u i njegovom koristenju, ja cu se potrudit da radim tutoriale za njega sa screenshotovima i detaljnim objasnjenjima.
Ako imate pitanja i komentare slobodno ih tu postavite,msn kontakt imate ili mi saljite PM.

Uzivajte