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
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
Apparently Qt has no support for this so you will have to look for 3rd party libraries to do that.
J-P Nurmi
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!
Every platform will be different. Under most Unixes (including Linux) you can use cdrecord http://cdrecord.berlios.de/private/cdrecord.html.
How about Arson, QToaster or XCDR?
Last edited by ashukla; 28th January 2008 at 10:18.
Anurag Shukla
A man who never makes mistake is the man who never does anything! Theodre Rosvelt!
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
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)?
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
Bookmarks