Recent

Author Topic: Compiling a .dll  (Read 68853 times)

PeterX

  • Sr. Member
  • ****
  • Posts: 404
Re: Compiling a .dll
« Reply #45 on: December 23, 2017, 02:08:54 pm »
The ASIO unit most definitely works (at least my original version that pre-dates most others) but only in WIN32.
Do You think it makes sense to use the 64 bit Lazarus ?
I never tried ..
usually using latest Lazarus release version with Windows 10

Thaddy

  • Hero Member
  • *****
  • Posts: 14373
  • Sensorship about opinions does not belong here.
Re: Compiling a .dll
« Reply #46 on: December 23, 2017, 02:13:57 pm »
There are 64bit ASIO drivers, so yes..
Object Pascal programmers should get rid of their "component fetish" especially with the non-visuals.

PeterX

  • Sr. Member
  • ****
  • Posts: 404
Re: Compiling a .dll
« Reply #47 on: December 23, 2017, 04:59:24 pm »
There are 64bit ASIO drivers, so yes..
Is the 64 bit ASIO SDK from Steinberg also available as Pascal sources anywhere ?
usually using latest Lazarus release version with Windows 10

avra

  • Hero Member
  • *****
  • Posts: 2514
    • Additional info
Re: Compiling a .dll
« Reply #48 on: December 24, 2017, 11:08:32 pm »
Delphi ASIO and VST packages have already been ported to CodeTyphon:
http://www.pilotlogic.com/sitejoom/index.php/113-wiki/ct-packages/audio-and-video/237-pl-asiovst
You can use ct2laz to download CodeTyphon components and examples and convert them to Lazarus.

btw, it would be better to wait a few days for a new version of ct2laz which will be compatible with latest CT 6.30.

EDIT: Somehow instead of adding new message I have modified this old message. Hopefully this message is now reconstructed according to the original.
« Last Edit: January 01, 2018, 03:24:46 pm by avra »
ct2laz - Conversion between Lazarus and CodeTyphon
bithelpers - Bit manipulation for standard types
pasettimino - Siemens S7 PLC lib

PeterX

  • Sr. Member
  • ****
  • Posts: 404
Re: Compiling a .dll
« Reply #49 on: December 25, 2017, 10:33:47 pm »
Delphi ASIO and VST packages have already been ported to CodeTyphon:
http://www.pilotlogic.com/sitejoom/index.php/113-wiki/ct-packages/audio-and-video/237-pl-asiovst
You can use ct2laz to download CodeTyphon components and examples and convert them to Lazarus.

btw, it would be better to wait a few days for a new version of ct2laz which will be compatible with latest CT 6.30.
Thanks a lot for this hint !

I already have a running Delphi host application and plugins.
My problem was to make the plugins compile and run under Lazarus.
Now some of them do work, some less perfect ..
But everything still under 32 bit Lazarus.
usually using latest Lazarus release version with Windows 10

avra

  • Hero Member
  • *****
  • Posts: 2514
    • Additional info
Re: Compiling a .dll
« Reply #50 on: January 01, 2018, 03:22:26 pm »
Quote
btw, it would be better to wait a few days for a new version of ct2laz which will be compatible with latest CT 6.30.
New ct2laz is out. It handles latest CT 6.30+ components and examples correctly.  8)
ct2laz - Conversion between Lazarus and CodeTyphon
bithelpers - Bit manipulation for standard types
pasettimino - Siemens S7 PLC lib

PeterX

  • Sr. Member
  • ****
  • Posts: 404
Re: Compiling a .dll
« Reply #51 on: January 01, 2018, 09:37:48 pm »
New ct2laz is out. It handles latest CT 6.30+ components and examples correctly.  8)
Thank You, I will look into it !

Do You work on VST plugins or audio software ?
usually using latest Lazarus release version with Windows 10

avra

  • Hero Member
  • *****
  • Posts: 2514
    • Additional info
Re: Compiling a .dll
« Reply #52 on: January 02, 2018, 12:58:29 am »
Do You work on VST plugins or audio software ?
No, sorry. I use FFT, IFFT and direct wave synthesis for other purposes, but so far my roads did not cross with VST.
ct2laz - Conversion between Lazarus and CodeTyphon
bithelpers - Bit manipulation for standard types
pasettimino - Siemens S7 PLC lib

PeterX

  • Sr. Member
  • ****
  • Posts: 404
Re: Compiling a .dll
« Reply #53 on: January 04, 2018, 11:38:06 pm »
Delphi ASIO and VST packages have already been ported to CodeTyphon:
http://www.pilotlogic.com/sitejoom/index.php/113-wiki/ct-packages/audio-and-video/237-pl-asiovst
You can use ct2laz to download CodeTyphon components and examples and convert them to Lazarus.
Thanks a lot, avra !

The "Delphi ASIO and VST packages" from CodeTyphon does not fully work after converting it with ct2laz.
There is a new Project type called "VST plugin" being created. It throws an error on saving, due to wrong *.ppr instead of *.lpr

And there's no working VST plugin template. But I'm getting closer.
I already have a working example, inside the old ASIO-VST package 1.0
Needs some cleanup, then I will upload it here : http://forum.lazarus.freepascal.org/index.php/topic,39494.0.html
usually using latest Lazarus release version with Windows 10

avra

  • Hero Member
  • *****
  • Posts: 2514
    • Additional info
Re: Compiling a .dll
« Reply #54 on: January 05, 2018, 09:10:02 am »
The "Delphi ASIO and VST packages" from CodeTyphon does not fully work after converting it with ct2laz.
There is a new Project type called "VST plugin" being created. It throws an error on saving, due to wrong *.ppr instead of *.lpr
Find file "allAsioVSTRegisterIDE.pas" and replace ppr with lpr in this line:
Code: Pascal  [Select][+][-]
  1. MainFile := AProject.CreateProjectFile('VSTPlugin1.ppr');
Then rebuild Lazarus IDE and report here if the problem was fixed. ct2laz was intended to fix compilation issues, not to fix issues with new project types. Anyway, in case of positive feedback I will update CSV file so this will be fixed and not happen in the future.

And there's no working VST plugin template.
If you have left default options in ct2laz, it would have downloaded and extracted both components (in "typhon" directory) and examples (in "CodeOcean" directory). I found "CodeOcean\pl_ASIOVST\samples\GUI" directory full of examples:
Code: Pascal  [Select][+][-]
  1. AudioDataDisplay\
  2. EQ-Graph\
  3. EQ-Slide\
  4. Fader Test\
  5. Label\
  6. LEDs\
  7. Media Buttons\
  8. Mega Demo\
  9. MidiKeys\
  10. Select Box\
  11. Sphere\
  12. StaticWaveform\
Is that what you're looking for?
« Last Edit: January 05, 2018, 09:22:48 am by avra »
ct2laz - Conversion between Lazarus and CodeTyphon
bithelpers - Bit manipulation for standard types
pasettimino - Siemens S7 PLC lib

PeterX

  • Sr. Member
  • ****
  • Posts: 404
Re: Compiling a .dll
« Reply #55 on: January 05, 2018, 11:52:18 am »
I found "CodeOcean\pl_ASIOVST\samples\GUI" directory full of examples:
Code: Pascal  [Select][+][-]
  1. AudioDataDisplay\
  2. EQ-Graph\
  3. EQ-Slide\
  4. Fader Test\
  5. ...
  6.  
Is that what you're looking for?

This are test projects only to test GUI objects delivered with the package.

But, no problem, I hope to be able to fix the problems left, in the Code Typhon ASIO-VST 1.3 package.
My TestPlugin from VST-ASIO 1.0 Delphi package works now, with both Delphi 5 and Lazarus 1.8  :D
(.. but currently only under the old 1.0 files)
« Last Edit: January 05, 2018, 11:58:29 am by PeterX »
usually using latest Lazarus release version with Windows 10

PeterX

  • Sr. Member
  • ****
  • Posts: 404
Re: Compiling a .dll
« Reply #56 on: January 05, 2018, 12:20:08 pm »

I was wrong, sorry !

It is  *.lpi  !
« Last Edit: January 05, 2018, 08:48:53 pm by PeterX »
usually using latest Lazarus release version with Windows 10

avra

  • Hero Member
  • *****
  • Posts: 2514
    • Additional info
Re: Compiling a .dll
« Reply #57 on: January 05, 2018, 03:44:25 pm »
My TestPlugin from VST-ASIO 1.0 Delphi package works now, with both Delphi 5 and Lazarus 1.8  :D
I am glad you worked it out  ;)

Find file "allAsioVSTRegisterIDE.pas" and replace ppr with lpr in this line:
Code: Pascal  [Select][+][-]
  1. MainFile := AProject.CreateProjectFile('VSTPlugin1.ppr');
I was wrong, sorry !
It is  *.lpi  !
Are you sure? PPR is CT counterpart for Lazarus LPR, and I could find PPR mentioned at one place in code as above, but CTPR is CT counterpart for Lazarus LPI and I could not find any part of pl_ASIOVST package code that mentions CTPR.
I think that it is normal that Lazarus asks you to save LPI, but after applying a fix mentioned above and rebuilding IDE, you should be able to save now because PPR is properly replaced with LPR. please try and report.
ct2laz - Conversion between Lazarus and CodeTyphon
bithelpers - Bit manipulation for standard types
pasettimino - Siemens S7 PLC lib

PeterX

  • Sr. Member
  • ****
  • Posts: 404
Re: Compiling a .dll
« Reply #58 on: January 05, 2018, 04:36:46 pm »
Are you sure?
If You convert the package yourself to Laz .. (You don't need to become a VST Plugin developer now ..)

When creating a new "VST Plugin" project it's not saved (as designed).
Now try to save the project. With the "preset" *.ppr You get an error message.
("Project-Info-File has same name as main source file" or how to translate the error message to english ..)

Then if You manually change the ending to *.lpi  in the FileSave dialog ..
... it saves the project (it's an XML file) and then the main unit.pas
(and also the main project file, unfortunately as *.ppr)

I saw that instead of *.dpr (like Delphi) or *.lpr  it saves the "library VSTPlugin1;"  as *.ppr

Please see screenshot.
« Last Edit: January 05, 2018, 04:40:15 pm by PeterX »
usually using latest Lazarus release version with Windows 10

PeterX

  • Sr. Member
  • ****
  • Posts: 404
Re: Compiling a .dll
« Reply #59 on: January 05, 2018, 08:47:27 pm »
Okay... it IS  *.lpr ....  :-[

Now it works, creating a new VST Plugin project.
« Last Edit: January 05, 2018, 11:16:11 pm by PeterX »
usually using latest Lazarus release version with Windows 10

 

TinyPortal © 2005-2018