Fossil SCM
Two new alert sounds.
Commit
35b07813a89148c580269e47b50c689ef2e6660ac7882776b95b8e3d3db39bd7
Parent
d8e6994350396da…
8 files changed
+16
-7
+1
+2
+2
+2
+4
Binary file
Binary file
+16
-7
| --- src/alerts/mkwav.c | ||
| +++ src/alerts/mkwav.c | ||
| @@ -59,19 +59,28 @@ | ||
| 59 | 59 | unsigned char aBuf[800]; |
| 60 | 60 | # define N sizeof(aBuf) |
| 61 | 61 | # define pitch1 195.9977*2 /* G */ |
| 62 | 62 | # define pitch2 233.0819*2 /* B-flat */ |
| 63 | 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 | + } | |
| 64 | 75 | while( i<N ){ |
| 65 | 76 | 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; | |
| 73 | 82 | } |
| 74 | 83 | aBuf[i] = (char)(v+99.0); |
| 75 | 84 | i++; |
| 76 | 85 | } |
| 77 | 86 | write_wave("out.wav", N, aBuf); |
| 78 | 87 |
| --- 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 @@ | ||
| 713 | 713 | void chat_audio_alert(void){ |
| 714 | 714 | Blob audio = empty_blob; |
| 715 | 715 | int n = 0; |
| 716 | 716 | const char *zName = db_get("chat-alert-sound", "alerts/plunk.wav"); |
| 717 | 717 | const char *zAudio = (const char*)builtin_file(zName, &n); |
| 718 | +fprintf(stderr, "ALERT: %s (%d)\n", zName, n); | |
| 718 | 719 | blob_init(&audio, zAudio, n); |
| 719 | 720 | cgi_set_content_type("audio/wav"); |
| 720 | 721 | cgi_set_content(&audio); |
| 721 | 722 | } |
| 722 | 723 | |
| 723 | 724 |
| --- 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 |
+2
| --- src/main.mk | ||
| +++ src/main.mk | ||
| @@ -220,11 +220,13 @@ | ||
| 220 | 220 | $(SRCDIR)/../skins/xekri/css.txt \ |
| 221 | 221 | $(SRCDIR)/../skins/xekri/details.txt \ |
| 222 | 222 | $(SRCDIR)/../skins/xekri/footer.txt \ |
| 223 | 223 | $(SRCDIR)/../skins/xekri/header.txt \ |
| 224 | 224 | $(SRCDIR)/accordion.js \ |
| 225 | + $(SRCDIR)/alerts/bflat2.wav \ | |
| 225 | 226 | $(SRCDIR)/alerts/bflat3.wav \ |
| 227 | + $(SRCDIR)/alerts/bloop.wav \ | |
| 226 | 228 | $(SRCDIR)/alerts/plunk.wav \ |
| 227 | 229 | $(SRCDIR)/chat.js \ |
| 228 | 230 | $(SRCDIR)/ci_edit.js \ |
| 229 | 231 | $(SRCDIR)/copybtn.js \ |
| 230 | 232 | $(SRCDIR)/default.css \ |
| 231 | 233 |
| --- 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 |
+2
| --- src/setup.c | ||
| +++ src/setup.c | ||
| @@ -1129,10 +1129,12 @@ | ||
| 1129 | 1129 | */ |
| 1130 | 1130 | void setup_chat(void){ |
| 1131 | 1131 | static const char *const azAlerts[] = { |
| 1132 | 1132 | "alerts/plunk.wav", "Plunk", |
| 1133 | 1133 | "alerts/bflat3.wav", "Tone-1", |
| 1134 | + "alerts/bflat2.wav", "Tone-2", | |
| 1135 | + "alerts/bloop.wav", "Bloop", | |
| 1134 | 1136 | }; |
| 1135 | 1137 | |
| 1136 | 1138 | login_check_credentials(); |
| 1137 | 1139 | if( !g.perm.Setup ){ |
| 1138 | 1140 | login_needed(0); |
| 1139 | 1141 |
| --- 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 |
+2
| --- win/Makefile.mingw | ||
| +++ win/Makefile.mingw | ||
| @@ -632,11 +632,13 @@ | ||
| 632 | 632 | $(SRCDIR)/../skins/xekri/css.txt \ |
| 633 | 633 | $(SRCDIR)/../skins/xekri/details.txt \ |
| 634 | 634 | $(SRCDIR)/../skins/xekri/footer.txt \ |
| 635 | 635 | $(SRCDIR)/../skins/xekri/header.txt \ |
| 636 | 636 | $(SRCDIR)/accordion.js \ |
| 637 | + $(SRCDIR)/alerts/bflat2.wav \ | |
| 637 | 638 | $(SRCDIR)/alerts/bflat3.wav \ |
| 639 | + $(SRCDIR)/alerts/bloop.wav \ | |
| 638 | 640 | $(SRCDIR)/alerts/plunk.wav \ |
| 639 | 641 | $(SRCDIR)/chat.js \ |
| 640 | 642 | $(SRCDIR)/ci_edit.js \ |
| 641 | 643 | $(SRCDIR)/copybtn.js \ |
| 642 | 644 | $(SRCDIR)/default.css \ |
| 643 | 645 |
| --- 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 |
+4
| --- win/Makefile.msc | ||
| +++ win/Makefile.msc | ||
| @@ -553,11 +553,13 @@ | ||
| 553 | 553 | "$(SRCDIR)\..\skins\xekri\css.txt" \ |
| 554 | 554 | "$(SRCDIR)\..\skins\xekri\details.txt" \ |
| 555 | 555 | "$(SRCDIR)\..\skins\xekri\footer.txt" \ |
| 556 | 556 | "$(SRCDIR)\..\skins\xekri\header.txt" \ |
| 557 | 557 | "$(SRCDIR)\accordion.js" \ |
| 558 | + "$(SRCDIR)\alerts\bflat2.wav" \ | |
| 558 | 559 | "$(SRCDIR)\alerts\bflat3.wav" \ |
| 560 | + "$(SRCDIR)\alerts\bloop.wav" \ | |
| 559 | 561 | "$(SRCDIR)\alerts\plunk.wav" \ |
| 560 | 562 | "$(SRCDIR)\chat.js" \ |
| 561 | 563 | "$(SRCDIR)\ci_edit.js" \ |
| 562 | 564 | "$(SRCDIR)\copybtn.js" \ |
| 563 | 565 | "$(SRCDIR)\default.css" \ |
| @@ -1164,11 +1166,13 @@ | ||
| 1164 | 1166 | echo "$(SRCDIR)\../skins/xekri/css.txt" >> $@ |
| 1165 | 1167 | echo "$(SRCDIR)\../skins/xekri/details.txt" >> $@ |
| 1166 | 1168 | echo "$(SRCDIR)\../skins/xekri/footer.txt" >> $@ |
| 1167 | 1169 | echo "$(SRCDIR)\../skins/xekri/header.txt" >> $@ |
| 1168 | 1170 | echo "$(SRCDIR)\accordion.js" >> $@ |
| 1171 | + echo "$(SRCDIR)\alerts/bflat2.wav" >> $@ | |
| 1169 | 1172 | echo "$(SRCDIR)\alerts/bflat3.wav" >> $@ |
| 1173 | + echo "$(SRCDIR)\alerts/bloop.wav" >> $@ | |
| 1170 | 1174 | echo "$(SRCDIR)\alerts/plunk.wav" >> $@ |
| 1171 | 1175 | echo "$(SRCDIR)\chat.js" >> $@ |
| 1172 | 1176 | echo "$(SRCDIR)\ci_edit.js" >> $@ |
| 1173 | 1177 | echo "$(SRCDIR)\copybtn.js" >> $@ |
| 1174 | 1178 | echo "$(SRCDIR)\default.css" >> $@ |
| 1175 | 1179 |
| --- 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 |