MyLibrary 4.3 Home Library Cataloger Released

The MyLibrary 4.3 home library cataloger has been released. The program code is written in the C++ programming language and is available (GitHub, GitFlic) under the GPLv3 license. The graphical user interface is implemented using the GTK4 library. The program is adapted to work on Linux and Windows operating systems. For Arch Linux users, a script for building a finished package is available in the AUR . An experimental installer is available for Windows users .

MyLibrary catalogs book files in fb2, epub, pdf, djvu, odt, txt, md format, both directly accessible and and packaged in archives (zip, 7z, jar, cpio, iso, tar, tar.gz, tar.bz2, tar.xz, rar), and creates its own database without changing the source files or changing their position. The fbd format is also available for cataloging (a book file packaged in an archive along with a file with the fbd extension containing the fb2 format description tag). The fbd format can store any files, not just books. Control of the integrity of the collection and its changes is carried out by creating a database of hash sums of files and archives.

A search for books has been implemented using various criteria (last name, first name, patronymic of the author, book title, series, genre) and reading them through the program installed by default in the system to open the corresponding file formats. When you select a book, the book’s abstract and cover are displayed, if available. Displaying a list of files included in the collection is supported; a list of books included in a specific file; list of collection authors; list of books for which the user has created notes.

Various operations with the collection are possible: updating (the entire collection is checked and the hash sums of available files are checked), quick updating (without recalculating the hash sums), exporting and importing the collection database, adding books to the collection and removing books from the collection, adding folders with books to the collection, adding archives with books to the collection (including packaging books and/or folders in the process of adding), copying books from a collection to an arbitrary folder, moving books from collection to collection. Manual editing of book records in the database is available. A bookmarking mechanism has been created for quick access to books. It is possible to create custom notes for books. An optional interface for creating and connecting plugins is available. It is possible to open documentation for the MLBookProc, MLPluginIfc and XMLParserCPP libraries (included in the project), if it was created during the build process.

Significant changes:

  • Methods for working with XML files have been moved to the XMLParserCPP library (included in the MLBookProc library, can be used completely independently).
  • Created for the XMLParserCPP library documentation.
  • Errors in processing incorrectly formatted XML files have been fixed.
  • The MLBookProc library has been switched to using std::exception as an error indicator.

/Reports, release notes, official announcements.