Changeset - f411f107eb37
[Not reviewed]
default
0 1 1
ethanzonca - 17 years ago 2009-02-25 22:02:12

Moved blender server module to seperate .c file, fixed typos
2 files changed with 69 insertions and 50 deletions:
0 comments (0 inline, 0 general)
src/server/blender.c
Show inline comments
 
new file 100644
 
/*
 
  Copyright 2008 Nathan Phillip Brink, Ethan Zonca, Matthew 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/>.
 

	
 
  -- Blender Commands --
 
  -v "Print Blender version and exit"
 
  -F <format> "Set the render format" Valid options are (that we care about) "TGA, JPG, MOVIE, AVIRAW, AVIJPG, PNG, BMP, FRAMESERVER"
 
  -S <name> Set scene <name>
 
  -f <frame> Render frame <frame> and save it
 
  -s <frame> Set start frame (use before -a argument)
 
  -e <frame> Set end frame (use before -a argument>
 
  -o <path> Set the render path and file name (use // at start of the path to render relative to the blend file, the ### characters are replaced by the frame number)
 
  -t <threads> Use amount of ,threads> for rendering (background mode only)(1-8, 0 for systems processor count)
 
  -x <bool> Set option to add the file extension to the end of the file
 
*/
 

	
 
struct blender_job_server // will be stored and edited in the blender_job_que
 
{
 
	char file_name[25];
 
	int start_frame;
 
	int end_frame;
 
};
 

	
 
struct blender_job_client // will be sent to the client
 
{
 
	char file_name[25];
 
	int current_frame;
 
};
 

	
 
void blender_text_job_parser()
 
{
 
// parse text or other file for job specifications which include:
 
// file_name, start_frame, and end_frame
 

	
 
}
 

	
 
void blender_job_queue(int x, char job_to_edit[25]) /* Matt, I fixed your typos. It's queue not que :) */
 
{
 
  struct blender_job_server job[10]; // creates array to store the job
 

	
 
	if (x == 0)
 
	{
 
		// add new job (job_to_edit)
 
	}
 

	
 
	if (x == 1)
 
	{
 
		// delete job (job_to_edit)
 
	}
 

	
 
	if (x == 1)
 
	{
 
		// move all jobs up one position in array
 
	}
 
}
src/server/distrend.c
Show inline comments
 
/*
 
  Copyright 2008 Nathan Phillip Brink, Ethan Zonca
 

	
 
  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/>.
 

	
 
  -- Blender Commands --
 
  -v "Print Blender version and exit"
 
  -F <format> "Set the render format" Valid options are (that we care about) "TGA, JPG, MOVIE, AVIRAW, AVIJPG, PNG, BMP, FRAMESERVER"
 
  -S <name> Set scene <name>
 
  -f <frame> Render frame <frame> and save it
 
  -s <frame> Set start frame (use before -a argument)
 
  -e <frame> Set end frame (use before -a argument>
 
  -o <path> Set the render path and file name (use // at start of the path to render relative to the blend file, the ### characters are replaced by the frame number)
 
  -t <threads> Use amount of ,threads> for rendering (background mode only)(1-8, 0 for systems processor count)
 
  -x <bool> Set option to add the file extension to the end of the file
 
*/
 

	
 
#include <stdio.h>
 

	
 

	
 
/* Just some notes -- Ethan Zonca
 
 *
 
 * So I read the IRC transcript, and we need some communication and plugin (e.g., blender, povray) standards.
 
 * In addition to those standards, we should also have standards for information availability,
 
 * making statistics and remote control of each plugin or the whole system standard and common,
 
 * so other apps can grab stats from it (such as a j2me phone DistRen status app or a php web
 
 * interface).
 
 *
 
 *
 
 *
 
 * Notes from IRCness:
 
 * Server<==>Client Communication
 
 * Job initiation:  	<jobnumber> <jobtype={blender,povray,indigo,etc}> <filename> <args specific to the jobtype>
 
 * Job addition : 		<jobnumber> <alteration: could be (cancel):cancel job (frames):tell the client to render more frames>
 
 * Client Control: 		system <command> (such as drop all jobs, shutdown client, etc)
 
 *
 
 *  blender_getframecount()
 
 *  indigo_getframecount() always return 1... or just not bother with it?
 
 *
 
 *	Upload while rendering
 
 *
 
 *
 
 */
 

	
 

	
 
// Let's fix those global variable issues one of these days! :D test
 

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

	
 

	
 

	
 
  return 0;
 
}
 

	
 
struct blender_job_server // will be stored and edited in the blender_job_que
 
{
 
	char file_name[25];
 
	int start_frame;
 
	int end_frame;
 
};
 

	
 
struct blender_job_client // will be sent to the client
 
{
 
	char file_name[25];
 
	int current_frame;
 
};
 

	
 
void blender_text_job_parser()
 
{
 
// parse text or other file for job specifications which include:
 
// file_name, start_frame, and end_frame
 

	
 
}
 

	
 
void blendere_job_que(int x, char job_to_edit[25])
 
{
 
  struct blender_job_server job[10]; // creates array to store the job
 

	
 
	if (x == 0)
 
	{
 
		// add new job (job_to_edit)
 
	}
 

	
 
	if (x == 1)
 
	{
 
		// delete job (job_to_edit)
 
	}
 

	
 
	if (x == 1)
 
	{
 
		// move all jobs up one position in array
 
	}
 
}
 

	
0 comments (0 inline, 0 general)