È stata rilasciata la versione 4.0 del catalogatore di biblioteche domestiche MyLibrary. Il codice del programma è scritto in C++ ed è disponibile (GitHub, GitFlic) sotto licenza GPLv3. L'interfaccia grafica è realizzata utilizzando la libreria GTK4. Il programma è adattato per funzionare sui sistemi operativi delle famiglie Linux e Windows. Per gli utenti di Arch Linux è disponibile un pacchetto pronto all'uso nella AUR. Gli utenti di Windows possono utilizzare un installer sperimentale.
MyLibrary cataloga file di libri nei formati fb2, epub, pdf, djvu, sia direttamente disponibili che compressi in archivi (zip, 7z, jar, cpio, iso, tar, tar.gz, tar.bz2, tar.xz, rar), creando un proprio database senza modificare i file sorgente e senza cambiarne la posizione. Il controllo dell'integrità della collezione e delle sue modifiche avviene attraverso la creazione di un database di hash dei file e degli archivi.
È stata implementata una ricerca di libri in base a vari criteri (cognome, nome, patronimico dell'autore, titolo del libro, serie, genere) e la loro lettura tramite il programma predefinito nel sistema per aprire i formati di file corrispondenti. Quando si seleziona un libro, vengono visualizzati il riepilogo e la copertina del libro, se disponibili. È supportata la visualizzazione dell'elenco dei file inclusi nella collezione; l'elenco dei libri contenuti in un determinato file; l'elenco degli autori della collezione; l'elenco dei libri per cui l'utente ha creato note.
È possibile eseguire diverse operazioni sulla collezione: aggiornamento (viene eseguita un controllo dell'intera collezione e il confronto delle somme di hash dei file disponibili), aggiornamento rapido (senza ricalcolo delle somme di hash), esportazione e importazione del database della collezione, aggiunta di libri alla collezione e rimozione di libri dalla collezione, aggiunta di cartelle contenenti libri alla collezione, aggiunta di archivi contenenti libri alla collezione, copia dei libri della collezione in una cartella a scelta, spostamento di libri da una collezione a un'altra. È disponibile la modifica manuale delle schede sui libri nel database. È stato creato un meccanismo di segnalibri per un accesso rapido ai libri. È possibile creare note personalizzate sui libri. È disponibile un'interfaccia opzionale per la creazione e l'integrazione di plugin. È possibile aprire la documentazione delle librerie MLBookProc e MLPluginIfc (inclusa nel progetto), se creata durante il processo di compilazione.
Modifiche significative:
- Le funzioni per lavorare con collezioni, segnalibri e note sono state estratte in una libreria separata MLBookProc (può essere utilizzata come progetto completamente indipendente).
- È stata aggiunta un'interfaccia opzionale per la creazione e l'integrazione di plugin (MLPluginIfc).

- È garantito il pieno supporto per il multithreading basato su OpenMP (sono disponibili due versioni equivalenti in termini di funzionalità: basate su OpenMP o su std::thread).
- Migliorato il funzionamento della versione basata su OpenMP (vedi README).
- Ottimizzata la bilanciatura del carico sulla CPU nella versione basata su std::thread.
- Aggiunta la possibilità di creare note personalizzate sui libri.

- Aggiunta la funzione di visualizzazione degli autori della collezione.

- Aggiunta la funzione di visualizzazione dei libri della collezione con note personalizzate.
- Riviste le funzioni di parsing dei file con markup XML.
- Corretto un errore nella gestione dei libri nel formato djvu.
- Aggiunta la possibilità di personalizzare il colore del bordo dei widget Gtk::Frame (gli utenti che hanno modificato le impostazioni di visualizzazione devono aggiungere manualmente nel file ~/ .config/MyLibrary/MLStyles.css l'inserimento «#MLFrame {border-color: black;}», oppure cancellare questo file e riconfigurare le impostazioni di visualizzazione).
- Creata la documentazione per la libreria MLBookProc.

- Creata la documentazione per MLPluginIfc.
- Rimossa l'opzione di compilazione USE_TBB (se necessario, il collegamento della libreria tbb avviene ora automaticamente).
- Altre piccole modifiche e miglioramenti.
In aggiunta, si segnala il rilascio del plugin MLInpxPlugin. Questo plugin è progettato per importare collezioni di libri da file nel formato "inpx" ed è disponibile (altlinux.space, GitHub) sotto licenza GPLv3. Per gli utenti di Arch Linux, è disponibile uno script di build del pacchetto nell'AUR. Per gli utenti di Windows è disponibile un installer sperimentale.
Fonte: opennet.ru




