Aller au menu - Aller au contenu

Installation FMOD avec Xcode


Informations sur le tutoriel

Avatar
Auteur : Pouet_forever
Difficulté : Facile
Visualisations : 4 253


Plus d'informations Plus d'informations

Historique des mises à jour

  • Le 30/11/2009 à 20:56:14
    Installation FMOD avec Xcode
Tout d'abord bonjour à tous !

Je vais vous expliquer par le biais de ce tutoriel comment installer FMOD sous Xcode 3 (Mac OS X).
Ce tutoriel complète celui de M@teo21 sur le Langage C, c'est pourquoi je ne présenterai que l'installation de FMOD 3 :soleil:

Bon bah qu'est ce qu'on attend !
C'est parti :pirate:

Un détail avant de commencer : Les fichiers MIDI ne sont pas supportés, veillez donc à les convertir dans un autre format afin de pouvoir les utiliser (iTunes les convertit très bien).

Téléchargement

Tout d'abord il va falloir télécharger FMOD.
Je vous invite donc à aller sur le site et à télécharger la version 3 de FMOD.



Faites bien attention à ne pas prendre la version 4 en haut de la page mais la version 3 plus bas ...

Image utilisateur



Une fois celle-ci téléchargée, vous devriez avoir un fichier .zip nommé fmodapi375mac. Si vous avez un .dmg c'est que vous avez téléchargé la version 4 :)
Si ce n'est déjà fait, décompressez ce fichier :)

Maintenant que nous avons notre dossier, nous pouvons passer à l'installation ;)

Installation

Dans ce dossier, vous avez un sous-dossier très important qui est le dossier ... documentation (ah vous aviez deviné :-° ) veillez à bien mettre celui-là au chaud afin de pouvoir vous en servir plus tard.

Nous allons nous intéresser au dossier api. Dans ce dossier nous avons 2 dossiers : Un dossier inc et un autre lib.

Dans le dossier lib, vous devriez avoir libfmod.a et libfmodx86.a.
  • libfmod.a : Concerne uniquement les personnes ayant un mac à processeur PowerPC
  • libfmodx86.a : Concerne les personnes ayant un mac à processeur Intel

Mais comment savoir si j'ai un mac à processeur Intel ou un PPC ?

Il suffit tout simplement de cliquer sur la pomme en haut à gauche de l'écran et de cliquer sur "A propos de ce Mac".
Dans la fenêtre qui apparaît il suffit de regarder le processeur.

Image utilisateur


Et dans le dossier inc vous trouverez 3 fichiers:
  • fmod.h
  • fmod_errors.h
  • wincompat.h


Ce que je conseille est de créer un dossier FMOD dans HDD/Developer/ et de créer 2 sous-dossiers, un nommé lib et un autre nommé inc.
Ensuite placez les 3 fichiers .h cités ci-dessus et placez les dans notre dossier HDD/Developer/FMOD/inc/, puis prenez le fichier .a qui correspond à votre machine et placez le dans le dossier HDD/Developer/FMOD/lib/.

Notez que vous pouvez placer ces fichiers où vous voulez sur votre disque dur.

Création d'un projet

Tout d'abord ouvrez Xcode, ensuite créez un nouveau projet SDL Application (ou ouvrez un projet existant).
Sur votre gauche vous avez une liste, cliquez sur la flèche à gauche de votre projet pour ouvrir l'arborescence (si celle-ci n'est pas déjà ouverte), puis cliquez sur la flèche à côté de Frameworks.
Cliquez droit sur le dossier Frameworks et cliquez sur Add > New Group. Nommez le FMOD.

Maintenant cliquez droit sur ce dossier, Add > Existing Framework... et allez chercher le fichier libfmod.a ou libfmodx86.a selon votre configuration (pour rappel nous les avons mis dans HDD/Developer/FMOD/lib/). Cliquez sur Add.

Vous devriez avoir ceci :

Image utilisateur


Voilà vous avez installé FMOD :soleil:


Mais et les headers, on ne les inclue pas ?


Si attendez j'y viens :D
Pour inclure les headers cliquez droit sur le dossier FMOD ensuite Add > Existing files... et allez chercher les 3 headers dont je vous parlais au début (HDD/Developer/FMOD/inc).

Pensez à cocher la case Copy items into destination group's folder (if needed) en haut de la fenêtre qui apparaît une fois que vous avez sélectionné les fichiers ! Cela copiera les fichiers dans le dossier de votre projet.
Si vous ne le faites pas ce n'est pas grave, il suffira par la suite d'inclure vos headers avec des chevrons < > et non avec des guillemets " ".


Et voilà FMOD est presque prêt a l'emploi !

Pourquoi presque ? :o


Contrairement aux Windowsiens qui incluent seul le header fmod, nous Maciens (ça se dit ça ? :lol: ) devons inclure les 3 fichiers ... Cherchez pas à comprendre c'est comme ça :-°

Code : C - Inclusions
1
2
3
#include "fmod.h"
#include "fmod_errors.h"
#include "wincompat.h"


Mais pourquoi quand je teste mon code ça ne marche pas ? :'(


La particularité de FMOD est qu'il a besoin du Framework Carbon pour pouvoir fonctionner. N'oubliez pas de l'inclure sinon Xcode vous dira gentillement qu'il ne peut pas compiler ! On oublie souvent de l'inclure au début mais quand on se fait avoir 2 ou 3 fois croyez-moi qu'on y pense :lol:

Pour l'inclure on utilise la même méthode que ci-dessus, à savoir cliquez droit sur le dossier Linked Frameworks (vous pouvez aussi l'inclure dans le dossier FMOD cela n'a pas d'importance, l'important est qu'il soit présent) ensuite Add > Existing Frameworks..., allez dans le dossier HDD/System/Library/Frameworks/ (ou HDD/Système/Bibliothèque/Frameworks/) et choisissez Carbon.framework. Cliquez sur Add.
Note : Dans la version 3.2 il suffit de chercher Carbon.framework dans la liste déroulante ;)

Au final vous devriez avoir quelque chose qui ressemble à ça :

Image utilisateur


Et voila FMOD est prêt a l'emploi :soleil:

Compilation

Maintenant que FMOD est bien installé, nous allons vérifier que tout fonctionne bien :D
Je vais juste vous faire compiler un code pour vérifier que l'installation s'est bien déroulée. Les détails sur l'utilisation de FMOD sont expliqués dans le tuto de M@teo21, donc si ça compile sans problème passez par la suite au tuto de M@teo, sinon revoyez l'installation pour voir si vous avez bien fait toutes les étapes comme il faut :)

Pour commencer, téléchargez ce son et nommez-le pan.wav
Et téléchargez cette image : Image utilisateur et nommez-la viseur.png

Placez-les dans le dossier Nom_de_votre_projet/build/debug/
Puis, dans le main.c copiez/collez ce code (c'est le code de M@teo21, j'ai juste changé les headers ;) ) :

Code : C
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include <stdlib.h>
#include <stdio.h>
#include "SDL.h"
#include "SDL_image.h"

#include "fmod.h"
#include "fmod_errors.h"
#include "wincompat.h"

int main(int argc, char *argv[])
{
    SDL_Surface *ecran = NULL, *viseur = NULL;
    SDL_Event event;
    SDL_Rect position;
    int continuer = 1;
    FSOUND_SAMPLE *tir = NULL;
	
    /* Initialisation de FMOD */
    FSOUND_Init(44100, 32, 0);
	
    /* Chargement du son et vérification du chargement */
    tir = FSOUND_Sample_Load(FSOUND_FREE, "pan.wav", 0, 0, 0);
    if (tir == NULL)
    {
        fprintf(stderr, "Impossible de lire pan.wav\n");
        exit(EXIT_FAILURE);
    }
	
    /* Initialisation de la SDL */
    SDL_Init(SDL_INIT_VIDEO);
	
    SDL_ShowCursor(SDL_DISABLE);
    ecran = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
    SDL_WM_SetCaption("Gestion du son avec FMOD", NULL);
	
    viseur = IMG_Load("viseur.png");
	
	
    while (continuer)
    {
        SDL_WaitEvent(&event);
		
		
        switch(event.type)
        {
            case SDL_QUIT:
                continuer = 0;
                break;
            case SDL_MOUSEBUTTONDOWN:
                /* Lorqu'on clique, on joue le son */
                FSOUND_PlaySound(FSOUND_FREE, tir);
                break;
            case SDL_MOUSEMOTION:
                /* Lorsqu'on déplace la souris, on place le centre du viseur à la position de la souris
				 ... D'où notamment le "viseur->w / 2" pour réussir à faire cela */
                position.x = event.motion.x - (viseur->w / 2);
                position.y = event.motion.y - (viseur->h / 2);
                break;
        }
		
        SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 0));
        SDL_BlitSurface(viseur, NULL, ecran, &position);
        SDL_Flip(ecran);
    }
	
    /* On ferme la SDL */
    SDL_FreeSurface(viseur);
    SDL_Quit();
	
    /* On libère le son et on ferme FMOD */
    FSOUND_Sample_Free(tir);
    FSOUND_Close();
	
    return EXIT_SUCCESS;
}


Si tout s'est déroulé correctement vous devriez avoir une fenêtre noire, et à la place de la souris l'image téléchargée ci-dessus.
Et si jamais vous appuyez sur un bouton vous devriez entendre le son téléchargé ci-dessus.

Si vous êtes arrivés jusque là c'est que FMOD est bien installé et que tout compile sans problème :)
Maintenant vous pouvez continuer à lire le tutoriel de M@teo21 ;)

Voilà ce tutoriel touche à sa fin :'(
Je vous souhaite bonne continuation pour la suite :pirate:

Informations sur le tutoriel

Retour en haut Retour en haut

Créé : Le 28/07/2009 à 23:24:20
Modifié : Le 30/11/2009 à 20:56:14
Avancement : 100%
Licence : Copie non autorisée

5 commentaires