Se lanzó la versión 4.0 del catalogador de bibliotecas domésticas MyLibrary. El código del programa está escrito en C++ y está disponible (GitHub, GitFlic) bajo la licencia GPLv3. La interfaz gráfica de usuario se implementó utilizando la biblioteca GTK4. El programa está adaptado para funcionar en sistemas operativos de la familia Linux y Windows. Para los usuarios de Arch Linux, hay un script de construcción listo disponible en AUR. Para los usuarios de Windows, hay un instalador experimental disponible.
MyLibrary catalogar archivos de libros en formatos fb2, epub, pdf, djvu, tanto disponibles directamente como empaquetados en archivos (zip, 7z, jar, cpio, iso, tar, tar.gz, tar.bz2, tar.xz, rar), y crea su propia base de datos sin modificar los archivos originales ni su ubicación. El control de integridad de la colección y sus cambios se realiza mediante la creación de una base de datos de los hash de archivos y archivos comprimidos.
Se pueden realizar diversas operaciones con la colección: actualización (se verifica toda la colección y se comparan los hashes de los archivos disponibles), actualización rápida (se comparan los tamaños de los archivos), exportación e importación de la base de datos de la colección, adición de libros a la colección y eliminación de libros de la colección, adición de carpetas con libros a la colección, adición de archivos comprimidos con libros a la colección, copia de libros de la colección a cualquier carpeta. Se permite la edición manual de registros de libros en la base de datos. Se ha creado un mecanismo de marcadores para el acceso rápido a los libros. Hay posibilidad de crear notas personalizadas para los libros. Se proporciona una interfaz para crear y conectar complementos.
Se pueden realizar varias operaciones con la colección: actualización (se verifica toda la colección y se comparan los hash de los archivos disponibles), actualización rápida (sin recalcular los hashes), exportación e importación de la base de datos de la colección, adición de libros a la colección y eliminación de libros de la colección, adición de carpetas con libros a la colección, adición de archivos comprimidos con libros a la colección, copia de libros de la colección a cualquier carpeta, y movimiento de libros de una colección a otra. Se permite la edición manual de entradas de libros en la base de datos. Se creó un mecanismo de marcadores para un acceso rápido a los libros. También es posible crear notas personalizadas para los libros. Opcionalmente, hay una interfaz para crear y conectar plugins. Existe la posibilidad de abrir la documentación de las bibliotecas MLBookProc y MLPluginIfc (que forman parte del proyecto), si se ha creado durante el proceso de construcción.
Cambios significativos:
- Las funciones para trabajar con colecciones, marcadores y notas se han separado en una biblioteca independiente MLBookProc (que puede ser utilizada como un proyecto completamente independiente).
- Se añadió una interfaz opcional para crear y conectar plugins (MLPluginIfc).

- Se ha proporcionado soporte completo para multiproceso basado en OpenMP (hay dos versiones equivalentes en funcionalidad de construcción: basada en OpenMP o basada en std::thread).
- Se ha mejorado el funcionamiento de la versión de construcción basada en OpenMP (ver README).
- Se ha mejorado el equilibrio de carga en la CPU en la versión de construcción basada en std::thread.
- Se agregó la posibilidad de crear notas personalizadas para los libros.

- Se agregó la función de mostrar los autores de la colección.

- Se agregó la función de mostrar los libros de la colección con notas personalizadas.
- Se han reestructurado las funciones de análisis de archivos con formato XML.
- Se han corregido errores en el trabajo con libros en formato djvu.
- Se ha añadido la posibilidad de configurar el color del marco de los widgets Gtk::Frame (los usuarios que hayan modificado la configuración del diseño deberán añadir manualmente en el archivo ~/.config/MyLibrary/MLStyles.css la inserción «#MLFrame {border-color: black;}», o eliminar dicho archivo y volver a configurar el diseño desde cero).
- Se ha creado la documentación para la biblioteca MLBookProc.

- Se ha creado la documentación para MLPluginIfc.
- Se ha eliminado la opción de compilación USE_TBB (ahora la conexión con la biblioteca tbb se realiza automáticamente si es necesario).
- Otros pequeños cambios y mejoras.
Además, se puede mencionar el lanzamiento del plugin MLInpxPlugin. Este plugin está diseñado para importar colecciones de libros desde archivos en formato «inpx» y está disponible (altlinux.space, GitHub) bajo la licencia GPLv3. Para los usuarios de Arch Linux, se ha publicado un script de compilación del paquete en AUR. Para los usuarios de Windows, se ha preparado un instalador experimental.
Fuente: opennet.ru




