Forum: Object-Pascal / Delphi-Language
by TiGü,
3. Mai 2021
Was sagt denn der Debugger?
Wie sind die Werte für (ja, ich will Pointer sehen) KlugerVariablenName, outputcallbackStruct.inputProcRefCon, inRefCon, Instance?
Oder sind es vielleicht die Daten selbst?
Ändert sich der Pointer inRefCon bei jedem Aufruf der Callback?
Diese SO-Antwort deutet es an: https://stackoverflow.com/a/61213737
Forum: Object-Pascal / Delphi-Language
by TiGü,
30. Apr 2021
var
KlugerVariablenName: TMyCallbackClass; //für diese Beispielzeilen lokal, ist aber wohl irgendwo eine Membervariable im übergeordneten Kontext sein!?
begin
KlugerVariablenName := TMyCallbackClass.Create;
outputcallbackStruct.inputProc := @TMyCallbackClass.OutputCallback;
outputcallbackStruct.inputProcRefCon := KlugerVariablenName // oder @KlugerVariablenName -> Compiler wirds...
Forum: Object-Pascal / Delphi-Language
by TiGü,
30. Apr 2021
Schaue dir auch dieses Swift-Beispiel an:
https://stackoverflow.com/a/41388782
Forum: Object-Pascal / Delphi-Language
by TiGü,
30. Apr 2021
Zeig mal, was du bisher hast.
Forum: Object-Pascal / Delphi-Language
by TiGü,
30. Apr 2021
Der Vollständigkeit halber:
https://developer.apple.com/documentation/audiotoolbox/1440259-audiounitaddrendernotify
var
BeispielNameFürDeineInstanz: TBeispielKlassenName;
begin
BeispielNameFürDeineInstanz := TBeispielKlassenName.Create;
AudioUnitAddRenderNotify(ZeigerAufAudioUnitVonIrgendwoher, DeineImplementierungVonAURenderCallback, BeispielNameFürDeineInstanz);
Forum: Object-Pascal / Delphi-Language
by TiGü,
30. Apr 2021
Der erste Parameter sieht laut Doku so aus, als ob du dir da einen Zeiger auf selbst definierte Daten hineingeben kannst.
https://developer.apple.com/documentation/audiotoolbox/aurendercallback
Du musst also weiterhin wie gehabt vorgehen mit statisch oder Klassenfunktion, aber kannst auf deine lebende Instanz casten.
function DeineImplementierungVonAURenderCallback(param1: Pointer;...