I've submitted a pull request with my implementation of this change:

        https://github.com/OpenImageIO/oiio/pull/466

For the three common cases -- all channels, a single channel, and a subset of 
channels that starts with 0 (e.g., RGB of an RGBA image) -- the new notation is 
identical to the old notation.  It only differs for a non-full subset of more 
than one channel, starting beyond channel 0, which I suspect affects a very, 
very limited number of use cases in the real world.

After several hours to think this over and cool off, I think I could be equally 
happy either 

* Squeezing this into the 1.1 release (essentially abandoning and repudiating 
1.1.0, apologizing profusely, and making 1.1.1 be the "final" API for the 1.1 
stable branch).

* Living with the status quo for 1.1, and committing this to the master (1.2 
development) branch only.  Note that the down-side to this approach is that it 
will make bug fixes in certain parts of the code more difficult to port between 
master and 1.1, which will be less important over time but at this very early 
stage in 1.1 release will be pain.

Frankly, it doesn't matter much to me -- almost all of my day-to-day use of 
OIIO (both for my development and for how my immediate group at work uses it) 
is straight out of the trunk.  It's really up to the people using 1.1, whether 
they want the change now or if it's too late.  For that matter, since I tagged 
1.1.0 less than a week ago, it's unclear if anybody in a production situation, 
who wasn't using the master trunk (for which I make no promises about API 
stability), has already switched from 1.0 to 1.1.

Let me know, please, what you would like me to do.

        -- lg


On Nov 14, 2012, at 3:39 PM, Larry Gritz wrote:

> On Nov 14, 2012, at 1:54 PM, John Haddon wrote:
> 
>> Would the other option be to just accept that it's an API change, and make 
>> sure that invalid inputs (chend <= chbegin) throw an exception or print some 
>> sort of warning so people can catch it and adjust their code as necessary? 
>> As I said originally, for my small use of OIIO I'm more than happy to just 
>> adjust my code, so other people's opinions would be much more important than 
>> mine...
> 
> 
> Indeed, that might even another good option.  It would catch misuse right 
> away and people could quickly patch and re-adjust.  I'll think it over, make 
> a proposed change, and post a code review.  Then people can debate if anyone 
> cares.
> 
> My intuition is that, to the degree that this call is used at all (versus the 
> older call that reads all channels), it's probably to request a single 
> channel.
> 
> I'm hoping that if my guess is wrong, somebody will chime in here before I do 
> anything stupid.
> 
> 
> --
> Larry Gritz
> [email protected]
> 
> 
> _______________________________________________
> Oiio-dev mailing list
> [email protected]
> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

--
Larry Gritz
[email protected]


_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

Reply via email to