Am 16.01.2013 22:12, schrieb Pascal Obry:
> 
> Johannes,
> 
>> oh, also a not on module versions.
>>
>> first, you're including headers for separately compiled modules in the
>> main compilation unit (libclipping.so and libdarktable.so have now
>> some overlap).
>>
>> this will totally crash if a module increases it's version, changes
>> the parameters, and is just copied into the /usr/lib/darktable/plugins
>> directory (as it happens all the time when switching back and forth
>> between git/released version).
> 
> I'm probably missing an important design point then :(
> 
> My thinking was that this conversion is done once based on the "current"
> iop parameters. We never read them, just set them for the current iop.
> 
> So for example take clipping.h:
> 
>> typedef struct dt_iop_clipping_params_t
>> {
>>   float angle, cx, cy, cw, ch, k_h, k_v;
>>   float kxa, kya, kxb, kyb, kxc, kyc, kxd, kyd;
>>   int k_type, k_sym;
>>   int k_apply, crop_auto;
>> }
>> dt_iop_clipping_params_t;
> 
> This is the current version. If a new parameter is added, it will be
> added there. clipping.c will be changed to use this new parameter and
> will probably bump version number:
> 
>> DT_MODULE(4)
> 
> Then lightroom.c will also need to be adapted. If a parameter is removed
> it will not compiled. Fine, code will be hacked. If a parameter is added
> but not used by lightroom.c, no problem either as not used (no meaning
> for lightroom import).
> 
> Does that makes sense? Or did I missed something?
> 

Well, as far as I understand the design concept at this edge of the code
(and this is not too much actually) one of the principles is keeping the
modules (i.e. IOPs) completely separated from the core components of
darktable. The core itself doesn't know about them at all. This features
some nice side effects in maintainability and so on - your current
implementation breaks this barrier and introduces exactly that clutter
we wanted to avoid: you have to hack the core as soon as you change a
module...

Simon

------------------------------------------------------------------------------
Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122612 
_______________________________________________
darktable-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/darktable-devel

Reply via email to