C ++ Callbacks mit Objective-C, einer Anwendung für RtMidi
Ich habe einige der vorangegangenen Diskussionen zu diesem Thema gelesen, aber da ich relativ neu in Objective-C bin, verstehe ich sie nicht wirklich. (Blöcke, Selektoren und Delegierte sind für mich sehr neu.)
Hier ist die Situation: Ich verwende diese abstrakte Klasse RtMidi, die in c ++ geschrieben sind
void MidiInApi :: setCallback( RtMidiIn::RtMidiCallback callback, void *userData )
{
if ( inputData_.usingCallback ) {
errorString_ = "MidiInApi::setCallback: a callback function is already set!";
RtMidi::error( RtError::WARNING, errorString_ );
return;
}
if ( !callback ) {
errorString_ = "RtMidiIn::setCallback: callback function value is invalid!";
RtMidi::error( RtError::WARNING, errorString_ );
return;
}
inputData_.userCallback = (void *) callback;
inputData_.userData = userData;
inputData_.usingCallback = true;
}
Ich habe auch eine Klasse, die Reciever, die diesen Rückruf (rtMidiCallback) implementiert. Und irgendwann in meiner Hauptdatei muss ich so etwas schreiben
midiIn->setCallback(rtMidiCallback);
Dies wäre in einem C ++ - Kontext, aber in Objective-C habe ich keine Ahnung, wie es geht.
Wenn Sie irgendwelche Ideen oder Hinweise haben, würde ich mich freuen, mit Ihnen darüber zu diskutieren. Vielen Dank
Beste,
greg.