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 |