tinyjukebox 0.47.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. tinyjukebox/__init__.py +7 -0
  2. tinyjukebox/albumplayer/__init__.py +1 -0
  3. tinyjukebox/albumplayer/aalbumplayer.py +402 -0
  4. tinyjukebox/albumplayer/clock.py +39 -0
  5. tinyjukebox/albumplayer/dummyplayer.py +49 -0
  6. tinyjukebox/albumplayer/player_interface.py +97 -0
  7. tinyjukebox/albumplayer/radioplayer.py +391 -0
  8. tinyjukebox/albumplayer/simpleplayer.py +419 -0
  9. tinyjukebox/albumplayer/spotifyplayer.py +671 -0
  10. tinyjukebox/backup.py +176 -0
  11. tinyjukebox/backups.py +340 -0
  12. tinyjukebox/cli.py +1076 -0
  13. tinyjukebox/control.py +1386 -0
  14. tinyjukebox/core/__init__.py +1 -0
  15. tinyjukebox/core/config.py +100 -0
  16. tinyjukebox/core/logging/__init__.py +113 -0
  17. tinyjukebox/core/microservice.py +303 -0
  18. tinyjukebox/core/pubsub/__init__.py +15 -0
  19. tinyjukebox/core/pubsub/base.py +196 -0
  20. tinyjukebox/core/pubsub/localqueue.py +102 -0
  21. tinyjukebox/core/pubsub/statistics.py +57 -0
  22. tinyjukebox/core/py.typed +0 -0
  23. tinyjukebox/core/schema/__init__.py +5 -0
  24. tinyjukebox/core/schema/logger.py +40 -0
  25. tinyjukebox/core/schema/microservice.py +48 -0
  26. tinyjukebox/core/threads.py +39 -0
  27. tinyjukebox/core/ui/__init__.py +5 -0
  28. tinyjukebox/core/ui/cli.py +120 -0
  29. tinyjukebox/core/ui/tools.py +73 -0
  30. tinyjukebox/core/unexpected.py +46 -0
  31. tinyjukebox/data/__init__.py +0 -0
  32. tinyjukebox/data/activities.py +175 -0
  33. tinyjukebox/data/activity.py +138 -0
  34. tinyjukebox/data/common.py +91 -0
  35. tinyjukebox/data/degraded.py +39 -0
  36. tinyjukebox/data/jsondata.py +218 -0
  37. tinyjukebox/data/sanitycheck.py +71 -0
  38. tinyjukebox/data/tag.py +98 -0
  39. tinyjukebox/data/tags.py +160 -0
  40. tinyjukebox/data/target.py +568 -0
  41. tinyjukebox/data/targetalbumtools.py +88 -0
  42. tinyjukebox/data/targets.py +256 -0
  43. tinyjukebox/data/volumelimits.py +68 -0
  44. tinyjukebox/data_folder.py +180 -0
  45. tinyjukebox/devices/__init__.py +1 -0
  46. tinyjukebox/devices/baseclasses/__init__.py +1 -0
  47. tinyjukebox/devices/baseclasses/adriver.py +115 -0
  48. tinyjukebox/devices/baseclasses/aevents.py +47 -0
  49. tinyjukebox/devices/baseclasses/gpiolevel.py +16 -0
  50. tinyjukebox/devices/bluetooth/__init__.py +1 -0
  51. tinyjukebox/devices/bluetooth/avrcp_input.py +118 -0
  52. tinyjukebox/devices/bluetooth/bluez.py +446 -0
  53. tinyjukebox/devices/bluetooth/link.py +396 -0
  54. tinyjukebox/devices/bluetooth/virtual.py +155 -0
  55. tinyjukebox/devices/drivermanager/__init__.py +1 -0
  56. tinyjukebox/devices/drivermanager/driverfactory.py +75 -0
  57. tinyjukebox/devices/drivermanager/drivermanager.py +151 -0
  58. tinyjukebox/devices/drivers/__init__.py +31 -0
  59. tinyjukebox/devices/drivers/bluetooth.py +257 -0
  60. tinyjukebox/devices/drivers/input.py +165 -0
  61. tinyjukebox/devices/drivers/rfid.py +297 -0
  62. tinyjukebox/devices/drivers/rgbled.py +215 -0
  63. tinyjukebox/devices/py.typed +0 -0
  64. tinyjukebox/devices/schema/__init__.py +1 -0
  65. tinyjukebox/devices/schema/adriver.py +33 -0
  66. tinyjukebox/devices/schema/bluetooth.py +31 -0
  67. tinyjukebox/devices/schema/drivermanager.py +41 -0
  68. tinyjukebox/devices/schema/input.py +23 -0
  69. tinyjukebox/devices/schema/rfid.py +44 -0
  70. tinyjukebox/devices/schema/rgbled.py +26 -0
  71. tinyjukebox/diagnostics.py +179 -0
  72. tinyjukebox/errors.py +91 -0
  73. tinyjukebox/headset.py +296 -0
  74. tinyjukebox/images.py +133 -0
  75. tinyjukebox/latency.py +43 -0
  76. tinyjukebox/library/__init__.py +2 -0
  77. tinyjukebox/library/diagnostics.py +183 -0
  78. tinyjukebox/library/journal.py +94 -0
  79. tinyjukebox/library/releases.py +348 -0
  80. tinyjukebox/library/schema.py +98 -0
  81. tinyjukebox/library/service.py +1115 -0
  82. tinyjukebox/library/statistics.py +288 -0
  83. tinyjukebox/library/store.py +1386 -0
  84. tinyjukebox/messages.py +202 -0
  85. tinyjukebox/metadata.py +133 -0
  86. tinyjukebox/py.typed +0 -0
  87. tinyjukebox/restore.py +391 -0
  88. tinyjukebox/rgbled.py +158 -0
  89. tinyjukebox/schema/__init__.py +1 -0
  90. tinyjukebox/schema/activities.py +27 -0
  91. tinyjukebox/schema/tags.py +54 -0
  92. tinyjukebox/schema/targets.py +83 -0
  93. tinyjukebox/schema/tinyjukebox.py +217 -0
  94. tinyjukebox/schema/volume.py +28 -0
  95. tinyjukebox/slots.py +234 -0
  96. tinyjukebox/spotify/__init__.py +1 -0
  97. tinyjukebox/spotify/account.py +647 -0
  98. tinyjukebox/spotify/engine.py +568 -0
  99. tinyjukebox/spotify/oembed.py +65 -0
  100. tinyjukebox/spotify/soloist.py +198 -0
  101. tinyjukebox/spotify/sound.py +316 -0
  102. tinyjukebox/stm/__init__.py +0 -0
  103. tinyjukebox/stm/base.py +174 -0
  104. tinyjukebox/stm/playradio.py +237 -0
  105. tinyjukebox/stm/playspotify.py +418 -0
  106. tinyjukebox/stm/stmoperation.py +769 -0
  107. tinyjukebox/stm/stmplayalbum.py +655 -0
  108. tinyjukebox/stm/stmvolume.py +221 -0
  109. tinyjukebox/sync/__init__.py +42 -0
  110. tinyjukebox/sync/box.py +486 -0
  111. tinyjukebox/sync/client.py +189 -0
  112. tinyjukebox/sync/data.py +489 -0
  113. tinyjukebox/sync/files.py +447 -0
  114. tinyjukebox/sync/handshake.py +42 -0
  115. tinyjukebox/sync/link.py +379 -0
  116. tinyjukebox/sync/manifest.py +162 -0
  117. tinyjukebox/sync/util.py +137 -0
  118. tinyjukebox/tinyjukebox.py +680 -0
  119. tinyjukebox/tools/__init__.py +1 -0
  120. tinyjukebox/tools/backup.py +173 -0
  121. tinyjukebox/tools/fill_library.py +120 -0
  122. tinyjukebox/tools/import_cards.py +274 -0
  123. tinyjukebox/tools/import_covers.py +138 -0
  124. tinyjukebox/tools/migrate_box01.py +151 -0
  125. tinyjukebox/volumemanager.py +355 -0
  126. tinyjukebox/web/__init__.py +1 -0
  127. tinyjukebox/web/auth.py +373 -0
  128. tinyjukebox/web/certificates.py +111 -0
  129. tinyjukebox/web/logbuffer.py +62 -0
  130. tinyjukebox/web/server.py +1237 -0
  131. tinyjukebox/web/uploads.py +262 -0
  132. tinyjukebox/web/users.py +106 -0
  133. tinyjukebox/web/web/app.js +3050 -0
  134. tinyjukebox/web/web/favicon.svg +6 -0
  135. tinyjukebox/web/web/help/de/admin.html +714 -0
  136. tinyjukebox/web/web/help/de/manual.html +1147 -0
  137. tinyjukebox/web/web/help/de/quick-guide.html +79 -0
  138. tinyjukebox/web/web/help/en/admin.html +701 -0
  139. tinyjukebox/web/web/help/en/manual.html +1126 -0
  140. tinyjukebox/web/web/help/en/quick-guide.html +79 -0
  141. tinyjukebox/web/web/help/help.css +25 -0
  142. tinyjukebox/web/web/help/images/box-2026.jpg +0 -0
  143. tinyjukebox/web/web/help/images/box-back.jpg +0 -0
  144. tinyjukebox/web/web/help/images/lid-top.jpg +0 -0
  145. tinyjukebox/web/web/help/images/logo-mark.svg +38 -0
  146. tinyjukebox/web/web/index.html +867 -0
  147. tinyjukebox/web/web/style.css +412 -0
  148. tinyjukebox/web/web/texts/de.json +892 -0
  149. tinyjukebox/web/web/texts/en.json +892 -0
  150. tinyjukebox-0.47.0.dist-info/METADATA +236 -0
  151. tinyjukebox-0.47.0.dist-info/RECORD +154 -0
  152. tinyjukebox-0.47.0.dist-info/WHEEL +4 -0
  153. tinyjukebox-0.47.0.dist-info/entry_points.txt +9 -0
  154. tinyjukebox-0.47.0.dist-info/licenses/LICENSE.txt +21 -0
@@ -0,0 +1,79 @@
1
+ <!doctype html>
2
+ <html lang="de">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <meta name="color-scheme" content="light dark">
7
+ <title>Tiny Jukebox – Kurzanleitung – Tiny Jukebox</title>
8
+ <link rel="icon" href="../../favicon.svg" type="image/svg+xml">
9
+ <link rel="stylesheet" href="../../style.css">
10
+ <link rel="stylesheet" href="../help.css">
11
+ </head>
12
+ <body class="help">
13
+ <!-- made by scripts/help/build.py from docs/user/de/quick-guide.md - not to be changed by hand -->
14
+ <header class="topbar">
15
+ <a class="brand" href="../../"><svg class="brand-logo" viewBox="0 0 64 64" aria-hidden="true"><circle class="lid" cx="32" cy="32" r="29"/><circle class="window" cx="31" cy="41" r="10.5"/><circle class="brand-led" cx="13.29" cy="28.7" r="2.8"/><circle class="key" cx="17.45" cy="19.79" r="4.2"/><circle class="key" cx="25.5" cy="14.15" r="4.2"/><circle class="key key-yellow" cx="35.3" cy="13.29" r="4.2"/><circle class="key key-yellow" cx="44.21" cy="17.45" r="4.2"/></svg>Tiny Jukebox</a>
16
+ <span class="muted small">Hilfe</span>
17
+ <nav class="tabs help-tabs"><a href="quick-guide.html" class=active aria-current=page>Kurzanleitung</a><a href="manual.html">Handbuch</a><a href="admin.html">Verwaltung</a></nav>
18
+ <div class="user"><a href="../en/quick-guide.html" hreflang="en" lang="en">English</a>
19
+ <a class="button" href="../../">Zurück zur Seite</a></div>
20
+ </header>
21
+ <main class="help-text">
22
+ <h1 id="tiny-jukebox--kurzanleitung">Tiny Jukebox – Kurzanleitung</h1>
23
+ <p><img src="../images/logo-mark.svg" alt="Tiny Jukebox" width="96"></p>
24
+ <h2 id="1-vorderseite-hören"><span id="s1"></span>1. Vorderseite: Hören</h2>
25
+ <h3 id="11-tag"><span id="s1-1"></span>1.1 Tag</h3>
26
+ <ul>
27
+ <li>auflegen: Album spielt dort weiter, wo es aufgehört hat</li>
28
+ <li>abnehmen: Stopp</li>
29
+ </ul>
30
+ <h3 id="12-tasten"><span id="s1-2"></span>1.2 Tasten</h3>
31
+ <ul>
32
+ <li>lauter / leiser – halten: feine Schritte</li>
33
+ <li>weiter: nächster Titel</li>
34
+ <li>zurück: Titelanfang – in den ersten 10 s: voriger Titel</li>
35
+ <li>zurück 1 s halten: Album von vorn</li>
36
+ </ul>
37
+ <h3 id="13-licht"><span id="s1-3"></span>1.3 Licht</h3>
38
+ <ul>
39
+ <li>grün: bereit</li>
40
+ <li>blau: spielt – blinkt: Album zu Ende</li>
41
+ <li>weiß/blau: Pause</li>
42
+ <li>grün → türkis → blau: holt das Album, oder das Radio startet</li>
43
+ <li>gelb: Tag ohne Album</li>
44
+ <li>rot blinkend: Album defekt</li>
45
+ </ul>
46
+ <h3 id="14-kopfhörer"><span id="s1-4"></span>1.4 Kopfhörer</h3>
47
+ <ul>
48
+ <li>koppeln: Kopfhörer in den Pairing-Modus, dann weiter + zurück 5 s halten – blinkt blau, weiß = fertig</li>
49
+ <li>danach: Kopfhörer einschalten genügt, Ton nur im Kopfhörer</li>
50
+ <li>Kopfhörer aus: Pause – weiter drücken: Lautsprecher</li>
51
+ </ul>
52
+ <h3 id="15-aus"><span id="s1-5"></span>1.5 Aus</h3>
53
+ <ul>
54
+ <li>mit dem Schalter auf der Rückseite</li>
55
+ </ul>
56
+ <h3 id="16-telefon-app"><span id="s1-6"></span>1.6 Telefon (App)</h3>
57
+ <ul>
58
+ <li>Tag an die Rückseite des Telefons: spielt wie auf der Box – oder eine Kachel antippen</li>
59
+ <li>dasselbe Licht als Band oben am Bildschirm</li>
60
+ </ul>
61
+ <h2 id="2-rückseite-webseite"><span id="s2"></span>2. Rückseite: Webseite</h2>
62
+ <h3 id="21-httpstinyjukeboxlocal"><span id="s2-1"></span>2.1 <a href="https://tinyjukebox.local">https://tinyjukebox.local</a></h3>
63
+ <ul>
64
+ <li>im selben WLAN öffnen, Sicherheitswarnung bestätigen, „Deutsch“ wählen, anmelden</li>
65
+ </ul>
66
+ <h3 id="22-tabs"><span id="s2-2"></span>2.2 Tabs</h3>
67
+ <ul>
68
+ <li><strong>Jetzt:</strong> was läuft, Pause, Titel, Lautstärke</li>
69
+ <li><strong>Tags:</strong> Tag per Klick auflegen</li>
70
+ <li><strong>Hochladen:</strong> Titel des Albums eingeben, MP3-Dateien wählen → „Album anlegen“</li>
71
+ <li><strong>Neuer Tag:</strong> auflegen → „Jetzt“ → Album wählen → „Verknüpfen &amp; abspielen“</li>
72
+ <li><strong>Radio:</strong> Sender anlegen, unter „Tag-Verwaltung“ einem Tag zuordnen</li>
73
+ <li><strong>Spotify:</strong> Link aus der Spotify-App einfügen, unter „Tag-Verwaltung“ einem Tag zuordnen</li>
74
+ <li><strong>Bluetooth:</strong> Kopfhörer koppeln, Akku, Höchstlautstärke</li>
75
+ <li><strong>System:</strong> Passwort, Benutzer, Bibliothek, Version</li>
76
+ </ul>
77
+ </main>
78
+ </body>
79
+ </html>