diff --git a/src/server/distrend.c b/src/server/distrend.c --- a/src/server/distrend.c +++ b/src/server/distrend.c @@ -875,12 +875,17 @@ int updateJobListXML(struct distrenjob * _distren_asprintf(&tmp, "%d", general_info.timestamp); xmlTextWriterWriteAttribute(writer, (xmlChar*)"timestamp", (xmlChar*)tmp); + general_info.total_priority_pieces = 0; counter = 0; for(job = head->next; job; job = job->next) { _distren_asprintf(&tmp, "jobnum%d", counter); _distren_asprintf(&tmp2, "%d", job->jobnum); xmlTextWriterWriteElement(writer, (xmlChar*)tmp, (xmlChar*)tmp2); + + // this is needed for the new frame finder to work + general_info.total_priority_pieces = general_info.total_priority_pieces + (11 - job->priority); + counter++; } @@ -1125,6 +1130,7 @@ int main(int argc, char *argv[]) // pre-loaded jobs for testing prepare_distrenjob(&head, 1, "awesome", "LordOfWar", "onlylordofwar@gmail.com", 4, 1, 100, 640, 480); + prepare_distrenjob(&head, 1, "hamburger", "Ohnobinki", "ohnobinki@ohnopublishing.net", 3, 1, 50, 1280, 720); while(test == 1) { @@ -1152,7 +1158,17 @@ int main(int argc, char *argv[]) printJobInfo(distrenjob_get(&head, jobnum)); break; case 3: - if(!find_jobframe(&head, &tmp_job, &tmp_frame)) + fprintf(stderr, "\nPut the number of a non existing job to get a new frame\nJob number: "); + scanf("%d", &jobnum); + fprintf(stderr, "\nRender Power: "); + scanf("%d", &priority); + fprintf(stderr, "\n1->new user (Render Power has not been added to general_info)\n2->returning user\ninput:"); + scanf("%d", &start_frame); + + if(start_frame == 1) + general_info.total_render_power = general_info.total_render_power + priority; + + if(!find_jobframe_again(&head, jobnum, priority, &tmp_job, &tmp_frame)) { fprintf(stderr, "frame was found, details below\n"); fprintf(stderr, "Job#:%d\n", tmp_job->jobnum);