Zusätzliche Informationen aus Dateien auslesen

Für allgemeine Fragen zur Programmierung mit PureBasic.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: Zusätzliche Informationen aus Dateien auslesen

Beitrag von DarkDragon »

Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

Re: Zusätzliche Informationen aus Dateien auslesen

Beitrag von sen-me »

Hmm kann es sein das TPE1, TPE2, TIT2 usw. bei jedem Lied wo anders stehn können?
Hab mir mal ein gesamtes lied auslesen lassen und geschaut wo überall Informationen stehn, dann hab ich in einem andren Lied genau an diesen Fundstellen gesucht und da stand was ganz anderes (unlesbares Zeug)
Wie soll man da genau dann die richtigen Stellen finden? Vorallem wenn nach TPE1 Informationen stehen die keine Kennzeichnung hat (Steht dann ohne TPE und sowas einfach der Interpret oder Album)
Bild
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: Zusätzliche Informationen aus Dateien auslesen

Beitrag von DarkDragon »

sen-me hat geschrieben:Hmm kann es sein das TPE1, TPE2, TIT2 usw. bei jedem Lied wo anders stehn können?
Hab mir mal ein gesamtes lied auslesen lassen und geschaut wo überall Informationen stehn, dann hab ich in einem andren Lied genau an diesen Fundstellen gesucht und da stand was ganz anderes (unlesbares Zeug)
Wie soll man da genau dann die richtigen Stellen finden? Vorallem wenn nach TPE1 Informationen stehen die keine Kennzeichnung hat (Steht dann ohne TPE und sowas einfach der Interpret oder Album)
Ja, die Tags können bei ID3v2.x immer woanders stehen (natürlich nicht mitten im musikstück, sondern schon im ID3Container).

Hier mal für ID3v2.4.0 aber damit wirst du nicht glücklich werden wenn du ID3v2.3.x Tags hast, da viele Ganzzahlen nun anders kodiert werden.
http://www.id3.org/id3v2.4.0-structure
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
c4s
Beiträge: 1235
Registriert: 19.09.2007 22:18

Re: Zusätzliche Informationen aus Dateien auslesen

Beitrag von c4s »

DarkDragon hat geschrieben:Hier mal für ID3v2.4.0 aber damit wirst du nicht glücklich werden wenn du ID3v2.3.x Tags hast, da viele Ganzzahlen nun anders kodiert werden.
http://www.id3.org/id3v2.4.0-structure
Also ich hatte mich bereits mit diesen ID3-Tags beschäftigt und bin zu dem Fazit gekommen, dass sich Version 2.2, 2.3 und 2.4 nur in ein paar unwichtigen Frames unterscheiden (wobei 2.2 dreistellige im Gegensatz zu den sonst vierstelligen nutzt).
Dazu auch:
id3.org/id3v2.4.0-structure hat geschrieben:ID3v2.4.0 is meant to be as close as possible to ID3v2.3.0 in order
to allow for implementations to be revised as easily as possible.
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: Zusätzliche Informationen aus Dateien auslesen

Beitrag von DarkDragon »

c4s hat geschrieben:
DarkDragon hat geschrieben:Hier mal für ID3v2.4.0 aber damit wirst du nicht glücklich werden wenn du ID3v2.3.x Tags hast, da viele Ganzzahlen nun anders kodiert werden.
http://www.id3.org/id3v2.4.0-structure
Also ich hatte mich bereits mit diesen ID3-Tags beschäftigt und bin zu dem Fazit gekommen, dass sich Version 2.2, 2.3 und 2.4 nur in ein paar unwichtigen Frames unterscheiden (wobei 2.2 dreistellige im Gegensatz zu den sonst vierstelligen nutzt).
Dazu auch:
id3.org/id3v2.4.0-structure hat geschrieben:ID3v2.4.0 is meant to be as close as possible to ID3v2.3.0 in order
to allow for implementations to be revised as easily as possible.
Auszug aus http://www.id3.org/id3v2.4.0-structure:
6.2. Synchsafe integers

In some parts of the tag it is inconvenient to use the
unsychronisation scheme because the size of unsynchronised data is
not known in advance, which is particularly problematic with size
descriptors. The solution in ID3v2 is to use synchsafe integers, in
which there can never be any false synchs. Synchsafe integers are
integers that keep its highest bit (bit 7) zeroed, making seven bits
out of eight available. Thus a 32 bit synchsafe integer can store 28
bits of information.

Example:

255 (%11111111) encoded as a 16 bit synchsafe integer is 383
(%00000001 01111111).
Bei 2.3.0 gabs das nicht. Das ist ein imenser Aufwand dauernd solche Spezialfälle zu implementieren und das für jede Version. Wer weiß, vielleicht sind die ID3Tags in Version 3 dann auch in der Mitte der Datei...

Achja und nicht alle Integerwerte sind wohl als Syncsafe Integer gedacht, desshalb ist es noch ein Zusatzaufwand die rauszufinden die es wirklich sind.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

Re: Zusätzliche Informationen aus Dateien auslesen

Beitrag von sen-me »

Hätte nicht gedacht das das so kompliziert wird...
Gibt es keine microsoft, also windows befehle für sowas? Weil wenn ich ja ganz normal unter Eigenschaften-Details, persöhnliche Dinge wie Kommentar usw. eingeb weis der ja auch immer wohin damit
Bild
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: Zusätzliche Informationen aus Dateien auslesen

Beitrag von DarkDragon »

sen-me hat geschrieben:Hätte nicht gedacht das das so kompliziert wird...
Gibt es keine microsoft, also windows befehle für sowas? Weil wenn ich ja ganz normal unter Eigenschaften-Details, persöhnliche Dinge wie Kommentar usw. eingeb weis der ja auch immer wohin damit
Nein soweit ich weiß gibts das nicht. Wie ich aber bereits erwähnt hab ist TagLib recht gut.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

Re: Zusätzliche Informationen aus Dateien auslesen

Beitrag von sen-me »

Hmmm der Downloadlink zur TagLib ist irgendwie defekt, kannst du das bitte nochmal selber Hochladen?
Bild
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: Zusätzliche Informationen aus Dateien auslesen

Beitrag von DarkDragon »

Hmm also eigentlich brauchst du nur den Quelltext von Kai der im Topic steht und dann http://ftp.musicbrainz.org/pub/musicbra ... ks/taglib/ hier die taglib-1.5-msvc-bin.zip da die tag_c.lib und tag_c.dll.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
rolaf
Beiträge: 3843
Registriert: 10.03.2005 14:01

Re: Zusätzliche Informationen aus Dateien auslesen

Beitrag von rolaf »

sen-me hat geschrieben:Hätte nicht gedacht das das so kompliziert wird...
Nimm halt für deine MP3s nur ID3v1. Ist am einfachsten - 128 Byte vom Dateiende. Zum Umwandeln kannst du das von Kiffi (dem Kölner Schlipsträger) empfohlene Progie nehmen, zum Verwalten dann dein eigenes mit ID3v1. Beim Konvertieren gleich den Audiograbber nur auf ID3v1 einstellen. So fluppt es bei mir allerbestens und völlig UNkompliziert. :allright:

Wer muß schon mehr unötigen Datenkram in MP3s stecken, Mumpitz für Otto Normal. :wink:
:::: WIN 10 :: PB 5.73 :: (x64) ::::
Antworten