Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi CDDB - Wie geht das? (https://www.delphipraxis.net/55327-cddb-wie-geht-das.html)

100nF 19. Okt 2005 17:44


CDDB - Wie geht das?
 
hallo zusammen,

ich brauche mal wieder eure hilfe... :stupid:

ich habe in meinem programm einen CD Ripper eingebaut, nun fehlt aber noch eine CDDB-Funktion, also dass das programm die CD erkennt und die ID3-Tags aus dem internet abrufen und einfügen kann.
nun weiss ich aber nicht wie ich das ganze realisieren kann.
die suche hat auch nicht viel genützt.

ich wäre froh für tutorials, tipps, beispielprogramme, usw.

ich hoffe ihr könnt mir helfen.

gruss
urbanbruhin

DGL-luke 19. Okt 2005 17:50

Re: CDDB - Wie geht das?
 
http://www.delphipraxis.net/internal...ct.php?t=63860

hier steht auf den letzten seiten was über das prinzip.

Luckie 19. Okt 2005 17:51

Re: CDDB - Wie geht das?
 
Es gibt Provider, die so eine DB zur Verfügung stellen. Meist bieten sie auch eine API an, um sie zu benutzen. Allerdings nicht immer umsonst, das heißt Entwickler müssen eine Gebühr bezahlen, um Zugang zu der DB zu bekommen.

100nF 19. Okt 2005 18:28

Re: CDDB - Wie geht das?
 
hi,

@DGL-luke
danke für den link, leider steht da nicht viel nützliches für mich drin.

@Luckie
Zitat:

Es gibt Provider, die so eine DB zur Verfügung stellen. Meist bieten sie auch eine API an, um sie zu benutzen. Allerdings nicht immer umsonst, das heißt Entwickler müssen eine Gebühr bezahlen, um Zugang zu der DB zu bekommen.
also gibts auch kostenlose? kennst du welche?
muss ich auch bezahlen, wenn mein programm freeware ist?

urbanbruhin

Tubos 19. Okt 2005 18:31

Re: CDDB - Wie geht das?
 
Freedb, die Inhalte der freedb-DB stehen unter der GPL.
http://www.freedb.org
Kannst somit völlig kostenlos an die Informationen kommen und das natürlich auch in dein programm ein bauen.

100nF 19. Okt 2005 19:37

Re: CDDB - Wie geht das?
 
danke für deine antwort, Tubos!

ich habe mal gesucht, und schliesslich diese komponente gefunden: Cddbcomp

runtergeladen, package geöffnet und gestaunt:
Zitat:

[Fataler Fehler] Cddbcomp.dpk(28): Package 'baseclx' wird benötigt, konnte aber nicht gefunden werden
:shock:

wieder gesucht und gesucht :coder: ...und...gesucht :coder: ...und....nichts gefunden :shock:

hat jemand eine ahnung wie ich das problem beseitigen kann?

Dj_Base 19. Okt 2005 19:46

Re: CDDB - Wie geht das?
 
Hi!

Ich habe Tcddb auch vorkurzem installiert.

Also, zuerst einmal brauchst du ICL (Internet Component Suite), Download hier

Dann habe ich die Pakete baseclx und kylixclx (oder so ähnlich) einfach entfernt, weil ich kein Kylix habe und die Units auch nicht hatte.

Hat wunderbar funktioniert, und die Cddb-Komponente funktioniert ganz prima! :-D

mfg,
Dj_Base

100nF 19. Okt 2005 20:08

Re: CDDB - Wie geht das?
 
danke für deine antwort Dj_Base!!

auf die idee wär ich echt nie gekommen, jetzt funktioniert die komponente. jetzt muss ich nur noch wissen wie sie funktioniert...

hast du schon ein programm mit der komponentr geschrieben?

ich werd mal ein bisschen rumprobieren...

Dj_Base 19. Okt 2005 20:37

Re: CDDB - Wie geht das?
 
Hi!

Jo, das habe ich -> nCode Audio Ripper

In der readme-Datei findest du eine sehr gute Anleitung, die beschreibt, wie das Programm läuft. Du solltest auf jeden Fall einen Blick in die Demo werfen! Besonders den Button "HTTP Query and Read" !

Könntest du mir berichten - wenn es soweit ist - ob du auch bei deinen Abfragen öfters mal die Olsen Brothers bekommst ;) ? Wir könnten uns dann ja mal kurzschließen und gemeinsam über Probleme beraten! :-D

Grüße,
Dj_Base

100nF 19. Okt 2005 21:22

Re: CDDB - Wie geht das?
 
hi,

wo finde ich denn den code von deinem programm?

gruss
urbanbruhin

Sko 19. Okt 2005 21:47

Re: CDDB - Wie geht das?
 
ich bekomm beim installieren immer die meldung "[Error] Cddb.pas(1120): Incompatible types: 'PAnsiChar' and 'Pointer'"

Dj_Base 20. Okt 2005 14:55

Re: CDDB - Wie geht das?
 
Zitat:

Zitat von urbanbruhin
wo finde ich denn den code von deinem programm?

Hi!, den gibt's leider nicht... ;)
Werde mal schauen, wenn mein Programm auch fertig ist, so dass auch andere davobn profitieren können, ob ich es dann in Open-Source reinstelle...

mfg,
Dj_Base

100nF 20. Okt 2005 17:12

Re: CDDB - Wie geht das?
 
Zitat:

Werde mal schauen, wenn mein Programm auch fertig ist, so dass auch andere davobn profitieren können, ob ich es dann in Open-Source reinstelle...
das wäre toll, dann könnte ich den code, der für das abrufen der ID3-Tags verwendet wird einfach rausschneiden und in mein programm einfügen. (natürlich werde ich ihn auch probieren zu verstehen :mrgreen: )

wäre das zu viel wenn du diesen code einfach hier rein posten würdest? aber muss ja nicht sein...

werde nochmals ein paarmal die demo anschauen, aber irgendwie kapiere ich den code immernoch nicht :gruebel:

gruss
urbanbruhin

100nF 22. Okt 2005 16:01

Re: CDDB - Wie geht das?
 
hallo, ich bins nochmal!

also ich bin jetzt soweit, dass ich den CD-Titel von der FreeDB abrufen kann. nun weiss ich aber nicht, wie ich die einzelnen ID3-Informationen von jedem Track bekomme.

@Dj_Base
Könntest du mal die Procedure posten, mit der die Track-Informationen abgerufen werden? Das würde mir wahrscheinlich weiter helfen.

Gruss
urbanbruhin

Dj_Base 22. Okt 2005 16:28

Re: CDDB - Wie geht das?
 
Hi!

Also du kannst die einzelnen Informationen mit folgendem Code abrufen:
Delphi-Quellcode:
Cddb1.CDinfo.Artist //Der Interpret
Cddb1.CdInfo.Year //Das Jahr
Cddb1.CdInfo.Title //Album
Cddb1.CdInfo.Tracks[i] //Track Nr. i
Hoffe, das wird dir helfen...

Cya,
Dj_Base

100nF 22. Okt 2005 17:45

Re: CDDB - Wie geht das?
 
hallo,

danke für den code!!

funktioniert wunderbar, nur muss ich halt noch den track-titel und den interpret aus dem "Cddb1.CdInfo.Tracks[i]" auslesen, aber das ist ja nicht so schwierig, da die informationen ja mit "/" getrennt sind...

gruss
urbanbruhin

Dj_Base 22. Okt 2005 17:52

Re: CDDB - Wie geht das?
 
Eigentlich ist diese Cddb-System dazu gedacht,dass es sich um Alben handelt, die enthalten sind, und nicht um Sampler! Bei Alben gibt es ja nur einen Interpreten.

Aber du hast recht: Bei den meißten Einträgen sind die verschiedenen Interpreten und Artisten durch einen Slash oder Backslash getrennt, aber halt nicht immer. Da muss man vorsichtig sein, denn es kommt schon mal vor, dass es ganz normaler Titel auch einen Slash enthält: So zum Beispiel bei der CD "Buena Vista Social Club" ;)

Aber es ist ne gute Idee, so eine Funtion noch einzubinden...

Cya,
Dj_Base

100nF 22. Okt 2005 18:08

Re: CDDB - Wie geht das?
 
ach so, da ist nicht immer ein slash drin :gruebel:

dann muss ich mir halt noch etwas überlegen, damit es dann auch richtig funktioniert.
leider habe ich nur eine einzige original-CD, also viel testen kann ich nicht :mrgreen:

naja, funktionieren wirds sicher, das ist nur eine frage der zeit...

ach ja, weisst du wofür die Datei "LocalCDDB.dll" wichtig ist? Das Programm funktioniert ja auch ohne diese datei :gruebel:

Greetz
urbanbruhin

Dj_Base 22. Okt 2005 23:50

Re: CDDB - Wie geht das?
 
Hallo!

Sie soll wohl es einfacher machen, die lokale CDDB-Datenbank (das gleiche wie freedb.org nur halt mit bereits jemals vorher gerippten Tracks auf der HD) abzufragen & benutzen, habe das aber noch nicht verfolgt.

Ich würde aber - wenn ich nicht mit anderen Ripprogrammen kooperieren wollen würde - eine eigene Lokale Datenbank anlegen. Z.B. ein TXT-File mit den Einträgen DiscID, Interpret, Album, Year, Track1, Track2, usw... oder so etwas in der Art...

Gruß,
Dj_Base

P.S.: Kann ich mir deinen bisherigen Ripper mal irgendwo anschauen? ;)

100nF 23. Okt 2005 12:32

Re: CDDB - Wie geht das?
 
hallo,

dann denke ich jetzt mal, dass er einfach auf die lokale DLL zugfeift, wenn keine Internetverbindung vorhanden ist. Aber weisst du ob die auch mal aktualisiert wird? oder ob man das mit einem befehl machen kann?

Zitat:

Ich würde aber - wenn ich nicht mit anderen Ripprogrammen kooperieren wollen würde - eine eigene Lokale Datenbank anlegen. Z.B. ein TXT-File mit den Einträgen DiscID, Interpret, Album, Year, Track1, Track2, usw... oder so etwas in der Art...
klingt kompliziert :gruebel: ich glaube ich lass es besser bei der DLL sein... :mrgreen:

Zitat:

P.S.: Kann ich mir deinen bisherigen Ripper mal irgendwo anschauen?
also es ist nicht nur ein CD-Ripper, sondern ein ganzer MP3-Player. Er ist hier zu finden. wäre nett wenn du ihn mal anschauen würdest! aber die CDDB-Funktion ist in dieser Version noch nicht verfügbar, daran bin ich jetzt noch am arbeiten.

Gruss
urbanbruhin


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz