Very elegant Klaus !

that way, each format loader can be implemented separetly...

Laurent

Klaus Post a écrit :
> Actually there isn't any official interface yet, since I would like it
> to be more feature-complete before that is setteled.
>
> The interface to rawstudio is currently defined in:
>
> https://rawstudio.org/svn/rawspeed/RawSpeed/rawstudio-plugin-api.cpp
>
> The usage is quite simple:
>
> RawDecoder *d = 0;
> FileMap* m = 0;
>
> FileReader f((char *) filename);
> try {
>   m = f.readFile();
>   TiffParser t(m);
>   t.parseData();
>   d = t.getDecompressor();
>   d->decodeRaw();
>   d->decodeMetaData();
>
>   //image should be loaded at this point
>   RawImage r = d->mRaw;
>   [...]
> } catch (RawDecoderException e) {
>   printf("RawDecoderException: %s\n", e.what());
> } catch (TiffParserException e) {
>   printf("TiffParserException: %s\n", e.what());
> }
> if (d) delete d;
> if (m) delete m;
>
> However, expect it to change.
>
> To add it to SVN version of Rawstudio, you can use:
>
> sudo make -f rawstudio-plugin.makefile install
>
> ...in the RawSpeed directory. I'm not a unix guy, so this is off the
> top of my head. Futhermore, even though RawSpeed is stable on all the
> test files I have, use it with care, and please report any
> incompatible files.
>
>
> Regards, Klaus Post
>
> http://www.klauspost.com
>
>
>
> On Sat, Feb 28, 2009 at 2:38 PM, Laurent Clevy <[email protected]> wrote:
>   
>> Yep, sorry,
>> it is already done in RS
>>
>> interface:
>> https://rawstudio.org/svn/rawspeed/RawSpeed/RawDecoder.h
>>
>> implementations:
>> https://rawstudio.org/svn/rawspeed/RawSpeed/Cr2Decoder.h
>> https://rawstudio.org/svn/rawspeed/RawSpeed/NefDecoder.h
>>
>> Laurent
>>
>> Klaus Post a écrit :
>>
>> On Sat, Feb 28, 2009 at 12:47 PM, Gianluca Sforna <[email protected]> wrote:
>>
>>
>>
>> With enough time to code, nothing is impossible but I am not sure that
>> is an optimal solution.
>> In fact, what a user want is to load a file; if we can use N different
>> libraries because that way we can cover more formats, that is good but
>> IMHO it should be done without user intervention.
>>
>> I don't think I'm going to be impressed by a workflow like:
>>
>> 1. open file -> fail -> change library in menu -> goto 1
>>
>>
>> As Anders wrote, RS already HAS already implemented a plugin structure
>> for loader plugins, it is already implemented, and will be in the next
>> version of RS.
>>
>> Loaders are internally prioritized, so if plugin A cannot decode the
>> image, it silently moves on to the next plugin in the list. It
>> actually works very nicely. There is no need for user intervention, as
>> fallback is silent. The only issue we are working at, is to avoid the
>> filesystem re-loading the image data for each plugin, but other than
>> that it, it works very nice.
>>
>>
>>
>>
>> Gianluca Sforna
>>
>>
>> Regards, Klaus
>>
>> _______________________________________________
>> Rawstudio-dev mailing list
>> [email protected]
>> http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-dev
>>
>>
>> ________________________________
>>
>> No virus found in this incoming message.
>> Checked by AVG - www.avg.com
>> Version: 8.0.237 / Virus Database: 270.11.4/1976 - Release Date: 02/27/09
>> 13:27:00
>>
>>
>>
>> _______________________________________________
>> Rawstudio-dev mailing list
>> [email protected]
>> http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-dev
>>
>>
>>     
>
> _______________________________________________
> Rawstudio-dev mailing list
> [email protected]
> http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-dev
>   
> ------------------------------------------------------------------------
>
>
> No virus found in this incoming message.
> Checked by AVG - www.avg.com 
> Version: 8.0.237 / Virus Database: 270.11.4/1976 - Release Date: 02/27/09 
> 13:27:00
>
>   



_______________________________________________
Rawstudio-dev mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-dev

Reply via email to