/*
Copyright 2008 Nathan Phillip Brink, Ethan Zonca, Matt Orlando
This file is a part of DistRen.
DistRen is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
DistRen is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with DistRen. If not, see .
*/
#include /* sprintf, printf */
#include /* malloc, free */
#include /* strlen */
int blend()
{
char *blendercmd;
char *filename = "file.blend"; /* declares a variable to hold the file name */
char *format = "blender.exe -b \"%s\" -o //tmp/frame -f %d -F JPEG -x 1"; /* the format string to pass to sprintf */
unsigned int frame_to_render;
size_t blenderstrlen;
int toreturn;
//just prove that linking to the shared lib werkz
genericfunc();
execlisten();
// blender = // gets blender structure from server
/*-- blender structure--
* file_name
* frame_to_render
* url to dl .blend file
*/
frame_to_render = 10; // temporary, the number 10 will be replaced with a function call
// file_name = job.file_name // retrieves file name from the blender structure ?
blenderstrlen = strlen(format) - 2 * 2 /* format string minus placeholders */ + strlen(filename) + intstrlen(frame_to_render) + 1 /* NULL terminator */;
blendercmd = malloc(blenderstrlen);
snprintf(blendercmd, blenderstrlen, format, filename, frame_to_render);
fprintf(stderr, "will run ``%s''\n", blendercmd);
toreturn = system(blendercmd);
free(blendercmd);
return toreturn;
}