Files @ 2ae4e48cbbf3
Branch filter:

Location: DistRen/src/client/distren.c - annotation

Nick & Matt's laptop
added some code to the server, mainly brainstorming...

- declared a "blender_job_server" structure
- declared a "blender_job_client" structure
- created a "blender_text_job_parser" function (draft)
- created a "blender_job_que" function (draft)
/*
  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 <http://www.gnu.org/licenses/>.
*/

#include <stdio.h> /* sprintf, printf */
#include <stdlib.h> /* malloc, free */
#include <string.h> /* strlen */

/* this function should probably not exist. asprintf should be used instead of sprintf */
size_t intstrlen(size_t theint)
{
  size_t len = 0; /* if the number is single digit, this will be incremented */
  do
    {
      theint /= 10;
      len ++;
    }
  while(theint > 0);
  
  return len;
}


int main(int argc, char *argv[])
{

  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;
}