téléchargeur de musique basé sur qt écrit en python.
Si vous avez une idée d'amélioration ou de fonctionnalité, créez un problème ou rejoignez le serveur Discord pour en discuter !
Assurez-vous que ffmpeg, python3 et Git sont installés et disponibles sur votre $PATH
. Si vous êtes sous Windows, vous devez également installer les outils de génération Microsoft C++ et redémarrer votre ordinateur avant de démarrer le processus de génération.
Téléchargez ou clonez le git clone https://github.com/casualsnek/onthespot
Accédez au répertoire sur place cd onthespot
Installez le package pip install -r requirements.txt
Accédez au répertoire source cd src
Lancez l'application avec python3 -m onthespot
Les exigences sont les mêmes que celles de « Lancement sans installation » ci-dessus.
Téléchargez ou clonez le git clone https://github.com/casualsnek/onthespot
Accédez au répertoire sur place cd onthespot
Construisez le package python -m build
Installez le package pip install ./dist/*.whl
Lancez l'application avec onthespot_gui
onthespot
est disponible pour les distributions arch linux et arch linux dans le référentiel utilisateur arch (aur) sous le nom onthespot-git.
Vous pouvez l'installer onthespot
en utilisant votre assistant Aur préféré.
Par exemple : en utilisant yay
yay -Sy onthespot-git
Téléchargez le dernier 'onthespot_linux' depuis la section des versions et exécutez-le avec
chmod +x onthespot_linux ./onethespot_linux
Téléchargez le dernier « onthespot_win_ffm.exe » ou « onthespot_win.exe » à partir de la section Release et exécutez-le en double-cliquant sur le fichier téléchargé.
Les binaires dont le nom de fichier se termine par « _ffm » sont fournis avec ffmpeg et ne devraient pas nécessiter d'installation manuelle.
Si vous utilisez des binaires qui ne regroupent pas ffmpeg et que les téléchargements restent bloqués à 99 % avec Converting
en cours de texte, il vous manque ffmpeg ! Veuillez l'installer en suivant les instructions ci-dessous
Ouvrez l'Explorateur Windows et accédez à C:
Drive et créez-y un nom de dossier ffmpeg
Téléchargez le zip ffmpeg depuis https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-full.7z puis copiez le dossier bin
du zip vers C:ffmpeg
Ouvrez CMD en tant qu'administrateur et exécutez la commande : setx /m PATH "C:ffmpegbin;%PATH%"
L'application devrait maintenant fonctionner comme prévu.
La création ou le packaging sur n'importe quel système d'exploitation nécessite l'installation de Git, Python3 et Pip. Assurez-vous de les avoir installés !
Ouvrez l'émulateur de terminal et exécutez la commande suivante pour cloner le référentiel et le construire.
git clone https://github.com/casualsnek/onthespotcd sur place
Si vous souhaitez des versions avec ffmpeg intégré, téléchargez les binaires ffmpeg pour votre système d'exploitation à partir d'ici. Créez un nouveau répertoire nommé « ffbin_nix » dans le répertoire racine du référentiel. Copiez trois fichiers « ffmpeg », « ffprobe », « ffplay » de l'archive téléchargée dans le répertoire « ffbin_nix » que vous venez de créer, puis exécutez ;
bash ./build_linux.sh
Une fois la commande terminée, vous devriez avoir un répertoire « dist » à la racine du référentiel contenant le binaire « onthespot_linux » construit.
Ouvrez cmd et exécutez la commande suivante pour cloner le référentiel et le construire.
git clone https://github.com/casualsnek/onthespotcd sur place
Si git n'est pas installé, vous pouvez également télécharger le zip source du projet depuis github, l'extraire et ouvrir cmd à la racine du référentiel. Si vous souhaitez des versions avec ffmpeg intégré, téléchargez les binaires ffmpeg pour votre système d'exploitation à partir d'ici. Créez un nouveau répertoire nommé « ffbin_win » dans le répertoire racine du référentiel. Copiez trois fichiers « ffmpeg.exe », « ffprobe.exe », « ffplay.exe » de l'archive téléchargée dans le répertoire « ffbin_win » que vous venez de créer, puis exécutez ;
build_winC1.bat build_winC2.bat
Une fois la commande terminée, vous devriez avoir un répertoire « dist » à la racine du référentiel contenant le binaire « onthespot_win.exe » construit.
REMARQUE : Cela crée uniquement une application pour l'architecture de processeur spécifique sur laquelle vous vous trouvez. Il ne construit pas de binaire universel
Ouvrez l'émulateur de terminal et exécutez la commande suivante pour cloner le référentiel et le construire.
git clone https://github.com/casualsnek/onthespotcd sur place
Si vous souhaitez des versions avec ffmpeg intégré, téléchargez les binaires ffmpeg pour votre système d'exploitation à partir d'ici. Créez un nouveau répertoire nommé « ffbin_mac » dans le répertoire racine du référentiel. Copiez trois fichiers 'ffmpeg', 'ffprobe', 'ffplay' de l'archive téléchargée vers le répertoire 'ffbin_mac' nouvellement créé, puis exécutez :
./build_mac.sh
Une fois la commande terminée, vous devriez avoir un répertoire « dist » à la racine du référentiel contenant le binaire « onthespot_mac.app ».
Vous pouvez également construire sur place sous forme de roue et l'installer en tant que module python via pip dans votre système. Il offre une meilleure intégration avec le système, par exemple en utilisant le style et les thèmes Qt de votre système. Vous pouvez également utiliser l'icône et le fichier .desktop fournis pour une meilleure intégration sous les systèmes Linux.
Assurez-vous d'avoir installé les outils de configuration !
Ouvrez l'émulateur de terminal et exécutez la commande suivante pour cloner le référentiel et le construire.
git clone https://github.com/casualsnek/onthespotcd sur place python -m construire
Cela créera un répertoire dist contenant le fichier .whl qui peut désormais être installé avec pip, l'application peut être lancée avec la commande onthespot_gui
ou python3 -m onthespot
après l'installation !
REMARQUE : Si vous emballez sur place pour la distribution, copiez src/onthespot/resources/icon.svg
dans /usr/share/icons/hicolor/scalable/apps/casual_onthespot.svg
ou $HOME/.local/share/icons/hicolor/scalable/apps/casual_onthespot.svg
, et src/onthespot/resources/org.eu.casualsnek.onthespot.desktop
vers /usr/share/applications/org.eu.casualsnek.onthespot.desktop
ou $HOME/.local/share/applications/org.eu.casualsnek.onthespot.desktop
. Cela permet à l'application d'être mieux intégrée aux environnements de bureau !
Si vous avez des idées d'amélioration/de fonctionnalités, créez un problème ou rejoignez le serveur Discord pour en discuter !
Lors du premier lancement de l'application, vous recevrez un avertissement indiquant qu'aucun compte Spotify n'est ajouté. Ignorez l'avertissement et ajoutez votre (vos) compte (s) au bas de l'onglet de configuration. Avoir plusieurs comptes vous permettra de télécharger plusieurs chansons à la fois.
Dans l'onglet « Recherche », vous pouvez saisir votre requête en cliquant sur search
pour rechercher des chansons/artistes/albums/listes de lecture. Vous pouvez ensuite télécharger des médias dans la liste résultante en cliquant sur le bouton download
. En option, vous pouvez télécharger en masse en cliquant sur l'un des boutons situés sous le tableau. Notez que les types de média autres que « Pistes » peuvent prendre un peu plus de temps à analyser et à télécharger. L'application peut sembler figée dans cet état !
Entrez l'url dans le champ de recherche puis cliquez sur télécharger. Vous pouvez également saisir le chemin du fichier texte contenant l'URL, et toutes les URL qu'il contient seront mises en file d'attente ! Notez que les types de média autres que « Pistes » peuvent prendre un peu plus de temps à analyser et à télécharger. L'application peut sembler gelée dans cet état !
L'état et la progression du téléchargement peuvent être consultés en accédant à l'onglet « Progression ».
Max download Workers : C'est le nombre de threads à utiliser pour les téléchargements multimédias. Définissez ceci sur le nombre de comptes que vous avez ajoutés. La modification de ce paramètre nécessite un redémarrage de l'application pour prendre effet.
Analyse du compte SN : C'est le numéro affiché à gauche du nom d'utilisateur dans le tableau des comptes. Le numéro est le compte chargé de fournir les résultats de recherche et d’analyser les URL de téléchargement.
Emplacement de téléchargement : le dossier racine dans lequel les médias téléchargés sont placés.
Délai de téléchargement : Temps d'attente en secondes avant le prochain téléchargement après un téléchargement réussi.
Nombre maximal de tentatives : nombre de tentatives de téléchargement avant de continuer.
Max search results : Le nombre d'éléments à afficher dans les résultats de recherche pour chaque type de média. Exemple : le définir sur « 1 » affiche un résultat pour l'artiste, l'album, la piste et la liste de lecture, ce qui donne un total de 4 résultats de recherche.
Téléchargement de médias bruts : télécharge les fichiers (ils seront au format .ogg) sur le disque sans les convertir au format de média défini, il désactive également l'écriture de métadonnées et l'intégration de vignettes.
Forcer la prime : utilisez cette option si vos comptes premium apparaissent GRATUITS dans le tableau des comptes. Cela s'applique à tous les comptes ajoutés. Il n'est donc pas recommandé de l'utiliser avec une combinaison de comptes gratuits et premium. Ne pas utiliser si le compte n'est pas premium.
Activer la lecture de l'application de bureau pour télécharger : L'activation téléchargera automatiquement les chansons que vous écoutez sur l'application de bureau Spotify. (Supporté : Linux/Windows)
Afficher/Masquer la configuration avancée : Activer/Désactiver l'onglet Configuration avancée.
Enregistrer les paramètres : Enregistre/applique les paramètres
Les noms de piste par défaut sont AlbumFormatter/TrackName
Formateur de nom de piste : Cette option vous permet de définir le schéma de dénomination des pistes téléchargées. Les variables peuvent être utilisées en les plaçant entre {}
. Quelques variables sont disponibles pour être utilisées dans le schéma de dénomination :
artiste : Nom de l'artiste du morceau
album : Nom de l'album dans lequel se trouve le morceau *
name : Nom de la piste
rel_year : Année de sortie du morceau
disc_number : Numéro du disque dans lequel se trouve la piste *
track_number : Numéro de série du morceau dans l'album *
playlist_name : Nom de la playlist si la piste est téléchargée dans le cadre de la playlist *
playlist_owner : Nom de la playlist si la piste est téléchargée dans le cadre de la playlist *
playlist_desc : Description de la playlist si la piste est téléchargée dans le cadre de la playlist *
genre : Genre de la chanson *
label : Nom du label
explicite : 'Explicit' si la chanson est marquée comme explicite, sinon elle sera vide
trackcount : Nombre total de pistes sur l'album dans lequel se trouve cette piste
discount : Nombre total de disques sur l'album dans lequel se trouve ce morceau
spotid : identifiant Spotify
Exemple : Song: {name} of album: {album} Released in {rel_year}
.
La valeur des variables dont la description se termine par * peut être vide dans certains cas. Cela peut aussi être un chemin.
Formateur de nom de répertoire d'album : Cette option vous permet de définir le schéma de dénomination des répertoires pour les pistes téléchargées. Les variables peuvent être utilisées en les plaçant entre {}
. Quelques variables sont disponibles pour être utilisées dans le schéma de dénomination :
artiste : nom de l'artiste principal de l'album
rel_year : l'année de sortie de l'album *
album : nom de l'album
playlist_name : Nom de la playlist si la piste est téléchargée dans le cadre de la playlist *
playlist_owner : Nom de la playlist si la piste est téléchargée dans le cadre de la playlist *
playlist_desc : Description de la playlist si la piste est en cours de téléchargement dans le cadre de la playlist *
genre : Genre de la chanson *
label : Nom du label
Exemple : {artist}/{rel_year}/{album}
.
La valeur des variables dont la description se termine par * peut être vide dans certains cas. Cela peut aussi être un chemin.
Taille des morceaux de téléchargement : Taille des morceaux (octets) utilisés pour le téléchargement.
Désactiver l'avis de téléchargement groupé : l'activation de cette option désactivera les boîtes de dialogue contextuelles sur l'état lors de l'utilisation de téléchargements groupés.
Délai de nouvelle tentative de téléchargement récupérable : temps d'attente avant de tenter un autre téléchargement après une tentative infructueuse.
Sauter les octets à la fin (download end skip bytes) : Parfois, les derniers octets d'une piste ne peuvent pas être téléchargés, ce qui entraîne une « erreur PD » qui entraîne un échec constant des téléchargements. Cette option définit le nombre d'octets pour ignorer le téléchargement lorsque cela se produit. La valeur peut changer, mais la valeur de travail actuelle est de « 167 » octets. Si vous obtenez des « erreurs de décodage » ou des téléchargements de chansons incomplets, essayez de le définir sur 0.
Forcer le répertoire artiste/album pour les éléments de piste/liste de lecture : Si cette option est désactivée, les pistes téléchargées seront placées à la racine du répertoire de téléchargement au lieu des répertoires artiste/album. L'activer peut ralentir l'analyse du téléchargement, mais facilite l'organisation de la musique.
Format du média : format du média dans lequel vous souhaitez que votre téléchargement final de musique soit effectué. N'incluez pas '." dedans. Ce paramètre sera ignoré lors de l'utilisation de l'option de téléchargement de médias bruts.
Erreur de décodage : si vous recevez cette erreur, votre compte a peut-être été restreint. Attendez un peu ou essayez un autre compte. L'application peut planter fréquemment car il n'y a pas encore de gestion appropriée des exceptions. Vous pouvez nous aider en ouvrant un nouveau problème avec le message d'erreur affiché dans la fenêtre de votre console après un mauvais comportement de l'application.
Vous pouvez écrire du code pour inclure des fonctionnalités supplémentaires ou des corrections de bugs ou faire un problème concernant les bugs et les fonctionnalités ou simplement diffuser le travail sur l'application :) Si vous souhaitez soutenir financièrement, vous pouvez visiter Ici et soutenir via un collectif ouvert ou BTC Si vous le souhaitez le projet, montrez votre soutien en lui donnant une étoile :) !