• Welcome to Jose's Read Only Forum 2023.
 

pbfree lade Musik Title CD info von FreeDB sever automatisch

Started by Peter Weis, February 12, 2014, 07:35:07 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Peter Weis

Hab es überarbeitet für Windows 10

Peter Weis

Hi hab festgestellt das PBFREE nicht mehr geht weil der Server FREEDB nicht mehr existiert >:(

ich bin aber am arbeiten daran um einen Ersatz zu finden wen jemand mir helfen kann mit dem einen anderen Server nutzen kann er mir gerne helfen

MFG Peter

Theo Gottwald

#17
Was gibt es da zu arbeiten?
Frag einfach ...
Für mich sind das nur wenige Klicks und ich weiss das.

QuoteDie FreeDB-Datenbank wurde ursprünglich von einem Community-Projekt betrieben, das die Metadaten von Audio-CDs sammelte und öffentlich zugänglich machte. Im Jahr 2020 gab das Projekt jedoch bekannt, dass es den Betrieb der FreeDB-Datenbank einstellen werde.

Seitdem haben sich verschiedene alternative CD-Datenbanken entwickelt, darunter MusicBrainz und Discogs. Diese Datenbanken haben ähnliche Ziele wie FreeDB, nämlich eine öffentlich zugängliche Sammlung von Metadaten für Audio-CDs bereitzustellen.

Es gibt verschiedene Möglichkeiten, auf die Datenbanken wie MusicBrainz oder Discogs zuzugreifen und ihre Metadaten abzufragen. Einige der gängigsten Methoden sind:

Verwendung von APIs: Diese Datenbanken bieten oft öffentliche APIs an, die es Entwicklern ermöglichen, auf ihre Daten zuzugreifen und Abfragen durchzuführen. Diese APIs verwenden normalerweise HTTP-Anfragen, um Daten zu übertragen, und geben die Ergebnisse im JSON- oder XML-Format zurück.

Verwendung von Bibliotheken: Es gibt verschiedene Bibliotheken und SDKs (Software Development Kits), die es einfacher machen, mit diesen Datenbanken zu interagieren. Diese Bibliotheken können in verschiedenen Programmiersprachen wie Python, Java oder C# verfügbar sein.

Verwendung von Datenbankabfragesprachen: Es ist auch möglich, Datenbankabfragesprachen wie SQL zu verwenden, um direkt auf die Datenbanken zuzugreifen und Abfragen auszuführen. Dies erfordert jedoch normalerweise spezielle Kenntnisse und Genehmigungen, um auf die Datenbanken zuzugreifen.

In jedem Fall ist es wichtig, die API-Dokumentation oder die Benutzerhandbücher der Datenbanken zu lesen, um zu verstehen, wie man auf ihre Daten zugreift und wie man Abfragen richtig formuliert.

... Musiktiteln, Künstlern und Alben zuzugreifen. Die API unterstützt eine Vielzahl von Abfragemöglichkeiten, einschließlich der Suche nach bestimmten Künstlern, Alben oder Tracks sowie der Abfrage von Metadaten basierend auf bestimmten Kriterien wie Erscheinungsjahr, Genre oder Land.

Die MusicBrainz API verwendet HTTP-Anfragen und gibt die Ergebnisse im JSON- oder XML-Format zurück. Die API unterstützt auch die Verwendung von Abfrageparametern, um die Abfrageergebnisse zu filtern oder zu sortieren.

Die vollständige Dokumentation der MusicBrainz API ist auf der offiziellen MusicBrainz-Website verfügbar. Dort findest du detaillierte Informationen zu den unterstützten Abfrageparametern und -optionen sowie Beispiele für die Verwendung der API in verschiedenen Programmiersprachen.

Ja, ich kann dir ein Beispiel für eine MusicBrainz-API-Abfrage geben.

Angenommen, du möchtest alle Alben von Queen abrufen. Die API-Abfrage würde folgendermaßen aussehen:

https://musicbrainz.org/ws/2/release?artist=0383dadf-2a4e-4d10-a46a-e9e041da8eb3&fmt=json
In dieser Abfrage wird die "release" Ressource angefordert, die alle veröffentlichten Alben darstellt. Der Parameter "artist" wird verwendet, um nach Alben des Künstlers mit der MusicBrainz-ID "0383dadf-2a4e-4d10-a46a-e9e041da8eb3" zu suchen. Dies ist die MusicBrainz-ID von Queen. Der Parameter "fmt" wird verwendet, um das Antwortformat auf JSON zu setzen.

Wenn du diese Abfrage in deinem Webbrowser eingibst, erhältst du eine JSON-Antwort mit allen Alben von Queen, die in der MusicBrainz-Datenbank erfasst sind. Diese Antwort enthält Informationen wie den Albumnamen, das Erscheinungsjahr, die Trackliste und die MusicBrainz-ID des Albums.

Dies ist nur ein einfaches Beispiel, und es gibt viele andere Möglichkeiten, die MusicBrainz-API zu nutzen, um detailliertere Abfragen durchzuführen oder andere Informationen wie Künstlerbiografien oder Songtexte abzurufen. Die genaue Abfrage hängt von deinen spezifischen Anforderungen ab.

Quote
Ja, es ist auch möglich, die MusicBrainz-API in C zu verwenden. Hier ist ein Beispielcode, der die Alben von Queen mit der MusicBrainz-ID "0383dadf-2a4e-4d10-a46a-e9e041da8eb3" abruft und die Albumtitel in der Konsole ausgibt:

#include <stdio.h>
#include <curl/curl.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>

size_t callback(char *ptr, size_t size, size_t nmemb, void *userdata) {
    // Diese Funktion wird vom CURL aufgerufen, um Daten von der API zu empfangen.
    // Hier wird der empfangene Inhalt an den JSON-Parser übergeben.
    size_t realsize = size * nmemb;
    json_error_t error;
    json_t *root = json_loads(ptr, 0, &error);
    if (root) {
        json_array_foreach(root, i, release) {
            json_t *title = json_object_get(release, "title");
            printf("%s\n", json_string_value(title));
        }
        json_decref(root);
    }
    return realsize;
}

int main() {
    CURL *curl;
    CURLcode res;
    char *url = "https://musicbrainz.org/ws/2/release?artist=0383dadf-2a4e-4d10-a46a-e9e041da8eb3&fmt=json";

    curl = curl_easy_init();
    if (curl) {
        curl_easy_setopt(curl, CURLOPT_URL, url);
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, callback);
        res = curl_easy_perform(curl);
        curl_easy_cleanup(curl);
    }

    return 0;
}

In diesem Beispiel wird die CURL-Bibliothek verwendet, um die API-Anfrage an die MusicBrainz-Server zu senden und die empfangene Antwort zu verarbeiten. Die empfangenen Daten werden an die JSON-Bibliothek weitergegeben, die die Daten in ein JSON-Objekt parsen und durchlaufen wird, um die Albumtitel zu extrahieren und in der Konsole auszugeben.

Es ist wichtig zu beachten, dass du die MusicBrainz-API-Abfrage-URL an deine spezifischen Anforderungen anpassen musst, indem du die entsprechenden Parameter einfügst. Die genaue Syntax und die unterstützten Parameter findest du in der MusicBrainz-API-Dokumentation.

Quote
Ja, es ist auch möglich, die MusicBrainz-API in PowerBasic zu verwenden. Hier ist ein Beispielcode, der die Alben von Queen mit der MusicBrainz-ID "0383dadf-2a4e-4d10-a46a-e9e041da8eb3" abruft und die Albumtitel in der Konsole ausgibt:


#COMPILE EXE
#DIM ALL

#INCLUDE ONCE "WinHttpRequest.inc"

FUNCTION callback(BYREF data AS STRING, BYVAL size AS LONG, BYVAL userdata AS DWORD) AS LONG
    LOCAL json AS VARIANT
    LOCAL i AS LONG

    ' Daten als JSON-Objekt parsen
    JSONPARSE(data, VARTYPE(json), json)

    ' Durch jedes Release im JSON-Objekt iterieren und den Titel ausgeben
    FOR i = 0 TO JSONGETSIZE(json, "releases") - 1
        PRINT JSONGETSTRING(json, "releases", i, "title")
    NEXT i

    JSONFREE(json)
    FUNCTION = 0
END FUNCTION

FUNCTION PBMAIN() AS LONG
    LOCAL HttpReq AS WinHttpRequest
    LOCAL Url AS STRING

    ' MusicBrainz-API-Abfrage-URL mit Parametern
    Url = "https://musicbrainz.org/ws/2/release?artist=0383dadf-2a4e-4d10-a46a-e9e041da8eb3&fmt=json"

    ' HTTP-Anfrage senden und Antwort empfangen
    HttpReq.Initialize("PB MusicBrainz API")
    HttpReq.Open("GET", Url)
    HttpReq.SetRequestHeader("User-Agent", "PB MusicBrainz API")
    HttpReq.Send("")

    ' Antwortinhalt an den Callback-Handler übergeben
    HttpReq.WaitForResponse()
    HttpReq.ResponseText(callback, 0)

    FUNCTION = 0
END FUNCTION


In diesem Beispiel wird die WinHttpRequest-Bibliothek verwendet, um die API-Anfrage an die MusicBrainz-Server zu senden und die empfangene Antwort zu verarbeiten. Die empfangenen Daten werden an die JSON-Bibliothek weitergegeben, die die Daten in ein JSON-Objekt parsen und durchlaufen wird, um die Albumtitel zu extrahieren und in der Konsole auszugeben.

Es ist wichtig zu beachten, dass du die MusicBrainz-API-Abfrage-URL an deine spezifischen Anforderungen anpassen musst, indem du die entsprechenden Parameter einfügst. Die genaue Syntax und die unterstützten Parameter findest du in der MusicBrainz-API-Dokumentation.


Ja, hier ist eine Tabelle, die einige Vor- und Nachteile von MusicBrainz und Discogs vergleicht:

Das hier ist eine Tabelle, die kann ich hier aber nicht einfügen.

MusicBrainz                                                                        Discogs
Daten Umfangreiche und präzise Metadaten für Musik                Metadaten für Musik, aber auch für andere Medien

Community Große und engagierte Community von Freiwilligen Kommerzielle Community mit bezahlten Moderatoren
Lizenz         CC0 (public domain) für Daten, aber nicht für Bilder Proprietäre Lizenz für Daten und Bilder
API                 Umfangreiche und dokumentierte RESTful API         RESTful API mit begrenzten Funktionen
Dateneingabe Jeder kann Daten hinzufügen oder bearbeiten         Nur verifizierte Benutzer können Daten hinzufügen oder bearbeiten
Datenqualität Variabel, da jeder Benutzer Daten hinzufügen oder bearbeiten kann Konsistenter, da Daten von verifizierten Benutzern kommen
Integration Mehrere Musik-Player und Anwendungen unterstützen MusicBrainz als Metadatenquelle
                                                                                                       Weniger Unterstützung durch Drittanbieteranwendungen

Popularität         Weniger bekannt als Discogs, aber mit stetig wachsendem Nutzerkreis
                                                                                                       Beliebte Datenbank, aber auch mit begrenzten Metadaten für bestimmte Genres



Es ist jedoch wichtig zu beachten, dass diese Vor- und Nachteile auf den individuellen Gebrauch und die Bedürfnisse des Benutzers ankommen. Einige Benutzer bevorzugen möglicherweise die Community und das Verifizierungssystem von Discogs, während andere sich auf die umfangreichen Metadaten und die öffentliche Domäne von MusicBrainz konzentrieren.

Quelle: ChatGPT