Beet
apropos: https://beets.io
Beet is tool for personal music management.
Beetle
Beetle is a beeautiful web interface for beets.
The source code is here: https://gitlab.com/maxburon/beetle
Choses à faire pour Beetle
TODO alléger la taille des fanarts
https://beets.readthedocs.io/en/stable/plugins/fetchart.html Il doit y avoir aussi moyen de compresser aussi les couvertures, qui semblent abusémment trop lourde. Ça pourrait être géré par le plugin AURA si on swictch un jour.
TODO essayer de faire un système de pagination pour la page d'accueil
nécessite d'ajouter la taille limite à la main parce qu'elle n'est pas dans beet : https://beets.readthedocs.io/en/stable/reference/query.html
proposer une solution pour télécharger des albums ou playlist
- TODO utiliser un utilitaire de téléchargement depuis files/
wget -r -c -np -nH -R index.html.tmp -R index.html --cut-dirs=1 https://k7.buron.coffee/files/Agar%20Agar/
- TODO utiliser modzip pour servir des playlists/albums sous forme de .zip
https://www.reddit.com/r/nginx/comments/9jzqa6/trying_to_understand_mod_zip/
voir aussi si c'est compatible avec un module apache.
TODO est-ce qu'il y a une solution pour le fait que la lecture automatique ne s'arrête pas sur mobile ?
- dans l'application installé dans chromium branché au chargeur ou pas branché : ok.
- dans l'application installé dans firefox branché au chargeur : ok.
dans l'application installé dans firefox pas branché (peut-être en mode éco): nope (quelques minutes/3 morceaux) et se relancer tout seul, si on réactive l'écran
related:
maybe related :
a propos de la gestion des morceaux isolés (comme par exemple, les musiques, clips dans l'archiveur)
On peut faire les choses suivantes:
- on les importe dans un album dans lequel il manque beaucoup de piste,
- de manière similaire, on peut les importer dans un single pour limiter le nombre de piste manquante,
- on peut les importer en tant que singleton,
- on peut se rendre compte que le morceau est déjà présent dans la collection.
Je préfère l'option 2. qui permet à la fois d'avoir des pochettes d'album et de limiter le nombre de piste manquante. L'option 1. n'est peut-être pas si désagréable, alors que l'option 3. est gênante, parce que les pistes singleton sont difficile à gérer en pratique, avec beet.
Malgré tout, il serait intéressant de stocker le lien de la source dans musicbrainz au moment de l'import, comme le lien dans l'archiveur par exemple.
TODO connecter le lecteur de Beetle à un server mpd
La motivation principale de cette option et de pouvoir gérer une liste de lecture de manière collaborative. MPD est réputée pour sa capacité de gestion de liste de lecture et semble intéressant à gérer en soit. Ici, il s'agit d'occulter la capacité de MPD de gérer une bibliothèque de musique.
Une solution consiste à utiliser un pont pour connecter mpd à des Web Socket. C'est notamment ce qui a été fait par le projet Cyp avec le pont ws2mpd. La librairie mpd.js pourrait être une source d'inspiration pour L'objectif sera d'avoir une vue sur l'état de la liste de lecture et de pouvoir la modifier, mais aussi sur l'état de la lecture et de pouvoir le modifier aussi. Avant de se lancer dans ce projet, il faut créer une interface pour gérer la liste de lecture et le lecteur (player) et un schéma de données pour les listes de lectures (voir calliope).
- Avancé avec ws2mpd
https://mpd.readthedocs.io/en/latest/protocol.html#command-playlistinfo
Pour garder la connection ouverte il faut faire une commande régulièrement, on peut-être un idle
let ws = new WebSocket("ws://localhost:8080?server=:6600"); ws.addEventListener('open', console.log) ws.addEventListener('close', console.log) ws.addEventListener('message', console.log) ws.addEventListener('error', console.log) setInterval(() => { ws.send("status") }, 10000)
TODO AURA API
I had a look at the AURA API some days ago in order to move Beetle and it is very promising, but some features are missing before I can move the implementation of Beetle from the beet web API to AURA.
TODO Playlist construction support
Il y a plein de choses qui pourraient prises en compte pour améliorer ce système de recommandation.
- AcousticBrainz
La base de données d'analyses de musique pourraient utiliser pour avoir de nouvelles features sur les morceaux. Mais ça n'est pas encore très clair si les résultats sont fiables. C'est peut-être mieux que rien …
Il existe un plugin à beet pour importer ces données: https://beets.readthedocs.io/en/stable/plugins/acousticbrainz.html
Un exemple de données pour le "Mistral gagnant" : https://acousticbrainz.org/d54901dc-0f24-4615-888f-09584716479f?n=39
- Utiliser les meta données autre que le genre musical
Par exemple, on peut aussi utiliser : la langue, le pays d'origine, l'année de parution
Beetwerk
Beetwerk is a very nice tools to add albums to a beets library from the web. The source code is available on github: https://github.com/Bytewerk/beetwerk.
I have a modified version of it that I published here: https://github.com/laBecasse/beetwerk
Systemd
[Unit] Description=beetwerk After=network.target [Service] User=becasse ExecStart=/home/becasse/beetwerk/beetwerk.sh # make sure that exiftool is in the PATH! The line below works for arch linux: # Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl" [Install] WantedBy=default.target
todo
fix the upload behind reverse proxy
It creates two folders : ::ffff:127.0.0.1, ::1
Release notes
make it possible to restart a download
I try to base the directory name and sid of the session on a hash of the downloaded url. I allows to restart a session using the same directory, when we use the same url.
Bookmarklet
It is a bookmarklet to download an album directly from a page.