J'ai ce code dans un .mmTraduire en Objective-C de Objective-C++
void MyMIDINotifyProc(const MIDINotification *message, void *refCon);
qui va de pair avec cette ligne
MIDIClientCreate((CFStringRef)@"MidiMonitor MIDI Client", MyMIDINotifyProc, self, &client);
puis le MyMIDINotifyProc est appelé à partir CoreMIDI.
Sans changer l'extension du fichier à .M, je traduit une signature Obj-C:
@interface MidiInput (Private)
-(void) MyMIDINotifyProc:(const MIDINotification *)message reference:(void *)refCon;
@end
qui compile, mais je ne sais pas quoi faire avec la ligne MIDIClientCreate
. Tel quel, il produit "MyMIDINotifyProc" was not declared in this scope
. Il est censé être de type void *
... Et les docs sont 100% clair que c'est A refCon passed back to notifyRefCon
(link).
Ce problème est-il résolu dans Obj-C seul? J'imagine que je devrais traduire le contenu C++ en C, auquel cas je le laisserais seul.
Merci, +1 et j'accepte cette réponse une fois que je l'ai digéré (ou une fois que XCode le fait;)). –