Writing device adapters for micro-manager 2.0

I’m really happy that 2.0 is now out of beta and in master brach, so I’d like to migrate to it. Could you please give a hit on how to build device adapters to work with 2.0? What is difference from 1.4? Simple copy-paste a working dll did not work.

Hi Sergey,

The device adapter (C++) classes have not changed since Micro-Manager 1.4. They are however compiled for a specific version of Micro-Manager, which is the reason why you cannot just copy the .dll.

In short, assuming that you built your custom device adapter for Micro-Manager 1.4 in the past:

  • download the source code (e.g. from Github) of the version you want, likely the latest Micro-Manager 2.0.0-gamma right now (master branch)
  • copy the device adapter Visual Studio project from your Micro-Manager 1.4 (source-code) into the DeviceAdapters folder of the (new) Micro-Manager source-code
  • make sure you have the MMDevice/MMDevice-SharedRuntime.vcxproj project as a dependency in the visual studio project
  • build the device adapter (as a release for 64bits) and copy the resulting .dll to your Micro-Manager 2.0.0-gamma installation folder

There are probably some resources around with a step by step around. In particular in the past Visual Studio was difficult to set up properly for Windows 10. Maybe Mark or Nico have links to relevant wiki pages.

In addition to @jdeschamps’ excellent reply, the device adapters are binary compatible between 1.4 and 2.0. However, note that the device interface version have to match, this version updates whenever a change to the device interface is made. So, if you compile your adapter against the current sources of 1.4, it should work in the latest nightly build of 2.0.