Foi lançado o catalogador de biblioteca doméstica MyLibrary 4.0. O código do programa foi escrito na linguagem de programação C++ e está disponível (GitHub, GitFlic) sob a licença GPLv3. A interface gráfica do usuário foi implementada com a biblioteca GTK4. O programa é compatível com sistemas operacionais da família Linux e Windows. Para usuários do Arch Linux, há um script de construção de pacote disponível no AUR. Para usuários do Windows, um instalador experimental está disponível.
MyLibrary catalogará arquivos de livros nos formatos fb2, epub, pdf, djvu, disponíveis tanto diretamente quanto empacotados em arquivos (zip, 7z, jar, cpio, iso, tar, tar.gz, tar.bz2, tar.xz, rar), e criará seu próprio banco de dados, sem modificar os arquivos de origem e sem alterar sua localização. A integridade da coleção e suas alterações são controladas por meio da criação de um banco de dados de somas de verificação de arquivos e arquivos compactados.
Foi implementada a busca de livros por vários critérios (sobrenome, nome, patronímico do autor, título do livro, série, gênero) e sua leitura através do programa, que está definido como padrão no sistema para abrir os formatos de arquivo correspondentes. Ao selecionar um livro, uma sinopse e a capa do livro são exibidas, se disponíveis. O suporte para exibir a lista de arquivos que fazem parte da coleção; a lista de livros que fazem parte de um arquivo específico; a lista de autores da coleção; a lista de livros para os quais o usuário criou notas é mantido.
Operações diversas são possíveis com a coleção: atualização (verifica toda a coleção e compara as somas de verificação dos arquivos disponíveis), atualização rápida (sem recalcular as somas de verificação), exportação e importação do banco de dados da coleção, adição de livros à coleção e remoção de livros da coleção, adição de pastas com livros à coleção, adição de arquivos compactados com livros à coleção, cópia de livros da coleção para uma pasta arbitrária, movimentação de livros de uma coleção para outra. Edição manual de registros de livros no banco de dados está disponível. Um mecanismo de bookmarks foi criado para acesso rápido aos livros. É possível criar notas personalizadas para os livros. Uma interface opcional para criação e conexão de plugins está disponível. A documentação para as bibliotecas MLBookProc e MLPluginIfc (que fazem parte do projeto) pode ser acessada, caso tenha sido criada durante o processo de construção.
Mudanças significativas:
- As funções para trabalhar com coleções, bookmarks e notas foram transferidas para uma biblioteca separada MLBookProc (pode ser usada como um projeto totalmente independente).
- Uma interface opcional para criação e conexão de plugins (MLPluginIfc) foi adicionada.

- Suporte completo para multithreading baseado em OpenMP foi garantido (duas opções de construção equivalentes em funcionalidade estão disponíveis: com OpenMP ou com std::thread).
- O funcionamento da versão de construção baseada em OpenMP foi melhorado (veja README).
- Melhorou o balanceamento de carga no CPU na versão de construção baseada em std::thread.
- Foi adicionada a possibilidade de criar notas personalizadas para os livros.

- Uma função para exibir os autores da coleção foi adicionada.

- Uma função para exibir os livros da coleção com notas personalizadas foi adicionada.
- As funções de análise de arquivos com marcação XML foram reformuladas.
- Erros no funcionamento com livros no formato djvu foram corrigidos.
- Adicionada a possibilidade de configurar a cor da borda dos widgets Gtk::Frame (os usuários que alteraram as configurações de aparência devem adicionar manualmente no arquivo ~/.config/MyLibrary/MLStyles.css a inserção «#MLFrame {border-color: black;}», ou remover este arquivo e configurar a aparência novamente).
- Documentação criada para a biblioteca MLBookProc.

- Documentação criada para MLPluginIfc.
- A opção de compilação USE_TBB foi removida (agora, a conexão com a biblioteca tbb é feita automaticamente, se necessário).
- Outras pequenas mudanças e melhorias.
Além disso, vale mencionar o lançamento do plugin MLInpxPlugin. O plugin é destinado à importação de coleções de livros de arquivos no formato «inpx» e está disponível (altlinux.space, GitHub) sob a licença GPLv3. Para os usuários do Arch Linux, um script de compilação do pacote está disponível no AUR. Um instalador experimental foi preparado para os usuários do Windows.
Fonte: opennet.ru




