"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "fotoxx.cc" between
fotoxx-22.41.tar.gz and fotoxx-22.50.tar.gz

About: fotoxx is a program for photo editing and collection management.

fotoxx.cc  (fotoxx-22.41):fotoxx.cc  (fotoxx-22.50)
skipping to change at line 429 skipping to change at line 429
if (freememory < 4000) { // 4 GB threshold if (freememory < 4000) { // 4 GB threshold
Ftinycomputer = 1; Ftinycomputer = 1;
Plog(0,"computer has inadequate memory \n"); Plog(0,"computer has inadequate memory \n");
} }
Plog(1,"image size limits for reasonable performance: \n"); Plog(1,"image size limits for reasonable performance: \n");
Plog(1," view: %.0f megapixels \n",(freememory-1000)/6); // F + preview, 3 bytes/pixel each Plog(1," view: %.0f megapixels \n",(freememory-1000)/6); // F + preview, 3 bytes/pixel each
Plog(1," edit: %.0f megapixels \n",(freememory-1000)/64); // + E0/E1/E3/ER, 16 bytes/pixel each Plog(1," edit: %.0f megapixels \n",(freememory-1000)/64); // + E0/E1/E3/ER, 16 bytes/pixel each
err = get_smp_counts(Nperf,Neff); // get CPU perf. and eff. cores 22.40 err = get_smp_counts(Nperf,Neff); // get CPU perf. and eff. cores 22.40
Plog(1,"Pcores: %d Ecores: %d \n",Nperf,Neff);
if (err) NWT = 4; if (err) NWT = 4;
else NWT = Nperf; else NWT = Nperf;
if (NWT > max_threads) NWT = max_threads; // max. edit function threads if (NWT > max_threads) NWT = max_threads; // max. edit function threads
Plog(1,"using %d working threads \n",NWT); Plog(1,"using %d working threads \n",NWT);
NST = 2 * NWT; // max. metadata server threads NST = 2 * NWT; // max. metadata server threads
if (NST > maxNST) NST = maxNST; // compile time limit if (NST > maxNST) NST = maxNST; // compile time limit
zshell("log","gsettings set org.gnome.mutter check-alive-timeout 10000"); // GTK no-resonse timeout = 10 sec. 22.31 zshell("log","gsettings set org.gnome.mutter check-alive-timeout 10000"); // GTK no-resonse timeout = 10 sec. 22.31
skipping to change at line 2333 skipping to change at line 2334
Gfiles = navi::Gfiles; // total gallery files (incl. folders) Gfiles = navi::Gfiles; // total gallery files (incl. folders)
Gimages = navi::Gimages; // total image files Gimages = navi::Gimages; // total image files
fposn = file_position(curr_file,curr_file_posn); // curr. file in curr. gallery? fposn = file_position(curr_file,curr_file_posn); // curr. file in curr. gallery?
if (fposn >= 0) { if (fposn >= 0) {
curr_file_posn = fposn; curr_file_posn = fposn;
fposn = fposn + 1 - Gfiles + Gimages; // position among images, 1-based fposn = fposn + 1 - Gfiles + Gimages; // position among images, 1-based
} }
if (*meta_names::meta_pdate) { if (*meta_names::meta_pdate) {
metadate_pdate(meta_names::meta_pdate,pdate,ptime); metadate_pdate(meta_names::meta_pdate,pdate,ptime);
// get formatted date and time // convert "yyyymmddhhmmss"
strncpy0(pdatetime,pdate,11); strncpy0(pdatetime,pdate,11);
// yyyy-mm-dd hh:mm:ss // to "yyyy-mm-dd" and "hh:mm:ss" 22.50
strncpy0(pdatetime+11,ptime,9); strncpy0(pdatetime+11,ptime,9);
pdatetime[10] = ' '; pdatetime[10] = ' ';
} }
else strcpy(pdatetime,"(undated)"); else strcpy(pdatetime,"(undated)");
gtype = navi::gallerytype; gtype = navi::gallerytype;
if (gtype == FOLDER) // gallery name = folder if (gtype == FOLDER) // gallery name = folder
snprintf(titlebar,250,"%s %d/%d %s %s %s", snprintf(titlebar,250,"%s %d/%d %s %s %s",
Frelease,fposn,Gimages,ffolder,fname,pdatetime); Frelease,fposn,Gimages,ffolder,fname,pdatetime);
skipping to change at line 3441 skipping to change at line 3442
PXB_free(Cstate->fpxb); PXB_free(Cstate->fpxb);
Cstate->fpxb = PXM_PXB_copy(E3pxm); // update Fpxb from E3 Cstate->fpxb = PXM_PXB_copy(E3pxm); // update Fpxb from E3
Fzoom = 0; Fzoom = 0;
CEF->Fpreview = 0; CEF->Fpreview = 0;
return; return;
} }
/******************************************************************************* */ /******************************************************************************* */
// format edit history data for current edit function // format edit history data for current edit function
// example: edit_addhist("parm1: %d parm2:%.3f",parm1,parm2); // example: edit_addhist("parm1: %d parm2: %.3f",parm1,parm2);
void edit_addhist(cchar *format, ...) void edit_addhist(cchar *format, ...)
{ {
#define maxcc 100 // fotoxx.h: editfunc.edit_hist #define maxcc 200 // fotoxx.h: editfunc.edit_hist
va_list arglist; va_list arglist;
char edit_hist[maxcc]; char edit_hist[maxcc];
if (! CEF) zappcrash("edit_addhist() no CEF"); if (! CEF) zappcrash("edit_addhist() no CEF");
va_start(arglist,format); va_start(arglist,format);
vsnprintf(edit_hist,maxcc,format,arglist); vsnprintf(edit_hist,maxcc,format,arglist);
strncpy0(CEF->edit_hist,edit_hist,maxcc); strncpy0(CEF->edit_hist,edit_hist,maxcc);
return; return;
skipping to change at line 3708 skipping to change at line 3709
fclose(fid); fclose(fid);
if (URS_pos == 0) { // stack posn. 0 = original image if (URS_pos == 0) { // stack posn. 0 = original image
strcpy(URS_menu[0],"original"); // function name for original image strcpy(URS_menu[0],"original"); // function name for original image
URS_saved[0] = 1; // original image already on disk URS_saved[0] = 1; // original image already on disk
} }
else { // stack position else { // stack position
if (! CEF_valid()) return; // must have an edit function if (! CEF_valid()) return; // must have an edit function
strncpy0(URS_menu[URS_pos],CEF->menuname,32); // edit function menu name strncpy0(URS_menu[URS_pos],CEF->menuname,32); // edit function menu name
if (CEF->edit_hist) if (CEF->edit_hist)
strncpy0(URS_parms[URS_pos],CEF->edit_hist,100); // edit history text strncpy0(URS_parms[URS_pos],CEF->edit_hist,200); // edit history text
else URS_parms[URS_pos][0] = 0; else URS_parms[URS_pos][0] = 0;
URS_saved[URS_pos] = 0; // not yet saved to disk URS_saved[URS_pos] = 0; // not yet saved to disk
} }
return; return;
writefail: writefail:
zmessageACK(Mwin,"undo/redo stack write failure: %s",strerror(errno)); zmessageACK(Mwin,"undo/redo stack write failure: %s",strerror(errno));
quitxx(); quitxx();
} }
 End of changes. 5 change blocks. 
7 lines changed or deleted 8 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)