QT-basierter Musik-Downloader, geschrieben in Python.
Wenn Sie eine Idee für eine Verbesserung oder Funktion haben, erstellen Sie ein Problem oder treten Sie dem Discord-Server bei, um darüber zu diskutieren!
Stellen Sie sicher, dass ffmpeg, python3 und Git installiert und in Ihrem $PATH
verfügbar sind. Wenn Sie Windows verwenden, müssen Sie außerdem die Microsoft C++-Build-Tools installieren und Ihren Computer neu starten, bevor Sie den Build-Prozess starten.
Laden Sie den Repo git clone https://github.com/casualsnek/onthespot
herunter oder klonen Sie ihn
Navigieren Sie zum Onthespot-Verzeichnis cd onthespot
Installieren Sie das Paket pip install -r requirements.txt
Navigieren Sie zum Quellverzeichnis cd src
Starten Sie die Anwendung mit python3 -m onthespot
Die Anforderungen sind die gleichen wie oben unter „Starten ohne Installation“.
Laden Sie den Repo git clone https://github.com/casualsnek/onthespot
herunter oder klonen Sie ihn
Navigieren Sie zum Onthespot-Verzeichnis cd onthespot
Erstellen Sie das Paket python -m build
Installieren Sie das Paket pip install ./dist/*.whl
Starten Sie die Anwendung mit onthespot_gui
onthespot
ist für Arch Linux und Arch Linux-basierte Distributionen im Arch User Repository (AUR) als onthespot-git verfügbar.
Sie können die Installation onthespot
mit Ihrem bevorzugten AUR-Helfer durchführen.
Zum Beispiel: mit yay
yay -Sy onthespot-git
Laden Sie die neueste Version von „onthespot_linux“ aus dem Release-Bereich herunter und führen Sie sie mit aus
chmod +x onthespot_linux ./onethespot_linux
Laden Sie die neueste Version „onthespot_win_ffm.exe“ oder „onthespot_win.exe“ aus dem Abschnitt „Release“ herunter und führen Sie sie durch Doppelklicken auf die heruntergeladene Datei aus.
Bei den Binärdateien, deren Dateiname auf „_ffm“ endet, ist ffmpeg gebündelt und sollte keine manuelle Installation erfordern.
Wenn Sie Binärdateien verwenden, die ffmpeg nicht bündeln, und die Downloads beim Text Converting
beim Fortschritt“ bei 99 % hängen bleiben, fehlt Ihnen ffmpeg! Bitte installieren Sie es, indem Sie die folgenden Anweisungen befolgen
Öffnen Sie den Windows Explorer, navigieren Sie zu Laufwerk C:
und geben Sie dort einen Ordnernamen mit dem Namen ffmpeg
ein
Laden Sie ffmpeg zip von https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-full.7z herunter und kopieren Sie dann den bin
-Ordner von zip nach C:ffmpeg
Öffnen Sie CMD als Administrator und führen Sie den Befehl aus: setx /m PATH "C:ffmpegbin;%PATH%"
Jetzt sollte die Anwendung wie erwartet funktionieren.
Zum Erstellen oder Packen auf einem beliebigen Betriebssystem müssen Git, Python3 und Pip installiert sein. Stellen Sie sicher, dass Sie sie installiert haben!
Öffnen Sie den Terminalemulator und führen Sie den folgenden Befehl aus, um das Repository zu klonen und zu erstellen.
Git-Klon https://github.com/casualsnek/onthespotcd onthespot
Wenn Sie Builds mit eingebettetem ffmpeg wünschen, laden Sie hier die ffmpeg-Binärdateien für Ihr Betriebssystem herunter. Erstellen Sie ein neues Verzeichnis mit dem Namen „ffbin_nix“ im Repository-Stammverzeichnis. Kopieren Sie die drei Dateien „ffmpeg“, „ffprobe“, „ffplay“ aus dem heruntergeladenen Archiv in das gerade erstellte Verzeichnis „ffbin_nix“ und führen Sie es dann aus.
bash ./build_linux.sh
Nachdem der Befehl abgeschlossen ist, sollte im Repository-Stammverzeichnis ein Verzeichnis „dist“ vorhanden sein, das die erstellte Binärdatei „onthespot_linux“ enthält.
Öffnen Sie cmd und führen Sie den folgenden Befehl aus, um das Repository zu klonen und zu erstellen.
Git-Klon https://github.com/casualsnek/onthespotcd onthespot
Wenn Sie Git nicht installiert haben, können Sie auch die Projekt-Quell-ZIP-Datei von Github herunterladen, sie extrahieren und cmd im Repository-Stammverzeichnis öffnen. Wenn Sie Builds mit eingebettetem ffmpeg wünschen, laden Sie hier die ffmpeg-Binärdateien für Ihr Betriebssystem herunter. Erstellen Sie ein neues Verzeichnis mit dem Namen „ffbin_win“ im Repository-Stammverzeichnis. Kopieren Sie die drei Dateien „ffmpeg.exe“, „ffprobe.exe“, „ffplay.exe“ aus dem heruntergeladenen Archiv in das gerade erstellte Verzeichnis „ffbin_win“ und führen Sie es dann aus.
build_winC1.bat build_winC2.bat
Nachdem der Befehl abgeschlossen ist, sollte im Repository-Stammverzeichnis ein Verzeichnis „dist“ vorhanden sein, das die erstellte Binärdatei „onthespot_win.exe“ enthält.
HINWEIS: Dadurch wird nur eine App für die spezifische Prozessorarchitektur erstellt, auf der Sie sich befinden. Es wird keine universelle Binärdatei erstellt
Öffnen Sie den Terminalemulator und führen Sie den folgenden Befehl aus, um das Repository zu klonen und zu erstellen.
Git-Klon https://github.com/casualsnek/onthespotcd onthespot
Wenn Sie Builds mit eingebettetem ffmpeg wünschen, laden Sie hier die ffmpeg-Binärdateien für Ihr Betriebssystem herunter. Erstellen Sie ein neues Verzeichnis mit dem Namen „ffbin_mac“ im Repository-Stammverzeichnis. Kopieren Sie die drei Dateien „ffmpeg“, „ffprobe“, „ffplay“ aus dem heruntergeladenen Archiv in das neu erstellte Verzeichnis „ffbin_mac“ und führen Sie dann Folgendes aus:
./build_mac.sh
Nachdem der Befehl abgeschlossen ist, sollten Sie im Repository-Stammverzeichnis über ein Verzeichnis „dist“ verfügen, das die Binärdatei „onthespot_mac.app“ enthält.
Sie können es auch vor Ort als Wheel erstellen und es als Python-Modul über Pip in Ihrem System installieren. Es bietet eine bessere Integration in das System, z. B. die Verwendung des Qt-Stils und der Qt-Designs Ihres Systems. Außerdem können Sie das bereitgestellte Symbol und die .desktop-Datei für eine bessere Integration unter Linux-Systemen verwenden.
Stellen Sie sicher, dass Sie die Setup-Tools installiert haben!
Öffnen Sie den Terminalemulator und führen Sie den folgenden Befehl aus, um das Repository zu klonen und zu erstellen.
Git-Klon https://github.com/casualsnek/onthespotcd onthespot Python -m Build
Dadurch wird ein dist-Verzeichnis erstellt, das die .whl-Datei enthält, die nun mit pip installiert werden kann. Die Anwendung kann nach der Installation mit dem Befehl onthespot_gui
oder python3 -m onthespot
gestartet werden!
HINWEIS: Wenn Sie onthespot zur Verteilung verpacken, kopieren Sie src/onthespot/resources/icon.svg
entweder nach /usr/share/icons/hicolor/scalable/apps/casual_onthespot.svg
oder $HOME/.local/share/icons/hicolor/scalable/apps/casual_onthespot.svg
und src/onthespot/resources/org.eu.casualsnek.onthespot.desktop
entweder nach /usr/share/applications/org.eu.casualsnek.onthespot.desktop
oder $HOME/.local/share/applications/org.eu.casualsnek.onthespot.desktop
. Dies ermöglicht eine bessere Integration der Anwendung in Desktop-Umgebungen!
Wenn Sie Ideen für Verbesserungen/Funktionen haben, erstellen Sie ein Problem oder treten Sie dem Discord-Server zur Diskussion bei!
Wenn Sie die Anwendung zum ersten Mal starten, erhalten Sie eine Warnung, dass keine Spotify-Konten hinzugefügt wurden. Ignorieren Sie die Warnung und fügen Sie Ihre Konten unten auf der Registerkarte „Konfiguration“ hinzu. Wenn Sie mehrere Konten haben, können Sie mehrere Songs gleichzeitig herunterladen.
Auf der Registerkarte „Suchen“ können Sie Ihre Suchanfrage eingeben. Klicken Sie auf „ search
“, um nach Liedern/Künstlern/Alben/Wiedergabelisten zu suchen. Anschließend können Sie in der resultierenden Liste Medien herunterladen, indem Sie auf den download
-Button klicken. Optional können Sie einen Massendownload durchführen, indem Sie auf eine der Schaltflächen unten in der Tabelle klicken. Beachten Sie, dass das Parsen und Herunterladen anderer Medientypen als „Titel“ etwas länger dauern kann. In diesem Zustand scheint die Anwendung eingefroren zu sein!
Geben Sie die URL in das Suchfeld ein und klicken Sie dann auf „Herunterladen“. Sie können auch den Pfad der Textdatei eingeben, die die URL enthält, und alle darin enthaltenen URLs werden in die Warteschlange gestellt! Beachten Sie, dass das Parsen und Herunterladen anderer Medientypen als „Titel“ etwas länger dauern kann. Die Anwendung scheint in diesem Zustand eingefroren zu sein!
Der Download-Status und der Fortschritt können angezeigt werden, indem Sie zur Registerkarte „Fortschritt“ navigieren.
Max. Download-Worker : Dies ist die Anzahl der Threads, die für Medien-Downloads verwendet werden sollen. Legen Sie hier die Anzahl der von Ihnen hinzugefügten Konten fest. Das Ändern dieser Einstellung erfordert einen Neustart der Anwendung, damit sie wirksam wird.
Parsing-Konto-SN : Dies ist die Nummer, die links neben dem Benutzernamen in der Kontentabelle angezeigt wird. Die Nummer ist das Konto, das für die Bereitstellung von Suchergebnissen und das Parsen von Download-URLs verantwortlich ist.
Download-Speicherort : Der Stammordner, in dem heruntergeladene Medien abgelegt werden.
Download-Verzögerung : Zeit in Sekunden, die nach einem erfolgreichen Download vor dem nächsten Download gewartet werden soll.
Max. Wiederholungsversuche : Anzahl der Wiederholungsversuche eines Downloads, bevor fortgefahren wird.
Maximale Suchergebnisse : Die Anzahl der Elemente, die im Suchergebnis für jeden Medientyp angezeigt werden. Beispiel: Wenn Sie den Wert auf „1“ setzen, wird ein Ergebnis für Interpret, Album, Titel und Wiedergabeliste angezeigt, was zu insgesamt 4 Suchergebnissen führt.
Rohmedien-Download : Lädt Dateien (sie werden .ogg sein) auf die Festplatte herunter, ohne sie in das festgelegte Medienformat zu konvertieren. Außerdem wird das Schreiben von Metadaten und das Einbetten von Miniaturansichten deaktiviert.
Premium erzwingen : Verwenden Sie diese Option, wenn Ihr Premium-Konto in der Kontotabelle KOSTENLOS anzeigt. Dies gilt für alle hinzugefügten Konten, sodass die Verwendung mit einer Kombination aus kostenlosen und Premium-Konten nicht empfohlen wird. Nicht verwenden, wenn das Konto kein Premium-Konto ist.
Desktop-App-Wiedergabe zum Herunterladen aktivieren : Durch Aktivieren werden automatisch Songs heruntergeladen, die Sie in der Spotify-Desktop-Anwendung abspielen. (Unterstützt: Linux/Windows)
Erweiterte Konfiguration anzeigen/ausblenden : Aktiviert/deaktiviert die Registerkarte „Erweiterte Konfiguration“.
Einstellung speichern : Speichert/wendet die Einstellungen an
Standardtitelnamen sind AlbumFormatter/TrackName
Titelnamenformatierer : Mit dieser Option können Sie das Benennungsschema heruntergeladener Titel festlegen. Variablen können verwendet werden, indem sie zwischen {}
eingeschlossen werden. Im Benennungsschema stehen einige Variablen zur Verfügung:
Künstler: Name des Künstlers des Titels
Album: Name des Albums, in dem sich der Titel befindet *
name: Name des Tracks
rel_year: Erscheinungsjahr des Titels
disc_number: Festplattennummer, in der sich der Titel befindet *
Titelnummer: Seriennummer des Titels im Album *
playlist_name: Name der Playlist, wenn der Titel als Teil der Playlist heruntergeladen wird *
playlist_owner: Name der Playlist, wenn der Titel als Teil der Playlist heruntergeladen wird *
playlist_desc: Beschreibung der Playlist, wenn der Titel als Teil der Playlist heruntergeladen wird *
Genre: Genre des Liedes *
label: Name des Plattenlabels
explizit: „Explizit“, wenn das Lied als explizit markiert ist, andernfalls ist es leer
Titelanzahl: Gesamtzahl der Titel auf dem Album, in dem sich dieser Titel befindet
Diskont: Gesamtzahl der Discs auf dem Album, auf dem sich dieser Titel befindet
spotid: Spotify-ID
Beispiel: Song: {name} of album: {album} Released in {rel_year}
.
Der Wert von Variablen, deren Beschreibung mit * endet, kann in manchen Fällen leer sein. Dies kann auch ein Pfad sein.
Formatierer für Albumverzeichnisnamen : Mit dieser Option können Sie das Benennungsschema der Verzeichnisse für heruntergeladene Titel festlegen. Variablen können verwendet werden, indem man sie zwischen {}
einschließt. Im Benennungsschema stehen einige Variablen zur Verwendung zur Verfügung:
Künstler: Name des Hauptkünstlers des Albums
rel_year: das Erscheinungsjahr des Albums *
Album: Name des Albums
playlist_name: Name der Playlist, wenn der Titel als Teil der Playlist heruntergeladen wird *
playlist_owner: Name der Playlist, wenn der Titel als Teil der Playlist heruntergeladen wird *
playlist_desc: Beschreibung der Playlist, wenn der Titel als Teil der Playlist heruntergeladen wird *
Genre: Genre des Liedes *
label: Name des Plattenlabels
Beispiel: {artist}/{rel_year}/{album}
.
Der Wert von Variablen, deren Beschreibung mit * endet, kann in manchen Fällen leer sein. Auch das kann ein Weg sein.
Download-Chunk-Größe : Größe der Chunks (Bytes), die zum Herunterladen verwendet werden.
Massen-Download-Benachrichtigung deaktivieren : Wenn Sie diese Option aktivieren, werden Popup-Dialoge zum Status deaktiviert, wenn Sie Massen-Downloads verwenden.
Verzögerung bei wiederherstellbaren Downloads : Wartezeit, bevor nach einem fehlgeschlagenen Versuch ein weiterer Download versucht wird.
Bytes am Ende überspringen (Download-End-Skip-Bytes) : Manchmal können die letzten paar Bytes eines Titels nicht heruntergeladen werden, was zu einem „PD-Fehler“ führt, der dazu führt, dass die Downloads ständig fehlschlagen. Diese Option legt die Anzahl der Bytes fest, die in diesem Fall beim Herunterladen übersprungen werden sollen. Der Wert kann sich ändern, aber der aktuelle Arbeitswert beträgt „167“ Bytes. Wenn Sie „Dekodierungsfehler“ oder unvollständige Song-Downloads erhalten, versuchen Sie, den Wert auf 0 zu setzen.
Künstler-/Albumverzeichnis für Titel-/Playlist-Elemente erzwingen : Wenn diese Option deaktiviert ist, werden die heruntergeladenen Titel im Stammverzeichnis des Download-Verzeichnisses und nicht in den Künstler-/Albumverzeichnissen abgelegt. Wenn Sie diese Option aktivieren, wird die Download-Analyse möglicherweise langsamer, die Musik wird jedoch einfacher organisiert.
Medienformat : Format des Mediums, in dem Ihr endgültiger Musikdownload erfolgen soll. Geben Sie „.“ nicht ein. darin. Diese Einstellung wird ignoriert, wenn die Option zum Herunterladen von Rohmedien verwendet wird.
Dekodierungsfehler: Wenn Sie diesen Fehler erhalten, wurde Ihr Konto möglicherweise eingeschränkt. Warten Sie etwas oder versuchen Sie es mit einem anderen Konto. Die Anwendung kann häufig abstürzen, da es noch keine ordnungsgemäße Ausnahmebehandlung gibt. Sie können helfen, indem Sie ein neues Problem mit der Fehlermeldung öffnen, die in Ihrem Konsolenfenster angezeigt wird, nachdem sich die Anwendung schlecht verhält.
Sie können Code schreiben, um zusätzliche Funktions- oder Fehlerkorrekturen einzuschließen, ein Problem bezüglich Fehlern und Funktionen zu stellen oder einfach die Arbeit an der Anwendung zu verbreiten :) Wenn Sie finanziell unterstützen möchten, können Sie hier vorbeischauen und über Open Collective oder BTC unterstützen, wenn Sie möchten Das Projekt, zeigen Sie Ihre Unterstützung, indem Sie ihm einen Stern geben :)!