--0000000000008a08da05cf9f386b
Content-Type: multipart/alternative; boundary="0000000000008a08d405cf9f3869"
--0000000000008a08d405cf9f3869
Content-Type: text/plain; charset="UTF-8"
Hello all,
The other day it was brought to our attention that QtSpeech is reversing
the order that speech-dispatcher voices show up in in guis that present the
availableVoices() once a locale has been chosen. The problem stems from the
code that inserts all voices into a QMultiMap using the locale as key then
later gives those voices for the current locale using ::values() which
results in a backwards list. Because of this any application that doesn't
explicitly select a voice ends up using the last instead of the first voice
and often ends up using a strange voice by default (when espeak-ng is used
a +grandma variant is often the default this way).
I've attached a patch that applies cleanly to Qt 5.12.7 and 5.15.2 (or .6
if you have it) and will get it into gerrit tomorrow for Qt 6.3 but since
there aren't going to be more Qt 5.12 releases any distro packagers out
there may want to add it to your qt5-speech packages in the near term.
I'll add it to qt5-speech arch package locally to test tomorrow also and
send that to the arch packagers as well as gerrit.
thanks,
Jeremy Whiting
--0000000000008a08d405cf9f3869
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Hello all,
The other day it was brought to our attention that QtSpeech is reversing t=
he order that speech-dispatcher voices show up in in guis that present the =
availableVoices() once a locale has been chosen. The problem stems from the=
code that inserts all voices into a QMultiMap using the locale as key then=
later gives those voices for the current locale using ::values() which res=
ults in a backwards list. Because of this any application that doesn't =
explicitly select a voice ends up using the last instead of the first voice=
and often ends up using a strange voice by default (when espeak-ng is used=
a +grandma variant is often the default this way).
I've attached a patch that appli=
es cleanly to Qt 5.12.7 and 5.15.2 (or .6 if you have it) and will get it i=
nto gerrit tomorrow for Qt 6.3 but since there aren't going to be more =
Qt 5.12 releases any distro packagers out there may want to add it to your =
qt5-speech packages in the near term.
I'll add it to qt5-speech arch package local=
ly to test tomorrow also and send that to the arch packagers as well as ger=
rit.
=
thanks,<=
/div>
Jeremy Wh=
iting
--0000000000008a08d405cf9f3869--
--0000000000008a08da05cf9f386b
Content-Type: application/octet-stream;
name="0001-Reverse-list-of-voices-before-returning-from-Speech-.patch"
Content-Disposition: attachment;
filename="0001-Reverse-list-of-voices-before-returning-from-Speech-.patch"
Content-Transfer-Encoding: base64
Content-ID:
X-Attachment-Id: f_kves9xg80
RnJvbSA2YWQ3YjI4OTRiOWFiMDczMGY2MjIwMmMwZWVmYWU2MWJjY2QxZGM5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKZXJlbXkgV2hpdGluZyA8anB3aGl0aW5nQGtkZS5vcmc+CkRh
dGU6IFNhdCwgMzAgT2N0IDIwMjEgMjM6MDI6MjYgLTA2MDAKU3ViamVjdDogW1BBVENIXSBSZXZl
cnNlIGxpc3Qgb2Ygdm9pY2VzIGJlZm9yZSByZXR1cm5pbmcgZnJvbQogU3BlZWNoLURpc3BhdGNo
ZXIuCgpTaW5jZSBRTXVsdGlNYXA6OnZhbHVlcygpIGdpdmVzIHZvaWNlcyBpbiByZXZlcnNlIG9y
ZGVyIGZyb20gdGhlIG9yZGVyCmluc2VydGVkIChsYXRlc3QgZmlyc3QsIG9sZGVzdCBsYXN0KSBy
ZXZlcnNlIHRoZSBsaXN0IGJlZm9yZSByZXR1cm5pbmcKaXQgdG8gdXNlcnMuCi0tLQogc3JjL3Bs
dWdpbnMvdHRzL3NwZWVjaGRpc3BhdGNoZXIvcXRleHR0b3NwZWVjaF9zcGVlY2hkLmNwcCB8IDQg
KysrLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlm
ZiAtLWdpdCBhL3NyYy9wbHVnaW5zL3R0cy9zcGVlY2hkaXNwYXRjaGVyL3F0ZXh0dG9zcGVlY2hf
c3BlZWNoZC5jcHAgYi9zcmMvcGx1Z2lucy90dHMvc3BlZWNoZGlzcGF0Y2hlci9xdGV4dHRvc3Bl
ZWNoX3NwZWVjaGQuY3BwCmluZGV4IDVmZDNiYzIuLjBkMmEzNmUgMTAwNjQ0Ci0tLSBhL3NyYy9w
bHVnaW5zL3R0cy9zcGVlY2hkaXNwYXRjaGVyL3F0ZXh0dG9zcGVlY2hfc3BlZWNoZC5jcHAKKysr
IGIvc3JjL3BsdWdpbnMvdHRzL3NwZWVjaGRpc3BhdGNoZXIvcXRleHR0b3NwZWVjaF9zcGVlY2hk
LmNwcApAQCAtMzU3LDcgKzM1Nyw5IEBAIFFWZWN0b3I8UUxvY2FsZT4gUVRleHRUb1NwZWVjaEVu
Z2luZVNwZWVjaGQ6OmF2YWlsYWJsZUxvY2FsZXMoKSBjb25zdAogCiBRVmVjdG9yPFFWb2ljZT4g
UVRleHRUb1NwZWVjaEVuZ2luZVNwZWVjaGQ6OmF2YWlsYWJsZVZvaWNlcygpIGNvbnN0CiB7Ci0g
ICAgcmV0dXJuIG1fdm9pY2VzLnZhbHVlcyhtX2N1cnJlbnRMb2NhbGUubmFtZSgpKS50b1ZlY3Rv
cigpOworICAgIFFMaXN0PFFWb2ljZT4gcmVzdWx0TGlzdCA9IG1fdm9pY2VzLnZhbHVlcyhtX2N1
cnJlbnRMb2NhbGUubmFtZSgpKTsKKyAgICBzdGQ6OnJldmVyc2UocmVzdWx0TGlzdC5iZWdpbigp
LCByZXN1bHRMaXN0LmVuZCgpKTsKKyAgICByZXR1cm4gcmVzdWx0TGlzdC50b1ZlY3RvcigpOwog
fQogCiAvLyBXZSBoYXZlIG5vIHdheSBvZiBrbm93aW5nIG91ciBvd24gY2xpZW50X2lkIHNpbmNl
IHNwZWVjaC1kaXNwYXRjaGVyIHNlZW1zIHRvIGJlIGluY29tcGxldGUKLS0gCjIuMzMuMC53aW5k
b3dzLjIKCg==
--0000000000008a08da05cf9f386b--