MBarcode

mBarcode is an application which allows the user to scan barcodes using the device camera and then use the data they contain. mBarcode has a history list which remembers the last 10 scanned barcodes (images and data). mBarcode's barcode payload (i.e. the data encoded in the barcode) handling is implemented through a system of plugins, which you can add to.

Contents

Barcode Types

mBarcode uses ZBar and libdmtx to perform the barcode decoding.

Currently handled barcode types

1D

  • EAN-13/UPC-A (ZBar)
  • UPC-E (ZBar)
  • EAN-8 (ZBar)
  • Code 128 (ZBar)
  • Code 39 (ZBar)
  • Interleaved 2 of 5 (ZBar)

2D

  • Data matrix (libdmtx)
  • QR Code (ZBar)

Other barcode types

Please add other barcode types below and we will fill in the status/likelihood of them being added.

1D

PDF417 - work in progress in ZBar

2D

Post PR1.3 issues

Some users have reported problems loading plugins after upgrading their N900 device to PR1.3. A reinstall of the mbarcode package and the plugin packages (just reinstall mbarcode-plugins-all to fetch all default ones) has been reported to fix this issue.

With PR1.3 and the newest packages, mbarcode should work fine.

Developers

Plugins

The mBarcode plugin API allows users to write plugins in Qt/C++ or Qt/Python. When a barcode is decoded, the type of barcode and data are passed to the plugins so that they can begin processing if they are interested. The user is then presented with a dialog showing the names of the plugins that are interested, and can select which one to open by clicking on the list.

At this point the plugin in question is informed that it has been selected and is free to open a window or do other processing to handle the barcode payload.

If you would like to get started on developing plugins for mBarcode, please check out our tutorial.