Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Lire un fichier xm [ Archives / Au secours ] (skirby)

vendredi 15 avril 2005 à 14:14:18 | Lire un fichier xm

skirby

Bonjour à tous,

J'aimerais savoir si il est possible de lire un fichier xm en C.
J'ai vu qu'il existait une librairie "mfmplayer.lib" qui peut être utilisée depuis l'assembleur. Mais est-il possible de l'utiliser aussi en C (sous Dev-C++ notamment)

J'ai essayé d'utiliser cette librairie mais je me heurte toujours à des messages d'erreurs à la compilation (lorsque j'appelle une fonction de la librairie) du genre :

[Linker error] undefined reference to `mfmPlay@4'

Si vous connaissez un lien où je pourrais trouver des infos je suis preneur.

Merci d'avance pour votre aide.

vendredi 15 avril 2005 à 14:41:49 | Re : Lire un fichier xm

BruNews

Administrateur CodeS-SourceS
Une lib dont on se sert en asm on s'en sert idem en C, faut bien spécifier la convention d'appel dans la déclaration des fonctions (__stdcall ou autre)..

ciao...
BruNews, MVP VC++

vendredi 15 avril 2005 à 15:17:29 | Re : Lire un fichier xm

skirby

Salut BruNews,

Je pense avoir bien fait les choses mais visiblement non.

J'ai mis dans les options de mon projet (Project option / Linker) la libraire mfmplayer.lib

Voila quelques morceaux de mon code:

extern "C" void STDCALL mfmPlay(VOID*);  // Fonction dans la librairie

// Appel de la fonction de la librairie
LPVOID pMusic;
...
pMusic = GlobalAlloc(GPTR, nMusicSize + sizeof(nMusicSize));
...
mfmPlay(pMusic);
...

Lorsque je compile j'ai ceci comme erreurs :

Warning: .drectve `-defaultlib:\masm32\lib\user32.lib ' unrecognized
Warning: .drectve `-defaultlib:\masm32\lib\kernel32.lib ' unrecognized
Warning: .drectve `-defaultlib:\masm32\lib\winmm.lib ' unrecognized
xm/mfmplayer.lib(mfmplayer.obj)(.text+0x1e):mfmplayer.asm: undefined reference to `waveOutRestart@4'
xm/mfmplayer.lib(mfmplayer.obj)(.text+0x35):mfmplayer.asm: undefined reference to `waveOutPause@4'
xm/mfmplayer.lib(mfmplayer.obj)(.text+0xa2):mfmplayer.asm: undefined reference to `waveOutReset@4'
xm/mfmplayer.lib(mfmplayer.obj)(.text+0xad):mfmplayer.asm: undefined reference to `waveOutClose@4'
xm/mfmplayer.lib(mfmplayer.obj)(.text+0x1f9):mfmplayer.asm: undefined reference to `waveOutOpen@24'
xm/mfmplayer.lib(mfmplayer.obj)(.text+0x460):mfmplayer.asm: undefined reference to `waveOutGetPosition@12'
xm/mfmplayer.lib(mfmplayer.obj)(.text+0x77f):mfmplayer.asm: undefined reference to `waveOutPrepareHeader@12'
xm/mfmplayer.lib(mfmplayer.obj)(.text+0x7c0):mfmplayer.asm: undefined reference to `waveOutWrite@12'
xm/mfmplayer.lib(mfmplayer.obj)(.text+0x864):mfmplayer.asm: undefined reference to `waveOutUnprepareHeader@12'
collect2: ld returned 1 exit status

make.exe: *** [test.exe] Error 1

Execution terminated

Et si je remplace STDCALL par CDECL j'obtient ceci comme erreurs :

main.o(.text+0x1fd):main.cpp: undefined reference to `mfmPlay'
main.o(.text+0x95f):main.cpp: undefined reference to `mfmPlay'

J'avoue être complétement bloqué là.

vendredi 15 avril 2005 à 15:43:46 | Re : Lire un fichier xm

BruNews

Administrateur CodeS-SourceS
je pensais à une lib de dll, assemble l'asm en dll avant et tu éviteras tous ces ennuis, tu obtiendras une lib utilisable facilement.
Faut aussi voir si ça vaut le coup, si tu as les fichiers asm, doit pas être grand-chose de transposer directement en C dans ton code.

ciao...
BruNews, MVP VC++

vendredi 15 avril 2005 à 15:58:34 | Re : Lire un fichier xm

skirby

Je n'ai pas le code source en assembleur. Juste la librairie (.lib et .inc.
Par contre j'arrive à utiliser cette libraire en assembleur mais comme je suis plus à l'aise avec le C j'aurais voulu l'utiliser directement depuis Dev-C++

Tu saurais comment faire ?

vendredi 15 avril 2005 à 16:10:11 | Re : Lire un fichier xm

BruNews

Administrateur CodeS-SourceS
En plus c'est Dev-C++, tu cumules les handicaps...
Essaie en ajoutant une référence linker sur Winmm.lib, devrait aider.

ciao...
BruNews, MVP VC++

vendredi 15 avril 2005 à 16:30:44 | Re : Lire un fichier xm

skirby

Avec l'ajout de winmm.lib (récupérer dans mon dossier lib de masm32) ça semble compiler.

Cependant j'ai toujours des warnings:
Warning: .drectve `-defaultlib:\masm32\lib\user32.lib ' unrecognized
Warning: .drectve `-defaultlib:\masm32\lib\kernel32.lib ' unrecognized
Warning: .drectve `-defaultlib:\masm32\lib\winmm.lib ' unrecognized

Maitenant, c'est mon appli qui plante quand je l'exécute.
Je n'ai plus qu'a débuger et c'est pas gagné.

Sinon, tu n'aimes pas Dev-C++ ?
Que lui reproches-tu ?
Dans ce cas que me conseils-tu comme environnement de développement ?

Merci.

vendredi 15 avril 2005 à 16:37:48 | Re : Lire un fichier xm

BruNews

Administrateur CodeS-SourceS
Pour coder du Windows rien de tel que Visual Studio.

ciao...
BruNews, MVP VC++

vendredi 15 avril 2005 à 16:48:08 | Re : Lire un fichier xm

skirby

Pour visual studio je suis d'accord mais il n'est pas gratuit

Sinon, mon programme plante sur l'appel à la fonction mfmPlay. Je ne vois vraiment pas comment je vais pouvoir débugger ça.

Je vais peut être abuser de ta patience mais si je t'envoi mes fichiers, est-ce que tu pourrais y jetter un oeil (quitte à le faire fonctionner sous VS) ?
Il y a un fichier C, RC (qui contient mon fichier xm) et puis les librairies.
Je ne me vexerai pas si tu refuses

Merci d'avance.

vendredi 15 avril 2005 à 17:18:03 | Re : Lire un fichier xm

BruNews

Administrateur CodeS-SourceS
pas le temps, désolé.

ciao...
BruNews, MVP VC++


1 2

Cette discussion est classé dans : fichier, possible, lire, librairie, xm


Répondre à ce message

Sujets en rapport avec ce message

Comment savoir si un fichier est ouvert par une autre application? [ par furax13 ] bonjour, je dois développer en C++ une librairie qui va, sur demande de l'utilisateur, lire un fichier sur un serveur.Ma librairie doit tester la date Probléme sur Ihm !! [ par chanandler ] Bonjour !! J'aimerais savoir s'il est possible de lire un fichier texte dans une Ihm.  Mon projet se compose de dialog Base ( je suis sous visual c++ Lire une ligne d'un fichier txt [ par Arnauti ] Bonjour, je suis débutant en C. J'aimerais bien savoir s'il est possible de lire dans un fichier *.txt une ligne au choix. Si oui, comment est-ce poss Quelle lib pour lire avi?? [ par satellite34 ] salut!Je programme un tit player avi tout simple sous wxWIDGETS.Quelle librairie utiliser pour lire les avi??Une librairie simple et documentée sera l Lire et écrire un fichier .txt avec du C [ par Hkz ] Bonjours a tousJ'ai codé un programme qui code du texte, mais pour l'instant il faut lui rentrer le texte par le clavier se qui n'est pas très pratiqu Musique format XM [ par frayst ] Bonjour,J'aimerais faire part de mon application une petit musique au format XM.J'ai donc utilise l'api "Playsound", celui ci peut lire que les musiqu lire mp3 en tant que resource [ par mogwai93 ] bonjour, j'aimerai lire un fichier mp3 via une resource pour le moment, j'ai playsound, qui le fait bien, mais que pour les .wav avec un fichier mp3 lire un fichier son [ par mogwai93 ] bonjour j'ai une appli windows et un fichier mp3 j'aimerais que l'appli lise le fichier mp3 de l'octet X à l'octet Y pour le moment, j'arrive à lire lire ligne par ligne dans un fichier [ par shadow1779 ] Bonjour, je me demandais comment c'est possible de faire d'un fichier texte une petite base de donnée c'est a dire de mettre des informations ligne p comment lire des float à partir d'un fichier texte ? [ par zaim khelifi ] Hi,qui peut me faire un programme simple pour lire des float à partir d'un fichier texte ?le fichier à le format suivant (exemple):1 0.00000 0.00000 0


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,312 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.