38885 Commits

Author SHA1 Message Date
Charles Haley
bdaa04430f Enhancement 2120768: up/down arrows for setting metadata edit order
I changed all the row move buttons in Preferences to use the Shift (move 5), Ctrl (move 10), and Ctrl-Shirt (move to end). This involved a fair bit of refactoring. It is possible that I missed the buttons somewhere.
2025-08-17 16:30:23 +01:00
Kovid Goyal
4d0bee8870
Handle log being None when creating container 2025-08-17 09:55:32 +05:30
Kovid Goyal
09cf21fe19
Ignore book details updates from device views when current view is library view 2025-08-13 19:36:52 +05:30
Kovid Goyal
2ee049d9aa
... 2025-08-12 16:23:05 +05:30
Kovid Goyal
158f9b5a6d
update device descriptions from libmtp upstream 2025-08-08 15:34:28 +05:30
Kovid Goyal
af8f8e2432
Prevent Qt from complaining about wildcard disconnect 2025-08-08 12:20:31 +05:30
Kovid Goyal
363d95630b
... 2025-08-08 11:36:11 +05:30
Eli Schwartz
ee2e5374ce
TTS: gracefully handle missing piper support
Third party redistributors might choose to skip distributing this for a
couple reasons:
- missing dependencies
- lack of interest in TTS as a feature

Lay some groundwork for handling this with fewer error message popups.
In particular note that speechd / flite depend on PyQt6 being built with
it, so support *may* appear dynamically after calibre is installed, and
available_engines queries Qt to see what is available. Piper is built
as part of calibre though, and if it has been patched out or skipped
via `setup.py build --only=xxx` we can at least avoid claiming it's
there.

Entrypoints into TTS eventually tend to consolidate into creating the
backend. This gives us one consistent place to raise errors for missing
backends... which however doesn't handle forcing a backend name. A
forced backend that is unavailable ended up hitting the "no prefs"
fallback code to use the default engine, which returned a different
backend than the one which is *forced*, and later a KeyError when
tweak_book attempted to access the backend name it forced but which
didn't exist.

Instead, raise an immediate "TTS engine piper is not available" error
dialog box, preventing any further confusing tracebacks.
2025-08-08 01:46:07 -04:00
Kovid Goyal
8a94d59a0b
version 8.8.0 2025-08-08 06:47:24 +05:30
Kovid Goyal
5690f37477
... 2025-08-05 22:39:08 +05:30
Kovid Goyal
36b690538f
piper: ensure an utterance is queued only once
regression introduced in the piper re-write
2025-08-05 22:36:32 +05:30
Charles Haley
f0bbe91c8d Bug #2118744: 'column built from other columns, behaves like tags' not treated like tags in Similarity search 2025-08-03 18:47:23 +01:00
Kovid Goyal
240314fcdf
... 2025-08-03 06:30:24 +05:30
Kovid Goyal
954d8dc907
Bump version for preview builds 2025-08-01 07:28:03 +05:30
Evgenii Sozanov
7277f75959 Enable triggering Get Books search by pressing Enter in search fields 2025-07-31 17:22:07 +04:00
Kovid Goyal
5d6d01b989
Cleanup previous PR 2025-07-31 08:08:29 +05:30
Kovid Goyal
f232ddc734
Merge branch 'style-emphasis' of https://github.com/blastrock/calibre 2025-07-31 07:45:56 +05:30
Kovid Goyal
c162b14c61
string changes 2025-07-31 07:32:43 +05:30
Martin Brodbeck
d73f5dfe01 Bump supported dbversion in kobo/tolino driver
New tolino Shine 5 firmware 5.10.225420 uses db version 200. No significant db changes noticed.
2025-07-30 21:00:01 +02:00
Philippe Daouadi
af291470c7 Keep emphasis style on ebook conversion 2025-07-30 19:33:04 +02:00
Kovid Goyal
b901371df0
Get CI working 2025-07-30 21:00:10 +05:30
Kovid Goyal
5a03ee2e85
Make normalization configurable
Still need to add an actual config UI for it. Will see if its actually
needed.
2025-07-30 21:00:10 +05:30
Kovid Goyal
6f9820e4d9
Avoid malloc for normalization 2025-07-30 21:00:10 +05:30
Kovid Goyal
7e45aa6bbd
Normalize audio output 2025-07-30 21:00:10 +05:30
Kovid Goyal
fa582d8f26
More work on using GPU to run inferencing 2025-07-30 21:00:10 +05:30
Kovid Goyal
1a751bc1c2
Ensure onnx telemetry is disabled 2025-07-30 21:00:09 +05:30
Kovid Goyal
504d1a4f1d
Start work on using different execution providers for piper inferencing 2025-07-30 21:00:09 +05:30
Kovid Goyal
650aeee96d
Get new piper module working on macOS 2025-07-30 21:00:09 +05:30
Kovid Goyal
9021419440
Get the piper module working on windows 2025-07-30 21:00:09 +05:30
Kovid Goyal
848de725de
Get the new piper module building on Linux 2025-07-30 21:00:09 +05:30
Kovid Goyal
e38705ef5e
... 2025-07-30 21:00:09 +05:30
Kovid Goyal
661499e391
Move piper backend to use new code 2025-07-30 21:00:09 +05:30
Kovid Goyal
422d1fe8f9
Rely on python setting thread names on new enough python 2025-07-30 21:00:09 +05:30
Kovid Goyal
f259c80710
Get the new piper backend basically working 2025-07-30 21:00:09 +05:30
Kovid Goyal
7b19e19e29
Implement sentence silence 2025-07-30 21:00:09 +05:30
Kovid Goyal
46002017cd
Get data in PCM format by default 2025-07-30 21:00:09 +05:30
Kovid Goyal
732d2c95e8
API to synthesize text 2025-07-30 21:00:09 +05:30
Kovid Goyal
b6bfc6c66f
Function to load ONNX model from piper options 2025-07-30 21:00:09 +05:30
Kovid Goyal
d2ead9eaaa
Terminate espeak on module free 2025-07-30 21:00:08 +05:30
Kovid Goyal
7dfc7340a6
Finish wrapping espeak-ng APIs
Only need the text to phonemes and voice by name APIs
2025-07-30 21:00:08 +05:30
Kovid Goyal
c46e58d479
Start work on getting rid of piper code and only using the model data
The inference code if a few hundred lines anyway, piper is unmaintained
and forked and the fork depends on the gigantic python ONNXRuntime
bindings. Just write the few hundred lines myself.
2025-07-30 21:00:08 +05:30
413Michele
a8103c650e
Change [/]. to .[/] 2025-07-27 13:27:18 +02:00
413Michele
2f59fa2a8b
Empty line before aliases 2025-07-27 13:03:06 +02:00
413Michele
ff8a8b4cb2
Add quotes to function reference 2025-07-27 12:45:43 +02:00
413Michele
e5a226cda2
Remove comma for consistency 2025-07-27 12:39:53 +02:00
413Michele
ab9a0d3e57
Update formatter_functions.py
Remove spurious parentheses
2025-07-27 12:22:09 +02:00
Kovid Goyal
a3b113c5b8
pep8 2025-07-27 11:30:17 +05:30
Kovid Goyal
1d817fdeff
string changes 2025-07-26 08:48:11 +05:30
Kovid Goyal
b1df791726
Bump version for preview release 2025-07-25 08:22:39 +05:30
Charles Haley
9f195c761e Two independent changes:
1) formatter_functions.py: change a quoted string to an italic string so it is the same as in other functions.

2) ffml_processor.py: use look ahead in the parser to detect parse nodes with text that can be inlined.
2025-07-23 12:49:28 +01:00