Problème d'import, de framework??
olivier555
Membre
Bonjour!
Je cherche à faire un petit synthé avec CoreAudio. J'ai réalisé un AUGraph basique avec un synthé, une mixette et un output. Je génère des évènements MIDI de la manière suivante :
Le problème lorsque je compile est qu'il y a une erreur sur la ligne sleep(1) : "error: 'sleep' was not declared in this scope".
De plus, losque je supprime cette ligne (oui je sais, c'est la facilité ), la fonction MusicDeviceMIDIEvent ne produit aucun son. Je n'ai pas initialisé d'instrument, mais j'ai lu que par défaut on est sur le piano.
Est-ce que j'ai oublié d'importer un header ou un framework? Dans mon projet, j'ai inclus les framework CoreMIDI, CoreAudio, AudioToolbos et AudioUnit. En entête de ma classe, j'ai inclus :
Si vous avez une idée du problème, même une piste obscure, je suis preneur. Merci beaucoup!!
Je cherche à faire un petit synthé avec CoreAudio. J'ai réalisé un AUGraph basique avec un synthé, une mixette et un output. Je génère des évènements MIDI de la manière suivante :
<br />MusicDeviceMIDIEvent(synthUnit, 0x90, 62, 127, 0);<br />sleep(1);<br />
Le problème lorsque je compile est qu'il y a une erreur sur la ligne sleep(1) : "error: 'sleep' was not declared in this scope".
De plus, losque je supprime cette ligne (oui je sais, c'est la facilité ), la fonction MusicDeviceMIDIEvent ne produit aucun son. Je n'ai pas initialisé d'instrument, mais j'ai lu que par défaut on est sur le piano.
Est-ce que j'ai oublié d'importer un header ou un framework? Dans mon projet, j'ai inclus les framework CoreMIDI, CoreAudio, AudioToolbos et AudioUnit. En entête de ma classe, j'ai inclus :
<br />#include <CoreAudio/CoreAudio.h><br />#include <AudioToolbox/AudioToolbox.h><br />#include <AudioUnit/MusicDevice.h><br />
Si vous avez une idée du problème, même une piste obscure, je suis preneur. Merci beaucoup!!
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Dans ton .h de ta classe tu a bien ça: [tt]#import <Cocoa/Cocoa.h>[/tt]
[edit]
Ajoute ça dans tes includes:
[/edit]
Pour le reste je ne sais pas, désolé
Merci beaucoup!
Par contre, je n'ai toujours aucun son. Quelqu'un a t-il des infos?
Je mets tous les include et j'inclus les framework audio au projet, tout marche, c'est cool. Ensuite, je change une ligne d'un fichier du projet, même un truc à la con, genre je mets une ligne en commentaire, et là lors de la compilation de ce source j'ai genre 7000 erreurs (!) concernant des headers Apple que le compilateur définit 2 fois. Alors qu'avant tout marchait parfaitement!! Je supprime ma modif et le problème subsiste... J'enlève les frameworks du projets et idem, ça compile toujours pas. Je pense que c'est pas possible de trouver une solution comme ça à distance mais si vous avez une idée sur la cause du problème, ça m'aiderait énormément, parce que là je pète les plombs!!! :crackboom:-
Merci énormément!
ça t'arrive pas d'inclure des fichier .c ou .m avec la commande import, par hasard ?
+
Chacha
Ceci n'est qu'une infime partie des erreurs affichée (environ 7000) prise au hasard.
Sinon je crois n'avoir inclus que des fichiers .h... Merci
Tu utilises bien #import et pas #include ?
+
Chacha
Donc si tu #include in fichier .h qui est #include dans l'un des fichiers que tu #import ça pose problème.
Tu arrive à ma suivre?
ça tombe bien pas moi :-P
A priori, non, tu ne dois pas remplacer... Si tu as bien fait des import pour les fichiers des frameworks qui semblent poser problème, il ne devrait pas y avoir ces multiples inclusions...
(pour ceux qui se demandent, avec les #include, en C, il faut faire des gardes de compilation à base de #ifndef pour éviter les inclusions multiples. le #import sait faire ça tout seul).
Bon, je n'ai pas d'autre idée pour le moment. Embêtant, ça.
[edit]
en plus, ça m'étonnerait que tu importes explicitement les headers de Foundation, donc le problème doit être ailleurs.
Mf. Je cherche. Tu ne peux pas nous filer une capture d'écran du "source tree" de ton projet (panneau de gauche), pour voir quelles sont les resources, les headers, les frameworks, et comment ils ont l'air d'être agencés ?
[/edit]
Ca fait 2 jours que je suis bloqué à cause de ça! :crackboom:-
En fait, j'ai fait un lien du type
J'airemplacé ça par
et j'ai mis en entête #import "AudioController.h". Là en tout cas ça compile. Mais alors si c'est vraiment ça, quel lien avec le fait que certaines classes soient définies 2 fois sans ce #import et maintenant elle ne sont définies qu'une fois? Au contraire, j'en rajoute un, c'est plutôt contradictoire non?