De release van de catalogus MyLibrary 4.0 is voltooid. De programmacode is geschreven in de programmeertaal C++ en is beschikbaar (GitHub, GitFlic) onder de GPLv3-licentie. De grafische gebruikersinterface is gerealiseerd met behulp van de GTK4-bibliotheek. Het programma is aangepast voor gebruik op besturingssystemen van de Linux-familie en Windows. Voor Arch Linux-gebruikers is er een kant-en-klaar pakketbouwscript beschikbaar in AUR. Voor Windows-gebruikers is er een experimentele installer beschikbaar.
MyLibrary catalogiseert boekbestanden in de formaten fb2, epub, pdf, djvu, zowel direct beschikbaar als verpakt in archieven (zip, 7z, jar, cpio, iso, tar, tar.gz, tar.bz2, tar.xz, rar), en creëert een eigen database zonder de originele bestanden te wijzigen of hun posities te veranderen. De integriteitscontrole van de collectie en de wijzigingen daarin wordt uitgevoerd door het creëren van een database van hash-sommen van bestanden en archieven.
Er is een zoekfunctie voor boeken op verschillende criteria (achternaam, voornaam, tweede naam van de auteur, titel van het boek, serie, genre) en hun leesbaarheid via het programma dat standaard is ingesteld in het systeem voor het openen van de overeenkomstige bestandsformaten. Bij het selecteren van een boek worden de samenvatting en de cover van het boek weergegeven, indien beschikbaar. Het tonen van de lijst met bestanden die deel uitmaken van de collectie, de lijst met boeken die in een specifiek bestand zitten, de lijst met auteurs van de collectie en de lijst met boeken waarvoor de gebruiker aantekeningen heeft gemaakt, wordt ook ondersteund.
Verschillende bewerkingen op de collectie zijn mogelijk: bijwerken (de volledige collectie wordt gecontroleerd en de hash-sommen van beschikbare bestanden worden vergeleken), snelle update (zonder het opnieuw berekenen van hash-sommen), exporteren en importeren van de collectie-database, boeken toevoegen aan de collectie en boeken verwijderen uit de collectie, mappen met boeken aan de collectie toevoegen, archieven met boeken aan de collectie toevoegen, boeken uit de collectie naar een willekeurige map kopiëren, en boeken van de ene collectie naar de andere verplaatsen. Handmatige bewerking van boekvermeldingen in de database is beschikbaar. Er is een bladwijzermechanisme gecreëerd voor snelle toegang tot boeken. Gebruikers kunnen optioneel notities aan boeken toevoegen. Een interface voor het creëren en aansluiten van plugins is optioneel beschikbaar. Documentatie over de bibliotheken MLBookProc en MLPluginIfc (deel van het project) kan worden geopend als deze tijdens de bouw is gemaakt.
Belangrijke wijzigingen:
- Functies voor het werken met collecties, bladwijzers en notities zijn ondergebracht in een aparte bibliotheek MLBookProc (kan als een volledig onafhankelijk project worden gebruikt).
- Een optionele interface voor het creëren en aansluiten van plugins is toegevoegd (MLPluginIfc).

- Volledige ondersteuning voor multithreading op basis van OpenMP is gegarandeerd (er zijn twee functioneel equivalente bouwopties beschikbaar: op basis van OpenMP of op basis van std::thread).
- De werking van de OpenMP-bouwvariant is verbeterd (zie README).
- De belastingverdeling op de CPU in de std::thread-bouwvariant is verbeterd.
- De mogelijkheid om persoonlijke notities aan boeken toe te voegen is toegevoegd.

- De functie om de auteurs van de collectie weer te geven is toegevoegd.

- De functie om boeken van de collectie met persoonlijke notities weer te geven is toegevoegd.
- De functies voor het parseren van XML-gebonden bestanden zijn herzien.
- Fouten bij het werken met boeken in djvu-formaat zijn verholpen.
- De mogelijkheid om de kleur van de rand van Gtk::Frame-widgets in te stellen is toegevoegd (gebruikers die de weergave-instellingen hebben gewijzigd, moeten handmatig de invoeging «#MLFrame {border-color: black;}» in het bestand ~/ .config/MyLibrary/MLStyles.css toevoegen, of dit bestand verwijderen en de weergave-instellingen opnieuw configureren).
- Documentatie voor de MLBookProc-bibliotheek is gemaakt.

- Documentatie voor MLPluginIfc is gemaakt.
- De build-optie USE_TBB is verwijderd (de tbb-bibliotheek wordt nu automatisch gekoppeld indien nodig).
- Andere kleine wijzigingen en verbeteringen.
Daarnaast kan de release van de plugin MLInpxPlugin worden opgemerkt. Deze plugin is bedoeld voor het importeren van boekencollecties vanuit bestanden in het formaat «inpx» en is beschikbaar (altlinux.space, GitHub) onder de GPLv3-licentie. Voor Arch Linux-gebruikers is er een kant-en-klaar build-script in AUR geplaatst. Voor Windows-gebruikers is een experimentele installatiewizard voorbereid.
Bron: opennet.ru




