Gros problèmes avec Core audio : avez-vous des infos?

HerveHerve Membre
Bonjour,

Il y a peu, je constatais des nouveautés dans Core Audio sous XCode 4.1. Chez Apple, on m'a renvoyé là  :
http://developer.apple.com/library/mac/#technotes/tn2276/_index.html

J'ai bien appliqué à  la lettre tout ce qui est indiqué, mais il semble que des classes de Core Audio aient été modifiées aussi, ce qui fait que je ne peux pas combler actuellement des projets AU en cours. La classe SynthNote en particulier :
la méthode
virtual void Attack(const MusicDeviceNoteParams &inParams)
semble avoid été remplacée par
virtual bool Attack(const MusicDeviceNoteParams &inParams)
d'où erreur de compilation. J'ai mis
return Attack(inParams);
en fin de méthode pour corriger le problème. Mais j'en ai un autre :
Auparavant :
TestNote mTestNotes[kNumNotes];
marchait très bien. Hors maintenant le compilateur me dit que je fais un tableau à  partir d'une classe abstraite. SynthNote est une structure C++ tout à  fait classique.

Auriez-vous des infos ou une idée? J'ai juste trouvé ça :
http://www.squishycat.com/audio-units/creating-audio-units-with-cocoa-views-on-mac-os-x-10-7-lion
mais je le savais déjà ...

Je suis assez déçu à  vrai dire, je ne m'attendais pas à  ça. J'en regrette presque d'avoir quitté Snow Leopard!

Réponses

  • HerveHerve Membre
    21:45 modifié #2
    Si il y en a que cela intéresse, j'ai eu des infos sur la mail list Core Audio.


    DId you change the Render callback too? It now should look like this

    virtual OSStatus Render(UInt64 inAbsoluteSampleFrame, UInt32 inNumFrames, AudioBufferList** inBufferList, UInt32 inOutBusCount);

    puis

    change
    int numChans = inBufferList.mNumberBuffers;
    to
    int numChans = inBufferList[0]->mNumberBuffers; and
    left = (float*)inBufferList.mBuffers[0].mData;
    right = numChans == 2 ? (float*)inBufferList.mBuffers[1].mData : 0;
    to
    left = (float*)inBufferList[0]->mBuffers[0].mData;
    right = numChans == 2 ? (float*)inBufferList[0]->mBuffers[1].mData : 0;

    J'ai modifié aussi la méthode Attack. Avant, c'était un "void", maintenant un "bool". Je lui fais retourner un TRUE pour que cela fonctionne.

    J'ai ensuite envoyé un mail à  Apple leur demandant de modifier en conséquence les templates et les démos : je me suis permis de leur dire que le boulot n'avait été fait qu'à  moitié...

    (Nah!)  >:(
Connectez-vous ou Inscrivez-vous pour répondre.