Toon posts:

[c++] TOC van een audio-cd uitlezen?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste mensen,
Ik ben bezig met het schrijven van een frontend voor diverse console-applicaties voor Linux, zo ook voor cdparanoia. Met het commando
code:
1
cdparanoia -Q -d /dev/cdrom -e &> /tmp/kopy_tracklist

krijg je een lijst met tracks en informatie daarover (lengte, begin, einde). Nu wil ik in mijn applicatie ook informatie over tracks opnemen, maar ik denk dat het wat omslachtig is om de output van cdparanoia uit te gaan lezen. Bovendien, als er dan een klein dingetje verandert (hier en daar een spatie), dan werkt mijn 'parser' niet meer. Dus daarom wil ik zelf de TOC van een Audio CD uitlezen (c++!). Heeft iemand enig idee hoe ik dit voor elkaar moet krijgen? Alvast bedankt!

Verwijderd

Verwijderd schreef op 05 april 2004 @ 19:00:
Beste mensen,
Ik ben bezig met het schrijven van een frontend voor diverse console-applicaties voor Linux, zo ook voor cdparanoia. Met het commando
code:
1
cdparanoia -Q -d /dev/cdrom -e &> /tmp/kopy_tracklist

krijg je een lijst met tracks en informatie daarover (lengte, begin, einde). Nu wil ik in mijn applicatie ook informatie over tracks opnemen, maar ik denk dat het wat omslachtig is om de output van cdparanoia uit te gaan lezen. Bovendien, als er dan een klein dingetje verandert (hier en daar een spatie), dan werkt mijn 'parser' niet meer. Dus daarom wil ik zelf de TOC van een Audio CD uitlezen (c++!). Heeft iemand enig idee hoe ik dit voor elkaar moet krijgen? Alvast bedankt!
Use the source, CyberKnutselaar!

Verwijderd

Topicstarter
Ik niet snappen?

Verwijderd

ik mag aannemen dat je de source van cdparanoia wel hebt...

  • AtleX
  • Registratie: Maart 2003
  • Niet online

AtleX

Tyrannosaurus Lex 🦖

Lees de source van dat programma (als het te downloaden is tenminste)

offtopic:
I sense much fear in you, young Vicz

Sole survivor of the Chicxulub asteroid impact.


  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Source van cdparanoia is waarschijnlijk ook in C geschreven, dus gewoon even daarin kijken hoe hun de toc ophalen en dit geintje nadoen....

Btw. Leuke opmerking vicz, nooit eerder gehoord : use the source ....
Zelf bedacht of goed gejat???

offtopic:
Volgende keer iets sneller reageren is zo af en toe toch handiger...

G33rt die ken ik wel, maar deze vind ik leuker :)

[ Voor 25% gewijzigd door Gomez12 op 05-04-2004 19:28 ]


  • G33rt
  • Registratie: Februari 2002
  • Laatst online: 22-06-2022
offtopic:
Gomez19: er word ook heel vaak 'use the search, luke' gebruikt op GoT :)

Verwijderd

Gomez12 schreef op 05 april 2004 @ 19:25:
Source van cdparanoia is waarschijnlijk ook in C geschreven, dus gewoon even daarin kijken hoe hun de toc ophalen en dit geintje nadoen....

Btw. Leuke opmerking vicz, nooit eerder gehoord : use the source ....
Zelf bedacht of goed gejat???

offtopic:
Volgende keer iets sneller reageren is zo af en toe toch handiger...
Goed gejat! :P

Verwijderd

Even nog effe zereneus. Ik denk dat je beter gewoon de TOC vanaf de command vanuit cdpara. kunt halen, want dat zal je waarschijnelijk in de lange termijn het minste werk kosten. Anders moet je zelf de gehele TOC code gaan onderhouden, en de kans dat jij een bug vind in die code is kleiner, dan 10000 mensen die cdpara. gebruiken.

  • _Squatt_
  • Registratie: Oktober 2000
  • Niet online
Het voordeel van de output van cdparanoia parsen is dat je programma op andere operating systems waar cdparanoia draait (bijv. FreeBSD) ook meteen werkt. De TOC uitlezen is redelijk platformspecifiek.

Op Linux moet je de devicefile van de cdrom openen en daar een ioctl() op doen. Ik heb hier waarschijnlijk nog wel wat (pruts) code liggen, maar met de manpages ioctl(2), ioctl_list(2) en vooral include/linux/cdrom.h moet je er zelf ook wel uit kunnen komen. En anders bekijk je inderdaad de code van cdparanoia of een ander programma.

"He took a duck in the face at two hundred and fifty knots."


  • mOrPhie
  • Registratie: September 2000
  • Laatst online: 22:46

mOrPhie

❤️❤️❤️❤️🤍

Zover als dat ik nu kan zien (ik weet het dus niet zeker) bevat CDParanoia dus 'libcdda_paranoia'. Die kun je waarschijnlijk gebruiken om cdda, en dus de namen van de tracks en dergelijke, uit te lezen. :)

Een experimentele community-site: https://technobabblenerdtalk.nl/. DM voor invite code.

Pagina: 1