Hey all at RocketDivision.Com...
First of all, I'd like to say that you've made a great toolkit at all.
But let me have a little critical look at it. May I?
There are in fact some circumstances not really nice for us (developers)...let me tell you now...
1) Function prototypes don't look familiar to me (and probably other developers too)
It's very unusual to pass tons of bool's by reference to a function, use a bitfield instead, and test like:
...
StarBurn_GetDriveCapabilties( pvDrive, &dwCaps );
if ( dwCaps & SB_CANREAD_DVDPLUS )
{
// do something...
}
....
The naming of the variables is also very unusual:
why not simply
pvCdvdBurnerGrabber instead of
p__PVOID__CdvdBurnerGrabber ???
2) Documentation
I was glad to see, that there is a manual.pdf shipped, but the description of each function is missing! Instead, you refere to the examples (in doc and external in the c-samples) but when I look at the samples (in doc) I see, how to create an DiscObjkect and how to destroy it (There are 74 functions, and you show this create/destroy 74 times!!!! who needs this?) while the specific function is simply called without any further explaination...a "what to do next, after the function returned" is also missing.
Also, finding a specific function in the pdf (printout) is very hard and it would be much easier, if you leave out the create/destroy examples which could decrease the pages by half, I think.
The external samples (C) don't give (me) any overview of the using of the functions. Actually, I'm studying your documentation AND the samples for 2 or 3 days and I still have no idea, how to copy an Audio CD "on the fly" or extract tracks from a CD.
Your C-samples are organized by functions - one sample for each (great) function. Instead, an oragnization by use would make more sense: How to copy an Audio CD, How to extract Tracks and write them to files, How to copy a DVD and so on...
Also a bit more explaination for several parameters would be nice (what's the use of
p__BOOLEAN__IsSingleLBTransferForced when using
StarBurn_CdvdBurnerGrabber_GrabTrack ?) even if you mentioned, that you assume a good understanding of the technics - remember that the users of your SDK will use it, BECAUSE they are NOT specialists in scope of CD/DVD technics! Actually, most of them were looking for such a "black-box" like StarBurn, because they don't want to dive in ASPI and/or writing on CD/DVD for to deep!
3) The nicest thing at all: It's all for free (as long as our software is for free)
One of the most interesting thing at all is the license. History shows, that lots of famous software started as Freeware and switched to commercial after a while, so it's very nice, to get your SDK for free, as long as the software is for free, too.
I'm developing on a (Freeware) mp3 organizer which also uses Gracenotes CDDB (also free for non-commercials) and on the starting screen and inside the About-Box, the tools, that are used are mentioned by name and by (Web-)address. Why do you want to annoy the developers AND endusers with your startup-screen?
I get this screen on every build!! (because the application is ole-automated, so after every build it's startet in order to registrate and by this, your DLL is opened and will show the screen) - when developing GUI-applications, you will build often - the screen is really annoying!
I hope, you still like me!
I know, the solving of some of the things, mentioned above, may be time-consuming, so I'd be glad, if I could help you with this (e.g. when I already know, how to copy an Audio CD
, I'd like to send you some sample projects as mentioned in 2)...some "How To's" ).
Feel free to Email me (
Spin.Doctor@gmx.de)
Best wishes
Spin