Hey, you asked for feedback, and I provided it as I see it. Sorry if it touched a nerve.
I'm still not clear on why you don't release the source. Is there a legal issue? Is it just a matter of protecting your IP?
Anyhow, I think we agree on the following points:
1. PDN is not intended for editing files comprised of multiple images, such as icons.
2. There are other free applications that are designed to do this.
3. PDN's image editing capabilities are superior to these other applications. (I can't speak to commercial icon editing programs since I haven't used any)
You must have thought similarly or you wouldn't have made the add-in. You already addressed the need to open multiple images in an existing file using layers (since the API prevented working with multiple documents). You already figured out how to save multiple images into a single *.ico file. You direct me to the .ICO file spec to sarcastically call attention to the complexity of it, but I wasn't questioning that. It seems to me you've already figured that out, since you're able to take a single image, resize it, and save into a variety of user-selected formats within the single icon file. If I was interested in spending my own time to try and code improved functionality, why would I want to start from scratch and try to recreate all that stuff?
I understand that jumping through hoops might be needed to code it. I don't understand why that would present difficulty for the UI design. Here's the logic I'm suggesting, and perhaps you can point out what I'm missing:1. If you open an .ico file containing multiple images, it works exactly as it does now, with each image opening in a separate layer. The only difference is that each layer is named in a way that identifies the size and color depth (e.g., 32x32_16).
2. When you save an .ico file, you check to see if there are multiple layers before you show the dialog.
3. If there is only one layer, you show the list of formats that the user can automatically include in the output file, just like now.
4. If there is more than one layer, you show the same dialog with an additional checkbox labeled something like "Use Layers for Image Formats", checked by default. If checked, you do not display a list of formats the user can choose, but rather display a read-only list of formats obtained by examining the layer names. If the user unchecks it, you show the same user-selectable list of formats as with a single layer, and the image used for all layers (automatically resized) is the result of merging the layers (also how it works now).
It seems to me this would simplify things for the user if they are editing an existing .ico file, since they don't have to make any decisions. Open, edit, save. If they're making an icon from scratch and want to use your automatic resizing to create the different image formats, no problem; they just make sure there's only a single layer before they save. If they want to get fancy and design their own size-specific images from scratch, then they just have to understand how the layer naming works.
One possible flaw with this suggestion is that it requires that you are able to save an image based on only a single layer, and I don't know if that's supported. I thought it likely that you can iterate through the layers of the active document, and for each one, hide or disable all the others and save just the resultant image (which you would have to crop to the right size and adjust for color depth) as an image format in the output .ico file. Perhaps that isn't possible.
Cool, thanks. I'm not sure why I didn't think of it before, but I'm guessing I can probably just use dotNetReflector to see the source and stop bellyaching about your not releasing it. I look forward to trying on Monday.