PDA

View Full Version : Burning CD



manojmka
25th January 2008, 11:09
Hi,

I have a requirement to burn cds from my project created in QT. Have anyone come across any solutions to this sometime?

Regards,
Manoj

jpn
25th January 2008, 11:53
Apparently Qt has no support for this so you will have to look for 3rd party libraries to do that.

manojmka
25th January 2008, 12:53
I agree, and I am researching on that. Do someone have a perfect tool in mind for this purpose? I am looking to use someone else's already done effort here! :p

Brandybuck
25th January 2008, 18:46
Every platform will be different. Under most Unixes (including Linux) you can use cdrecord http://cdrecord.berlios.de/private/cdrecord.html.

manojmka
28th January 2008, 08:39
How about Arson, QToaster or XCDR?

ashukla
28th January 2008, 09:10
How about Arson, QToaster or XCDR?
Arson is open source front end CD recording tool in KDE Platform. for above version application you can use it with QProcess.

manojmka
28th January 2008, 10:06
Hi,

Thank you very much for your time on this. I can see the same in the post from Yogesh and by chance I have the same requirement. The tool/library has to be called from within my GUI in software. I can not use it as a executable. Do someone has Arson or some other equvilant tool to be used with QT 4.X?

Regards,
Manoj

seveninches
29th January 2008, 03:47
Thank you very much for your time on this. I can see the same in the post from Yogesh and by chance I have the same requirement. The tool/library has to be called from within my GUI in software. I can not use it as a executable. Do someone has Arson or some other equvilant tool to be used with QT 4.X?


I'm afraid it would be very hard to do.


First, most - if not all - cd recording GUI for Linux/Unix invoke other tools to do actual recording (mostly cdrecord, dvdrecord or growisofs). So that's another major chunk of code you'll need to include. Some call more than one program (for example, mkisoft and cdrecord), which means more work to do.
All the open-source CD/DVD core recording tools I know have GPL license, which means that you only could incorporate them in your source code if your program is released under GPL license.
The size and complexity of the source code of those tools might exceed the size of your project.
This could lead to maintenance and usability problems. For example, on some systems cdrecord has to be setuid root (or "burner" or whatever) so it could access the device. It works fine with all the GUIs since they just exec cdrecord, which has appropriate permissions. If the code is incorporated in your binary instead, this means that it has to be setuid root to work on the same system. This is probably the last thing which you want - asking sysadmins to setuid root your complex GUI app - and they would definitely hate this idea.
This could lead to stability issues. If the executed tool hangs or crashes, you know this isn't your problem. You could easily recover, and this will not affect the user-entereed data. If the 3rd party code crashed, and the code has been included in your app (and corrupted a stack before crash), you'll spend months trying to find those misterious crashes on user machines. And obviously there is no recovery possible.


Do you know the reason to have such a requirement (to have it integrated on the source code level)?

manojmka
30th January 2008, 05:04
Hi,

This is really nice of you to be so descriptive. I think this is easily doable on windows using Nero library or something like Binary Magic. I wanted to achieve the same thing on Mac also.

But after reading your post, it seems to be a real unnecessarily complex and job. The only intention behind integrating the source code in main project is to make user feel that CD Writing is also a part of the same application and not a third tool.

May be, now I have only choice to use Binary Magic on Windows and something as a third party tool on Mac. Can you please suggest some tool to be used for this purpose?

Regards,
Manoj