forked from linux-speakup/espeakup
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathChangeLog
1806 lines (1214 loc) · 57 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
commit 2964310b2411c10756712ba902687e8388c78142
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
makefile: add target to generate changelog
commit 918e8853cdd8270c77f641c69871851effe18416
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
version 0.80
commit 3e5815429bd702d9b0af68d793e6c83f035f9e23
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
Add my email address to the copyright statement
commit 8b49d9d211f917f7ee2009569f746659ec9096a8
Author: Christopher Brannon <[email protected]>
Commit: William Hubbs <[email protected]>
Fix implicit function declaration warning.
This fixes #7
commit 97adab70de5e49dde3ac26774a636cbca48558c0
Author: Christopher Brannon <[email protected]>
Commit: William Hubbs <[email protected]>
Replace usage of daemon(3).
Original patch and commit message courtesy of:
Samuel Thibault <[email protected]>
currently espeakup uses daemon() to do the daemonizing stuff.
Unfortunately, daemon() does things not very appropriately, and there
is notably a delay between the parent exit()ing and the child writing
the pid file. The attached patch reimplements it properly, espeakup
then notably plays much more nicely with systemd.
Modified by Chris to apply to master.
This fixes #8.
commit 92903254894d2b6f2c398a104e78d15553de6017
Author: Christopher Brannon <[email protected]>
Commit: William Hubbs <[email protected]>
Fix spelling keystrokes and char-by-char echo.
Use ssml's interpret-as="characters" setting when the kernel reports
just one character. This allows the use of espeak's internationalized
spelling of letters instead of having to maintain spelling ourselves in speakup.
Original patch courtesy of
Samuel Thibault <[email protected]>
and modified to work with the current code by Chris.
This fixes #6.
commit ee099174d849e32bf7b555e458963d27f84c64b2
Author: Samuel Thibault <[email protected]>
Commit: William Hubbs <[email protected]>
Allow a voice to be selected by language name
This allows the -V option on the command line to be a language name.
commit c1ad891f2e321b052802a2c3c121522757948e61
Author: Samuel Thibault <[email protected]>
Commit: William Hubbs <[email protected]>
Create pid file when espeakup is really ready
This makes sure that we do not report that we are ready until everything
is initialized.
commit d97724373556e5ad6d632249bcc0ba4ef7aec4d8
Author: Christopher Brannon <[email protected]>
Commit: William Hubbs <[email protected]>
Add a missing #include, so that this can be built with musl.
This closes #5.
commit d95ee07775f6a63d80323e5ea242c530adf9c79b
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
Revert "add indexing support"
This reverts commit e84e000b3ec9d393d720845a5f5fd05aa2ee7302.
I need to think more about how to implement this.
commit e84e000b3ec9d393d720845a5f5fd05aa2ee7302
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
add indexing support
commit 3fbbdf19224c26b80b161666b37cec70ac5dd6d2
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
Do not try to remove the pid file unless we are in speakup mode
commit 58ed438f00c0f79c87885b73292c3b4e5c44e0d4
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
rework two if statements
These if statements were executing code if we were not in acsint mode.
They have been combined and the code is now executed when we are in
speakup mode, which is what we want.
commit b2bd1d33a8a8d08ea9316bcf3cf8169545e7df78
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
make espeakup's default rate closer to espeak's default
commit 3b4b6d0cbc98d175f00a9f1e744406e3491c6d85
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
change code to use allocMem wrapper for memory allocation
One of the new string handling routines is a wrapper for allocating
memory. This commit changes the rest of the code to take advantage of
that wrapper.
commit 6180ff6e49371d9fc1cfb5afb05941222d925d70
Author: Christopher Brannon <[email protected]>
Commit: Christopher Brannon <[email protected]>
Don't check to see if espeakup is running in acsint mode.
This check is important when running with speakup, since there can only
be one instance accessing /dev/softsynth.
It is unnecessary in acsint mode.
commit ba316a4cd4ad42b5cf7a550953c1dc26338e3569
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
separate string handling routines into their own module
commit c06f18c4544a6e9e3d28b8f037bc40588fbff3f5
Author: Christopher Brannon <[email protected]>
Commit: William Hubbs <[email protected]>
support adapters using the acsint module
commit 70f74657c274d37f94cf7a4eabcd1d06bafbfcb5
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
fix Makefile to use MANMODE to install man pages
commit 999e6551b5999f5779299e51858e4bbb587f5561
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
add pid path option to help
commit 3353241a79f0e2b130dce5e98d656284a7da84f8
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
add command line option to change the pid path
This adds a -P or --pid-path option to the command line which
allows the user to change the path and the name of the pid file created
when espeakup is running as a daemon.
I would like to thank Chris Brannon for the original idea for this.
commit 49dcacb2eca6f808f1f52a4faaf96f1fae24e4b5
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
adjust rate offset and multiplier for espeak 1.45.04
commit 2154d1a23157cc2b0ff72f1ed51e5c8a26b452cb
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
use memset to initialize sigaction structure
commit 1990e8e25d23fd4cbaa924ac7af480e2a079b9dc
Author: Christopher Brannon <[email protected]>
Commit: William Hubbs <[email protected]>
Properly initialize sigaction struct.
The sigaction struct used in signal_thread was stored in an automatic
variable. The fields which were not set manually had undefined values.
commit 701074fd9685ce4133672fbb35f046e76ab13422
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
go back to just using a makefile
The reason I went to autotools was the multiple sound systems, but since
we are now just using espeak's audio processing we can go back to a more
simple build system.
commit 7bf2eee07a6c5d2120e62d13e0385e4c8e9c6782
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
remove experimental alsa support
The direct alsa support was experimental and never worked well. It had a
setting which was system specific. Also, I feel that it is better to let
espeak control the audio processing.
commit c7ae47dfe59481b29ec80de2faaa6c8d3bd63379
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
add experimental support for building a static binary
This is done by adding a --enable-standalone switch to the configure
script.
commit 3bfc662bae54038172de1c52b04e9c589d2f7bd0
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
update location of latest version and git repository
commit 037e6422179424dd40667765039c6584ac306514
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
rename todo file
commit 0d9d7b61419eb37247e8f7afb6c5b7ff198f0ab7
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
update readme
commit 056dcf70fe5a6850b73193ea06480bd955695e2e
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
convert to autotools
commit d1630432ba55033c82da0dcae4a409f14da8d03f
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
re-organized the makefile.
commit 8fda956e020abcde9365c20c6e14f3ebc15cd2e1
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
fixed permissions in makefile
It turns out that the install commands need to have the permission
options otherwise the permission of everything that is installed is 755,
which is not correct.
commit 4cfcd7ba116ddd3e1c80744b4eb7e0b83438ec86
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
fixed mandir
the mandir variable in the makefile should point only to the top level
of the man tree.
commit 1a10788c5f140f75e0f54a2baaf8625125bb52ac
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
lowered latency setting to 1/40 of a second.
commit edb5e50fcd52d6f0ed9d2decb5c874dfd9395998
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
make alsa code more readable
This changes the code to use constants for the parameters to
snd_pcm_set_params. This makes it easier to read the code and to update
the values if needed.
commit dec561324df67bd64eede09bcb2eb25273a04081
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
updates to alsa support
After studying pcm_min.c in the alsa library git repository, I updated
the alsa support to be similar to what I saw there.
commit 486fe27f47d12a0482060aac4fc6c1568fab0613
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
removed permission settings from makefile
commit 311b6911959263a81f4dd74b44ad93af53a981b1
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
fix makefile to not define variables if they are already defined
commit ffe397fb911b0de8a14cacfc69bf9e683c9ef402
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
removed the minimum function
This function really wasn't needed. I also attempted to make the
callback functionn more like the test code in the alsa library git
repository.
commit e66311bb992122ca4797eab1d2a79b1619c71b9b
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
added automatic dependency tracking to the Makefile
commit 11cc053d822d563b9c040ce50341f8c8cd8b4f86
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
reworked the makefile
This version of the makefile should be more compatible with allowing
users to pass in cflags.
commit 48fa03faf5529a4072ae50fe9ff983333bc6fca0
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
renamed espeak_sound.c to portaudio.c
This better describes the sound system that espeak uses natively.
commit 654fc810fe981907d3f17d212ae51d9d6124fa42
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
default prefix to /usr/local
Without packaging, we should be installing espeakup in /usr/local.
commit e4e3f0979e1820712a6a88bfcf60da34a8a747f0
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
the status handle should be static
commit 57547e8efa0dcf9f7f1750d7e8472f7207d20329
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
renamed synth.c to espeak.c
The name was changed because it describes the function of this code more
accurately.
commit ac9e12414b2f4a1b38f8dabdaf7eb5ae33276008
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
made stop_requested a global variable
The two variables, stop_requested and runner_must_stop were performing
the same function, so I am using one variable, stop_requested for this
function.
commit 18ebab3247934c71320abed559021fe6eebab530
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
indentation fixes
commit cc7e77eb9db904f27b9de12f4b25b17c2f6d5b02
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
move stop_audio call to synth thread
Since there is no reason currently for the softsynth thread to do this,
it makes better sense to have the synth thread control all interaction
with espeak.
commit 32d848cb76de9853564d7e2ea37725c1f9af1ae4
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
make callback honor should_run
The callback should return and abort synthesis if should_run is 0. This
fixes slow shutdown times in alsa mode.
commit 4de82bf24cff9e5a82a2645f30af0dbfae6ded05
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
added a couple of #defines to the alsa code
commit 739e074072100dd420b10eb1d8b8d55451b9bdea
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
reworked the queue_remove function
Now, when queue_remove is called, it returns the pointer to the data of
the first entry in the queue and removes the entry.
commit 014d27b7aa218db968ab19b2b493fe95406b4b8b
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
removed some unlock_audio_mutex() calls
commit 82490a98d253d5201f93f309289346fff5169abc
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
call snd_pcm_prepare after snd_pcm_drop in stop_audio
commit 101e14901e0517f6f09024dc8dc1f47dc682227a
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
removed white space in the makefile
commit dc056e6c773e203af74d290393819b7fdc4043e0
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
broke the queue definitions out into their own header file
commit 0a9a8cce9bcb0310903aaffafd2dbdbe5a6458c4
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
small style changes
commit 40479540b4c8dd6a876b084bce0e6c806033da06
Author: Christopher Brannon <[email protected]>
Commit: William Hubbs <[email protected]>
Fix a memory leak.
If we fail to add entries to the queue in queue_add_cmd or
queue_add_text, properly free the entry.
commit ccb8cea91ee1537e24070dbd3cc568e6f24ddb28
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
stop speech before clearing the queue
Thanks to Kirk Reiser for pointing out that this makes the cancel
response faster.
commit 31ad5f04ca691228889bd839852d8b19321c86c1
Author: Christopher Brannon <[email protected]>
Commit: William Hubbs <[email protected]>
Completely data-agnostic queue functions.
The functions in queue.c no longer use static variables. We can now use
them for multiple queues, if necessary.
commit 011ec271627615be44e1bacd6d269745c86028e9
Author: Christopher Brannon <[email protected]>
Commit: William Hubbs <[email protected]>
Create pipe before starting the signal handler thread.
The thread can write to the pipe, so the pipe must be initialized
before the thread starts.
commit 04d10d88ec0bb2161885bc3358a9bc6b5e06ce35
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
more sound updates
removed the user_data processing code and put the call to snd_pcm_drop
in stop_audio.
commit ceaae3640a51fad408386f27bb30fe2063cdf58e
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
audio should be stopped in softsynth_thread not espeak_thread
commit c9f871f687c6bd6ef1a562000c53c6762cfa7205
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
see if we need to silence speech before we process the queue
commit a82bbd81400cfa002835c35ce46a956cc81460ad
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
fixed a memory leak
If we processed an entry from the queue successfully, we were removing
the entry itself from the queue but not freeing the memory allocated to
the entry.
commit 58f09983f856703e8a06d9b16ef17b7d8728eb4d
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
fixed callback return code
The callback should use the value of stop_requested as its return code.
commit 0238baa5c29f9fef26b4608be24e4f63b2927e82
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
more alsa updates
Made an 'if' statement in the callback more clear and added some locking
for the audio mutex.
commit bcd64cb263745e3994484156713a601db1b59990
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
created a start_audio function
This moves audio control to the specific files, espeak_sound.c and
alsa.c, which are tied to the sound systems.
commit 9b7dcebb6d3dd84d19a448e7e79a1746cd939a62
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
alsa updates
The first while loop in the callback doesn't need to be a loop. If the
audio fails, we can just print an error and return.
commit 46bf3d99d51960c7a179d9bfd6724c4a428e0658
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
all access of the audio mutex should go through our functions
commit 87ab6c6ea822f9f7b393d1cb83c9f579d728326a
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
make sure that snd_pcm_drop is successful.
This was suggested by Kirk Reiser and Chris Brannon.
commit 4889572ad18a8be877916d131d9a101b6563773c
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
use user_data to detect old events
When espeak_Cancel is called, change the value of user_data that is
passed to the events, and, in the callback, use this to test to see if
cancel was received. If the value of user_data has changed, discarde
events that have the old value. This patch is from Chris Brannon.
commit a9398bdeb413f8c9b88178756e0cdc7ede55b0bc
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
Added another error check for alsa
commit be879d206b52221546e4b8e00b60e0c0cf70f855
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
alsa update
I changed the name of the callback to alsa_callback and removed a line
that was making the amount of data written to the sound card very small.
commit c1d33d673838faf8b70cc42c72c119f5c0002d44
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
Set the espeak audio buffer size to 50 ms
This should help make the cancel command more responsive.
commit 0471ff47f4dc031cf70b14eb15128fd60fb185dd
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
add support for the user_data parameter to espeak_synth
The user_data parameter is just a pointer that is passed into the
espeak_synth call that is passed back to the callback. In native mode,
we are not using it since there is not a callback. However, in alsa
mode, it will be used to indicate when a cancel was processed.
commit 520bbae36512731bc075870c0baa9339929b4fde
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
renamed stopped to stop_requested
This is more descriptive of what the variable actually does. It signals
the callback to stop the audio.
commit 8f3e8f196711d729de6c2dc1ed1ef2d086f99955
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
moved the audio_mutex code to alsa
This is not needed for native sound support, so it has been moved into
the alsa specific code.
commit e49acbb59acdbad827da2fc4dd7061e7fe2de35a
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
removed a debug print
commit 24bcdf5666d2546b9177b54b25d2fbfc54ab804b
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
another termination fix
espeak_thread needs to signal softsynth_thread once more as it is going
town so that softsynth_thread will see that should_run is now 0 and
terminate.
commit 5ec3809c599981f79db87f41f4b181eb5456a4f7
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
wake up espeak_thread when softsynth_thread terminates
espeak_thread needs a signal since it might be sleeping and
should_run has changed. This makes sure it terminates.
commit 5ebe506026cf2a5953ba9773d2e2c434e8bbc6f4
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
more mutex fixes
Make sure that should_run is protected by the mutex in the softsynth
thread.
commit d5fd5d69b84cdcde67357a5a934b343e46a32cb2
Author: Chris Brannon <[email protected]>
Commit: William Hubbs <[email protected]>
don't wait on a condition variable if should_run is false
commit 633743117c7067bb7f7a7a12f2edbe6bb463a366
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
mutex fixes
We need to make sure that should_run is protected by the mutex.
commit 1750b92cfb0e5d5a39564ea8d949113c4e0c3409
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
fixed signal handling issue
The signal handler stopped working after I moved the initialization
calls to the main function. Creating the signal handler thread first
fixed this issue.
commit eb74a3ce171515dd1f2970dfb3d1b6c2f07c6d79
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
removed an unnecessary call to espeak_Terminate()
commit dd00775695f713667b2fc295feab6a2a2fe1926e
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
initialization update
The main function now initializes espeak and opens the softsynth before
starting the threads. This insures that the resources we need are
active.
commit 6a15f2cccf4d98e112f09ae64e68773c028b76f6
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
fixed first wait in softsynth thread
The thread should wait if there is nothing in the queue and if there is
not a request to stop.
Thanks to Chris Brannon for the patch.
commit 3687f16b09d7ff37f73ca0f98acd8dedd4ce18c1
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
wait for acknowledgements correctly
pthread_cond_wait() can have spurious wakeups, so we need to be sure
that the condition is actually true when we return from this function.
Thanks to Chris Brannon for the patch.
commit 938e10b66a14237cdff734ae5b97525f9c4ae9cc
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
removed a nested lock/unlock
commit 975765289b3348219d0db8b2d64e2f4f7747f9f2
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
made sure all cond_wait and cond_signal calls are inside lock/unlock
calls
commit b8c7247feb05a07bab653cab2a6be50a4a17fd5d
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
removed acknowledge_guard and substituted queue_guard
commit 1091182f884cb8187ce3cdaf3723243deaa4dcb2
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
removed a debug print call
commit 0bf2cae5a6cd35ea7ee78fbb136ccb58f6937b3e
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
moved lock/unlock in queue_process_entry
The only time queue_process_entry should lock the queue gard is when it
is removing the item from the queue. This happens only when the item
was successfully processed.
commit 554a03d26c147958b99b78690214e195cda65c41
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
white space fix
commit b7f324072f26fa31a8d9772f38bdf1f920504223
Author: Christopher Brannon <[email protected]>
Commit: William Hubbs <[email protected]>
Fix concurrency bugs.
1. Don't lock or unlock queue_guard during queue_clear.
It is locked when queue_clear is called, and it should remain so.
2. Protect runner_must_stop with queue_guard in
the request_espeak_stop function.
The following condition should always hold: queue_guard is locked while
testing or modifying runner_must_stop.
3. Rename stop_guard to acknowledge_guard. This is a more
descriptive name. This mutex simply protects the acknowledgement of
the stop request from being lost.
4. Remove the pthread_mutex_lock from the top of queue_process_entry,
because queue_guard is already locked when the function is called.
commit a8cad20de898002465fad6f3cf42f381f2a33812
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
more multithreading work
Rearranged the queue handling code so that queue.c is generic. Also
rearranged several functions in the threads.
commit 42c3f76a083890c49fcb7d92a2f695f69e4882b4
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
moved include for pthread.h to espeakup.h
commit 3e8e7d12ae89b4b2c00596cf88fcb35fd4b5b20e
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
added back the declaration for softFD
commit af5717b8cb3d9c2232f20f90d32601c0f7021fca
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
moved queue_add_xxx functions to softsynth thread
commit c6b57885c9479f4d85831b2082206bef685cd74d
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
removed declaration of rate from main
commit d82bfcd09ccd4145d17473bc9ae60af223a5f66e
Author: Christopher Brannon <[email protected]>
Commit: William Hubbs <[email protected]>
Make one thread responsible for handling espeak interaction.
Most of the idea for this change came from William:
Renamed queue_runner to espeak_thread. Moved espeak initialization
and termination to espeak_thread. The while loops that process
the queue now use the variable should_run.
commit 0fdca827b851fd0beb9f476c52ec5568ed36174e
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
check for terminalFD after select()
If terminalFD has something to read, we break out of the loop in the
softsynth thread.
commit 474580b08b32d713ffb6f23c486685f1927e12c0
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
add pipe to wake up the softsynth thread
This adds a pipe to wake up the softsynth thread, in case we receive a
signal while it is in a select. Thanks to Chris Brannon.
commit c5fce64f259bce473cd3c9371d7b095639a87fe5
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
removed open_softsynth and close_softsynth
The thread can now handle the softsynth device, so main doesn't need to
call these functions.
commit a58f93cd74fead43927093d36fc775a976788a4b
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
renamed reader_thread to softsynth_thread
commit dfc9bbff6518b2de6e4464fd348ae460766606fb
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
fixed should_run declaration
Removed the local declaration of should_run and set up the extern.
commit 9d1cabdd0d513c45bafdf7cc9c62b503f4a0f31d
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
started work on multi-threading more of the program
The goal is to create threads for the reader, que runner/espeak
processing and signal handling.
As of this commit, this code is still being worked on, so it is broken.
commit f58d9984ce6d615158d53a6cf1b5d503296973ab
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
Now the queue runner/softsynth handler clears the queue
Thanks to Chris Brannon for the patch.
commit 24e7d667bce7568585e1e644b1935c8fe0709b75
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
queue fixes
This adds retry processing back to the queue functions. queue_remove
should only be called after the head entry on the queue is processed
successfully.
commit 26ab109bd8e14fd3d26a434cac2e5760b23dbf0a
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
moved the check for stop out of the loop
In the callback, we should check to see if the stopped flag is true
whether or not we are processing audio.
commit b108764b02e0d6eb1e8a3074cf2f85f10eb01d03
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
removed the audio_callback variable
commit 739d79cff89f2792aa47813e08bdcbb3065c32de
Author: Christopher Brannon <[email protected]>
Commit: William Hubbs <[email protected]>
Select audio mode before initializing espeak.
commit ec9d8b1ee23095afadd07bd05cbf1ca21df11b8f
Author: Christopher Brannon <[email protected]>
Commit: William Hubbs <[email protected]>
Add error-checking to the snd_pcm_set_* calls.
These can fail. They do more than simply manipulate a structure.
commit a5d1a48f42bbb3de67551113c1f15da10f7b916d
Author: Christopher Brannon <[email protected]>
Commit: William Hubbs <[email protected]>
Obtain sample rate from the value of espeak_Initialize.
espeak uses a sample rate of 22050 HZ, but let's not rely on that knowledge.
espeak_Initialize returns the sample rate on success,
so rely on that value when selecting a rate.
commit 3bb78df86c3a135660864e1e07c1d5266a575bce
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
Do not set the period.
commit 94e23a3a027dfd887f6713e745a0b97ec09dfbc7
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
fixed error condition check in alsa.c
The check was looking for a specific error when it should have been just
checking for failure.
commit a69342fcada7fe6533b81c1ae0bad23f983a399a
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
removed some blank lines and put the variables at the top of the file
commit 91b8960b6add66a982327e68d51f75d25f828af8
Author: Christopher Brannon <[email protected]>
Commit: William Hubbs <[email protected]>
Protect the stopped variable with a mutex.
An oversight. Should have done this in the initial commit.
volatile does not imply atomic.
commit 0ad70b4eaa35d57867f20c631f60841fde824e20
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
Revert "fixed stop_speech issue"
This reverts commit 1c440e5a42ef2606c0330f816b00172ab309505c.
commit 1d02169aa584ebb8c8739c4b1255abd3ee51e709
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
alsa support is conditional
This commit updates the makefile and the documentation to explain how to
build alsa support. It has not been fully tested, so it is not built by
default. Also, I was able to remove the conditional compile directives
from the source.
commit 1c440e5a42ef2606c0330f816b00172ab309505c
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
fixed stop_speech issue
The stop_speech function needs to test the return code from
espeak_Cancel() to be sure the operation was successful before
signaling the callback to stop the audio.
commit 08e46c58a804c380f73a8be3403663af790a48bd
Author: William Hubbs <[email protected]>
Commit: William Hubbs <[email protected]>
indentation fixes
commit d373fb2aa7fbf673594cd98225877c6998dc99ad