Changes in libuca 1.1 ===================== Plugin System ------------- A new plugin manager is used to instantiate camera objects from a shared library. Instead of calling `uca_camera_new`, a plugin manager is created that looks in pre- and user-defined directories for DSOs that match `libuca[A-Za-z].so` and used to instantiate: UcaPluginManager *manager; UcaCamera *camera; manager = uca_plugin_manager_new (); camera = uca_plugin_manager_get_camera (manager, "foo", &error); The plugin manager adds a dependency on GModule (pkg-config package `gmodule-2.0`) that is part of GLib. Changes in libuca 1.0 aka 0.6 ============================= GObject Type System ------------------- Instead of using a home-grown type and class system, we switched to the GObject system as part of GLib. This effort has the advantage of much more typesafe properties and better signal and closure handling. Most of the ideas and approaches of libuca 0.5 have been transfered. However, instead of trying to initialize each camera first and having the user decide what to use, the user must now determine the used camera at compile time or use the factory pattern to delegate this to run-time. Tango Wrapper ------------- The old Tango wrapper has been superseded by a generic one that proxies GObject's to the Tango bus. This makes things a lot easier, for example reacting on remote property setting and more robust type safety. The wrapper is developed as an external project at ISS by Volker Kaiser. Changes in libuca 0.5.0 ======================= - Put work under LGPL 2.1 - Adapt cameras/ipe.c to support the current driver API - Adapt cameras/pco.c to support libpco 0.3 - API changes - new enum type uca_buffer_status - uca_cam_grab_callback()s have to return uca_buffer_status - typedef all types - New symbols: - uca_cam_release_buffer()