Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Delphi Delphi-Form Handle Übergabe an VST-Plugin mittels "deprecated Carbon GUI calls" (https://www.delphipraxis.net/198154-delphi-form-handle-uebergabe-vst-plugin-mittels-deprecated-carbon-gui-calls.html)

Victor 8. Okt 2018 23:07

Delphi-Form Handle Übergabe an VST-Plugin mittels "deprecated Carbon GUI calls"
 
es geht dabei um eine App in Delphi 10.1.2 Berlin für macOS – ein Editor für Midifiles. Zur Zeit soll die Unterstützung für VST-Instrumente hinzugefügt werden. Dabei wird die BASS Lib und die verfügbare libBASS_VST.dylib benutzt. Um die Parameter der VSTi-Plugins zu verändern braucht es eine Delphi-Form worauf die Plugins den Editor zeichnen sollen. Die dylib bietet die Funktion BASS_VST_EmbedEditor, wo ein Handle zur Form verlangt wird, aber als Vorgabe ist die Benutzung von „deprecated Carbon GUI Calls“.
Weiß jemand wie dass geht?

Was ich bis jetzt probiert habe:
Delphi-Quellcode:
lNSWindow := WindowHandleToPlatform(VSTiForm.Handle).Wnd;
lEditorEmbeded := BASS_VST_EmbedEditor(MainVSTiHandle, lNSWindow.windowRef);
Beim dritten oder vierten Mal wird in der VSTiForm das "richtige" gezeigt, aber es reagiert nicht auf Maus-Events.
Bin für jede Hilfe sehr dankbar.

Victor

madas 10. Okt 2018 13:16

AW: Delphi-Form Handle Übergabe an VST-Plugin mittels "deprecated Carbon GUI calls"
 
Zitat:

Zitat von Victor (Beitrag 1415259)
es geht dabei um eine App in Delphi 10.1.2 Berlin für macOS – ein Editor für Midifiles. Zur Zeit soll die Unterstützung für VST-Instrumente hinzugefügt werden. Dabei wird die BASS Lib und die verfügbare libBASS_VST.dylib benutzt. Um die Parameter der VSTi-Plugins zu verändern braucht es eine Delphi-Form worauf die Plugins den Editor zeichnen sollen. Die dylib bietet die Funktion BASS_VST_EmbedEditor, wo ein Handle zur Form verlangt wird, aber als Vorgabe ist die Benutzung von „deprecated Carbon GUI Calls“.
Weiß jemand wie dass geht?

Was ich bis jetzt probiert habe:
Delphi-Quellcode:
lNSWindow := WindowHandleToPlatform(VSTiForm.Handle).Wnd;
lEditorEmbeded := BASS_VST_EmbedEditor(MainVSTiHandle, lNSWindow.windowRef);
Beim dritten oder vierten Mal wird in der VSTiForm das "richtige" gezeigt, aber es reagiert nicht auf Maus-Events.
Bin für jede Hilfe sehr dankbar.

Victor

Ist zwar kein Delphi Code aber vielleicht hilft es ja trotzdem:

http://www.bass.radio42.com/help/htm...b4773ccc9a.htm

Victor 10. Okt 2018 15:27

AW: Delphi-Form Handle Übergabe an VST-Plugin mittels "deprecated Carbon GUI calls"
 
danke für den Hinweis!
Ist aber für Windows. Bei Windows gibt es kein Problem denn die Funktion BASS_VST_EmbedEditor kommt sehr gut zurecht mit dem von Delphi geliefertem Form.Handle.
FireMonkey arbeitet unter macOS mit "Cacao" und nicht mit "Carbon", daher das Problem denn FireMonkey gibt so ein Handle zu einem NSWindow - Cacao und nicht Carbon.
Die große Frage ist - wie kommt man unter FireMonkey zu "Carbon"?

hoika 11. Okt 2018 07:43

AW: Delphi-Form Handle Übergabe an VST-Plugin mittels "deprecated Carbon GUI calls"
 
Hallo,
hilft das hier?

https://stackoverflow.com/questions/...le-of-controls

TiGü 11. Okt 2018 09:03

AW: Delphi-Form Handle Übergabe an VST-Plugin mittels "deprecated Carbon GUI calls"
 
Vielleicht findest du hier Inspiration:
http://mirror.informatimago.com/next...section_5.html

Victor 11. Okt 2018 14:34

AW: Delphi-Form Handle Übergabe an VST-Plugin mittels "deprecated Carbon GUI calls"
 
Zitat:

Zitat von hoika (Beitrag 1415459)

Danke für den Link - hab es aber bereits mit der dort empfohlenen WindowHandleToPlatform probiert.

Victor 11. Okt 2018 14:39

AW: Delphi-Form Handle Übergabe an VST-Plugin mittels "deprecated Carbon GUI calls"
 
Zitat:

Zitat von TiGü (Beitrag 1415471)
Vielleicht findest du hier Inspiration:
http://mirror.informatimago.com/next...section_5.html

Danke für den Link!
Scheint der richtige Weg zu sein, nur dass dort nur Tools von Apple gezeigt/verwendet werden.
Die große Frage ist, wie erreiche ich dies mit Delphi Berlin?
Gibt es eventuell in Berlin Zugang zur Carbon API?


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf