Recent

Author Topic: ZXing  (Read 2124 times)

DonAlfredo

  • Hero Member
  • *****
  • Posts: 1014
ZXing
« on: June 30, 2018, 11:18:07 am »
Just to inform you.
I have ported the ZXing library towards FPC and Lazarus.

https://github.com/LongDirtyAnimAlf/ZXing.Delphi

Included are working demo's for Windows and Lazarus.
https://github.com/LongDirtyAnimAlf/ZXing.Delphi/tree/v_3.0/Lazarus

Please note.
This library makes extended use of generics.
ZXing library and demo's have been tested with FPC trunk and Lazarus trunk only.
« Last Edit: July 07, 2018, 02:06:53 pm by DonAlfredo »

af0815

  • Full Member
  • ***
  • Posts: 171
Re: ZXing
« Reply #1 on: June 30, 2018, 02:39:54 pm »
Thx to DonAlfredo for his work.

I have done a try one year ago, but it was not successfull. So i know how much work it is, and how tricky some generic routines are programmed.
regards
Andreas

DonAlfredo

  • Hero Member
  • *****
  • Posts: 1014
Re: ZXing
« Reply #2 on: June 30, 2018, 03:02:36 pm »
You are welcome !

Porting was not that hard: the new Delphi compatible Generics made life much easier than before. Besides, the new source is still Delphi compatible !

I use this ZXing port for desktops together with an Android app that also scans qr-codes with the help of the native Java ZXing library.

All done with FPC and Lazarus and LAMW and Generics !!!

af0815

  • Full Member
  • ***
  • Posts: 171
Re: ZXing
« Reply #3 on: June 30, 2018, 03:36:55 pm »
I have seen you work with v4l2. Some Cameras are only working with gstreamer.

Have you experience with gstreamer too ? I have not found any ported header, nor a project in Lazarus/Freepascal using this library for video and shooting still pictures.

 
regards
Andreas

Xor-el

  • Full Member
  • ***
  • Posts: 204
Re: ZXing
« Reply #4 on: June 30, 2018, 03:47:49 pm »
Just to inform you.
I have ported the ZXing library towards FPC and Lazarus.

https://github.com/LongDirtyAnimAlf/ZXing.Delphi

Included are working demo's for Windows and Lazarus.
https://github.com/LongDirtyAnimAlf/ZXing.Delphi/tree/v_3.0/Lazarus

Please note.
This library makes extended use of generics.
ZXing library and demo's have been tested with FPC trunk and Lazarus trunk only.

Edit:
Binaries for testing: https://github.com/LongDirtyAnimAlf/ZXing.Delphi/releases/tag/v3.5a

splendid, that's all I can say.
Good Job.
One Less Library to make FPC Compatible.  :D

Quick Question.
Is it possible for you to submit your changes as a pull request to the original repository.
it will make it less work to keep them in sync when the original repository makes an update.

Once again, well done and thanks.

DonAlfredo

  • Hero Member
  • *****
  • Posts: 1014
Re: ZXing
« Reply #5 on: July 03, 2018, 01:41:57 pm »
Small update.

Done: unit tests have been added.
Todo: solve some memory leaks.

Quote
Is it possible for you to submit your changes as a pull request to the original repository.

If I am ready with my work on this library, I will ask the original author.
However, I think changes are dim, due to the many changes.
Delphi compatibility is still maintained, so that will not be a show-stopper.

Quote
Have you experience with gstreamer too ?

No, I don't. Due to my limited time, I have to restricts my efforts to my current use of this lib.

DonAlfredo

  • Hero Member
  • *****
  • Posts: 1014
Re: ZXing
« Reply #6 on: July 07, 2018, 01:58:08 pm »
The work has been done.
ZXing has been ported 100%.
Consumed more effort due to memory-leaks: source had to be de-"ARC"-ed (ARC=auto-ref-count).

Two simple demo binaries (for Windows) are available:
https://github.com/LongDirtyAnimAlf/ZXing.Delphi/releases/latest

I have asked the author to have the two projects merged.