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 est-ce qu'il y a une solution pour le fait que la lecture automatique ne s'arrête pas sur mobile ?

a propos de la gestion des morceaux isolés (comme par exemple, les musiques, clips dans l'archiveur)

On peut faire les choses suivantes:

  1. on les importe dans un album dans lequel il manque beaucoup de piste,
  2. de manière similaire, on peut les importer dans un single pour limiter le nombre de piste manquante,
  3. on peut les importer en tant que singleton,
  4. 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.

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.

This post accepts webmentions. Do you have the URL to your post?

Otherwise, send your comment on my service.

Or interact from the fediverse with your username:

fediverse logo Share on the Fediverse