Hi,
I've been thinking hard about it, but cannot come up with a satisfying solution. Currently, StarBurnX has a DataBurner for ISO/Joliet and an UDFDataBurner for UDF file systems. The problem is if you want to switch from one file system to another.
Using UDF as default will be "just fine" from a user's perspective, as it supports large files and unicode file names. In some situations though, like when burning bootable discs, the user needs to use an ISO/Joliet file system.
1. From your SDK's perspective, the user would need to make the choice first, and then add files and configure the boot image. This is not a good user interface though. The user should not be bothered with a file system prompt every time a new disc is being created, not only because selecting a different option is rarely necessary, but also because most users won't even know the difference and should not be confronted with terms like "UDF" and "ISO".
2. So my attempt would be to let the user select a file system later, if necessary. In fact, I can and actually do this with my current Numedia Soft SDK (which needs to be replaced) and would like to continue doing that with StarBurn. Since switching is not supported though, I only have the following options:
2a) Create a new DataBurner and add all files from any previous DataBurner object. This can be rather slow though, if many files have already been added to the compilation and/or the files were added from a slow source like a CD. I'd also consider this error prone, as you have to also copy boot image information and whatever else there is now or in the future.
2b) Create a wrapper for UDFDataBurner and DataBurner, which instantiates both of these DataBurners and performs all operations on the file system on both objects simultaneously. Then switching is an instant action, but as a consequence all operations would take twice as long and the app would need twice as much memory, even if the user never switches between file systems. (Though this is also difficult in case of >4GB files. I could add them to the UDFDataBurner, but not DataBurner. If currently working with UDF and later switching to ISO, how would the user know one file is missing? I'd need to keep track of such issues, and that somewhat exceeds the amount of work I intend to have with creating such a wrapper.)
So what should I do? Your SDK doesn't really give me a convenient option. Neither can I use bridged file systems in StarBurnX (which would solve my issues), nor is there a method to copy all objects from one DataBurner to another without requiring file system access.
A related issue is the fact that it is not currently possible to modify a DataBurner after burning or saving as ISO file (http://www.starburnsoftware.com/forum/starburn-sdk-f3/exception-when-adding-files-after-saveimagefile-t2206.html), unforunately even "by design" as the docs state. I also only have the possibility here to rebuild a DataBurner from scratch, which is too time consuming and cannot really be justified from a user's perspective. Even from a developer's perspective this limitation does not make much sense (even the by now crappy NMS SDK never had such limitations).
BTW, if this is any issue that can be solved by me paying you a certain amount of money, let me know how much you need