Commit Graph
33 Commits
Author SHA1 Message Date
Deniz Şafak de4c418dff v1.3.0 2026-02-06 23:54:22 +03:00
Deniz Şafak 950eb317f0 Fixed all pytest errors, enhanced book parser with context management and resource cleanup, update tests for proper parser closure 2026-01-10 00:09:04 +03:00
JB 5b174737ad Merge upstream/main into main
Resolved conflicts:
- CHANGELOG.md: Kept Unreleased section + upstream version history
- README.md: Kept web-first documentation rewrite
- abogen/Dockerfile: Removed (replaced by webui/Dockerfile)
- abogen/{book_handler,conversion,gui,queue_manager_gui,voice_formula_gui}.py: Kept stubs (implementations in pyqt/)
- abogen/main.py: Kept web UI launcher
- abogen/utils.py: Kept version with optional chardet imports
- pyproject.toml: Merged dependencies (kept Flask, gpustat, httpx for web UI + pip from upstream)
2025-12-22 11:50:47 -08:00
JB e2b2f610a6 feat: Additive merge of webui branch with PyQt GUI support
- Add abogen/pyqt/ package with full PyQt6 desktop GUI
- Restore PyQt GUI files (gui.py, book_handler.py, queue_manager_gui.py, voice_formula_gui.py, conversion.py)
- Add new shared modules from webui: book_parser.py, subtitle_utils.py, spacy_utils.py
- Add Linux libraries (libxcb-cursor) for Qt platform plugin support
- Add new epub parsing tests from webui branch
- Update pyproject.toml with dual entry points:
  - abogen: PyQt6 desktop GUI
  - abogen-web: Flask Web UI
- Add PyQt6 to dependencies
- Re-export PyQt classes from root modules for backwards compatibility
- Merge CHANGELOG.md entries (1.2.0-1.2.5 from webui)
- Update README.md with dual interface documentation

Implements #26 - shared core with separate UI folders
2025-12-22 05:51:21 -08:00
JB 938e122166 feat: Refactor code structure to move web-related components to the webui module and update references accordingly 2025-12-21 08:12:48 -08:00
JB 95d5921e67 feat: Integrate Supertonic TTS provider with configuration options and UI updates; enhance voice handling and settings management 2025-12-20 06:20:33 -08:00
Deniz Şafak 66a97835f0 Update README.md and pyproject.toml for improved installation instructions and development dependencies 2025-12-13 23:03:51 +03:00
Deniz Şafak 56f81ef892 v1.2.5 2025-12-10 03:35:00 +03:00
Deniz Şafak e3cdd1a9ca Fixed Error "Could not load the Qt platform plugin "xcb" mentioned in #101 2025-12-09 04:24:38 +03:00
Deniz Şafak 0820c40b14 uv integration: add optional dependencies and index definitions for CUDA and ROCm configurations 2025-12-08 23:00:57 +03:00
Deniz Şafak e96c19ace6 Fixed the No module named pip error 2025-11-29 13:21:33 +03:00
Deniz Şafak 5ef2612df6 Add spaCy support for improved sentence segmentation, possible fix for #91 2025-11-28 00:49:36 +03:00
JB de0f17cd57 feat: Add Audiobookshelf and Calibre OPDS integration
- Implemented Audiobookshelf integration for uploading audiobooks with metadata, cover, chapters, and subtitles.
- Added configuration options for Audiobookshelf in the settings page, including base URL, API token, library ID, and upload preferences.
- Introduced Calibre OPDS integration for fetching and downloading resources from a Calibre OPDS catalog.
- Enhanced job processing to include post-completion hooks for Audiobookshelf uploads.
- Updated settings template to include new integration options and fields.
- Added utility functions for metadata normalization and chapter extraction.
- Included HTTP client functionality for both Audiobookshelf and Calibre OPDS interactions.
- Updated dependencies to include httpx for HTTP requests.
2025-10-27 17:10:48 -07:00
Deniz Şafak eedf347866 Upgraded Abogen's interface from PyQt5 to PyQt6, Added tooltip indicators in queue manager 2025-10-27 17:08:32 +03:00
JB 93fe48f601 feat: Implement pronunciation store with SQLite backend
- Added a new module for managing pronunciation overrides using SQLite.
- Implemented functions to load, save, search, and delete pronunciation overrides.
- Introduced schema for storing overrides and metadata.
- Added thread-safe access to the database with RLock.
- Created a utility for normalizing tokens for consistent storage and retrieval.

refactor: Overhaul entities step in the preparation wizard

- Renamed Step 3 from "Speakers" to "Entities" across all templates and routes.
- Introduced sub-navigation with tabs for "People", "Entities", and "Manual Overrides".
- Enhanced UI to display detected entities and allow manual overrides for pronunciations.
- Implemented search functionality for manual overrides with AJAX support.
- Updated frontend logic to manage tab interactions and voice selections.

docs: Add detailed plan for entities step overhaul

- Documented requirements, implementation strategies, and testing plans for the entities step.
- Outlined the integration of POS tagging and entity recognition using spaCy.
- Provided a comprehensive overview of the manual overrides workflow and data persistence strategies.
2025-10-11 14:14:19 -07:00
JB be37f03109 Add number normalization and enhance UI for voice preview
- Implemented number conversion to words for grouped numbers in text normalization.
- Added configuration options for number conversion in ApostropheConfig.
- Updated the normalize_apostrophes function to include number normalization.
- Enhanced the dashboard UI with new sections for manuscript and narrator defaults.
- Improved voice preview functionality with better handling of audio playback and status updates.
- Refactored HTML templates for cleaner structure and added new fields for speaker settings.
- Updated CSS styles for improved layout and responsiveness.
- Added tests to ensure correct spelling of grouped numbers in the normalization process.
- Included num2words as a new dependency in pyproject.toml.
2025-10-10 16:12:51 -07:00
JB 02da72434b feat: Implement chapter embedding in m4b files using mutagen and update dependencies 2025-10-07 08:47:18 -07:00
JB e76701ab32 feat: Add allow-direct-references setting to hatch metadata 2025-10-06 16:23:57 -07:00
JB 0d74171bb5 feat: Update en-core-web-sm dependency to use direct URL for installation 2025-10-06 16:19:28 -07:00
JB 477c5055b4 feat: Update environment variables and Docker configuration for cache management and temporary directory settings 2025-10-06 16:14:49 -07:00
JB 2e402f6b5b feat: Enhance voice mixer functionality with language filtering and improved directory management 2025-10-06 06:00:17 -07:00
JB 338ff104e8 feat: Implement conversion service with job management and logging
- Added `ConversionService` class to handle job queuing, processing, and cancellation.
- Introduced `Job`, `JobLog`, and `JobResult` data classes to manage job details and results.
- Implemented job status tracking with enums for better state management.
- Created a web interface with HTML templates for job submission and monitoring.
- Developed CSS styles for a modern UI layout and responsive design.
- Added functionality for voice profile management in the voice mixer.
- Implemented a Docker Compose configuration for GPU support.
- Wrote unit tests for the conversion service to ensure job processing works as expected.
2025-10-05 15:53:33 -07:00
Deniz Şafak 219e2fc6ae Improved the markdown logic 2025-09-17 03:32:13 +03:00
Deniz Şafak 37db948d2f Include Mandarin Chinese (misaki[zh]) by default 2025-07-29 17:14:59 +03:00
Juraj Borza 1ca4d0d5f9 Merge branch 'main' of https://github.com/jborza/abogen 2025-05-03 19:26:46 +02:00
Juraj Borza e09535fa83 Add chapter metadata - added m4b format, generating chapters info and converting via ffmpeg 2025-05-03 19:26:19 +02:00
Deniz Şafak 3a3f6e34e5 Better EPUB handling, improvements in code and docs 2025-05-02 17:33:15 +03:00
Deniz Şafak 04e16722e2 Use platformdirs for finding the desktop path 2025-04-30 16:29:47 +03:00
Deniz Şafak a6bdc9c086 Fixed "'utf-8' codec can't decode byte" error 2025-04-27 11:56:28 +03:00
Deniz Şafak b7c1862651 Added changelog, cli for errors, fixes and improvements in code 2025-04-27 01:21:16 +03:00
Deniz Şafak 8ce1c0e586 switched to hatchling 2025-04-26 19:36:52 +03:00
Deniz Şafak 21034cb48f Add missing information 2025-04-26 02:13:23 +03:00
Deniz Şafak 20da35a137 Initial commit 2025-04-26 01:50:03 +03:00