Fossil SCM

Two new alert sounds.

drh 2021-01-05 19:23 trunk
Commit 35b07813a89148c580269e47b50c689ef2e6660ac7882776b95b8e3d3db39bd7

Binary file

Binary file

--- src/alerts/mkwav.c
+++ src/alerts/mkwav.c
@@ -59,19 +59,28 @@
5959
unsigned char aBuf[800];
6060
# define N sizeof(aBuf)
6161
# define pitch1 195.9977*2 /* G */
6262
# define pitch2 233.0819*2 /* B-flat */
6363
# define pitch3 293.6648*2 /* D */
64
+ while( i<N/2 ){
65
+ double v;
66
+ v = 99.0*sin((2*M_PI*pitch3*i)/8000);
67
+ if( i<200 ){
68
+ v = v*i/200.0;
69
+ }else if( i>N-200 ){
70
+ v = v*(N-i)/200.0;
71
+ }
72
+ aBuf[i] = (char)(v+99.0);
73
+ i++;
74
+ }
6475
while( i<N ){
6576
double v;
66
- v = 33.0*sin((2*M_PI*pitch1*i)/8000);
67
- v += 33.0*sin((2*M_PI*pitch2*i)/8000);
68
- v += 33.0*sin((2*M_PI*pitch3*i)/8000);
69
- if( i<100 ){
70
- v = v*i/100.0;
71
- }else if( i>N-100 ){
72
- v = v*(N-i)/100.0;
77
+ v = 99.0*sin((2*M_PI*pitch1*i)/8000);
78
+ if( i<200 ){
79
+ v = v*i/200.0;
80
+ }else if( i>N-200 ){
81
+ v = v*(N-i)/200.0;
7382
}
7483
aBuf[i] = (char)(v+99.0);
7584
i++;
7685
}
7786
write_wave("out.wav", N, aBuf);
7887
--- src/alerts/mkwav.c
+++ src/alerts/mkwav.c
@@ -59,19 +59,28 @@
59 unsigned char aBuf[800];
60 # define N sizeof(aBuf)
61 # define pitch1 195.9977*2 /* G */
62 # define pitch2 233.0819*2 /* B-flat */
63 # define pitch3 293.6648*2 /* D */
 
 
 
 
 
 
 
 
 
 
 
64 while( i<N ){
65 double v;
66 v = 33.0*sin((2*M_PI*pitch1*i)/8000);
67 v += 33.0*sin((2*M_PI*pitch2*i)/8000);
68 v += 33.0*sin((2*M_PI*pitch3*i)/8000);
69 if( i<100 ){
70 v = v*i/100.0;
71 }else if( i>N-100 ){
72 v = v*(N-i)/100.0;
73 }
74 aBuf[i] = (char)(v+99.0);
75 i++;
76 }
77 write_wave("out.wav", N, aBuf);
78
--- src/alerts/mkwav.c
+++ src/alerts/mkwav.c
@@ -59,19 +59,28 @@
59 unsigned char aBuf[800];
60 # define N sizeof(aBuf)
61 # define pitch1 195.9977*2 /* G */
62 # define pitch2 233.0819*2 /* B-flat */
63 # define pitch3 293.6648*2 /* D */
64 while( i<N/2 ){
65 double v;
66 v = 99.0*sin((2*M_PI*pitch3*i)/8000);
67 if( i<200 ){
68 v = v*i/200.0;
69 }else if( i>N-200 ){
70 v = v*(N-i)/200.0;
71 }
72 aBuf[i] = (char)(v+99.0);
73 i++;
74 }
75 while( i<N ){
76 double v;
77 v = 99.0*sin((2*M_PI*pitch1*i)/8000);
78 if( i<200 ){
79 v = v*i/200.0;
80 }else if( i>N-200 ){
81 v = v*(N-i)/200.0;
 
 
82 }
83 aBuf[i] = (char)(v+99.0);
84 i++;
85 }
86 write_wave("out.wav", N, aBuf);
87
+1
--- src/chat.c
+++ src/chat.c
@@ -713,10 +713,11 @@
713713
void chat_audio_alert(void){
714714
Blob audio = empty_blob;
715715
int n = 0;
716716
const char *zName = db_get("chat-alert-sound", "alerts/plunk.wav");
717717
const char *zAudio = (const char*)builtin_file(zName, &n);
718
+fprintf(stderr, "ALERT: %s (%d)\n", zName, n);
718719
blob_init(&audio, zAudio, n);
719720
cgi_set_content_type("audio/wav");
720721
cgi_set_content(&audio);
721722
}
722723
723724
--- src/chat.c
+++ src/chat.c
@@ -713,10 +713,11 @@
713 void chat_audio_alert(void){
714 Blob audio = empty_blob;
715 int n = 0;
716 const char *zName = db_get("chat-alert-sound", "alerts/plunk.wav");
717 const char *zAudio = (const char*)builtin_file(zName, &n);
 
718 blob_init(&audio, zAudio, n);
719 cgi_set_content_type("audio/wav");
720 cgi_set_content(&audio);
721 }
722
723
--- src/chat.c
+++ src/chat.c
@@ -713,10 +713,11 @@
713 void chat_audio_alert(void){
714 Blob audio = empty_blob;
715 int n = 0;
716 const char *zName = db_get("chat-alert-sound", "alerts/plunk.wav");
717 const char *zAudio = (const char*)builtin_file(zName, &n);
718 fprintf(stderr, "ALERT: %s (%d)\n", zName, n);
719 blob_init(&audio, zAudio, n);
720 cgi_set_content_type("audio/wav");
721 cgi_set_content(&audio);
722 }
723
724
--- src/main.mk
+++ src/main.mk
@@ -220,11 +220,13 @@
220220
$(SRCDIR)/../skins/xekri/css.txt \
221221
$(SRCDIR)/../skins/xekri/details.txt \
222222
$(SRCDIR)/../skins/xekri/footer.txt \
223223
$(SRCDIR)/../skins/xekri/header.txt \
224224
$(SRCDIR)/accordion.js \
225
+ $(SRCDIR)/alerts/bflat2.wav \
225226
$(SRCDIR)/alerts/bflat3.wav \
227
+ $(SRCDIR)/alerts/bloop.wav \
226228
$(SRCDIR)/alerts/plunk.wav \
227229
$(SRCDIR)/chat.js \
228230
$(SRCDIR)/ci_edit.js \
229231
$(SRCDIR)/copybtn.js \
230232
$(SRCDIR)/default.css \
231233
--- src/main.mk
+++ src/main.mk
@@ -220,11 +220,13 @@
220 $(SRCDIR)/../skins/xekri/css.txt \
221 $(SRCDIR)/../skins/xekri/details.txt \
222 $(SRCDIR)/../skins/xekri/footer.txt \
223 $(SRCDIR)/../skins/xekri/header.txt \
224 $(SRCDIR)/accordion.js \
 
225 $(SRCDIR)/alerts/bflat3.wav \
 
226 $(SRCDIR)/alerts/plunk.wav \
227 $(SRCDIR)/chat.js \
228 $(SRCDIR)/ci_edit.js \
229 $(SRCDIR)/copybtn.js \
230 $(SRCDIR)/default.css \
231
--- src/main.mk
+++ src/main.mk
@@ -220,11 +220,13 @@
220 $(SRCDIR)/../skins/xekri/css.txt \
221 $(SRCDIR)/../skins/xekri/details.txt \
222 $(SRCDIR)/../skins/xekri/footer.txt \
223 $(SRCDIR)/../skins/xekri/header.txt \
224 $(SRCDIR)/accordion.js \
225 $(SRCDIR)/alerts/bflat2.wav \
226 $(SRCDIR)/alerts/bflat3.wav \
227 $(SRCDIR)/alerts/bloop.wav \
228 $(SRCDIR)/alerts/plunk.wav \
229 $(SRCDIR)/chat.js \
230 $(SRCDIR)/ci_edit.js \
231 $(SRCDIR)/copybtn.js \
232 $(SRCDIR)/default.css \
233
--- src/setup.c
+++ src/setup.c
@@ -1129,10 +1129,12 @@
11291129
*/
11301130
void setup_chat(void){
11311131
static const char *const azAlerts[] = {
11321132
"alerts/plunk.wav", "Plunk",
11331133
"alerts/bflat3.wav", "Tone-1",
1134
+ "alerts/bflat2.wav", "Tone-2",
1135
+ "alerts/bloop.wav", "Bloop",
11341136
};
11351137
11361138
login_check_credentials();
11371139
if( !g.perm.Setup ){
11381140
login_needed(0);
11391141
--- src/setup.c
+++ src/setup.c
@@ -1129,10 +1129,12 @@
1129 */
1130 void setup_chat(void){
1131 static const char *const azAlerts[] = {
1132 "alerts/plunk.wav", "Plunk",
1133 "alerts/bflat3.wav", "Tone-1",
 
 
1134 };
1135
1136 login_check_credentials();
1137 if( !g.perm.Setup ){
1138 login_needed(0);
1139
--- src/setup.c
+++ src/setup.c
@@ -1129,10 +1129,12 @@
1129 */
1130 void setup_chat(void){
1131 static const char *const azAlerts[] = {
1132 "alerts/plunk.wav", "Plunk",
1133 "alerts/bflat3.wav", "Tone-1",
1134 "alerts/bflat2.wav", "Tone-2",
1135 "alerts/bloop.wav", "Bloop",
1136 };
1137
1138 login_check_credentials();
1139 if( !g.perm.Setup ){
1140 login_needed(0);
1141
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -632,11 +632,13 @@
632632
$(SRCDIR)/../skins/xekri/css.txt \
633633
$(SRCDIR)/../skins/xekri/details.txt \
634634
$(SRCDIR)/../skins/xekri/footer.txt \
635635
$(SRCDIR)/../skins/xekri/header.txt \
636636
$(SRCDIR)/accordion.js \
637
+ $(SRCDIR)/alerts/bflat2.wav \
637638
$(SRCDIR)/alerts/bflat3.wav \
639
+ $(SRCDIR)/alerts/bloop.wav \
638640
$(SRCDIR)/alerts/plunk.wav \
639641
$(SRCDIR)/chat.js \
640642
$(SRCDIR)/ci_edit.js \
641643
$(SRCDIR)/copybtn.js \
642644
$(SRCDIR)/default.css \
643645
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -632,11 +632,13 @@
632 $(SRCDIR)/../skins/xekri/css.txt \
633 $(SRCDIR)/../skins/xekri/details.txt \
634 $(SRCDIR)/../skins/xekri/footer.txt \
635 $(SRCDIR)/../skins/xekri/header.txt \
636 $(SRCDIR)/accordion.js \
 
637 $(SRCDIR)/alerts/bflat3.wav \
 
638 $(SRCDIR)/alerts/plunk.wav \
639 $(SRCDIR)/chat.js \
640 $(SRCDIR)/ci_edit.js \
641 $(SRCDIR)/copybtn.js \
642 $(SRCDIR)/default.css \
643
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -632,11 +632,13 @@
632 $(SRCDIR)/../skins/xekri/css.txt \
633 $(SRCDIR)/../skins/xekri/details.txt \
634 $(SRCDIR)/../skins/xekri/footer.txt \
635 $(SRCDIR)/../skins/xekri/header.txt \
636 $(SRCDIR)/accordion.js \
637 $(SRCDIR)/alerts/bflat2.wav \
638 $(SRCDIR)/alerts/bflat3.wav \
639 $(SRCDIR)/alerts/bloop.wav \
640 $(SRCDIR)/alerts/plunk.wav \
641 $(SRCDIR)/chat.js \
642 $(SRCDIR)/ci_edit.js \
643 $(SRCDIR)/copybtn.js \
644 $(SRCDIR)/default.css \
645
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -553,11 +553,13 @@
553553
"$(SRCDIR)\..\skins\xekri\css.txt" \
554554
"$(SRCDIR)\..\skins\xekri\details.txt" \
555555
"$(SRCDIR)\..\skins\xekri\footer.txt" \
556556
"$(SRCDIR)\..\skins\xekri\header.txt" \
557557
"$(SRCDIR)\accordion.js" \
558
+ "$(SRCDIR)\alerts\bflat2.wav" \
558559
"$(SRCDIR)\alerts\bflat3.wav" \
560
+ "$(SRCDIR)\alerts\bloop.wav" \
559561
"$(SRCDIR)\alerts\plunk.wav" \
560562
"$(SRCDIR)\chat.js" \
561563
"$(SRCDIR)\ci_edit.js" \
562564
"$(SRCDIR)\copybtn.js" \
563565
"$(SRCDIR)\default.css" \
@@ -1164,11 +1166,13 @@
11641166
echo "$(SRCDIR)\../skins/xekri/css.txt" >> $@
11651167
echo "$(SRCDIR)\../skins/xekri/details.txt" >> $@
11661168
echo "$(SRCDIR)\../skins/xekri/footer.txt" >> $@
11671169
echo "$(SRCDIR)\../skins/xekri/header.txt" >> $@
11681170
echo "$(SRCDIR)\accordion.js" >> $@
1171
+ echo "$(SRCDIR)\alerts/bflat2.wav" >> $@
11691172
echo "$(SRCDIR)\alerts/bflat3.wav" >> $@
1173
+ echo "$(SRCDIR)\alerts/bloop.wav" >> $@
11701174
echo "$(SRCDIR)\alerts/plunk.wav" >> $@
11711175
echo "$(SRCDIR)\chat.js" >> $@
11721176
echo "$(SRCDIR)\ci_edit.js" >> $@
11731177
echo "$(SRCDIR)\copybtn.js" >> $@
11741178
echo "$(SRCDIR)\default.css" >> $@
11751179
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -553,11 +553,13 @@
553 "$(SRCDIR)\..\skins\xekri\css.txt" \
554 "$(SRCDIR)\..\skins\xekri\details.txt" \
555 "$(SRCDIR)\..\skins\xekri\footer.txt" \
556 "$(SRCDIR)\..\skins\xekri\header.txt" \
557 "$(SRCDIR)\accordion.js" \
 
558 "$(SRCDIR)\alerts\bflat3.wav" \
 
559 "$(SRCDIR)\alerts\plunk.wav" \
560 "$(SRCDIR)\chat.js" \
561 "$(SRCDIR)\ci_edit.js" \
562 "$(SRCDIR)\copybtn.js" \
563 "$(SRCDIR)\default.css" \
@@ -1164,11 +1166,13 @@
1164 echo "$(SRCDIR)\../skins/xekri/css.txt" >> $@
1165 echo "$(SRCDIR)\../skins/xekri/details.txt" >> $@
1166 echo "$(SRCDIR)\../skins/xekri/footer.txt" >> $@
1167 echo "$(SRCDIR)\../skins/xekri/header.txt" >> $@
1168 echo "$(SRCDIR)\accordion.js" >> $@
 
1169 echo "$(SRCDIR)\alerts/bflat3.wav" >> $@
 
1170 echo "$(SRCDIR)\alerts/plunk.wav" >> $@
1171 echo "$(SRCDIR)\chat.js" >> $@
1172 echo "$(SRCDIR)\ci_edit.js" >> $@
1173 echo "$(SRCDIR)\copybtn.js" >> $@
1174 echo "$(SRCDIR)\default.css" >> $@
1175
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -553,11 +553,13 @@
553 "$(SRCDIR)\..\skins\xekri\css.txt" \
554 "$(SRCDIR)\..\skins\xekri\details.txt" \
555 "$(SRCDIR)\..\skins\xekri\footer.txt" \
556 "$(SRCDIR)\..\skins\xekri\header.txt" \
557 "$(SRCDIR)\accordion.js" \
558 "$(SRCDIR)\alerts\bflat2.wav" \
559 "$(SRCDIR)\alerts\bflat3.wav" \
560 "$(SRCDIR)\alerts\bloop.wav" \
561 "$(SRCDIR)\alerts\plunk.wav" \
562 "$(SRCDIR)\chat.js" \
563 "$(SRCDIR)\ci_edit.js" \
564 "$(SRCDIR)\copybtn.js" \
565 "$(SRCDIR)\default.css" \
@@ -1164,11 +1166,13 @@
1166 echo "$(SRCDIR)\../skins/xekri/css.txt" >> $@
1167 echo "$(SRCDIR)\../skins/xekri/details.txt" >> $@
1168 echo "$(SRCDIR)\../skins/xekri/footer.txt" >> $@
1169 echo "$(SRCDIR)\../skins/xekri/header.txt" >> $@
1170 echo "$(SRCDIR)\accordion.js" >> $@
1171 echo "$(SRCDIR)\alerts/bflat2.wav" >> $@
1172 echo "$(SRCDIR)\alerts/bflat3.wav" >> $@
1173 echo "$(SRCDIR)\alerts/bloop.wav" >> $@
1174 echo "$(SRCDIR)\alerts/plunk.wav" >> $@
1175 echo "$(SRCDIR)\chat.js" >> $@
1176 echo "$(SRCDIR)\ci_edit.js" >> $@
1177 echo "$(SRCDIR)\copybtn.js" >> $@
1178 echo "$(SRCDIR)\default.css" >> $@
1179

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button