diff --git a/README.md b/README.md index 1f4620d..0bf8084 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,13 @@ Die DIY Musikbox (nicht nur) für Kinder # Change Log +## Version 2.1 (xx.xx.xxxx) noch WIP +- Partymodus hat nun eine Queue -> jedes Lied kommt nur genau 1x vorkommt +- Neue Wiedergabe-Modi "Spezialmodus Von-Bis" - Hörspiel, Album und Party -> erlaubt z.B. verschiedene Album in einem Ordner zu haben und je mit einer Karte zu verknüpfen +- Admin-Menü +- Maximale, Minimale und Initiale Lautstärke +- Karten werden nun über das Admin-Menü neu konfiguriert + ## Version 2.01 (01.11.2018) - kleiner Fix um die Probleme beim Anlernen von Karten zu reduzieren diff --git a/SD-Karte/advert/0250.mp3 b/SD-Karte/advert/0250.mp3 index c659acf..25627b0 100644 Binary files a/SD-Karte/advert/0250.mp3 and b/SD-Karte/advert/0250.mp3 differ diff --git a/SD-Karte/advert/0251.mp3 b/SD-Karte/advert/0251.mp3 new file mode 100644 index 0000000..5436a9f Binary files /dev/null and b/SD-Karte/advert/0251.mp3 differ diff --git a/SD-Karte/advert/0252.mp3 b/SD-Karte/advert/0252.mp3 new file mode 100644 index 0000000..d571475 Binary files /dev/null and b/SD-Karte/advert/0252.mp3 differ diff --git a/SD-Karte/advert/0253.mp3 b/SD-Karte/advert/0253.mp3 new file mode 100644 index 0000000..1f74afc Binary files /dev/null and b/SD-Karte/advert/0253.mp3 differ diff --git a/SD-Karte/advert/0254.mp3 b/SD-Karte/advert/0254.mp3 new file mode 100644 index 0000000..9a816ee Binary files /dev/null and b/SD-Karte/advert/0254.mp3 differ diff --git a/SD-Karte/advert/0255.mp3 b/SD-Karte/advert/0255.mp3 new file mode 100644 index 0000000..9dcb66f Binary files /dev/null and b/SD-Karte/advert/0255.mp3 differ diff --git a/SD-Karte/mp3/0001.mp3 b/SD-Karte/mp3/0001.mp3 index 9dffdb1..5ffd762 100644 Binary files a/SD-Karte/mp3/0001.mp3 and b/SD-Karte/mp3/0001.mp3 differ diff --git a/SD-Karte/mp3/0002.mp3 b/SD-Karte/mp3/0002.mp3 index 30140c9..bf4bf30 100644 Binary files a/SD-Karte/mp3/0002.mp3 and b/SD-Karte/mp3/0002.mp3 differ diff --git a/SD-Karte/mp3/0003.mp3 b/SD-Karte/mp3/0003.mp3 index bdd4ec9..dcec4d7 100644 Binary files a/SD-Karte/mp3/0003.mp3 and b/SD-Karte/mp3/0003.mp3 differ diff --git a/SD-Karte/mp3/0004.mp3 b/SD-Karte/mp3/0004.mp3 index 58cbcb6..faae6e2 100644 Binary files a/SD-Karte/mp3/0004.mp3 and b/SD-Karte/mp3/0004.mp3 differ diff --git a/SD-Karte/mp3/0005.mp3 b/SD-Karte/mp3/0005.mp3 index caf8d64..cd87625 100644 Binary files a/SD-Karte/mp3/0005.mp3 and b/SD-Karte/mp3/0005.mp3 differ diff --git a/SD-Karte/mp3/0006.mp3 b/SD-Karte/mp3/0006.mp3 index cf949f1..08f62cd 100644 Binary files a/SD-Karte/mp3/0006.mp3 and b/SD-Karte/mp3/0006.mp3 differ diff --git a/SD-Karte/mp3/0007.mp3 b/SD-Karte/mp3/0007.mp3 index c6c54e0..4336531 100644 Binary files a/SD-Karte/mp3/0007.mp3 and b/SD-Karte/mp3/0007.mp3 differ diff --git a/SD-Karte/mp3/0008.mp3 b/SD-Karte/mp3/0008.mp3 index 2f25336..49c5f58 100644 Binary files a/SD-Karte/mp3/0008.mp3 and b/SD-Karte/mp3/0008.mp3 differ diff --git a/SD-Karte/mp3/0009.mp3 b/SD-Karte/mp3/0009.mp3 index c951182..4bb0c3e 100644 Binary files a/SD-Karte/mp3/0009.mp3 and b/SD-Karte/mp3/0009.mp3 differ diff --git a/SD-Karte/mp3/0010.mp3 b/SD-Karte/mp3/0010.mp3 index 0fc15c2..6230b92 100644 Binary files a/SD-Karte/mp3/0010.mp3 and b/SD-Karte/mp3/0010.mp3 differ diff --git a/SD-Karte/mp3/0011.mp3 b/SD-Karte/mp3/0011.mp3 index 895356b..21a7d6f 100644 Binary files a/SD-Karte/mp3/0011.mp3 and b/SD-Karte/mp3/0011.mp3 differ diff --git a/SD-Karte/mp3/0012.mp3 b/SD-Karte/mp3/0012.mp3 index 58f686f..797c7bd 100644 Binary files a/SD-Karte/mp3/0012.mp3 and b/SD-Karte/mp3/0012.mp3 differ diff --git a/SD-Karte/mp3/0013.mp3 b/SD-Karte/mp3/0013.mp3 index 64ea842..83d840c 100644 Binary files a/SD-Karte/mp3/0013.mp3 and b/SD-Karte/mp3/0013.mp3 differ diff --git a/SD-Karte/mp3/0014.mp3 b/SD-Karte/mp3/0014.mp3 index f99b509..eee39ba 100644 Binary files a/SD-Karte/mp3/0014.mp3 and b/SD-Karte/mp3/0014.mp3 differ diff --git a/SD-Karte/mp3/0015.mp3 b/SD-Karte/mp3/0015.mp3 index aec4aa7..025ac38 100644 Binary files a/SD-Karte/mp3/0015.mp3 and b/SD-Karte/mp3/0015.mp3 differ diff --git a/SD-Karte/mp3/0016.mp3 b/SD-Karte/mp3/0016.mp3 index 9543044..86c36fe 100644 Binary files a/SD-Karte/mp3/0016.mp3 and b/SD-Karte/mp3/0016.mp3 differ diff --git a/SD-Karte/mp3/0017.mp3 b/SD-Karte/mp3/0017.mp3 index 4b960f2..5f1c901 100644 Binary files a/SD-Karte/mp3/0017.mp3 and b/SD-Karte/mp3/0017.mp3 differ diff --git a/SD-Karte/mp3/0018.mp3 b/SD-Karte/mp3/0018.mp3 index 1c55d5f..7533684 100644 Binary files a/SD-Karte/mp3/0018.mp3 and b/SD-Karte/mp3/0018.mp3 differ diff --git a/SD-Karte/mp3/0019.mp3 b/SD-Karte/mp3/0019.mp3 index b723081..d02d7d2 100644 Binary files a/SD-Karte/mp3/0019.mp3 and b/SD-Karte/mp3/0019.mp3 differ diff --git a/SD-Karte/mp3/0020.mp3 b/SD-Karte/mp3/0020.mp3 index 4312406..f5022d1 100644 Binary files a/SD-Karte/mp3/0020.mp3 and b/SD-Karte/mp3/0020.mp3 differ diff --git a/SD-Karte/mp3/0021.mp3 b/SD-Karte/mp3/0021.mp3 index 1f662b8..97f1c74 100644 Binary files a/SD-Karte/mp3/0021.mp3 and b/SD-Karte/mp3/0021.mp3 differ diff --git a/SD-Karte/mp3/0022.mp3 b/SD-Karte/mp3/0022.mp3 index bf14c8e..3f92c75 100644 Binary files a/SD-Karte/mp3/0022.mp3 and b/SD-Karte/mp3/0022.mp3 differ diff --git a/SD-Karte/mp3/0023.mp3 b/SD-Karte/mp3/0023.mp3 index 4dc9b32..8034086 100644 Binary files a/SD-Karte/mp3/0023.mp3 and b/SD-Karte/mp3/0023.mp3 differ diff --git a/SD-Karte/mp3/0024.mp3 b/SD-Karte/mp3/0024.mp3 index 4901244..cef6edf 100644 Binary files a/SD-Karte/mp3/0024.mp3 and b/SD-Karte/mp3/0024.mp3 differ diff --git a/SD-Karte/mp3/0025.mp3 b/SD-Karte/mp3/0025.mp3 index c89a24e..79c72ae 100644 Binary files a/SD-Karte/mp3/0025.mp3 and b/SD-Karte/mp3/0025.mp3 differ diff --git a/SD-Karte/mp3/0026.mp3 b/SD-Karte/mp3/0026.mp3 index 454a3b5..9d2eb53 100644 Binary files a/SD-Karte/mp3/0026.mp3 and b/SD-Karte/mp3/0026.mp3 differ diff --git a/SD-Karte/mp3/0027.mp3 b/SD-Karte/mp3/0027.mp3 index 336d863..2d3da97 100644 Binary files a/SD-Karte/mp3/0027.mp3 and b/SD-Karte/mp3/0027.mp3 differ diff --git a/SD-Karte/mp3/0028.mp3 b/SD-Karte/mp3/0028.mp3 index f1e084e..34d7172 100644 Binary files a/SD-Karte/mp3/0028.mp3 and b/SD-Karte/mp3/0028.mp3 differ diff --git a/SD-Karte/mp3/0029.mp3 b/SD-Karte/mp3/0029.mp3 index 6e2059b..4369551 100644 Binary files a/SD-Karte/mp3/0029.mp3 and b/SD-Karte/mp3/0029.mp3 differ diff --git a/SD-Karte/mp3/0030.mp3 b/SD-Karte/mp3/0030.mp3 index 1f68140..ee77d54 100644 Binary files a/SD-Karte/mp3/0030.mp3 and b/SD-Karte/mp3/0030.mp3 differ diff --git a/SD-Karte/mp3/0031.mp3 b/SD-Karte/mp3/0031.mp3 index ae25af3..753eab0 100644 Binary files a/SD-Karte/mp3/0031.mp3 and b/SD-Karte/mp3/0031.mp3 differ diff --git a/SD-Karte/mp3/0032.mp3 b/SD-Karte/mp3/0032.mp3 index d7ce728..6f85fb9 100644 Binary files a/SD-Karte/mp3/0032.mp3 and b/SD-Karte/mp3/0032.mp3 differ diff --git a/SD-Karte/mp3/0033.mp3 b/SD-Karte/mp3/0033.mp3 index 9c6e957..dd51848 100644 Binary files a/SD-Karte/mp3/0033.mp3 and b/SD-Karte/mp3/0033.mp3 differ diff --git a/SD-Karte/mp3/0034.mp3 b/SD-Karte/mp3/0034.mp3 index 32171eb..981b450 100644 Binary files a/SD-Karte/mp3/0034.mp3 and b/SD-Karte/mp3/0034.mp3 differ diff --git a/SD-Karte/mp3/0035.mp3 b/SD-Karte/mp3/0035.mp3 index 65fefce..30ac0e7 100644 Binary files a/SD-Karte/mp3/0035.mp3 and b/SD-Karte/mp3/0035.mp3 differ diff --git a/SD-Karte/mp3/0036.mp3 b/SD-Karte/mp3/0036.mp3 index 085c0a0..4cdc570 100644 Binary files a/SD-Karte/mp3/0036.mp3 and b/SD-Karte/mp3/0036.mp3 differ diff --git a/SD-Karte/mp3/0037.mp3 b/SD-Karte/mp3/0037.mp3 index ae6f492..2cfe569 100644 Binary files a/SD-Karte/mp3/0037.mp3 and b/SD-Karte/mp3/0037.mp3 differ diff --git a/SD-Karte/mp3/0038.mp3 b/SD-Karte/mp3/0038.mp3 index 9ac9705..461bb4a 100644 Binary files a/SD-Karte/mp3/0038.mp3 and b/SD-Karte/mp3/0038.mp3 differ diff --git a/SD-Karte/mp3/0039.mp3 b/SD-Karte/mp3/0039.mp3 index c523c47..e651ca8 100644 Binary files a/SD-Karte/mp3/0039.mp3 and b/SD-Karte/mp3/0039.mp3 differ diff --git a/SD-Karte/mp3/0040.mp3 b/SD-Karte/mp3/0040.mp3 index 62a193c..a422ac9 100644 Binary files a/SD-Karte/mp3/0040.mp3 and b/SD-Karte/mp3/0040.mp3 differ diff --git a/SD-Karte/mp3/0041.mp3 b/SD-Karte/mp3/0041.mp3 index d75bb97..25e47f1 100644 Binary files a/SD-Karte/mp3/0041.mp3 and b/SD-Karte/mp3/0041.mp3 differ diff --git a/SD-Karte/mp3/0042.mp3 b/SD-Karte/mp3/0042.mp3 index c2a899c..335e9ec 100644 Binary files a/SD-Karte/mp3/0042.mp3 and b/SD-Karte/mp3/0042.mp3 differ diff --git a/SD-Karte/mp3/0043.mp3 b/SD-Karte/mp3/0043.mp3 index 02a1f14..d1504b7 100644 Binary files a/SD-Karte/mp3/0043.mp3 and b/SD-Karte/mp3/0043.mp3 differ diff --git a/SD-Karte/mp3/0044.mp3 b/SD-Karte/mp3/0044.mp3 index 1ab7d74..c94ff2a 100644 Binary files a/SD-Karte/mp3/0044.mp3 and b/SD-Karte/mp3/0044.mp3 differ diff --git a/SD-Karte/mp3/0045.mp3 b/SD-Karte/mp3/0045.mp3 index ae7bdbf..ebec803 100644 Binary files a/SD-Karte/mp3/0045.mp3 and b/SD-Karte/mp3/0045.mp3 differ diff --git a/SD-Karte/mp3/0046.mp3 b/SD-Karte/mp3/0046.mp3 index 1b8397a..8356702 100644 Binary files a/SD-Karte/mp3/0046.mp3 and b/SD-Karte/mp3/0046.mp3 differ diff --git a/SD-Karte/mp3/0047.mp3 b/SD-Karte/mp3/0047.mp3 index f7d9edf..7b8b6c2 100644 Binary files a/SD-Karte/mp3/0047.mp3 and b/SD-Karte/mp3/0047.mp3 differ diff --git a/SD-Karte/mp3/0048.mp3 b/SD-Karte/mp3/0048.mp3 index ecb1f55..a4db0b5 100644 Binary files a/SD-Karte/mp3/0048.mp3 and b/SD-Karte/mp3/0048.mp3 differ diff --git a/SD-Karte/mp3/0049.mp3 b/SD-Karte/mp3/0049.mp3 index 86bd5c9..c81dd25 100644 Binary files a/SD-Karte/mp3/0049.mp3 and b/SD-Karte/mp3/0049.mp3 differ diff --git a/SD-Karte/mp3/0050.mp3 b/SD-Karte/mp3/0050.mp3 index e165019..d16af20 100644 Binary files a/SD-Karte/mp3/0050.mp3 and b/SD-Karte/mp3/0050.mp3 differ diff --git a/SD-Karte/mp3/0051.mp3 b/SD-Karte/mp3/0051.mp3 index d6353fb..37b5ab2 100644 Binary files a/SD-Karte/mp3/0051.mp3 and b/SD-Karte/mp3/0051.mp3 differ diff --git a/SD-Karte/mp3/0052.mp3 b/SD-Karte/mp3/0052.mp3 index 596ed20..91a7eca 100644 Binary files a/SD-Karte/mp3/0052.mp3 and b/SD-Karte/mp3/0052.mp3 differ diff --git a/SD-Karte/mp3/0053.mp3 b/SD-Karte/mp3/0053.mp3 index b6c3908..dcd15f6 100644 Binary files a/SD-Karte/mp3/0053.mp3 and b/SD-Karte/mp3/0053.mp3 differ diff --git a/SD-Karte/mp3/0054.mp3 b/SD-Karte/mp3/0054.mp3 index 82a45d3..83a7345 100644 Binary files a/SD-Karte/mp3/0054.mp3 and b/SD-Karte/mp3/0054.mp3 differ diff --git a/SD-Karte/mp3/0055.mp3 b/SD-Karte/mp3/0055.mp3 index 3700499..b641fdc 100644 Binary files a/SD-Karte/mp3/0055.mp3 and b/SD-Karte/mp3/0055.mp3 differ diff --git a/SD-Karte/mp3/0056.mp3 b/SD-Karte/mp3/0056.mp3 index ed009bb..a752b4b 100644 Binary files a/SD-Karte/mp3/0056.mp3 and b/SD-Karte/mp3/0056.mp3 differ diff --git a/SD-Karte/mp3/0057.mp3 b/SD-Karte/mp3/0057.mp3 index 8141f98..561249c 100644 Binary files a/SD-Karte/mp3/0057.mp3 and b/SD-Karte/mp3/0057.mp3 differ diff --git a/SD-Karte/mp3/0058.mp3 b/SD-Karte/mp3/0058.mp3 index 7ae235f..5c406ef 100644 Binary files a/SD-Karte/mp3/0058.mp3 and b/SD-Karte/mp3/0058.mp3 differ diff --git a/SD-Karte/mp3/0059.mp3 b/SD-Karte/mp3/0059.mp3 index 0b212fe..9f0c228 100644 Binary files a/SD-Karte/mp3/0059.mp3 and b/SD-Karte/mp3/0059.mp3 differ diff --git a/SD-Karte/mp3/0060.mp3 b/SD-Karte/mp3/0060.mp3 index a14677f..bd4eb5c 100644 Binary files a/SD-Karte/mp3/0060.mp3 and b/SD-Karte/mp3/0060.mp3 differ diff --git a/SD-Karte/mp3/0061.mp3 b/SD-Karte/mp3/0061.mp3 index 6efc515..1374678 100644 Binary files a/SD-Karte/mp3/0061.mp3 and b/SD-Karte/mp3/0061.mp3 differ diff --git a/SD-Karte/mp3/0062.mp3 b/SD-Karte/mp3/0062.mp3 index 4bf3cfe..e6ea82c 100644 Binary files a/SD-Karte/mp3/0062.mp3 and b/SD-Karte/mp3/0062.mp3 differ diff --git a/SD-Karte/mp3/0063.mp3 b/SD-Karte/mp3/0063.mp3 index 3291ba4..a2b1513 100644 Binary files a/SD-Karte/mp3/0063.mp3 and b/SD-Karte/mp3/0063.mp3 differ diff --git a/SD-Karte/mp3/0064.mp3 b/SD-Karte/mp3/0064.mp3 index d87e942..f0c3dc2 100644 Binary files a/SD-Karte/mp3/0064.mp3 and b/SD-Karte/mp3/0064.mp3 differ diff --git a/SD-Karte/mp3/0065.mp3 b/SD-Karte/mp3/0065.mp3 index 3884a80..2c24360 100644 Binary files a/SD-Karte/mp3/0065.mp3 and b/SD-Karte/mp3/0065.mp3 differ diff --git a/SD-Karte/mp3/0066.mp3 b/SD-Karte/mp3/0066.mp3 index efadcba..bf1fd01 100644 Binary files a/SD-Karte/mp3/0066.mp3 and b/SD-Karte/mp3/0066.mp3 differ diff --git a/SD-Karte/mp3/0067.mp3 b/SD-Karte/mp3/0067.mp3 index 8869f12..e3ed33e 100644 Binary files a/SD-Karte/mp3/0067.mp3 and b/SD-Karte/mp3/0067.mp3 differ diff --git a/SD-Karte/mp3/0068.mp3 b/SD-Karte/mp3/0068.mp3 index 8d6badc..c8f3d18 100644 Binary files a/SD-Karte/mp3/0068.mp3 and b/SD-Karte/mp3/0068.mp3 differ diff --git a/SD-Karte/mp3/0069.mp3 b/SD-Karte/mp3/0069.mp3 index c017fe9..d42d3e4 100644 Binary files a/SD-Karte/mp3/0069.mp3 and b/SD-Karte/mp3/0069.mp3 differ diff --git a/SD-Karte/mp3/0070.mp3 b/SD-Karte/mp3/0070.mp3 index 83b291b..11182ac 100644 Binary files a/SD-Karte/mp3/0070.mp3 and b/SD-Karte/mp3/0070.mp3 differ diff --git a/SD-Karte/mp3/0071.mp3 b/SD-Karte/mp3/0071.mp3 index af0f268..ba6dcea 100644 Binary files a/SD-Karte/mp3/0071.mp3 and b/SD-Karte/mp3/0071.mp3 differ diff --git a/SD-Karte/mp3/0072.mp3 b/SD-Karte/mp3/0072.mp3 index b7e7e90..a5b9fbc 100644 Binary files a/SD-Karte/mp3/0072.mp3 and b/SD-Karte/mp3/0072.mp3 differ diff --git a/SD-Karte/mp3/0073.mp3 b/SD-Karte/mp3/0073.mp3 index 32e2e12..65951fe 100644 Binary files a/SD-Karte/mp3/0073.mp3 and b/SD-Karte/mp3/0073.mp3 differ diff --git a/SD-Karte/mp3/0074.mp3 b/SD-Karte/mp3/0074.mp3 index 802942b..9326221 100644 Binary files a/SD-Karte/mp3/0074.mp3 and b/SD-Karte/mp3/0074.mp3 differ diff --git a/SD-Karte/mp3/0075.mp3 b/SD-Karte/mp3/0075.mp3 index 391113a..e3b9dff 100644 Binary files a/SD-Karte/mp3/0075.mp3 and b/SD-Karte/mp3/0075.mp3 differ diff --git a/SD-Karte/mp3/0076.mp3 b/SD-Karte/mp3/0076.mp3 index 29a3dc2..1a258c9 100644 Binary files a/SD-Karte/mp3/0076.mp3 and b/SD-Karte/mp3/0076.mp3 differ diff --git a/SD-Karte/mp3/0077.mp3 b/SD-Karte/mp3/0077.mp3 index ad89a81..af96116 100644 Binary files a/SD-Karte/mp3/0077.mp3 and b/SD-Karte/mp3/0077.mp3 differ diff --git a/SD-Karte/mp3/0078.mp3 b/SD-Karte/mp3/0078.mp3 index 340c826..0e97250 100644 Binary files a/SD-Karte/mp3/0078.mp3 and b/SD-Karte/mp3/0078.mp3 differ diff --git a/SD-Karte/mp3/0079.mp3 b/SD-Karte/mp3/0079.mp3 index 9757ba2..40de657 100644 Binary files a/SD-Karte/mp3/0079.mp3 and b/SD-Karte/mp3/0079.mp3 differ diff --git a/SD-Karte/mp3/0080.mp3 b/SD-Karte/mp3/0080.mp3 index e01b318..757d241 100644 Binary files a/SD-Karte/mp3/0080.mp3 and b/SD-Karte/mp3/0080.mp3 differ diff --git a/SD-Karte/mp3/0081.mp3 b/SD-Karte/mp3/0081.mp3 index db586fa..71c6ab7 100644 Binary files a/SD-Karte/mp3/0081.mp3 and b/SD-Karte/mp3/0081.mp3 differ diff --git a/SD-Karte/mp3/0082.mp3 b/SD-Karte/mp3/0082.mp3 index 44ea8bd..4a901dd 100644 Binary files a/SD-Karte/mp3/0082.mp3 and b/SD-Karte/mp3/0082.mp3 differ diff --git a/SD-Karte/mp3/0083.mp3 b/SD-Karte/mp3/0083.mp3 index 8f5103c..68da69f 100644 Binary files a/SD-Karte/mp3/0083.mp3 and b/SD-Karte/mp3/0083.mp3 differ diff --git a/SD-Karte/mp3/0084.mp3 b/SD-Karte/mp3/0084.mp3 index d84af65..fa3d56e 100644 Binary files a/SD-Karte/mp3/0084.mp3 and b/SD-Karte/mp3/0084.mp3 differ diff --git a/SD-Karte/mp3/0085.mp3 b/SD-Karte/mp3/0085.mp3 index 095d8f4..0589c1a 100644 Binary files a/SD-Karte/mp3/0085.mp3 and b/SD-Karte/mp3/0085.mp3 differ diff --git a/SD-Karte/mp3/0086.mp3 b/SD-Karte/mp3/0086.mp3 index 5a80359..55360b1 100644 Binary files a/SD-Karte/mp3/0086.mp3 and b/SD-Karte/mp3/0086.mp3 differ diff --git a/SD-Karte/mp3/0087.mp3 b/SD-Karte/mp3/0087.mp3 index c69380e..0b4574a 100644 Binary files a/SD-Karte/mp3/0087.mp3 and b/SD-Karte/mp3/0087.mp3 differ diff --git a/SD-Karte/mp3/0088.mp3 b/SD-Karte/mp3/0088.mp3 index 0de9c8a..b4c11c7 100644 Binary files a/SD-Karte/mp3/0088.mp3 and b/SD-Karte/mp3/0088.mp3 differ diff --git a/SD-Karte/mp3/0089.mp3 b/SD-Karte/mp3/0089.mp3 index c0e8bbc..1f8e031 100644 Binary files a/SD-Karte/mp3/0089.mp3 and b/SD-Karte/mp3/0089.mp3 differ diff --git a/SD-Karte/mp3/0090.mp3 b/SD-Karte/mp3/0090.mp3 index b7196e6..5997808 100644 Binary files a/SD-Karte/mp3/0090.mp3 and b/SD-Karte/mp3/0090.mp3 differ diff --git a/SD-Karte/mp3/0091.mp3 b/SD-Karte/mp3/0091.mp3 index a274879..c2318f5 100644 Binary files a/SD-Karte/mp3/0091.mp3 and b/SD-Karte/mp3/0091.mp3 differ diff --git a/SD-Karte/mp3/0092.mp3 b/SD-Karte/mp3/0092.mp3 index 95901fe..8283a03 100644 Binary files a/SD-Karte/mp3/0092.mp3 and b/SD-Karte/mp3/0092.mp3 differ diff --git a/SD-Karte/mp3/0093.mp3 b/SD-Karte/mp3/0093.mp3 index c72a4e5..3a3a484 100644 Binary files a/SD-Karte/mp3/0093.mp3 and b/SD-Karte/mp3/0093.mp3 differ diff --git a/SD-Karte/mp3/0094.mp3 b/SD-Karte/mp3/0094.mp3 index 7e92724..f2c58cc 100644 Binary files a/SD-Karte/mp3/0094.mp3 and b/SD-Karte/mp3/0094.mp3 differ diff --git a/SD-Karte/mp3/0095.mp3 b/SD-Karte/mp3/0095.mp3 index 508b114..e199356 100644 Binary files a/SD-Karte/mp3/0095.mp3 and b/SD-Karte/mp3/0095.mp3 differ diff --git a/SD-Karte/mp3/0096.mp3 b/SD-Karte/mp3/0096.mp3 index 642c07e..f4ea280 100644 Binary files a/SD-Karte/mp3/0096.mp3 and b/SD-Karte/mp3/0096.mp3 differ diff --git a/SD-Karte/mp3/0097.mp3 b/SD-Karte/mp3/0097.mp3 index 4a357f9..8e00c5f 100644 Binary files a/SD-Karte/mp3/0097.mp3 and b/SD-Karte/mp3/0097.mp3 differ diff --git a/SD-Karte/mp3/0098.mp3 b/SD-Karte/mp3/0098.mp3 index fcdac1a..8a18d89 100644 Binary files a/SD-Karte/mp3/0098.mp3 and b/SD-Karte/mp3/0098.mp3 differ diff --git a/SD-Karte/mp3/0099.mp3 b/SD-Karte/mp3/0099.mp3 index a24b72b..18d77c5 100644 Binary files a/SD-Karte/mp3/0099.mp3 and b/SD-Karte/mp3/0099.mp3 differ diff --git a/SD-Karte/mp3/0100.mp3 b/SD-Karte/mp3/0100.mp3 index fbcbd01..a132b83 100644 Binary files a/SD-Karte/mp3/0100.mp3 and b/SD-Karte/mp3/0100.mp3 differ diff --git a/SD-Karte/mp3/0101.mp3 b/SD-Karte/mp3/0101.mp3 index 723a11b..20caf3a 100644 Binary files a/SD-Karte/mp3/0101.mp3 and b/SD-Karte/mp3/0101.mp3 differ diff --git a/SD-Karte/mp3/0102.mp3 b/SD-Karte/mp3/0102.mp3 index 7c5631b..01d956b 100644 Binary files a/SD-Karte/mp3/0102.mp3 and b/SD-Karte/mp3/0102.mp3 differ diff --git a/SD-Karte/mp3/0103.mp3 b/SD-Karte/mp3/0103.mp3 index e1fc2ec..5bc8fb0 100644 Binary files a/SD-Karte/mp3/0103.mp3 and b/SD-Karte/mp3/0103.mp3 differ diff --git a/SD-Karte/mp3/0104.mp3 b/SD-Karte/mp3/0104.mp3 index 1d29408..eaf90b5 100644 Binary files a/SD-Karte/mp3/0104.mp3 and b/SD-Karte/mp3/0104.mp3 differ diff --git a/SD-Karte/mp3/0105.mp3 b/SD-Karte/mp3/0105.mp3 index 8956ad1..b8fe24b 100644 Binary files a/SD-Karte/mp3/0105.mp3 and b/SD-Karte/mp3/0105.mp3 differ diff --git a/SD-Karte/mp3/0106.mp3 b/SD-Karte/mp3/0106.mp3 index 5f27a9f..959390a 100644 Binary files a/SD-Karte/mp3/0106.mp3 and b/SD-Karte/mp3/0106.mp3 differ diff --git a/SD-Karte/mp3/0107.mp3 b/SD-Karte/mp3/0107.mp3 index b1ddd0d..33a64c1 100644 Binary files a/SD-Karte/mp3/0107.mp3 and b/SD-Karte/mp3/0107.mp3 differ diff --git a/SD-Karte/mp3/0108.mp3 b/SD-Karte/mp3/0108.mp3 index 16bdcbb..2aae248 100644 Binary files a/SD-Karte/mp3/0108.mp3 and b/SD-Karte/mp3/0108.mp3 differ diff --git a/SD-Karte/mp3/0109.mp3 b/SD-Karte/mp3/0109.mp3 index 2f9cfae..3dee05c 100644 Binary files a/SD-Karte/mp3/0109.mp3 and b/SD-Karte/mp3/0109.mp3 differ diff --git a/SD-Karte/mp3/0110.mp3 b/SD-Karte/mp3/0110.mp3 index 897b01f..9e386f6 100644 Binary files a/SD-Karte/mp3/0110.mp3 and b/SD-Karte/mp3/0110.mp3 differ diff --git a/SD-Karte/mp3/0111.mp3 b/SD-Karte/mp3/0111.mp3 index 021b01d..ab285ff 100644 Binary files a/SD-Karte/mp3/0111.mp3 and b/SD-Karte/mp3/0111.mp3 differ diff --git a/SD-Karte/mp3/0112.mp3 b/SD-Karte/mp3/0112.mp3 index f27b8f6..2376a88 100644 Binary files a/SD-Karte/mp3/0112.mp3 and b/SD-Karte/mp3/0112.mp3 differ diff --git a/SD-Karte/mp3/0113.mp3 b/SD-Karte/mp3/0113.mp3 index 93a0917..68a8ba2 100644 Binary files a/SD-Karte/mp3/0113.mp3 and b/SD-Karte/mp3/0113.mp3 differ diff --git a/SD-Karte/mp3/0114.mp3 b/SD-Karte/mp3/0114.mp3 index bdf0dba..3cc4d72 100644 Binary files a/SD-Karte/mp3/0114.mp3 and b/SD-Karte/mp3/0114.mp3 differ diff --git a/SD-Karte/mp3/0115.mp3 b/SD-Karte/mp3/0115.mp3 index 5592390..58a1a55 100644 Binary files a/SD-Karte/mp3/0115.mp3 and b/SD-Karte/mp3/0115.mp3 differ diff --git a/SD-Karte/mp3/0116.mp3 b/SD-Karte/mp3/0116.mp3 index 75038b2..63a43b5 100644 Binary files a/SD-Karte/mp3/0116.mp3 and b/SD-Karte/mp3/0116.mp3 differ diff --git a/SD-Karte/mp3/0117.mp3 b/SD-Karte/mp3/0117.mp3 index f4cfaf2..020a14f 100644 Binary files a/SD-Karte/mp3/0117.mp3 and b/SD-Karte/mp3/0117.mp3 differ diff --git a/SD-Karte/mp3/0118.mp3 b/SD-Karte/mp3/0118.mp3 index f5fea75..ffd6d0f 100644 Binary files a/SD-Karte/mp3/0118.mp3 and b/SD-Karte/mp3/0118.mp3 differ diff --git a/SD-Karte/mp3/0119.mp3 b/SD-Karte/mp3/0119.mp3 index 8f69aa2..d0d7b84 100644 Binary files a/SD-Karte/mp3/0119.mp3 and b/SD-Karte/mp3/0119.mp3 differ diff --git a/SD-Karte/mp3/0120.mp3 b/SD-Karte/mp3/0120.mp3 index 784c43d..4c7a3c2 100644 Binary files a/SD-Karte/mp3/0120.mp3 and b/SD-Karte/mp3/0120.mp3 differ diff --git a/SD-Karte/mp3/0121.mp3 b/SD-Karte/mp3/0121.mp3 index 9a468e6..f5e7e6a 100644 Binary files a/SD-Karte/mp3/0121.mp3 and b/SD-Karte/mp3/0121.mp3 differ diff --git a/SD-Karte/mp3/0122.mp3 b/SD-Karte/mp3/0122.mp3 index d947b0a..170d231 100644 Binary files a/SD-Karte/mp3/0122.mp3 and b/SD-Karte/mp3/0122.mp3 differ diff --git a/SD-Karte/mp3/0123.mp3 b/SD-Karte/mp3/0123.mp3 index c5f19aa..0f073db 100644 Binary files a/SD-Karte/mp3/0123.mp3 and b/SD-Karte/mp3/0123.mp3 differ diff --git a/SD-Karte/mp3/0124.mp3 b/SD-Karte/mp3/0124.mp3 index 02a6910..4d8c0d9 100644 Binary files a/SD-Karte/mp3/0124.mp3 and b/SD-Karte/mp3/0124.mp3 differ diff --git a/SD-Karte/mp3/0125.mp3 b/SD-Karte/mp3/0125.mp3 index c30cf81..f943c50 100644 Binary files a/SD-Karte/mp3/0125.mp3 and b/SD-Karte/mp3/0125.mp3 differ diff --git a/SD-Karte/mp3/0126.mp3 b/SD-Karte/mp3/0126.mp3 index 10b932b..efafc1d 100644 Binary files a/SD-Karte/mp3/0126.mp3 and b/SD-Karte/mp3/0126.mp3 differ diff --git a/SD-Karte/mp3/0127.mp3 b/SD-Karte/mp3/0127.mp3 index 71217bd..ffc8857 100644 Binary files a/SD-Karte/mp3/0127.mp3 and b/SD-Karte/mp3/0127.mp3 differ diff --git a/SD-Karte/mp3/0128.mp3 b/SD-Karte/mp3/0128.mp3 index 2c75ce9..3466595 100644 Binary files a/SD-Karte/mp3/0128.mp3 and b/SD-Karte/mp3/0128.mp3 differ diff --git a/SD-Karte/mp3/0129.mp3 b/SD-Karte/mp3/0129.mp3 index 2c35425..880f798 100644 Binary files a/SD-Karte/mp3/0129.mp3 and b/SD-Karte/mp3/0129.mp3 differ diff --git a/SD-Karte/mp3/0130.mp3 b/SD-Karte/mp3/0130.mp3 index 4bd3d4a..b53fb4b 100644 Binary files a/SD-Karte/mp3/0130.mp3 and b/SD-Karte/mp3/0130.mp3 differ diff --git a/SD-Karte/mp3/0131.mp3 b/SD-Karte/mp3/0131.mp3 index a16f229..1a835c7 100644 Binary files a/SD-Karte/mp3/0131.mp3 and b/SD-Karte/mp3/0131.mp3 differ diff --git a/SD-Karte/mp3/0132.mp3 b/SD-Karte/mp3/0132.mp3 index e9288f6..5c3c7f1 100644 Binary files a/SD-Karte/mp3/0132.mp3 and b/SD-Karte/mp3/0132.mp3 differ diff --git a/SD-Karte/mp3/0133.mp3 b/SD-Karte/mp3/0133.mp3 index 5835ec8..5fbb4d2 100644 Binary files a/SD-Karte/mp3/0133.mp3 and b/SD-Karte/mp3/0133.mp3 differ diff --git a/SD-Karte/mp3/0134.mp3 b/SD-Karte/mp3/0134.mp3 index b766931..d7841c2 100644 Binary files a/SD-Karte/mp3/0134.mp3 and b/SD-Karte/mp3/0134.mp3 differ diff --git a/SD-Karte/mp3/0135.mp3 b/SD-Karte/mp3/0135.mp3 index b688d3b..5139981 100644 Binary files a/SD-Karte/mp3/0135.mp3 and b/SD-Karte/mp3/0135.mp3 differ diff --git a/SD-Karte/mp3/0136.mp3 b/SD-Karte/mp3/0136.mp3 index 57f0b6a..c92af61 100644 Binary files a/SD-Karte/mp3/0136.mp3 and b/SD-Karte/mp3/0136.mp3 differ diff --git a/SD-Karte/mp3/0137.mp3 b/SD-Karte/mp3/0137.mp3 index 5b1326d..6de179a 100644 Binary files a/SD-Karte/mp3/0137.mp3 and b/SD-Karte/mp3/0137.mp3 differ diff --git a/SD-Karte/mp3/0138.mp3 b/SD-Karte/mp3/0138.mp3 index 0483193..3a2629b 100644 Binary files a/SD-Karte/mp3/0138.mp3 and b/SD-Karte/mp3/0138.mp3 differ diff --git a/SD-Karte/mp3/0139.mp3 b/SD-Karte/mp3/0139.mp3 index 3597582..29b75a7 100644 Binary files a/SD-Karte/mp3/0139.mp3 and b/SD-Karte/mp3/0139.mp3 differ diff --git a/SD-Karte/mp3/0140.mp3 b/SD-Karte/mp3/0140.mp3 index 3ef48b9..c999864 100644 Binary files a/SD-Karte/mp3/0140.mp3 and b/SD-Karte/mp3/0140.mp3 differ diff --git a/SD-Karte/mp3/0141.mp3 b/SD-Karte/mp3/0141.mp3 index 463c8e7..62afe33 100644 Binary files a/SD-Karte/mp3/0141.mp3 and b/SD-Karte/mp3/0141.mp3 differ diff --git a/SD-Karte/mp3/0142.mp3 b/SD-Karte/mp3/0142.mp3 index 3e24f54..4b0db12 100644 Binary files a/SD-Karte/mp3/0142.mp3 and b/SD-Karte/mp3/0142.mp3 differ diff --git a/SD-Karte/mp3/0143.mp3 b/SD-Karte/mp3/0143.mp3 index 9ee0641..4402025 100644 Binary files a/SD-Karte/mp3/0143.mp3 and b/SD-Karte/mp3/0143.mp3 differ diff --git a/SD-Karte/mp3/0144.mp3 b/SD-Karte/mp3/0144.mp3 index 600a798..e0e98d1 100644 Binary files a/SD-Karte/mp3/0144.mp3 and b/SD-Karte/mp3/0144.mp3 differ diff --git a/SD-Karte/mp3/0145.mp3 b/SD-Karte/mp3/0145.mp3 index 8833d45..f08a3c8 100644 Binary files a/SD-Karte/mp3/0145.mp3 and b/SD-Karte/mp3/0145.mp3 differ diff --git a/SD-Karte/mp3/0146.mp3 b/SD-Karte/mp3/0146.mp3 index 52c51e9..a51ec28 100644 Binary files a/SD-Karte/mp3/0146.mp3 and b/SD-Karte/mp3/0146.mp3 differ diff --git a/SD-Karte/mp3/0147.mp3 b/SD-Karte/mp3/0147.mp3 index 2f4cc89..7bd399d 100644 Binary files a/SD-Karte/mp3/0147.mp3 and b/SD-Karte/mp3/0147.mp3 differ diff --git a/SD-Karte/mp3/0148.mp3 b/SD-Karte/mp3/0148.mp3 index 39c95a4..ed34f48 100644 Binary files a/SD-Karte/mp3/0148.mp3 and b/SD-Karte/mp3/0148.mp3 differ diff --git a/SD-Karte/mp3/0149.mp3 b/SD-Karte/mp3/0149.mp3 index 64ef5ee..ee46bbf 100644 Binary files a/SD-Karte/mp3/0149.mp3 and b/SD-Karte/mp3/0149.mp3 differ diff --git a/SD-Karte/mp3/0150.mp3 b/SD-Karte/mp3/0150.mp3 index 4259b27..9de0ae4 100644 Binary files a/SD-Karte/mp3/0150.mp3 and b/SD-Karte/mp3/0150.mp3 differ diff --git a/SD-Karte/mp3/0151.mp3 b/SD-Karte/mp3/0151.mp3 index 443fffd..4f88a94 100644 Binary files a/SD-Karte/mp3/0151.mp3 and b/SD-Karte/mp3/0151.mp3 differ diff --git a/SD-Karte/mp3/0152.mp3 b/SD-Karte/mp3/0152.mp3 index 08fe677..541d323 100644 Binary files a/SD-Karte/mp3/0152.mp3 and b/SD-Karte/mp3/0152.mp3 differ diff --git a/SD-Karte/mp3/0153.mp3 b/SD-Karte/mp3/0153.mp3 index 2fdae9e..e07f0d2 100644 Binary files a/SD-Karte/mp3/0153.mp3 and b/SD-Karte/mp3/0153.mp3 differ diff --git a/SD-Karte/mp3/0154.mp3 b/SD-Karte/mp3/0154.mp3 index 4637ce5..ff8f65a 100644 Binary files a/SD-Karte/mp3/0154.mp3 and b/SD-Karte/mp3/0154.mp3 differ diff --git a/SD-Karte/mp3/0155.mp3 b/SD-Karte/mp3/0155.mp3 index 6372937..74c9ef5 100644 Binary files a/SD-Karte/mp3/0155.mp3 and b/SD-Karte/mp3/0155.mp3 differ diff --git a/SD-Karte/mp3/0156.mp3 b/SD-Karte/mp3/0156.mp3 index f5d72a6..2daf4e4 100644 Binary files a/SD-Karte/mp3/0156.mp3 and b/SD-Karte/mp3/0156.mp3 differ diff --git a/SD-Karte/mp3/0157.mp3 b/SD-Karte/mp3/0157.mp3 index 076d13a..80e6254 100644 Binary files a/SD-Karte/mp3/0157.mp3 and b/SD-Karte/mp3/0157.mp3 differ diff --git a/SD-Karte/mp3/0158.mp3 b/SD-Karte/mp3/0158.mp3 index c0e6798..2c42595 100644 Binary files a/SD-Karte/mp3/0158.mp3 and b/SD-Karte/mp3/0158.mp3 differ diff --git a/SD-Karte/mp3/0159.mp3 b/SD-Karte/mp3/0159.mp3 index 4dfaf9b..3719478 100644 Binary files a/SD-Karte/mp3/0159.mp3 and b/SD-Karte/mp3/0159.mp3 differ diff --git a/SD-Karte/mp3/0160.mp3 b/SD-Karte/mp3/0160.mp3 index 2b136e6..52cc716 100644 Binary files a/SD-Karte/mp3/0160.mp3 and b/SD-Karte/mp3/0160.mp3 differ diff --git a/SD-Karte/mp3/0161.mp3 b/SD-Karte/mp3/0161.mp3 index 0501df1..da921d5 100644 Binary files a/SD-Karte/mp3/0161.mp3 and b/SD-Karte/mp3/0161.mp3 differ diff --git a/SD-Karte/mp3/0162.mp3 b/SD-Karte/mp3/0162.mp3 index a0cb24e..088935a 100644 Binary files a/SD-Karte/mp3/0162.mp3 and b/SD-Karte/mp3/0162.mp3 differ diff --git a/SD-Karte/mp3/0163.mp3 b/SD-Karte/mp3/0163.mp3 index 7030830..d43272f 100644 Binary files a/SD-Karte/mp3/0163.mp3 and b/SD-Karte/mp3/0163.mp3 differ diff --git a/SD-Karte/mp3/0164.mp3 b/SD-Karte/mp3/0164.mp3 index 284c566..7d6081e 100644 Binary files a/SD-Karte/mp3/0164.mp3 and b/SD-Karte/mp3/0164.mp3 differ diff --git a/SD-Karte/mp3/0165.mp3 b/SD-Karte/mp3/0165.mp3 index 143a5cd..e3a2136 100644 Binary files a/SD-Karte/mp3/0165.mp3 and b/SD-Karte/mp3/0165.mp3 differ diff --git a/SD-Karte/mp3/0166.mp3 b/SD-Karte/mp3/0166.mp3 index 990ef29..c8f38ad 100644 Binary files a/SD-Karte/mp3/0166.mp3 and b/SD-Karte/mp3/0166.mp3 differ diff --git a/SD-Karte/mp3/0167.mp3 b/SD-Karte/mp3/0167.mp3 index 9cf289f..7cf0e09 100644 Binary files a/SD-Karte/mp3/0167.mp3 and b/SD-Karte/mp3/0167.mp3 differ diff --git a/SD-Karte/mp3/0168.mp3 b/SD-Karte/mp3/0168.mp3 index dbd0072..b5cd9a7 100644 Binary files a/SD-Karte/mp3/0168.mp3 and b/SD-Karte/mp3/0168.mp3 differ diff --git a/SD-Karte/mp3/0169.mp3 b/SD-Karte/mp3/0169.mp3 index 71e8833..d6cc147 100644 Binary files a/SD-Karte/mp3/0169.mp3 and b/SD-Karte/mp3/0169.mp3 differ diff --git a/SD-Karte/mp3/0170.mp3 b/SD-Karte/mp3/0170.mp3 index 5a61f56..3c469b6 100644 Binary files a/SD-Karte/mp3/0170.mp3 and b/SD-Karte/mp3/0170.mp3 differ diff --git a/SD-Karte/mp3/0171.mp3 b/SD-Karte/mp3/0171.mp3 index 23c1a58..59a99da 100644 Binary files a/SD-Karte/mp3/0171.mp3 and b/SD-Karte/mp3/0171.mp3 differ diff --git a/SD-Karte/mp3/0172.mp3 b/SD-Karte/mp3/0172.mp3 index 4fe5241..4d3a518 100644 Binary files a/SD-Karte/mp3/0172.mp3 and b/SD-Karte/mp3/0172.mp3 differ diff --git a/SD-Karte/mp3/0173.mp3 b/SD-Karte/mp3/0173.mp3 index e6b83cc..63b0add 100644 Binary files a/SD-Karte/mp3/0173.mp3 and b/SD-Karte/mp3/0173.mp3 differ diff --git a/SD-Karte/mp3/0174.mp3 b/SD-Karte/mp3/0174.mp3 index 5f47533..f5239d7 100644 Binary files a/SD-Karte/mp3/0174.mp3 and b/SD-Karte/mp3/0174.mp3 differ diff --git a/SD-Karte/mp3/0175.mp3 b/SD-Karte/mp3/0175.mp3 index 39a8faf..586b183 100644 Binary files a/SD-Karte/mp3/0175.mp3 and b/SD-Karte/mp3/0175.mp3 differ diff --git a/SD-Karte/mp3/0176.mp3 b/SD-Karte/mp3/0176.mp3 index e10fdf0..f32bf6d 100644 Binary files a/SD-Karte/mp3/0176.mp3 and b/SD-Karte/mp3/0176.mp3 differ diff --git a/SD-Karte/mp3/0177.mp3 b/SD-Karte/mp3/0177.mp3 index 862bf8d..8907a67 100644 Binary files a/SD-Karte/mp3/0177.mp3 and b/SD-Karte/mp3/0177.mp3 differ diff --git a/SD-Karte/mp3/0178.mp3 b/SD-Karte/mp3/0178.mp3 index b0900ad..4125fa0 100644 Binary files a/SD-Karte/mp3/0178.mp3 and b/SD-Karte/mp3/0178.mp3 differ diff --git a/SD-Karte/mp3/0179.mp3 b/SD-Karte/mp3/0179.mp3 index 55513c2..eb5ccfc 100644 Binary files a/SD-Karte/mp3/0179.mp3 and b/SD-Karte/mp3/0179.mp3 differ diff --git a/SD-Karte/mp3/0180.mp3 b/SD-Karte/mp3/0180.mp3 index f214cff..536421f 100644 Binary files a/SD-Karte/mp3/0180.mp3 and b/SD-Karte/mp3/0180.mp3 differ diff --git a/SD-Karte/mp3/0181.mp3 b/SD-Karte/mp3/0181.mp3 index 93855b8..ece24ff 100644 Binary files a/SD-Karte/mp3/0181.mp3 and b/SD-Karte/mp3/0181.mp3 differ diff --git a/SD-Karte/mp3/0182.mp3 b/SD-Karte/mp3/0182.mp3 index acf8431..8b3c955 100644 Binary files a/SD-Karte/mp3/0182.mp3 and b/SD-Karte/mp3/0182.mp3 differ diff --git a/SD-Karte/mp3/0183.mp3 b/SD-Karte/mp3/0183.mp3 index 33ad88a..15646d1 100644 Binary files a/SD-Karte/mp3/0183.mp3 and b/SD-Karte/mp3/0183.mp3 differ diff --git a/SD-Karte/mp3/0184.mp3 b/SD-Karte/mp3/0184.mp3 index 60f736d..0f9051c 100644 Binary files a/SD-Karte/mp3/0184.mp3 and b/SD-Karte/mp3/0184.mp3 differ diff --git a/SD-Karte/mp3/0185.mp3 b/SD-Karte/mp3/0185.mp3 index 488b2df..07761f1 100644 Binary files a/SD-Karte/mp3/0185.mp3 and b/SD-Karte/mp3/0185.mp3 differ diff --git a/SD-Karte/mp3/0186.mp3 b/SD-Karte/mp3/0186.mp3 index e3987c6..e019709 100644 Binary files a/SD-Karte/mp3/0186.mp3 and b/SD-Karte/mp3/0186.mp3 differ diff --git a/SD-Karte/mp3/0187.mp3 b/SD-Karte/mp3/0187.mp3 index f992765..3b2f3dc 100644 Binary files a/SD-Karte/mp3/0187.mp3 and b/SD-Karte/mp3/0187.mp3 differ diff --git a/SD-Karte/mp3/0188.mp3 b/SD-Karte/mp3/0188.mp3 index b2d7b11..400350f 100644 Binary files a/SD-Karte/mp3/0188.mp3 and b/SD-Karte/mp3/0188.mp3 differ diff --git a/SD-Karte/mp3/0189.mp3 b/SD-Karte/mp3/0189.mp3 index 0e4fb32..4de15d2 100644 Binary files a/SD-Karte/mp3/0189.mp3 and b/SD-Karte/mp3/0189.mp3 differ diff --git a/SD-Karte/mp3/0190.mp3 b/SD-Karte/mp3/0190.mp3 index b91ca2e..3213272 100644 Binary files a/SD-Karte/mp3/0190.mp3 and b/SD-Karte/mp3/0190.mp3 differ diff --git a/SD-Karte/mp3/0191.mp3 b/SD-Karte/mp3/0191.mp3 index b86b284..1896d48 100644 Binary files a/SD-Karte/mp3/0191.mp3 and b/SD-Karte/mp3/0191.mp3 differ diff --git a/SD-Karte/mp3/0192.mp3 b/SD-Karte/mp3/0192.mp3 index 083d387..f5550da 100644 Binary files a/SD-Karte/mp3/0192.mp3 and b/SD-Karte/mp3/0192.mp3 differ diff --git a/SD-Karte/mp3/0193.mp3 b/SD-Karte/mp3/0193.mp3 index d386b23..7bc247e 100644 Binary files a/SD-Karte/mp3/0193.mp3 and b/SD-Karte/mp3/0193.mp3 differ diff --git a/SD-Karte/mp3/0194.mp3 b/SD-Karte/mp3/0194.mp3 index 51f720a..77c680d 100644 Binary files a/SD-Karte/mp3/0194.mp3 and b/SD-Karte/mp3/0194.mp3 differ diff --git a/SD-Karte/mp3/0195.mp3 b/SD-Karte/mp3/0195.mp3 index d29499c..80c033e 100644 Binary files a/SD-Karte/mp3/0195.mp3 and b/SD-Karte/mp3/0195.mp3 differ diff --git a/SD-Karte/mp3/0196.mp3 b/SD-Karte/mp3/0196.mp3 index 2b7d473..3e64550 100644 Binary files a/SD-Karte/mp3/0196.mp3 and b/SD-Karte/mp3/0196.mp3 differ diff --git a/SD-Karte/mp3/0197.mp3 b/SD-Karte/mp3/0197.mp3 index ba8afe5..c7c96c9 100644 Binary files a/SD-Karte/mp3/0197.mp3 and b/SD-Karte/mp3/0197.mp3 differ diff --git a/SD-Karte/mp3/0198.mp3 b/SD-Karte/mp3/0198.mp3 index 638de75..320ce4c 100644 Binary files a/SD-Karte/mp3/0198.mp3 and b/SD-Karte/mp3/0198.mp3 differ diff --git a/SD-Karte/mp3/0199.mp3 b/SD-Karte/mp3/0199.mp3 index a87d9c9..712c8f5 100644 Binary files a/SD-Karte/mp3/0199.mp3 and b/SD-Karte/mp3/0199.mp3 differ diff --git a/SD-Karte/mp3/0200.mp3 b/SD-Karte/mp3/0200.mp3 index ba30498..56553ad 100644 Binary files a/SD-Karte/mp3/0200.mp3 and b/SD-Karte/mp3/0200.mp3 differ diff --git a/SD-Karte/mp3/0201.mp3 b/SD-Karte/mp3/0201.mp3 index 8f48e4d..4c4badf 100644 Binary files a/SD-Karte/mp3/0201.mp3 and b/SD-Karte/mp3/0201.mp3 differ diff --git a/SD-Karte/mp3/0202.mp3 b/SD-Karte/mp3/0202.mp3 index cacdaa7..a58b14a 100644 Binary files a/SD-Karte/mp3/0202.mp3 and b/SD-Karte/mp3/0202.mp3 differ diff --git a/SD-Karte/mp3/0203.mp3 b/SD-Karte/mp3/0203.mp3 index 6b72889..71e2e9e 100644 Binary files a/SD-Karte/mp3/0203.mp3 and b/SD-Karte/mp3/0203.mp3 differ diff --git a/SD-Karte/mp3/0204.mp3 b/SD-Karte/mp3/0204.mp3 index da455fc..b604b65 100644 Binary files a/SD-Karte/mp3/0204.mp3 and b/SD-Karte/mp3/0204.mp3 differ diff --git a/SD-Karte/mp3/0205.mp3 b/SD-Karte/mp3/0205.mp3 index 2bcc83d..aeffa2f 100644 Binary files a/SD-Karte/mp3/0205.mp3 and b/SD-Karte/mp3/0205.mp3 differ diff --git a/SD-Karte/mp3/0206.mp3 b/SD-Karte/mp3/0206.mp3 index 3f9123b..67a2ac5 100644 Binary files a/SD-Karte/mp3/0206.mp3 and b/SD-Karte/mp3/0206.mp3 differ diff --git a/SD-Karte/mp3/0207.mp3 b/SD-Karte/mp3/0207.mp3 index 4bd7d3c..5e325ca 100644 Binary files a/SD-Karte/mp3/0207.mp3 and b/SD-Karte/mp3/0207.mp3 differ diff --git a/SD-Karte/mp3/0208.mp3 b/SD-Karte/mp3/0208.mp3 index eb405df..4ec0bb5 100644 Binary files a/SD-Karte/mp3/0208.mp3 and b/SD-Karte/mp3/0208.mp3 differ diff --git a/SD-Karte/mp3/0209.mp3 b/SD-Karte/mp3/0209.mp3 index 47ec21b..b78f2e9 100644 Binary files a/SD-Karte/mp3/0209.mp3 and b/SD-Karte/mp3/0209.mp3 differ diff --git a/SD-Karte/mp3/0210.mp3 b/SD-Karte/mp3/0210.mp3 index e7a5cd0..d559d77 100644 Binary files a/SD-Karte/mp3/0210.mp3 and b/SD-Karte/mp3/0210.mp3 differ diff --git a/SD-Karte/mp3/0211.mp3 b/SD-Karte/mp3/0211.mp3 index b91892c..0cb90a8 100644 Binary files a/SD-Karte/mp3/0211.mp3 and b/SD-Karte/mp3/0211.mp3 differ diff --git a/SD-Karte/mp3/0212.mp3 b/SD-Karte/mp3/0212.mp3 index 18524c7..426dd3c 100644 Binary files a/SD-Karte/mp3/0212.mp3 and b/SD-Karte/mp3/0212.mp3 differ diff --git a/SD-Karte/mp3/0213.mp3 b/SD-Karte/mp3/0213.mp3 index aeaa759..bc29086 100644 Binary files a/SD-Karte/mp3/0213.mp3 and b/SD-Karte/mp3/0213.mp3 differ diff --git a/SD-Karte/mp3/0214.mp3 b/SD-Karte/mp3/0214.mp3 index cc7c423..98ad2cb 100644 Binary files a/SD-Karte/mp3/0214.mp3 and b/SD-Karte/mp3/0214.mp3 differ diff --git a/SD-Karte/mp3/0215.mp3 b/SD-Karte/mp3/0215.mp3 index ba8b44d..76b898d 100644 Binary files a/SD-Karte/mp3/0215.mp3 and b/SD-Karte/mp3/0215.mp3 differ diff --git a/SD-Karte/mp3/0216.mp3 b/SD-Karte/mp3/0216.mp3 index c6b8039..e6a5c91 100644 Binary files a/SD-Karte/mp3/0216.mp3 and b/SD-Karte/mp3/0216.mp3 differ diff --git a/SD-Karte/mp3/0217.mp3 b/SD-Karte/mp3/0217.mp3 index 15111a4..3b41a7c 100644 Binary files a/SD-Karte/mp3/0217.mp3 and b/SD-Karte/mp3/0217.mp3 differ diff --git a/SD-Karte/mp3/0218.mp3 b/SD-Karte/mp3/0218.mp3 index 8ab740e..c8b9932 100644 Binary files a/SD-Karte/mp3/0218.mp3 and b/SD-Karte/mp3/0218.mp3 differ diff --git a/SD-Karte/mp3/0219.mp3 b/SD-Karte/mp3/0219.mp3 index d41cc73..1727dc4 100644 Binary files a/SD-Karte/mp3/0219.mp3 and b/SD-Karte/mp3/0219.mp3 differ diff --git a/SD-Karte/mp3/0220.mp3 b/SD-Karte/mp3/0220.mp3 index b568d38..6562899 100644 Binary files a/SD-Karte/mp3/0220.mp3 and b/SD-Karte/mp3/0220.mp3 differ diff --git a/SD-Karte/mp3/0221.mp3 b/SD-Karte/mp3/0221.mp3 index ac35f12..630b11a 100644 Binary files a/SD-Karte/mp3/0221.mp3 and b/SD-Karte/mp3/0221.mp3 differ diff --git a/SD-Karte/mp3/0222.mp3 b/SD-Karte/mp3/0222.mp3 index 124ef00..e9ba0a3 100644 Binary files a/SD-Karte/mp3/0222.mp3 and b/SD-Karte/mp3/0222.mp3 differ diff --git a/SD-Karte/mp3/0223.mp3 b/SD-Karte/mp3/0223.mp3 index 937b5a7..9b8b74e 100644 Binary files a/SD-Karte/mp3/0223.mp3 and b/SD-Karte/mp3/0223.mp3 differ diff --git a/SD-Karte/mp3/0224.mp3 b/SD-Karte/mp3/0224.mp3 index aa4100a..b6c4cea 100644 Binary files a/SD-Karte/mp3/0224.mp3 and b/SD-Karte/mp3/0224.mp3 differ diff --git a/SD-Karte/mp3/0225.mp3 b/SD-Karte/mp3/0225.mp3 index 06e2cb1..f383782 100644 Binary files a/SD-Karte/mp3/0225.mp3 and b/SD-Karte/mp3/0225.mp3 differ diff --git a/SD-Karte/mp3/0226.mp3 b/SD-Karte/mp3/0226.mp3 index 43c2601..59ffda6 100644 Binary files a/SD-Karte/mp3/0226.mp3 and b/SD-Karte/mp3/0226.mp3 differ diff --git a/SD-Karte/mp3/0227.mp3 b/SD-Karte/mp3/0227.mp3 index 4e33a2d..85bdf4a 100644 Binary files a/SD-Karte/mp3/0227.mp3 and b/SD-Karte/mp3/0227.mp3 differ diff --git a/SD-Karte/mp3/0228.mp3 b/SD-Karte/mp3/0228.mp3 index 14d37c9..3b6c56f 100644 Binary files a/SD-Karte/mp3/0228.mp3 and b/SD-Karte/mp3/0228.mp3 differ diff --git a/SD-Karte/mp3/0229.mp3 b/SD-Karte/mp3/0229.mp3 index 9331f15..8d73e6c 100644 Binary files a/SD-Karte/mp3/0229.mp3 and b/SD-Karte/mp3/0229.mp3 differ diff --git a/SD-Karte/mp3/0230.mp3 b/SD-Karte/mp3/0230.mp3 index c18fc92..8971bb0 100644 Binary files a/SD-Karte/mp3/0230.mp3 and b/SD-Karte/mp3/0230.mp3 differ diff --git a/SD-Karte/mp3/0231.mp3 b/SD-Karte/mp3/0231.mp3 index 94e9da0..f174a4b 100644 Binary files a/SD-Karte/mp3/0231.mp3 and b/SD-Karte/mp3/0231.mp3 differ diff --git a/SD-Karte/mp3/0232.mp3 b/SD-Karte/mp3/0232.mp3 index ab26bb0..da76eaf 100644 Binary files a/SD-Karte/mp3/0232.mp3 and b/SD-Karte/mp3/0232.mp3 differ diff --git a/SD-Karte/mp3/0233.mp3 b/SD-Karte/mp3/0233.mp3 index ff1aa0d..d046119 100644 Binary files a/SD-Karte/mp3/0233.mp3 and b/SD-Karte/mp3/0233.mp3 differ diff --git a/SD-Karte/mp3/0234.mp3 b/SD-Karte/mp3/0234.mp3 index 8fe5992..df8ba3a 100644 Binary files a/SD-Karte/mp3/0234.mp3 and b/SD-Karte/mp3/0234.mp3 differ diff --git a/SD-Karte/mp3/0235.mp3 b/SD-Karte/mp3/0235.mp3 index 6e62fb1..f87ecd5 100644 Binary files a/SD-Karte/mp3/0235.mp3 and b/SD-Karte/mp3/0235.mp3 differ diff --git a/SD-Karte/mp3/0236.mp3 b/SD-Karte/mp3/0236.mp3 index 79eda79..42feec5 100644 Binary files a/SD-Karte/mp3/0236.mp3 and b/SD-Karte/mp3/0236.mp3 differ diff --git a/SD-Karte/mp3/0237.mp3 b/SD-Karte/mp3/0237.mp3 index 8418bb2..1ffb958 100644 Binary files a/SD-Karte/mp3/0237.mp3 and b/SD-Karte/mp3/0237.mp3 differ diff --git a/SD-Karte/mp3/0238.mp3 b/SD-Karte/mp3/0238.mp3 index 8c6bf50..c0c1482 100644 Binary files a/SD-Karte/mp3/0238.mp3 and b/SD-Karte/mp3/0238.mp3 differ diff --git a/SD-Karte/mp3/0239.mp3 b/SD-Karte/mp3/0239.mp3 index afde86f..55408a3 100644 Binary files a/SD-Karte/mp3/0239.mp3 and b/SD-Karte/mp3/0239.mp3 differ diff --git a/SD-Karte/mp3/0240.mp3 b/SD-Karte/mp3/0240.mp3 index 10e72de..b359d2d 100644 Binary files a/SD-Karte/mp3/0240.mp3 and b/SD-Karte/mp3/0240.mp3 differ diff --git a/SD-Karte/mp3/0241.mp3 b/SD-Karte/mp3/0241.mp3 index c5cc0fb..e41530b 100644 Binary files a/SD-Karte/mp3/0241.mp3 and b/SD-Karte/mp3/0241.mp3 differ diff --git a/SD-Karte/mp3/0242.mp3 b/SD-Karte/mp3/0242.mp3 index 3c72cce..b33630d 100644 Binary files a/SD-Karte/mp3/0242.mp3 and b/SD-Karte/mp3/0242.mp3 differ diff --git a/SD-Karte/mp3/0243.mp3 b/SD-Karte/mp3/0243.mp3 index 09fa766..13e1f09 100644 Binary files a/SD-Karte/mp3/0243.mp3 and b/SD-Karte/mp3/0243.mp3 differ diff --git a/SD-Karte/mp3/0244.mp3 b/SD-Karte/mp3/0244.mp3 index 6790fc5..8459fa9 100644 Binary files a/SD-Karte/mp3/0244.mp3 and b/SD-Karte/mp3/0244.mp3 differ diff --git a/SD-Karte/mp3/0245.mp3 b/SD-Karte/mp3/0245.mp3 index 67ef582..4de0260 100644 Binary files a/SD-Karte/mp3/0245.mp3 and b/SD-Karte/mp3/0245.mp3 differ diff --git a/SD-Karte/mp3/0246.mp3 b/SD-Karte/mp3/0246.mp3 index 8ab1412..ccce063 100644 Binary files a/SD-Karte/mp3/0246.mp3 and b/SD-Karte/mp3/0246.mp3 differ diff --git a/SD-Karte/mp3/0247.mp3 b/SD-Karte/mp3/0247.mp3 index 24fc8fa..26f2462 100644 Binary files a/SD-Karte/mp3/0247.mp3 and b/SD-Karte/mp3/0247.mp3 differ diff --git a/SD-Karte/mp3/0248.mp3 b/SD-Karte/mp3/0248.mp3 index c42424e..c48f96b 100644 Binary files a/SD-Karte/mp3/0248.mp3 and b/SD-Karte/mp3/0248.mp3 differ diff --git a/SD-Karte/mp3/0249.mp3 b/SD-Karte/mp3/0249.mp3 index 9211fb8..c520eee 100644 Binary files a/SD-Karte/mp3/0249.mp3 and b/SD-Karte/mp3/0249.mp3 differ diff --git a/SD-Karte/mp3/0250.mp3 b/SD-Karte/mp3/0250.mp3 index c659acf..25627b0 100644 Binary files a/SD-Karte/mp3/0250.mp3 and b/SD-Karte/mp3/0250.mp3 differ diff --git a/SD-Karte/mp3/0251.mp3 b/SD-Karte/mp3/0251.mp3 new file mode 100644 index 0000000..5436a9f Binary files /dev/null and b/SD-Karte/mp3/0251.mp3 differ diff --git a/SD-Karte/mp3/0252.mp3 b/SD-Karte/mp3/0252.mp3 new file mode 100644 index 0000000..d571475 Binary files /dev/null and b/SD-Karte/mp3/0252.mp3 differ diff --git a/SD-Karte/mp3/0253.mp3 b/SD-Karte/mp3/0253.mp3 new file mode 100644 index 0000000..1f74afc Binary files /dev/null and b/SD-Karte/mp3/0253.mp3 differ diff --git a/SD-Karte/mp3/0254.mp3 b/SD-Karte/mp3/0254.mp3 new file mode 100644 index 0000000..9a816ee Binary files /dev/null and b/SD-Karte/mp3/0254.mp3 differ diff --git a/SD-Karte/mp3/0255.mp3 b/SD-Karte/mp3/0255.mp3 new file mode 100644 index 0000000..9dcb66f Binary files /dev/null and b/SD-Karte/mp3/0255.mp3 differ diff --git a/SD-Karte/mp3/0300_new_tag.mp3 b/SD-Karte/mp3/0300_new_tag.mp3 index f2cb269..224ce73 100644 Binary files a/SD-Karte/mp3/0300_new_tag.mp3 and b/SD-Karte/mp3/0300_new_tag.mp3 differ diff --git a/SD-Karte/mp3/0310.mp3 b/SD-Karte/mp3/0310.mp3 index 71515ee..34de9bc 100644 Binary files a/SD-Karte/mp3/0310.mp3 and b/SD-Karte/mp3/0310.mp3 differ diff --git a/SD-Karte/mp3/0311_mode_random_episode.mp3 b/SD-Karte/mp3/0311_mode_random_episode.mp3 index 12d39c3..d752638 100644 Binary files a/SD-Karte/mp3/0311_mode_random_episode.mp3 and b/SD-Karte/mp3/0311_mode_random_episode.mp3 differ diff --git a/SD-Karte/mp3/0312_mode_album.mp3 b/SD-Karte/mp3/0312_mode_album.mp3 index c32f28b..f5cdc2f 100644 Binary files a/SD-Karte/mp3/0312_mode_album.mp3 and b/SD-Karte/mp3/0312_mode_album.mp3 differ diff --git a/SD-Karte/mp3/0313_mode_party.mp3 b/SD-Karte/mp3/0313_mode_party.mp3 index c0e05a8..fec5f94 100644 Binary files a/SD-Karte/mp3/0313_mode_party.mp3 and b/SD-Karte/mp3/0313_mode_party.mp3 differ diff --git a/SD-Karte/mp3/0314_mode_single_track.mp3 b/SD-Karte/mp3/0314_mode_single_track.mp3 index eedf912..931d3ba 100644 Binary files a/SD-Karte/mp3/0314_mode_single_track.mp3 and b/SD-Karte/mp3/0314_mode_single_track.mp3 differ diff --git a/SD-Karte/mp3/0315_mode_audio_book.mp3 b/SD-Karte/mp3/0315_mode_audio_book.mp3 index e4311c7..5246897 100644 Binary files a/SD-Karte/mp3/0315_mode_audio_book.mp3 and b/SD-Karte/mp3/0315_mode_audio_book.mp3 differ diff --git a/SD-Karte/mp3/0316_admin.mp3 b/SD-Karte/mp3/0316_admin.mp3 index e76d464..ec4dcf8 100644 Binary files a/SD-Karte/mp3/0316_admin.mp3 and b/SD-Karte/mp3/0316_admin.mp3 differ diff --git a/SD-Karte/mp3/0317_special_random.mp3 b/SD-Karte/mp3/0317_special_random.mp3 new file mode 100644 index 0000000..b177e04 Binary files /dev/null and b/SD-Karte/mp3/0317_special_random.mp3 differ diff --git a/SD-Karte/mp3/0318_special_album.mp3 b/SD-Karte/mp3/0318_special_album.mp3 new file mode 100644 index 0000000..31e9eec Binary files /dev/null and b/SD-Karte/mp3/0318_special_album.mp3 differ diff --git a/SD-Karte/mp3/0319_special_party.mp3 b/SD-Karte/mp3/0319_special_party.mp3 new file mode 100644 index 0000000..0323a4d Binary files /dev/null and b/SD-Karte/mp3/0319_special_party.mp3 differ diff --git a/SD-Karte/mp3/0320_select_file.mp3 b/SD-Karte/mp3/0320_select_file.mp3 index 0ea5079..5d58b29 100644 Binary files a/SD-Karte/mp3/0320_select_file.mp3 and b/SD-Karte/mp3/0320_select_file.mp3 differ diff --git a/SD-Karte/mp3/0321_select_first_file.mp3 b/SD-Karte/mp3/0321_select_first_file.mp3 new file mode 100644 index 0000000..a3243ee Binary files /dev/null and b/SD-Karte/mp3/0321_select_first_file.mp3 differ diff --git a/SD-Karte/mp3/0322_select_last_file.mp3 b/SD-Karte/mp3/0322_select_last_file.mp3 new file mode 100644 index 0000000..865258a Binary files /dev/null and b/SD-Karte/mp3/0322_select_last_file.mp3 differ diff --git a/SD-Karte/mp3/0330.mp3 b/SD-Karte/mp3/0330.mp3 index 34e62b5..4976c43 100644 Binary files a/SD-Karte/mp3/0330.mp3 and b/SD-Karte/mp3/0330.mp3 differ diff --git a/SD-Karte/mp3/0331.mp3 b/SD-Karte/mp3/0331.mp3 index 09fc821..e6bb3b7 100644 Binary files a/SD-Karte/mp3/0331.mp3 and b/SD-Karte/mp3/0331.mp3 differ diff --git a/SD-Karte/mp3/0332.mp3 b/SD-Karte/mp3/0332.mp3 index 286fb39..047d1bc 100644 Binary files a/SD-Karte/mp3/0332.mp3 and b/SD-Karte/mp3/0332.mp3 differ diff --git a/SD-Karte/mp3/0400_ok.mp3 b/SD-Karte/mp3/0400_ok.mp3 index daaaab1..1e45d4f 100644 Binary files a/SD-Karte/mp3/0400_ok.mp3 and b/SD-Karte/mp3/0400_ok.mp3 differ diff --git a/SD-Karte/mp3/0401_error.mp3 b/SD-Karte/mp3/0401_error.mp3 index c455245..33efaad 100644 Binary files a/SD-Karte/mp3/0401_error.mp3 and b/SD-Karte/mp3/0401_error.mp3 differ diff --git a/SD-Karte/mp3/0800_reset_tag.mp3 b/SD-Karte/mp3/0800_reset_tag.mp3 index 5089edd..7ace7e4 100644 Binary files a/SD-Karte/mp3/0800_reset_tag.mp3 and b/SD-Karte/mp3/0800_reset_tag.mp3 differ diff --git a/SD-Karte/mp3/0801_reset_tag_ok.mp3 b/SD-Karte/mp3/0801_reset_tag_ok.mp3 index f25e446..70fe3ae 100644 Binary files a/SD-Karte/mp3/0801_reset_tag_ok.mp3 and b/SD-Karte/mp3/0801_reset_tag_ok.mp3 differ diff --git a/SD-Karte/mp3/0802_reset_aborted.mp3 b/SD-Karte/mp3/0802_reset_aborted.mp3 index 0084e9a..78662c0 100644 Binary files a/SD-Karte/mp3/0802_reset_aborted.mp3 and b/SD-Karte/mp3/0802_reset_aborted.mp3 differ diff --git a/SD-Karte/mp3/0900_admin.mp3 b/SD-Karte/mp3/0900_admin.mp3 new file mode 100644 index 0000000..5e01c4d Binary files /dev/null and b/SD-Karte/mp3/0900_admin.mp3 differ diff --git a/SD-Karte/mp3/0901_card_reset.mp3 b/SD-Karte/mp3/0901_card_reset.mp3 new file mode 100644 index 0000000..baa00f2 Binary files /dev/null and b/SD-Karte/mp3/0901_card_reset.mp3 differ diff --git a/SD-Karte/mp3/0902_max_volume.mp3 b/SD-Karte/mp3/0902_max_volume.mp3 new file mode 100644 index 0000000..ebd1712 Binary files /dev/null and b/SD-Karte/mp3/0902_max_volume.mp3 differ diff --git a/SD-Karte/mp3/0903_min_volume.mp3 b/SD-Karte/mp3/0903_min_volume.mp3 new file mode 100644 index 0000000..832b606 Binary files /dev/null and b/SD-Karte/mp3/0903_min_volume.mp3 differ diff --git a/SD-Karte/mp3/0904_init_volume.mp3 b/SD-Karte/mp3/0904_init_volume.mp3 new file mode 100644 index 0000000..de30243 Binary files /dev/null and b/SD-Karte/mp3/0904_init_volume.mp3 differ diff --git a/SD-Karte/mp3/0905_eq.mp3 b/SD-Karte/mp3/0905_eq.mp3 new file mode 100644 index 0000000..e2a77a6 Binary files /dev/null and b/SD-Karte/mp3/0905_eq.mp3 differ diff --git a/SD-Karte/mp3/0906_mastercard.mp3 b/SD-Karte/mp3/0906_mastercard.mp3 new file mode 100644 index 0000000..39ea390 Binary files /dev/null and b/SD-Karte/mp3/0906_mastercard.mp3 differ diff --git a/SD-Karte/mp3/0907_shortcut.mp3 b/SD-Karte/mp3/0907_shortcut.mp3 new file mode 100644 index 0000000..82d45e0 Binary files /dev/null and b/SD-Karte/mp3/0907_shortcut.mp3 differ diff --git a/SD-Karte/mp3/0908_sleeptimer.mp3 b/SD-Karte/mp3/0908_sleeptimer.mp3 new file mode 100644 index 0000000..712e216 Binary files /dev/null and b/SD-Karte/mp3/0908_sleeptimer.mp3 differ diff --git a/SD-Karte/mp3/0920_eq_intro.mp3 b/SD-Karte/mp3/0920_eq_intro.mp3 new file mode 100644 index 0000000..cf3b2a2 Binary files /dev/null and b/SD-Karte/mp3/0920_eq_intro.mp3 differ diff --git a/SD-Karte/mp3/0921_normal.mp3 b/SD-Karte/mp3/0921_normal.mp3 new file mode 100644 index 0000000..daa4ccb Binary files /dev/null and b/SD-Karte/mp3/0921_normal.mp3 differ diff --git a/SD-Karte/mp3/0922_pop.mp3 b/SD-Karte/mp3/0922_pop.mp3 new file mode 100644 index 0000000..f092a9d Binary files /dev/null and b/SD-Karte/mp3/0922_pop.mp3 differ diff --git a/SD-Karte/mp3/0923_rock.mp3 b/SD-Karte/mp3/0923_rock.mp3 new file mode 100644 index 0000000..7ecd8a3 Binary files /dev/null and b/SD-Karte/mp3/0923_rock.mp3 differ diff --git a/SD-Karte/mp3/0924_jazz.mp3 b/SD-Karte/mp3/0924_jazz.mp3 new file mode 100644 index 0000000..934e93a Binary files /dev/null and b/SD-Karte/mp3/0924_jazz.mp3 differ diff --git a/SD-Karte/mp3/0925_classic.mp3 b/SD-Karte/mp3/0925_classic.mp3 new file mode 100644 index 0000000..3cf8e51 Binary files /dev/null and b/SD-Karte/mp3/0925_classic.mp3 differ diff --git a/SD-Karte/mp3/0926_bass.mp3 b/SD-Karte/mp3/0926_bass.mp3 new file mode 100644 index 0000000..bb38595 Binary files /dev/null and b/SD-Karte/mp3/0926_bass.mp3 differ diff --git a/SD-Karte/mp3/0930_max_volume.mp3 b/SD-Karte/mp3/0930_max_volume.mp3 new file mode 100644 index 0000000..c1dec3c Binary files /dev/null and b/SD-Karte/mp3/0930_max_volume.mp3 differ diff --git a/SD-Karte/mp3/0931_min_volume.mp3 b/SD-Karte/mp3/0931_min_volume.mp3 new file mode 100644 index 0000000..db179c1 Binary files /dev/null and b/SD-Karte/mp3/0931_min_volume.mp3 differ diff --git a/SD-Karte/mp3/0932_init_volume.mp3 b/SD-Karte/mp3/0932_init_volume.mp3 new file mode 100644 index 0000000..69ffb11 Binary files /dev/null and b/SD-Karte/mp3/0932_init_volume.mp3 differ diff --git a/SD-Karte/mp3/0933_switch_volume.mp3 b/SD-Karte/mp3/0933_switch_volume.mp3 new file mode 100644 index 0000000..2bc1622 Binary files /dev/null and b/SD-Karte/mp3/0933_switch_volume.mp3 differ diff --git a/SD-Karte/mp3/0934_no.mp3 b/SD-Karte/mp3/0934_no.mp3 new file mode 100644 index 0000000..59b8ce9 Binary files /dev/null and b/SD-Karte/mp3/0934_no.mp3 differ diff --git a/SD-Karte/mp3/0935_yes.mp3 b/SD-Karte/mp3/0935_yes.mp3 new file mode 100644 index 0000000..e47df5d Binary files /dev/null and b/SD-Karte/mp3/0935_yes.mp3 differ diff --git a/SD-Karte/mp3/0999_reset_ok.mp3 b/SD-Karte/mp3/0999_reset_ok.mp3 index 7880676..b751da0 100644 Binary files a/SD-Karte/mp3/0999_reset_ok.mp3 and b/SD-Karte/mp3/0999_reset_ok.mp3 differ diff --git a/Tonuino.ino b/Tonuino.ino index bb14b66..d3abeea 100644 --- a/Tonuino.ino +++ b/Tonuino.ino @@ -9,6 +9,9 @@ SoftwareSerial mySoftwareSerial(2, 3); // RX, TX uint16_t numTracksInFolder; uint16_t currentTrack; +uint16_t firstTrack; +uint16_t queue[255]; +uint8_t volume; // this object stores nfc tag data struct nfcTagObject { @@ -17,13 +20,37 @@ struct nfcTagObject { uint8_t folder; uint8_t mode; uint8_t special; + uint8_t special2; }; +struct folderSettings { + uint8_t folder; + uint8_t mode; + uint8_t special; + uint8_t special2; +}; + +// admin settings stored in eeprom +struct adminSettings { + uint32_t cookie; + byte version; + uint8_t maxVolume; + uint8_t minVolume; + uint8_t initVolume; + uint8_t eq; + bool locked; + long sleepTimer; + bool invertVolumeButtons; + folderSettings shortCuts[3]; +}; + +adminSettings mySettings; nfcTagObject myCard; +unsigned long sleepAtMillis = 0; static void nextTrack(uint16_t track); int voiceMenu(int numberOfOptions, int startMessage, int messageOffset, - bool preview = false, int previewFromFolder = 0); + bool preview = false, int previewFromFolder = 0, int defaultValue = 0); bool knownCard = false; @@ -31,71 +58,178 @@ bool knownCard = false; // its member methods will get called // class Mp3Notify { -public: - static void OnError(uint16_t errorCode) { - // see DfMp3_Error for code meaning - Serial.println(); - Serial.print("Com Error "); - Serial.println(errorCode); - } - static void OnPlayFinished(uint16_t track) { - Serial.print("Track beendet"); - Serial.println(track); - delay(100); - nextTrack(track); - } - static void OnCardOnline(uint16_t code) { - Serial.println(F("SD Karte online ")); - } - static void OnCardInserted(uint16_t code) { - Serial.println(F("SD Karte bereit ")); - } - static void OnCardRemoved(uint16_t code) { - Serial.println(F("SD Karte entfernt ")); - } + public: + static void OnError(uint16_t errorCode) { + // see DfMp3_Error for code meaning + Serial.println(); + Serial.print("Com Error "); + Serial.println(errorCode); + } + static void OnPlayFinished(uint16_t track) { + Serial.print("Track beendet"); + Serial.println(track); + delay(100); + nextTrack(track); + } + static void OnCardOnline(uint16_t code) { + Serial.println(F("SD Karte online ")); + } + static void OnCardInserted(uint16_t code) { + Serial.println(F("SD Karte bereit ")); + } + static void OnCardRemoved(uint16_t code) { + Serial.println(F("SD Karte entfernt ")); + } }; static DFMiniMp3 mp3(mySoftwareSerial); -// Leider kann das Modul keine Queue abspielen. +void shuffleQueue() { + // Queue für die Zufallswiedergabe erstellen + for (uint16_t x = 0; x < numTracksInFolder - firstTrack + 1; x++) + queue[x] = x + firstTrack; + // Rest mit 0 auffüllen + for (uint16_t x = numTracksInFolder - firstTrack + 1; x < 255; x++) + queue[x] = 0; + // Queue mischen + for (uint16_t i = 0; i < numTracksInFolder - firstTrack + 1; i++) + { + uint16_t j = random (0, numTracksInFolder - firstTrack + 1); + uint16_t t = queue[i]; + queue[i] = queue[j]; + queue[j] = t; + } + Serial.println(F("Queue :")); + for (uint16_t x = 0; x < numTracksInFolder - firstTrack + 1 ; x++) + Serial.println(queue[x]); + +} + +void writeSettingsToFlash() { + Serial.println(F("=== writeSettingsToFlash()")); + int address = sizeof(myCard.folder) * 255; + EEPROM.put(address, mySettings); +} + +void resetSettings() { + Serial.println(F("=== resetSettings()")); + mySettings.cookie = 322417479; + mySettings.version = 1; + mySettings.maxVolume = 15; + mySettings.minVolume = 5; + mySettings.initVolume = 10; + mySettings.eq = 1; + mySettings.locked = false; + mySettings.sleepTimer = 5; + mySettings.invertVolumeButtons = false; + mySettings.shortCuts[0].folder = 0; + mySettings.shortCuts[1].folder = 0; + mySettings.shortCuts[2].folder = 0; + writeSettingsToFlash(); +} + +void migradeSettings(int oldVersion) { + +} + +void loadSettingsFromFlash() { + Serial.println(F("=== loadSettingsFromFlash()")); + int address = sizeof(myCard.folder) * 255; + EEPROM.get(address, mySettings); + if (mySettings.cookie != 322417479) + resetSettings(); + migradeSettings(mySettings.version); + + Serial.print(F("Version: ")); + Serial.println(mySettings.version); + + Serial.print(F("Maximal Volume: ")); + Serial.println(mySettings.maxVolume); + + Serial.print(F("Minimal Volume: ")); + Serial.println(mySettings.minVolume); + + Serial.print(F("Initial Volume: ")); + Serial.println(mySettings.initVolume); + + Serial.print(F("EQ: ")); + Serial.println(mySettings.eq); + + Serial.print(F("Locked: ")); + Serial.println(mySettings.locked); + + Serial.print(F("Sleep Timer: ")); + Serial.println(mySettings.sleepTimer); + + Serial.print(F("Inverted Volume Buttons: ")); + Serial.println(mySettings.invertVolumeButtons); +} + + +void setSleepTimer() { + if (mySettings.sleepTimer != 0) + sleepAtMillis = millis() + (mySettings.sleepTimer * 1000); +} + +void disableSleepTimer() { + sleepAtMillis = 0; +} + +void checkSleepAtMillis() { + if (sleepAtMillis != 0 && millis() > sleepAtMillis) { + // enter sleep state + } +} + + +// Leider kann das Modul selbst keine Queue abspielen, daher müssen wir selbst die Queue verwalten static uint16_t _lastTrackFinished; static void nextTrack(uint16_t track) { if (track == _lastTrackFinished) { return; - } - _lastTrackFinished = track; - - if (knownCard == false) + } + _lastTrackFinished = track; + + if (knownCard == false) // Wenn eine neue Karte angelernt wird soll das Ende eines Tracks nicht // verarbeitet werden return; - if (myCard.mode == 1) { + if (myCard.mode == 1 || myCard.mode == 7) { Serial.println(F("Hörspielmodus ist aktiv -> keinen neuen Track spielen")); -// mp3.sleep(); // Je nach Modul kommt es nicht mehr zurück aus dem Sleep! + setSleepTimer(); + // mp3.sleep(); // Je nach Modul kommt es nicht mehr zurück aus dem Sleep! } - if (myCard.mode == 2) { + if (myCard.mode == 2 || myCard.mode == 8) { if (currentTrack != numTracksInFolder) { currentTrack = currentTrack + 1; mp3.playFolderTrack(myCard.folder, currentTrack); Serial.print(F("Albummodus ist aktiv -> nächster Track: ")); Serial.print(currentTrack); - } else -// mp3.sleep(); // Je nach Modul kommt es nicht mehr zurück aus dem Sleep! + } else + // mp3.sleep(); // Je nach Modul kommt es nicht mehr zurück aus dem Sleep! + setSleepTimer(); { } } - if (myCard.mode == 3) { - uint16_t oldTrack = currentTrack; - currentTrack = random(1, numTracksInFolder + 1); - if (currentTrack == oldTrack) - currentTrack = currentTrack == numTracksInFolder ? 1 : currentTrack+1; - Serial.print(F("Party Modus ist aktiv -> zufälligen Track spielen: ")); - Serial.println(currentTrack); - mp3.playFolderTrack(myCard.folder, currentTrack); + if (myCard.mode == 3 || myCard.mode == 9) { + if (currentTrack != numTracksInFolder - firstTrack + 1) { + Serial.print(F("Spezialmodus Von-Bis: Party -> weiter in der Queue ")); + currentTrack++; + } else { + Serial.println(F("Ende der Queue -> beginne von vorne")); + currentTrack = 1; + //// Wenn am Ende der Queue neu gemischt werden soll bitte die Zeilen wieder aktivieren + // Serial.println(F("Ende der Queue -> mische neu")); + // shuffleQueue(); + } + Serial.println(queue[currentTrack - 1]); + mp3.playFolderTrack(myCard.folder, queue[currentTrack - 1]); } + if (myCard.mode == 4) { Serial.println(F("Einzel Modus aktiv -> Strom sparen")); -// mp3.sleep(); // Je nach Modul kommt es nicht mehr zurück aus dem Sleep! + // mp3.sleep(); // Je nach Modul kommt es nicht mehr zurück aus dem Sleep! + setSleepTimer(); } if (myCard.mode == 5) { if (currentTrack != numTracksInFolder) { @@ -107,28 +241,38 @@ static void nextTrack(uint16_t track) { // Fortschritt im EEPROM abspeichern EEPROM.write(myCard.folder, currentTrack); } else { -// mp3.sleep(); // Je nach Modul kommt es nicht mehr zurück aus dem Sleep! + // mp3.sleep(); // Je nach Modul kommt es nicht mehr zurück aus dem Sleep! // Fortschritt zurück setzen EEPROM.write(myCard.folder, 1); + setSleepTimer(); } } } static void previousTrack() { - if (myCard.mode == 1) { + if (myCard.mode == 1 || myCard.mode == 7) { Serial.println(F("Hörspielmodus ist aktiv -> Track von vorne spielen")); mp3.playFolderTrack(myCard.folder, currentTrack); } - if (myCard.mode == 2) { - Serial.println(F("Albummodus ist aktiv -> vorheriger Track")); - if (currentTrack != 1) { + if (myCard.mode == 2 || myCard.mode == 8) { + Serial.println(F("Spezialmodus Von-Bis: Album ist aktiv -> vorheriger Track")); + if (currentTrack != firstTrack) { currentTrack = currentTrack - 1; } mp3.playFolderTrack(myCard.folder, currentTrack); } - if (myCard.mode == 3) { - Serial.println(F("Party Modus ist aktiv -> Track von vorne spielen")); - mp3.playFolderTrack(myCard.folder, currentTrack); + if (myCard.mode == 3 || myCard.mode == 9) { + if (currentTrack != 1) { + Serial.print(F("Party Modus ist aktiv -> zurück in der Qeueue ")); + currentTrack--; + } + else + { + Serial.print(F("Anfang der Queue -> springe ans Ende ")); + currentTrack = numTracksInFolder; + } + Serial.println(queue[currentTrack - 1]); + mp3.playFolderTrack(myCard.folder, queue[currentTrack - 1]); } if (myCard.mode == 4) { Serial.println(F("Einzel Modus aktiv -> Track von vorne spielen")); @@ -171,42 +315,55 @@ bool ignorePauseButton = false; bool ignoreUpButton = false; bool ignoreDownButton = false; -uint8_t numberOfCards = 0; +bool isPlaying() { + return !digitalRead(busyPin); +} -bool isPlaying() { return !digitalRead(busyPin); } +void waitForTrackToFinish() { + long currentTime = millis(); +#define TIMEOUT 1000 + do { + } while (!isPlaying() && millis() < currentTime + TIMEOUT); + do { + } while (isPlaying()); +} void setup() { Serial.begin(115200); // Es gibt ein paar Debug Ausgaben über die serielle - // Schnittstelle - randomSeed(analogRead(A0)); // Zufallsgenerator initialisieren + // Schnittstelle + randomSeed(analogRead(A7)); // Zufallsgenerator initialisieren Serial.println(F("TonUINO Version 2.0")); Serial.println(F("(c) Thorsten Voß")); - // Knöpfe mit PullUp - pinMode(buttonPause, INPUT_PULLUP); - pinMode(buttonUp, INPUT_PULLUP); - pinMode(buttonDown, INPUT_PULLUP); - // Busy Pin pinMode(busyPin, INPUT); + // load Settings from EEPROM + loadSettingsFromFlash(); + // DFPlayer Mini initialisieren mp3.begin(); - mp3.setVolume(15); + volume = mySettings.initVolume; + mp3.setVolume(volume); + // Fix für das Problem mit dem Timeout + mySoftwareSerial.setTimeout(10000); // NFC Leser initialisieren SPI.begin(); // Init SPI bus mfrc522.PCD_Init(); // Init MFRC522 mfrc522 - .PCD_DumpVersionToSerial(); // Show details of PCD - MFRC522 Card Reader + .PCD_DumpVersionToSerial(); // Show details of PCD - MFRC522 Card Reader for (byte i = 0; i < 6; i++) { key.keyByte[i] = 0xFF; } - // RESET --- ALLE DREI KNÖPFE BEIM STARTEN GEDRÜCKT HALTEN -> alle bekannten - // Karten werden gelöscht + pinMode(buttonPause, INPUT_PULLUP); + pinMode(buttonUp, INPUT_PULLUP); + pinMode(buttonDown, INPUT_PULLUP); + + // RESET --- ALLE DREI KNÖPFE BEIM STARTEN GEDRÜCKT HALTEN -> alle EINSTELLUNGEN werden gelöscht if (digitalRead(buttonPause) == LOW && digitalRead(buttonUp) == LOW && digitalRead(buttonDown) == LOW) { Serial.println(F("Reset -> EEPROM wird gelöscht")); @@ -214,7 +371,12 @@ void setup() { EEPROM.write(i, 0); } } +} +void readButtons() { + pauseButton.read(); + upButton.read(); + downButton.read(); } void loop() { @@ -222,35 +384,44 @@ void loop() { mp3.loop(); // Buttons werden nun über JS_Button gehandelt, dadurch kann jede Taste // doppelt belegt werden - pauseButton.read(); - upButton.read(); - downButton.read(); + readButtons(); + + // admin menu + if ((pauseButton.pressedFor(LONG_PRESS) || upButton.pressedFor(LONG_PRESS) || downButton.pressedFor(LONG_PRESS)) && pauseButton.isPressed() && upButton.isPressed() && downButton.isPressed()) { + Serial.println(F("ADMIN MENU")); + Serial.println(F("==========")); + mp3.pause(); + do { + readButtons(); + } while (pauseButton.isPressed() || upButton.isPressed() || downButton.isPressed()); + readButtons(); + adminMenu(); + } if (pauseButton.wasReleased()) { if (ignorePauseButton == false) - if (isPlaying()) + if (isPlaying()) { mp3.pause(); - else + setSleepTimer(); + } + else if (knownCard) { + disableSleepTimer(); mp3.start(); + } ignorePauseButton = false; } else if (pauseButton.pressedFor(LONG_PRESS) && ignorePauseButton == false) { if (isPlaying()) mp3.playAdvertisement(currentTrack); - else { - knownCard = false; - mp3.playMp3FolderTrack(800); - Serial.println(F("Karte resetten...")); - resetCard(); - mfrc522.PICC_HaltA(); - mfrc522.PCD_StopCrypto1(); - } ignorePauseButton = true; } if (upButton.pressedFor(LONG_PRESS)) { Serial.println(F("Volume Up")); - mp3.increaseVolume(); + if (volume < mySettings.maxVolume) { + mp3.increaseVolume(); + volume++; + } ignoreUpButton = true; } else if (upButton.wasReleased()) { if (!ignoreUpButton) @@ -261,7 +432,10 @@ void loop() { if (downButton.pressedFor(LONG_PRESS)) { Serial.println(F("Volume Down")); - mp3.decreaseVolume(); + if (volume > mySettings.minVolume) { + mp3.decreaseVolume(); + volume--; + } ignoreDownButton = true; } else if (downButton.wasReleased()) { if (!ignoreDownButton) @@ -278,11 +452,14 @@ void loop() { return; if (readCard(&myCard) == true) { + // make random a little bit more "random" + randomSeed(millis()); if (myCard.cookie == 322417479 && myCard.folder != 0 && myCard.mode != 0) { knownCard = true; _lastTrackFinished = 0; numTracksInFolder = mp3.getFolderTrackCount(myCard.folder); + firstTrack = 1; Serial.print(numTracksInFolder); Serial.print(F(" Dateien in Ordner ")); Serial.println(myCard.folder); @@ -303,14 +480,15 @@ void loop() { // Party Modus: Ordner in zufälliger Reihenfolge if (myCard.mode == 3) { Serial.println( - F("Party Modus -> Ordner in zufälliger Reihenfolge wiedergeben")); - currentTrack = random(1, numTracksInFolder + 1); - mp3.playFolderTrack(myCard.folder, currentTrack); + F("Party Modus -> Ordner in zufälliger Reihenfolge wiedergeben")); + shuffleQueue(); + currentTrack = 1; + mp3.playFolderTrack(myCard.folder, queue[currentTrack - 1]); } // Einzel Modus: eine Datei aus dem Ordner abspielen if (myCard.mode == 4) { Serial.println( - F("Einzel Modus -> eine Datei aus dem Odrdner abspielen")); + F("Einzel Modus -> eine Datei aus dem Odrdner abspielen")); currentTrack = myCard.special; mp3.playFolderTrack(myCard.folder, currentTrack); } @@ -321,6 +499,39 @@ void loop() { currentTrack = EEPROM.read(myCard.folder); mp3.playFolderTrack(myCard.folder, currentTrack); } + // Spezialmodus Von-Bin: Hörspiel: eine zufällige Datei aus dem Ordner + if (myCard.mode == 7) { + Serial.println(F("Spezialmodus Von-Bin: Hörspiel -> zufälligen Track wiedergeben")); + Serial.print(myCard.special); + Serial.print(F(" bis ")); + Serial.println(myCard.special2); + numTracksInFolder = myCard.special2; + currentTrack = random(myCard.special, numTracksInFolder + 1); + Serial.println(currentTrack); + mp3.playFolderTrack(myCard.folder, currentTrack); + } + + // Spezialmodus Von-Bis: Album: alle Dateien zwischen Start und Ende spielen + if (myCard.mode == 8) { + Serial.println(F("Spezialmodus Von-Bis: Album: alle Dateien zwischen Start- und Enddatei spielen")); + Serial.print(myCard.special); + Serial.print(F(" bis ")); + Serial.println(myCard.special2); + numTracksInFolder = myCard.special2; + currentTrack = myCard.special; + mp3.playFolderTrack(myCard.folder, currentTrack); + } + + // Spezialmodus Von-Bis: Party Ordner in zufälliger Reihenfolge + if (myCard.mode == 9) { + Serial.println( + F("Spezialmodus Von-Bis: Party -> Ordner in zufälliger Reihenfolge wiedergeben")); + firstTrack = myCard.special; + numTracksInFolder = myCard.special2; + shuffleQueue(); + currentTrack = 1; + mp3.playFolderTrack(myCard.folder, queue[currentTrack - 1]); + } } // Neue Karte konfigurieren @@ -333,15 +544,34 @@ void loop() { mfrc522.PCD_StopCrypto1(); } +void adminMenu() { + mp3.pause(); + Serial.print(F("Admin Menu")); + + int subMenu = voiceMenu(8, 900, 900); + if (subMenu == 1) + resetCard(); + else if (subMenu == 2) + mySettings.maxVolume = voiceMenu(20, 930, 0, false, false, mySettings.maxVolume); + else if (subMenu == 3) + mySettings.minVolume = voiceMenu(20, 931, 0, false, false, mySettings.minVolume); + else if (subMenu == 4) + mySettings.initVolume = voiceMenu(20, 932, 0, false, false, mySettings.initVolume); + else if (subMenu == 5) + mySettings.eq = voiceMenu(6, 920, 920, false, false, mySettings.eq); + else if (subMenu == 6) { + // create master card + } + writeSettingsToFlash(); +} + int voiceMenu(int numberOfOptions, int startMessage, int messageOffset, - bool preview = false, int previewFromFolder = 0) { - int returnValue = 0; + bool preview = false, int previewFromFolder = 0, int defaultValue = 0) { + int returnValue = defaultValue; if (startMessage != 0) mp3.playMp3FolderTrack(startMessage); do { - pauseButton.read(); - upButton.read(); - downButton.read(); + readButtons(); mp3.loop(); if (pauseButton.wasPressed()) { if (returnValue != 0) @@ -351,12 +581,11 @@ int voiceMenu(int numberOfOptions, int startMessage, int messageOffset, if (upButton.pressedFor(LONG_PRESS)) { returnValue = min(returnValue + 10, numberOfOptions); + mp3.pause(); mp3.playMp3FolderTrack(messageOffset + returnValue); - delay(1000); + waitForTrackToFinish(); if (preview) { - do { - delay(10); - } while (isPlaying()); + waitForTrackToFinish(); if (previewFromFolder == 0) mp3.playFolderTrack(returnValue, 1); else @@ -366,12 +595,10 @@ int voiceMenu(int numberOfOptions, int startMessage, int messageOffset, } else if (upButton.wasReleased()) { if (!ignoreUpButton) { returnValue = min(returnValue + 1, numberOfOptions); + mp3.pause(); mp3.playMp3FolderTrack(messageOffset + returnValue); - delay(1000); if (preview) { - do { - delay(10); - } while (isPlaying()); + waitForTrackToFinish(); if (previewFromFolder == 0) mp3.playFolderTrack(returnValue, 1); else @@ -380,15 +607,13 @@ int voiceMenu(int numberOfOptions, int startMessage, int messageOffset, } else ignoreUpButton = false; } - + if (downButton.pressedFor(LONG_PRESS)) { returnValue = max(returnValue - 10, 1); + mp3.pause(); mp3.playMp3FolderTrack(messageOffset + returnValue); - delay(1000); + waitForTrackToFinish(); if (preview) { - do { - delay(10); - } while (isPlaying()); if (previewFromFolder == 0) mp3.playFolderTrack(returnValue, 1); else @@ -398,12 +623,10 @@ int voiceMenu(int numberOfOptions, int startMessage, int messageOffset, } else if (downButton.wasReleased()) { if (!ignoreDownButton) { returnValue = max(returnValue - 1, 1); + mp3.pause(); mp3.playMp3FolderTrack(messageOffset + returnValue); - delay(1000); + waitForTrackToFinish(); if (preview) { - do { - delay(10); - } while (isPlaying()); if (previewFromFolder == 0) mp3.playFolderTrack(returnValue, 1); else @@ -443,26 +666,35 @@ void setupCard() { myCard.folder = voiceMenu(99, 300, 0, true); // Wiedergabemodus abfragen - myCard.mode = voiceMenu(6, 310, 310); + myCard.mode = voiceMenu(9, 310, 310); // Hörbuchmodus -> Fortschritt im EEPROM auf 1 setzen - EEPROM.write(myCard.folder,1); + EEPROM.write(myCard.folder, 1); // Einzelmodus -> Datei abfragen if (myCard.mode == 4) myCard.special = voiceMenu(mp3.getFolderTrackCount(myCard.folder), 320, 0, true, myCard.folder); - // Admin Funktionen if (myCard.mode == 6) myCard.special = voiceMenu(3, 320, 320); + // Spezialmodus Von-Bis + if (myCard.mode == 7 || myCard.mode == 8 || myCard.mode == 9) { + myCard.special = voiceMenu(mp3.getFolderTrackCount(myCard.folder), 321, 0, + true, myCard.folder); + myCard.special2 = voiceMenu(mp3.getFolderTrackCount(myCard.folder) - myCard.special, 322, myCard.special, + true, myCard.folder) + myCard.special; + } + // Karte ist konfiguriert -> speichern mp3.pause(); + do { + } while (isPlaying()); writeCard(myCard); } -bool readCard(nfcTagObject *nfcTag) { +bool readCard(nfcTagObject * nfcTag) { bool returnValue = true; // Show some details of the PICC (that is: the tag/card) Serial.print(F("Card UID:")); @@ -478,7 +710,7 @@ bool readCard(nfcTagObject *nfcTag) { // Authenticate using key A Serial.println(F("Authenticating using key A...")); status = (MFRC522::StatusCode)mfrc522.PCD_Authenticate( - MFRC522::PICC_CMD_MF_AUTH_KEY_A, trailerBlock, &key, &(mfrc522.uid)); + MFRC522::PICC_CMD_MF_AUTH_KEY_A, trailerBlock, &key, &(mfrc522.uid)); if (status != MFRC522::STATUS_OK) { returnValue = false; Serial.print(F("PCD_Authenticate() failed: ")); @@ -519,6 +751,7 @@ bool readCard(nfcTagObject *nfcTag) { nfcTag->folder = buffer[5]; nfcTag->mode = buffer[6]; nfcTag->special = buffer[7]; + nfcTag->special2 = buffer[8]; return returnValue; } @@ -526,12 +759,14 @@ bool readCard(nfcTagObject *nfcTag) { void writeCard(nfcTagObject nfcTag) { MFRC522::PICC_Type mifareType; byte buffer[16] = {0x13, 0x37, 0xb3, 0x47, // 0x1337 0xb347 magic cookie to - // identify our nfc tags - 0x01, // version 1 + // identify our nfc tags + 0x02, // version 1 nfcTag.folder, // the folder picked by the user nfcTag.mode, // the playback mode picked by the user nfcTag.special, // track or function for admin cards - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; + nfcTag.special2, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; byte size = sizeof(buffer); @@ -540,7 +775,7 @@ void writeCard(nfcTagObject nfcTag) { // Authenticate using key B Serial.println(F("Authenticating again using key B...")); status = (MFRC522::StatusCode)mfrc522.PCD_Authenticate( - MFRC522::PICC_CMD_MF_AUTH_KEY_B, trailerBlock, &key, &(mfrc522.uid)); + MFRC522::PICC_CMD_MF_AUTH_KEY_B, trailerBlock, &key, &(mfrc522.uid)); if (status != MFRC522::STATUS_OK) { Serial.print(F("PCD_Authenticate() failed: ")); Serial.println(mfrc522.GetStatusCodeName(status)); @@ -558,7 +793,7 @@ void writeCard(nfcTagObject nfcTag) { if (status != MFRC522::STATUS_OK) { Serial.print(F("MIFARE_Write() failed: ")); Serial.println(mfrc522.GetStatusCodeName(status)); - mp3.playMp3FolderTrack(401); + mp3.playMp3FolderTrack(401); } else mp3.playMp3FolderTrack(400); @@ -567,9 +802,9 @@ void writeCard(nfcTagObject nfcTag) { } /** - * Helper routine to dump a byte array as hex values to Serial. - */ -void dump_byte_array(byte *buffer, byte bufferSize) { + Helper routine to dump a byte array as hex values to Serial. +*/ +void dump_byte_array(byte * buffer, byte bufferSize) { for (byte i = 0; i < bufferSize; i++) { Serial.print(buffer[i] < 0x10 ? " 0" : " "); Serial.print(buffer[i], HEX); diff --git a/create-soundfiles.sh b/create-soundfiles.sh index 9befee7..eefd01f 100755 --- a/create-soundfiles.sh +++ b/create-soundfiles.sh @@ -1,9 +1,9 @@ #!/bin/bash -for i in {1..250}; +for i in {1..255}; do j=$(printf "%04d" $i) - say -v anna $i -o $j.aiff + say -v anna "Datei $i" -o $j.aiff sox $j.aiff $j.wav pitch 800 lame -b 128 $j.wav $j.mp3 done @@ -40,10 +40,30 @@ say -v Anna "Admin Funktionen." -o 0316.aiff sox 0316.aiff 0316.wav pitch 800 lame -b 128 0316.wav 0316_admin.mp3 +say -v Anna "Spezialmodus Von-Bis, Hörspiel: Eine zufällige Datei zwischen der Start und Enddatei wiedergeben." -o 0317.aiff +sox 0317.aiff 0317.wav pitch 800 +lame -b 128 0317.wav 0317_special_random.mp3 + +say -v Anna "Spezialmodus Von-Bis, Album: Alle Dateien zwischen der Start und Enddatei wiedergeben." -o 0318.aiff +sox 0318.aiff 0318.wav pitch 800 +lame -b 128 0318.wav 0318_special_album.mp3 + +say -v Anna "Spezialmodus Von-Bis, Party: Alle Dateien zwischen der Start und Enddatei zufällig wiedergeben." -o 0319.aiff +sox 0319.aiff 0319.wav pitch 800 +lame -b 128 0319.wav 0319_special_party.mp3 + say -v Anna "OK, wähle nun bitte die Datei mit den Lautstärke Tasten aus. " -o 0320.aiff sox 0320.aiff 0320.wav pitch 800 lame -b 128 0320.wav 0320_select_file.mp3 +say -v Anna "OK, wähle nun bitte die Startdatei mit den Lautstärke Tasten aus. " -o 0321.aiff +sox 0321.aiff 0321.wav pitch 800 +lame -b 128 0321.wav 0321_select_first_file.mp3 + +say -v Anna "Wähle nun bitte die Enddatei mit den Lautstärke Tasten aus. " -o 0322.aiff +sox 0322.aiff 0322.wav pitch 800 +lame -b 128 0322.wav 0322_select_last_file.mp3 + say -v Anna "Soll ich vor einer Datei jeweils die Nummer ansagen? Du kannst jederzeit durch einen langen Druck auf die Pause Taste die aktuelle Nummer abfragen." -o 0330.aiff sox 0330.aiff 0330.wav pitch 800 lame -b 128 0330.wav 0330.mp3 @@ -76,6 +96,95 @@ say -v Anna "OK, ich habe den Vorgang abgebrochen." -o 0802.aiff sox 0802.aiff 0802.wav pitch 800 lame -b 128 0802.wav 0802_reset_aborted.mp3 +say -v Anna "Willkommen im Admin Menü. Bitte wähle eine Funktion mit den Lautstärke Tasten aus und bestätige sie mit der Pause Taste!" -o 0900.aiff +sox 0900.aiff 0900.wav pitch 800 +lame -b 128 0900.wav 0900_admin.mp3 + +say -v Anna "Eine Karte neu konfigurieren." -o 0901.aiff +sox 0901.aiff 0901.wav pitch 800 +lame -b 128 0901.wav 0901_card_reset.mp3 + +say -v Anna "Maximale Lautstärke festlegen." -o 0902.aiff +sox 0902.aiff 0902.wav pitch 800 +lame -b 128 0902.wav 0902_max_volume.mp3 + +say -v Anna "Minimale Lautstärke festlegen." -o 0903.aiff +sox 0903.aiff 0903.wav pitch 800 +lame -b 128 0903.wav 0903_min_volume.mp3 + +say -v Anna "Lautstärke beim Start festlegen." -o 0904.aiff +sox 0904.aiff 0904.wav pitch 800 +lame -b 128 0904.wav 0904_init_volume.mp3 + +say -v Anna "EQ konfigurieren." -o 0905.aiff +sox 0905.aiff 0905.wav pitch 800 +lame -b 128 0905.wav 0905_eq.mp3 + +say -v Anna "Eine Masterkarte erstellen." -o 0906.aiff +sox 0906.aiff 0906.wav pitch 800 +lame -b 128 0906.wav 0906_mastercard.mp3 + +say -v Anna "Tasten mit einem Shortcut konfigurieren." -o 0907.aiff +sox 0907.aiff 0907.wav pitch 800 +lame -b 128 0907.wav 0907_shortcut.mp3 + +say -v Anna "Den Sleeptimer konfigurieren. " -o 0908.aiff +sox 0908.aiff 0908.wav pitch 800 +lame -b 128 0908.wav 0908_sleeptimer.mp3 + +say -v Anna "Bitte wähle eine Einstellung für den EQ mit den Lautstärke Tasten aus und bestätige sie mit der Pause Taste." -o 0920.aiff +sox 0920.aiff 0920.wav pitch 800 +lame -b 128 0920.wav 0920_eq_intro.mp3 + +say -v Anna "Normal" -o 0921.aiff +sox 0921.aiff 0921.wav pitch 800 +lame -b 128 0921.wav 0921_normal.mp3 + +say -v Anna "Pop" -o 0922.aiff +sox 0922.aiff 0922.wav pitch 800 +lame -b 128 0922.wav 0922_pop.mp3 + +say -v Anna "Rock" -o 0923.aiff +sox 0923.aiff 0923.wav pitch 800 +lame -b 128 0923.wav 0923_rock.mp3 + +say -v Anna "Jazz" -o 0924.aiff +sox 0924.aiff 0924.wav pitch 800 +lame -b 128 0924.wav 0924_jazz.mp3 + +say -v Anna "Classic" -o 0925.aiff +sox 0925.aiff 0925.wav pitch 800 +lame -b 128 0925.wav 0925_classic.mp3 + +say -v Anna "Bass" -o 0926.aiff +sox 0926.aiff 0926.wav pitch 800 +lame -b 128 0926.wav 0926_bass.mp3 + +say -v Anna "Maximale Lautstärke wählen und mit der Pause Taste bestätigen." -o 0930.aiff +sox 0930.aiff 0930.wav pitch 800 +lame -b 128 0930.wav 0930_max_volume.mp3 + +say -v Anna "Minimale Lautstärke wählen und mit der Pause Taste bestätigen." -o 0931.aiff +sox 0931.aiff 0931.wav pitch 800 +lame -b 128 0931.wav 0931_min_volume.mp3 + +say -v Anna "Lautstärke beim Start wählen und mit der Pause Taste bestätigen." -o 0932.aiff +sox 0932.aiff 0932.wav pitch 800 +lame -b 128 0932.wav 0932_init_volume.mp3 + +say -v Anna "Möchtest du die Funktion der Lautstärke Tasten umdrehen? Du musst dann die Tasten lange drücken um ein Lied vor oder zurückzugehen." -o 0933.aiff +sox 0933.aiff 0933.wav pitch 800 +lame -b 128 0933.wav 0933_switch_volume.mp3 + +say -v Anna "Nein." -o 0934.aiff +sox 0934.aiff 0934.wav pitch 800 +lame -b 128 0934.wav 0934_no.mp3 + +say -v Anna "Ja." -o 0935.aiff +sox 0935.aiff 0935.wav pitch 800 +lame -b 128 0935.wav 0935_yes.mp3 + + say -v Anna "Reset wurde durchgeführt!" -o 0999.aiff sox 0999.aiff 0999.wav pitch 800 lame -b 128 0999.wav 0999_reset_ok.mp3