Deniz Şafak and GitHub
9fa81fbe1e
Merge pull request #160 from JoaGamo/main
...
Fix #152 : preview buttons on webUI
2026-04-30 13:05:44 +03:00
JoaGamo
9fd9fad238
Fall-back to CPU if no compatible device is available
2026-04-21 22:50:59 -03:00
Deniz Şafak and GitHub
ca5c5ee62d
Merge pull request #146 from olandir/131wVoiceTags
...
Voice Tags and Word Substitution Added to Main Script
2026-03-07 01:48:59 +03:00
olandir
e51be95bc1
Update .gitignore
2026-02-28 21:26:57 -05:00
olandir and Claude Sonnet 4.6
2223f46c9e
Port voice marker and word substitution features to upstream refactored structure
...
The upstream project moved PyQt code to abogen/pyqt/ subdirectory, making the
original feature commits non-mergeable. This commit re-applies both features
to the new file locations.
Voice Marker feature (<<VOICE:voice_name>> syntax):
- subtitle_utils.py: Added _VOICE_MARKER_PATTERN, _VOICE_MARKER_SEARCH_PATTERN,
validate_voice_name(), split_text_by_voice_markers() (with valid/invalid counts)
- pyqt/conversion.py: Added load_voice_cached(), voice marker pre-processing before
chapter loop, inner voice segment loop wrapping spaCy+TTS block, updated imports
- pyqt/gui.py: Added Insert Voice Marker button and insert_voice_marker() to TextboxDialog
Word Substitution feature (text preprocessing before TTS):
- word_substitution.py: New module (word replacements, ALL CAPS, numerals, punctuation)
- pyqt/conversion.py: apply_word_substitutions() call after clean_text()
- pyqt/gui.py: WordSubstitutionsDialog, word_sub_combo, Settings button,
on_word_sub_changed(), show_word_sub_dialog(), config persistence, queue restore
- pyqt/queued_item.py: 6 new word substitution fields
- pyqt/queue_manager_gui.py: 6 fields added to OVERRIDE_FIELDS and get_current_attributes()
Note: num2words>=0.5.13 was already added to pyproject.toml by upstream.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-28 21:19:39 -05:00
Deniz Şafak and GitHub
8322f7f416
Merge pull request #128 from vladimir-sol/fix-add-missing-pauses
...
Ensure appropriate speech pauses by adding newlines at epub processing
2026-02-19 14:57:06 +03:00
Vladimir Sol
2c15d2f78a
Ensure appropriate speech pauses by adding newlines at epub processing
2026-02-17 19:59:03 -08:00
Deniz Şafak and GitHub
cc9c2a22ba
Update GitHub Sponsors usernames in FUNDING.yml
2026-02-10 16:14:05 +03:00
Deniz Şafak and GitHub
d1366b445d
Merge pull request #139 from abenea/crash
...
Fix importing chapters in the PyQt UI.
2026-02-08 17:51:56 +03:00
Andrei Benea
c224cdbb56
Fix importing chapters in the PyQt UI.
...
The app was crashing after importing a .txt and clicking convert because of a missing import. Fixed the imports and removed the legacy abogen.conversion module which doesn't seem necessary anymore.
2026-02-08 11:01:31 +01:00
Deniz Şafak
d30415ffe7
Update project version from 1.3.0 to 1.3.1.
v1.3.1
2026-02-07 00:23:08 +03:00
Deniz Şafak and GitHub
083f1eb09b
Update CHANGELOG for version 1.3.0
...
Removed unreleased section and updated version 1.3.0 details.
v1.3.0
2026-02-07 00:04:03 +03:00
Deniz Şafak and GitHub
30929e8f4e
Format pyproject.toml
2026-02-07 00:03:20 +03:00
Deniz Şafak and GitHub
ded73843c9
Merge pull request #136 from denizsafak/webui
...
Merge webui with main
Huge thanks to @jeremiahsb!!
2026-02-06 23:46:03 +03:00
7b1f4f54ee
Update README.md
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-06 23:45:13 +03:00
8cbfc15028
Update CHANGELOG.md
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-06 23:44:52 +03:00
Deniz Şafak
79957d09ed
Fix c10.dll issue in installer script
2026-02-06 23:36:32 +03:00
Deniz Şafak
925ef51edc
Add webui photo
2026-02-06 23:26:16 +03:00
Deniz Şafak
be7c7baa75
Update readme
2026-02-06 23:20:04 +03:00
Deniz Şafak
6ab863e65f
Update README and version
2026-02-06 23:09:49 +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
Deniz Şafak
bd30939d27
Fix "span_text not defined" warning
2026-01-09 22:39:49 +03:00
Deniz Şafak and GitHub
ace1022da4
Merge pull request #126 from mohangk/webui
...
Further refactoring of book_handler logic into PDFParser
2026-01-09 20:50:33 +03:00
Mohan Krishnan
eb7d135bc3
Further refactoring of book_handler logic into PDFParser
...
Also deletes the unnencessary abogen/book_handler and just use pyqt/book_hanlder
2026-01-09 08:44:33 +08:00
Deniz Şafak
5ae153f841
Reformat using black
2026-01-09 01:36:14 +03:00
Deniz Şafak
3c800df450
Performance improvements for voice mixer
2026-01-09 01:30:38 +03:00
Deniz Şafak
fc0af420c6
Handle empty voice list initially
2026-01-09 01:19:39 +03:00
Deniz Şafak
7677f5a1e2
Update installation instructions in README to use editable mode for development
2026-01-08 01:30:43 +03:00
Deniz Şafak and GitHub
0e726b97c4
Merge pull request #120 from jeremiahsb/main
...
feat: Supertonic TTS integration, Docker/GPU enhancements, PyQt support, and comprehensive test suite
2026-01-08 01:03:35 +03:00
JB
b5b157879f
Resolve book_handler conflict: keep PyQt in pyqt/
2026-01-06 16:40:22 -08:00
JB
27041c6475
Merge branch 'feature/additive-merge-webui' into integrate/webui-into-main-20260106-1629
2026-01-06 16:32:03 -08:00
JB
7df4345486
Merge upstream/main into feature branch
...
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
- abogen/main.py: Kept web UI launcher
- abogen/utils.py: Kept optional chardet imports
- pyproject.toml: Merged dependencies (Flask, gpustat, httpx + pip from upstream)
2025-12-22 12:39:05 -08: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
1219b408b5
feat: Update Dockerfile and entrypoint script for CUDA diagnostics and web server startup; adjust PyTorch version and URL handling
2025-12-22 08:54:03 -08:00
JB
b2058ef3ee
fix: Adjust URL handling in CalibreOPDSClient to support base URLs without trailing slashes
2025-12-22 07:27:17 -08:00
JB
d1e0e0a536
feat: Refactor Audiobookshelf and Calibre OPDS integration routes to use helper functions for settings extraction
2025-12-22 06:56:25 -08:00
JB
4272c847f7
feat: Add network mode configuration for Docker in .env and docker-compose
2025-12-22 06:42:00 -08:00
JB
89645682f1
fix: Use abogen-web command in Docker for headless web UI
...
The 'abogen' command now launches the PyQt6 desktop GUI which requires
display libraries not available in Docker containers. Changed the Docker
CMD to use 'abogen-web' which launches the Flask web UI.
2025-12-22 06:17:40 -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
Deniz Şafak and GitHub
76cab1192c
Merge pull request #119 from mohangk/main
...
Extracts book_parser.py from book_handler.py
2025-12-22 11:23:24 +03:00
Mohan Krishnan
1fdd1c8540
Extracts book_parser.py from book_handler.py
...
Extracts out a BaseBookParser, PDFParser and MarkdownParser class from book_handler logic
The basic contract is that the parser classes populate 4 attributes that are used by the book_handler logic
- content_texts
- content_lengths
- book_metatdata
- processed_nav_structures (used by the method get_chapters on the BaseBookParser class)
Adds tests to validate the changes as well in tests/
Run tests from the abogen dir as follows
```bash
python -m unittest discover
```
2025-12-22 13:32:40 +08:00
JB
ede5343e0c
feat: Update job detail and logs routes to return friendly pages instead of 404 errors
2025-12-21 16:21:45 -08:00
JB
63d179ba19
feat: Update GPU configuration to prioritize CUDA and remove TensorRT dependency
2025-12-21 09:04:19 -08:00
JB
90786d2bed
feat: Update Supertonic GPU configuration to include loader patching for ONNX providers
2025-12-21 08:58:51 -08:00
JB
c2209eeb2a
feat: Add GPU configuration for Supertonic to enable acceleration support
2025-12-21 08:51:05 -08:00
JB
899c9f5aa5
feat: Add USE_GPU argument to Dockerfile and docker-compose for GPU support
2025-12-21 08:31:51 -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
5303dcf681
Refactored code to move into the webui folder in order to prep for merging the branch.
2025-12-21 08:06:15 -08:00
JB
b47952b857
feat: Enhance series metadata handling in Calibre OPDS integration and Epub extraction
2025-12-20 20:22:05 -08:00
JB
0fe8ee0ad4
feat: Add pending ID handling and pronunciation/manual overrides to audio preview generation
2025-12-20 17:40:05 -08:00