[nexuiz-commits] r8655 - in trunk/misc/tools/NexuizDemoRecorder/main: . src/main/java/com/nexuiz/demorecorder/application/jobs src/main/java/com/nexuiz/demorecorder/ui/swinggui src/main/resources src/main/resources/help src/main/resources/help/JavaHelpSearch src/main/resources/help/html src/main/resources/icons

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sat Feb 20 17:26:30 EST 2010


Author: greenmarine
Date: 2010-02-20 17:26:30 -0500 (Sat, 20 Feb 2010)
New Revision: 8655

Added:
   trunk/misc/tools/NexuizDemoRecorder/main/src/main/java/com/nexuiz/demorecorder/ui/swinggui/ApplyTemplateDialog.java
   trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/html/apply_templates.html
   trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/icons/editpaste.png
Modified:
   trunk/misc/tools/NexuizDemoRecorder/main/pom.xml
   trunk/misc/tools/NexuizDemoRecorder/main/src/main/java/com/nexuiz/demorecorder/application/jobs/RecordJob.java
   trunk/misc/tools/NexuizDemoRecorder/main/src/main/java/com/nexuiz/demorecorder/ui/swinggui/SwingGUI.java
   trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/about.html
   trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/DemoRecorderHelpTOC.xml
   trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/JavaHelpSearch/DOCS
   trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/JavaHelpSearch/DOCS.TAB
   trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/JavaHelpSearch/OFFSETS
   trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/JavaHelpSearch/POSITIONS
   trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/JavaHelpSearch/SCHEMA
   trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/JavaHelpSearch/TMAP
   trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/Map.jhm
   trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/html/changelog.html
Log:
Nexuiz demo recorder: bump to v0.3
- New feature: apply properties selectively from template to jobs

Modified: trunk/misc/tools/NexuizDemoRecorder/main/pom.xml
===================================================================
--- trunk/misc/tools/NexuizDemoRecorder/main/pom.xml	2010-02-18 22:03:15 UTC (rev 8654)
+++ trunk/misc/tools/NexuizDemoRecorder/main/pom.xml	2010-02-20 22:26:30 UTC (rev 8655)
@@ -4,7 +4,7 @@
 	<groupId>NexuizDemoRecorder</groupId>
 	<artifactId>NexuizDemoRecorder</artifactId>
 	<packaging>jar</packaging>
-	<version>0.3-SNAPSHOT</version>
+	<version>0.3</version>
 	<name>NexuizDemoRecorder</name>
 	<url>http://maven.apache.org</url>
 	<dependencies>

Modified: trunk/misc/tools/NexuizDemoRecorder/main/src/main/java/com/nexuiz/demorecorder/application/jobs/RecordJob.java
===================================================================
--- trunk/misc/tools/NexuizDemoRecorder/main/src/main/java/com/nexuiz/demorecorder/application/jobs/RecordJob.java	2010-02-18 22:03:15 UTC (rev 8654)
+++ trunk/misc/tools/NexuizDemoRecorder/main/src/main/java/com/nexuiz/demorecorder/application/jobs/RecordJob.java	2010-02-20 22:26:30 UTC (rev 8655)
@@ -417,9 +417,12 @@
 
 	public void setDemoFile(File demoFile) {
 		this.checkForProcessingState();
-		if (demoFile == null || !demoFile.exists()) {
+		if (demoFile == null) {
 			throw new DemoRecorderException("Could not locate demo file!");
 		}
+		if (!demoFile.exists()) {
+			throw new DemoRecorderException("Could not locate demo file!: " + demoFile.getAbsolutePath());
+		}
 		if (!doReadWriteTest(demoFile.getParentFile())) {
 			throw new DemoRecorderException("The directory you specified for the demo to be recorded is not writable!");
 		}

Added: trunk/misc/tools/NexuizDemoRecorder/main/src/main/java/com/nexuiz/demorecorder/ui/swinggui/ApplyTemplateDialog.java
===================================================================
--- trunk/misc/tools/NexuizDemoRecorder/main/src/main/java/com/nexuiz/demorecorder/ui/swinggui/ApplyTemplateDialog.java	                        (rev 0)
+++ trunk/misc/tools/NexuizDemoRecorder/main/src/main/java/com/nexuiz/demorecorder/ui/swinggui/ApplyTemplateDialog.java	2010-02-20 22:26:30 UTC (rev 8655)
@@ -0,0 +1,175 @@
+package com.nexuiz.demorecorder.ui.swinggui;
+
+import java.awt.Frame;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.io.File;
+import java.util.List;
+
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JDialog;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+
+import net.miginfocom.swing.MigLayout;
+
+import com.nexuiz.demorecorder.application.DemoRecorderUtils;
+import com.nexuiz.demorecorder.application.jobs.RecordJob;
+
+public class ApplyTemplateDialog extends JDialog implements ActionListener, ItemListener {
+
+	private static final long serialVersionUID = 4807155579295688578L;
+	private Frame parentFrame;
+	private RecordJobTemplate template;
+	private List<RecordJob> jobs;
+	
+	private JCheckBox engineCB = new JCheckBox("Engine", true);
+	private JCheckBox engineParametersCB = new JCheckBox("Engine parameters", true);
+	private JCheckBox dpVideoDirCB = new JCheckBox("DPVideo directory", true);
+	private JCheckBox relativeDemoPathCB = new JCheckBox("Relative demo path", true);
+	private JCheckBox jobNameCB = new JCheckBox("Job name", true);
+	private JCheckBox demoDirectoryCB = new JCheckBox("Demo directory", true);
+	private JCheckBox execBeforeCapCB = new JCheckBox("Exec before capture", true);
+	private JCheckBox execAfterCB = new JCheckBox("Exec after capture", true);
+	private JCheckBox videoDestination = new JCheckBox("Video destination", true);
+	private JCheckBox pluginSettingsCB = new JCheckBox("Plug-in settings", true);
+	private JCheckBox selectAllCB = new JCheckBox("Select/deselect all", true);
+	
+	private JButton applyButton = new JButton("Apply");
+	private JButton cancelButton = new JButton("Cancel");
+	
+	public ApplyTemplateDialog(Frame owner, RecordJobTemplate template, List<RecordJob> jobs) {
+		super(owner, true);
+		this.parentFrame = owner;
+		this.template = template;
+		this.jobs = jobs;
+		
+		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
+		setTitle("Apply template");
+		this.setupLayout();
+	}
+	
+	public void showDialog() {
+		this.pack();
+		this.setLocationRelativeTo(this.parentFrame);
+		this.setVisible(true);
+	}
+
+	private void setupLayout() {
+		setLayout(new MigLayout());
+		getContentPane().add(new JLabel("Select which properties you want to apply to the selected jobs"), "wrap");
+		
+		this.setupCheckBoxes();
+		
+		applyButton.addActionListener(this);
+		cancelButton.addActionListener(this);
+		getContentPane().add(applyButton);
+		getContentPane().add(cancelButton);
+	}
+	
+	private void setupCheckBoxes() {
+		getContentPane().add(engineCB, "wrap");
+		getContentPane().add(engineParametersCB, "wrap");
+		getContentPane().add(dpVideoDirCB, "wrap");
+		getContentPane().add(relativeDemoPathCB, "wrap");
+		getContentPane().add(jobNameCB, "wrap");
+		getContentPane().add(demoDirectoryCB, "wrap");
+		getContentPane().add(execBeforeCapCB, "wrap");
+		getContentPane().add(execAfterCB, "wrap");
+		getContentPane().add(videoDestination, "wrap");
+		getContentPane().add(pluginSettingsCB, "wrap");
+		getContentPane().add(selectAllCB, "wrap");
+		
+		selectAllCB.addItemListener(this);
+	}
+
+	@Override
+	public void actionPerformed(ActionEvent e) {
+		if (e.getSource() == applyButton) {
+			this.applyTemplates();
+			dispose();
+		} else if (e.getSource() == cancelButton) {
+			dispose();
+		}
+	}
+	
+	private void applyTemplates() {
+		String errors = "";
+		for (RecordJob job : this.jobs) {
+			try {
+				this.applyTemplate(job);
+			} catch (Throwable e) {
+				errors += "Job <B>" + job.getJobName() + "</B>: " + e.getMessage() + "<BR>";
+			}
+		}
+		
+		if (!errors.equals("")) {
+			//error occurred!
+			String errorMsg = "<HTML><BODY>Error occurred while trying to apply templates:<BR><BR>" + errors + "</BODY></HTML>";
+			JOptionPane.showMessageDialog(this.parentFrame, errorMsg, "Error(s) while applying template", JOptionPane.INFORMATION_MESSAGE);
+		}
+	}
+	
+	private void applyTemplate(RecordJob job) {
+		if (engineCB.isSelected()) {
+			job.setEnginePath(template.getEnginePath());
+		}
+		if (engineParametersCB.isSelected()) {
+			job.setEngineParameters(template.getEngineParameters());
+		}
+		if (dpVideoDirCB.isSelected()) {
+			job.setDpVideoPath(template.getDpVideoPath());
+		}
+		if (relativeDemoPathCB.isSelected()) {
+			job.setRelativeDemoPath(template.getRelativeDemoPath());
+		}
+		if (jobNameCB.isSelected()) {
+			job.setJobName(template.getJobName());
+		}
+		if (demoDirectoryCB.isSelected()) {
+			File demoDir = template.getDemoFile();
+			String demoFileName = DemoRecorderUtils.getJustFileNameOfPath(job.getDemoFile());
+			String newDemoPath = demoDir.getAbsolutePath() + File.separator + demoFileName;
+			job.setDemoFile(new File(newDemoPath));
+		}
+		if (execBeforeCapCB.isEnabled()) {
+			job.setExecuteBeforeCap(template.getExecuteBeforeCap());
+		}
+		if (execAfterCB.isSelected()) {
+			job.setExecuteAfterCap(template.getExecuteAfterCap());
+		}
+		if (videoDestination.isSelected()) {
+			File videoDestinatinDir = template.getVideoDestination();
+			String videoFileName = DemoRecorderUtils.getJustFileNameOfPath(job.getVideoDestination());
+			String newVideoPath = videoDestinatinDir.getAbsolutePath() + File.separator + videoFileName;
+			job.setVideoDestination(new File(newVideoPath));
+		}
+		if (pluginSettingsCB.isSelected()) {
+			job.setEncoderPluginSettings(template.getEncoderPluginSettings());
+		}
+	}
+
+	@Override
+	public void itemStateChanged(ItemEvent e) {
+		if (e.getSource() == selectAllCB) {
+			boolean selected = false;
+			if (e.getStateChange() == ItemEvent.SELECTED) {
+				selected = true;
+			}
+			
+			engineCB.setSelected(selected);
+			engineParametersCB.setSelected(selected);
+			dpVideoDirCB.setSelected(selected);
+			relativeDemoPathCB.setSelected(selected);
+			jobNameCB.setSelected(selected);
+			demoDirectoryCB.setSelected(selected);
+			execBeforeCapCB.setSelected(selected);
+			execAfterCB.setSelected(selected);
+			videoDestination.setSelected(selected);
+			pluginSettingsCB.setSelected(selected);
+		}
+	}
+}

Modified: trunk/misc/tools/NexuizDemoRecorder/main/src/main/java/com/nexuiz/demorecorder/ui/swinggui/SwingGUI.java
===================================================================
--- trunk/misc/tools/NexuizDemoRecorder/main/src/main/java/com/nexuiz/demorecorder/ui/swinggui/SwingGUI.java	2010-02-18 22:03:15 UTC (rev 8654)
+++ trunk/misc/tools/NexuizDemoRecorder/main/src/main/java/com/nexuiz/demorecorder/ui/swinggui/SwingGUI.java	2010-02-20 22:26:30 UTC (rev 8655)
@@ -85,6 +85,7 @@
 	private static final String LABEL_JOB_CLEAR = "Clear";
 	private static final String LABEL_JOB_EDIT = "Edit job";
 	private static final String LABEL_JOB_DUPLICATE = "Duplicate job";
+	private static final String LABEL_JOB_APPLYTEMPL = "Apply template";
 	private static final String LABEL_JOB_START = "Start job";
 	private static final String LABEL_JOB_SHOWERROR = "Show error message";
 	private static final String LABEL_JOB_RESET_STATE_WAITING = "Reset job status to 'waiting'";
@@ -115,6 +116,7 @@
 	private JButton jobs_clear = new JButton(LABEL_JOB_CLEAR, getIcon("editclear.png"));
 	private JMenuItem jobs_contextmenu_edit = new JMenuItem(LABEL_JOB_EDIT, getIcon("edit.png"));
 	private JMenuItem jobs_contextmenu_duplicate = new JMenuItem(LABEL_JOB_DUPLICATE, getIcon("editcopy.png"));
+	private JMenuItem jobs_contextmenu_applytempl = new JMenuItem(LABEL_JOB_APPLYTEMPL, getIcon("editpaste.png"));
 	private JMenuItem jobs_contextmenu_delete = new JMenuItem(LABEL_JOB_DELETE, getIcon("editdelete.png"));
 	private JMenuItem jobs_contextmenu_start = new JMenuItem(LABEL_JOB_START, getIcon("player_play.png"));
 	private JMenuItem jobs_contextmenu_showerror = new JMenuItem(LABEL_JOB_SHOWERROR, getIcon("status_unknown.png"));
@@ -142,7 +144,7 @@
 	private static final String mainHelpSetName = "help/DemoRecorderHelp.hs";
 
 	public SwingGUI(DemoRecorderApplication appLayer) {
-		super("Nexuiz Demo Recorder v0.2");
+		super("Nexuiz Demo Recorder v0.3");
 		addWindowListener(this);
 
 		this.appLayer = appLayer;
@@ -237,6 +239,7 @@
 		
 		this.jobs_contextmenu_edit.addActionListener(this.jobButtonActionListener);
 		this.jobs_contextmenu_duplicate.addActionListener(this.jobButtonActionListener);
+		this.jobs_contextmenu_applytempl.addActionListener(this.jobButtonActionListener);
 		this.jobs_contextmenu_delete.addActionListener(this.jobButtonActionListener);
 		this.jobs_contextmenu_start.addActionListener(this.jobButtonActionListener);
 		this.jobs_contextmenu_showerror.addActionListener(this.jobButtonActionListener);
@@ -345,6 +348,7 @@
 		this.jobsTablePopupMenu = new JPopupMenu();
 		this.jobsTablePopupMenu.add(jobs_contextmenu_edit);
 		this.jobsTablePopupMenu.add(jobs_contextmenu_duplicate);
+		this.jobsTablePopupMenu.add(jobs_contextmenu_applytempl);
 		this.jobsTablePopupMenu.add(jobs_contextmenu_delete);
 		this.jobsTablePopupMenu.add(jobs_contextmenu_start);
 		//add JMenus for plugins
@@ -598,6 +602,12 @@
 					jobsTable.setRowSelectionInterval(jobsTable.getRowCount() - selectedJobs.size(), jobsTable.getRowCount() - 1);
 					configureTableButtons();
 				}
+			} else if (e.getSource() == jobs_contextmenu_applytempl) {
+				if (selectedTemplates.size() == 1 && selectedJobs.size() > 0) {
+					RecordJobTemplate template = (RecordJobTemplate) selectedTemplates.get(0);
+					ApplyTemplateDialog applyDialog = new ApplyTemplateDialog(SwingGUI.this, template, selectedJobs);
+					applyDialog.showDialog();
+				}
 			} else if (jobs_contextmenu_runPluginMenuItems.contains(e.getSource())) {
 				int index = jobs_contextmenu_runPluginMenuItems.indexOf(e.getSource());
 				EncoderPlugin selectedPlugin = appLayer.getEncoderPlugins().get(index);
@@ -946,6 +956,7 @@
 			//Disable all buttons first
 			jobs_contextmenu_edit.setEnabled(false);
 			jobs_contextmenu_duplicate.setEnabled(false);
+			jobs_contextmenu_applytempl.setEnabled(false);
 			jobs_contextmenu_delete.setEnabled(false);
 			jobs_contextmenu_resetstate_waiting.setEnabled(false);
 			jobs_contextmenu_resetstate_done.setEnabled(false);
@@ -975,9 +986,10 @@
 					//none of the jobs is processing
 					jobs_contextmenu_delete.setEnabled(true);
 					jobs_contextmenu_resetstate_waiting.setEnabled(true);
-				} else {
-					jobs_contextmenu_edit.setEnabled(false);
-					jobs_contextmenu_duplicate.setEnabled(false);
+					
+					if (templatesTable.getSelectedRowCount() == 1) {
+						jobs_contextmenu_applytempl.setEnabled(true);
+					}
 				}
 				
 				//Start button

Modified: trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/about.html
===================================================================
--- trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/about.html	2010-02-18 22:03:15 UTC (rev 8654)
+++ trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/about.html	2010-02-20 22:26:30 UTC (rev 8655)
@@ -1,5 +1,5 @@
 <html>
-    <h1>Nexuiz Demo Recorder v0.2</h1>
+    <h1>Nexuiz Demo Recorder v0.3</h1>
     Written by GreEn`mArine<br>
     <h2>Credits</h2>
     <ul>

Modified: trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/DemoRecorderHelpTOC.xml
===================================================================
--- trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/DemoRecorderHelpTOC.xml	2010-02-18 22:03:15 UTC (rev 8654)
+++ trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/DemoRecorderHelpTOC.xml	2010-02-20 22:26:30 UTC (rev 8655)
@@ -8,6 +8,8 @@
 
  <tocitem text="Templates " target="html.templates"/>
 
+ <tocitem text="Applying templates " target="html.apply_templates"/>
+
  <tocitem text="Open/Save Jobs and Templates " target="html.open-save"/>
 
  <tocitem text="Preferences dialog " target="html.preferences"/>

Modified: trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/JavaHelpSearch/DOCS
===================================================================
(Binary files differ)

Modified: trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/JavaHelpSearch/DOCS.TAB
===================================================================
--- trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/JavaHelpSearch/DOCS.TAB	2010-02-18 22:03:15 UTC (rev 8654)
+++ trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/JavaHelpSearch/DOCS.TAB	2010-02-20 22:26:30 UTC (rev 8655)
@@ -1,14 +1,12 @@
-eÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÝÿÿÿÿÿ÷_÷_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÝÿÿÿÿÿÿÿÝÿÿÿÿÿÿÿuÿÿuÿÿÿÿÿÿÿÿ÷_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿuÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÝÿÿÿÿý×ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷_ÿÿÿuÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿý×ÿÿÿÿÿÿÿÿ÷_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ@7û*ÌebøÖBìå(⍦Ob³J6,Ù©
-³vRꯪŒ/ŽX³r(Í‹1‹3,Ï‹ª8³J4³Š6/4³<£J8¨Ò¨â¯3þ*0³K¬É‹£J³Š4º¾Œ+Œÿ‹4³h£"(Ì£J4®º+9ªÌê/Œ.»Ì/Œ‹Œ*7¢Œ.9"*6Ë0¿üÈ£(£Jî£
-Ì*4£;*1¤,⮣K0£
-0³"£ºþ¨ÞʸÒó6ªÊ»³2(ªªªªªºªª®0¸Â£
-£"º®3âŒ*͸ª£
-4®4£Kªº0ª¨Â¨Ê(ȳ
-ºªª®þÌ.¯®0£
-0º2¢ºªìª³
-Ì*0¾0³:.ŒŠ6(Ê(È£"Œ+þ꺌*2.몣
-ªªº0ªªº2.£
-0ªª³
-0ª£
+eÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÝÿÿÿÿÿ÷_÷_ÿÿÿÿÿÿÿuÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÝÿÿÿÿÿuÿÿuÿÿÿÿÿÿÿÿ÷_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÝÿÿÿÿÿÿÿuÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿý×ÿÿÿÝÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿuÿÿÿÿÿÿÿý×ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÐ7û*2erøÖBìõ(⍦Or³J6,Ùù
+³‹ª¾ª0¾9bÎR(ÆË1‹3,Í–*£‹4£‹<£bÌË3b(ò£J£Š¼ßè¨ÂÍ.³'/*Ï(Òêú0£
+3öBÍ,Ú(Ø£J3(â+£J3²£=’,⮣‹4³
+9
+ºÍ+0º¬Î¢øÂë¼ÂøÂãJŽZ(Âã–*ŽFBÿó"Œ¢+ºŒ+®èÂó4¸Ì¿2*0£Š0¸ÒŒèº0¾4£
+£2Î*ÎB¨Ò¬ÂªªŒ(/0³
+øÂëê®4¼Âͪ*îÌ,È£
+ªªªªªêªª»Œ*¨È®¨ÂŒâ«6⪌*ãJ4º«£
+ªŒ*ŒŠ2,ªªª»û0º¾¸ÂŒ(Âèʊ꫺«0¬Â£³2èÂŒ(Ê¢ŒŠ0¯ûªª0³Œ‹ê0£"몣
+ªªºªªèȺŒ(ªªÌ(ªŒ*ªªŒ*£(³
 ªª£
-«Œ¢Ì*ªŒ*0ª«ªê«Œ*0ªÌ,ÂÿÌ,ÂÌ,ÂÿÿÌ/0¿ÿÿÿÿÿÿÌ/ó0³"Ì/ÿüÂÿÿÌ,È¿ÿüÂÿÌ/ÿ0¿Ì/þ«ªªªªªêªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª¦
\ No newline at end of file
+«ªê«Œ*0ªÌ,ÂÿÌ,ÂóÿüÂóÿÿÿÿÿÿüÂÿ0³"Ì/ÿüÂÿÿÌ,È¿ÿÿüÂÿ0¿Ì/þªªªªªªª¯ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿö
\ No newline at end of file

Modified: trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/JavaHelpSearch/OFFSETS
===================================================================
(Binary files differ)

Modified: trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/JavaHelpSearch/POSITIONS
===================================================================
(Binary files differ)

Modified: trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/JavaHelpSearch/SCHEMA
===================================================================
--- trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/JavaHelpSearch/SCHEMA	2010-02-18 22:03:15 UTC (rev 8654)
+++ trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/JavaHelpSearch/SCHEMA	2010-02-20 22:26:30 UTC (rev 8655)
@@ -1,2 +1,2 @@
 JavaSearch 1.0
-TMAP bs=2048 rt=1 fl=-1 id1=1038 id2=1
+TMAP bs=2048 rt=1 fl=-1 id1=1083 id2=1

Modified: trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/JavaHelpSearch/TMAP
===================================================================
(Binary files differ)

Modified: trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/Map.jhm
===================================================================
--- trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/Map.jhm	2010-02-18 22:03:15 UTC (rev 8654)
+++ trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/Map.jhm	2010-02-20 22:26:30 UTC (rev 8655)
@@ -10,9 +10,11 @@
 
 <mapID target="html.license" url="html/license.html"/>
 
+<mapID target="html.open-save" url="html/open-save.html"/>
+
 <mapID target="html.compat-limitations" url="html/compat-limitations.html"/>
 
-<mapID target="html.open-save" url="html/open-save.html"/>
+<mapID target="html.apply_templates" url="html/apply_templates.html"/>
 
 <mapID target="html.introduction" url="html/introduction.html"/>
 

Added: trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/html/apply_templates.html
===================================================================
--- trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/html/apply_templates.html	                        (rev 0)
+++ trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/html/apply_templates.html	2010-02-20 22:26:30 UTC (rev 8655)
@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
+
+<html>
+  <head>
+    <meta name="generator" content="HTML Tidy, see www.w3.org">
+
+    <title></title>
+  </head>
+
+  <body>
+<H1>Applying templates</H1>
+<P>Since version 0.3 you are able to
+selectively apply settings from a template of your choice to any job
+you like. One reason might be that you want jobs that have already
+been recorded to be recorded using different config settings (e.g.
+other quality settings, resolution, etc.). If you wanted to do this
+for many jobs at once, it would be very tedious to edit each job
+manually, setting up changes.</P>
+<P>You can apply properties of templates
+very easily:</P>
+<UL>
+	<LI><P>Select the template you want to
+	use</P>
+	<LI><P>Select the job(s) whose
+	properties you want to be affected by the template</P>
+	<LI><P>Right-click inside the jobs
+	table and select &ldquo;Apply template&rdquo;</P>
+	<LI><P>A new dialog will open where you
+	will be able to select which one of the settings should be copied
+	from the template to the job. Please, be aware that old settings of
+	the job will be overwritten!</P>
+	<LI><P>Usually the settings will be
+	copied 1:1 from the template to the job. <B>There are 2 exceptions,
+	though</B>:</P>
+	<UL>
+		<LI><P><B>Demo directory:</B> Here
+		copying the value from the template to the job would not make
+		sense, because in a template you actually specified a <B>directory</B>,
+		<U>not</U> a <B>file</B>. However, a job needs to point at a <B>file</B>.
+		What will happen shall be demonstrated by the following example:
+		Let's say that the job's path to the demo file (before applying the
+		template) has been <B>C:\Nexuiz\data\demos\mydemo.dem</B>
+		and the path setup in the template has been pointing to the
+		directory<B> C:\Games\Nexuiz2.5.2\data\demos</B>.
+		The new demo file path, after the &ldquo;apply&rdquo; process is
+		done, would be <B>C:\Games\Nexuiz2.5.2\data\demos\mydemo.dem</B>;
+		this means that from the <B>job's</B>
+		demo path the program will just take the name of the demo by itself
+		(mydemo.dem), and put the path from the <B>template</B>
+		in front of it</P>
+		<LI><P><b>Video
+		destination:</b> Here the same thing happens like for the Demo
+		directory. The new video destination will be &lt;Directory set up
+		in the template&gt; + &lt;just the filename of the setting of the
+		job&gt;</P>
+	</UL>
+</UL>
+<P>Another example of how this feature could be useful is this one: Suppose some
+movie maker was to create a community movie with frags from different
+people, or a movie maker was to continue or finish a movie from
+someone else. If one person creates a queue of jobs (which naturally
+includes the demo's names, start second and end second) and then
+decides not to record the frags herself but send it to some other
+movie maker, all that needs to be done is to save the job queue and
+send it to the other movie maker, together with the demos. The other
+movie maker can then copy the demos into his own demo directory and
+import the job queue. Of course the problem would then be that all
+these imported jobs could not really be executed right away, because
+all these paths might be incorrect, I mean, would simply not exist or
+match to the system of the movie maker who wants to record the jobs
+(e.g. path to Nexuiz engine or demo directory). But this can easily
+be fixed. The movie maker just needs to select the imported jobs and
+apply one of her own templates to them, and by doing so, fix all
+incorrect paths.</P>
+  </body>
+</html>
+

Modified: trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/html/changelog.html
===================================================================
--- trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/html/changelog.html	2010-02-18 22:03:15 UTC (rev 8654)
+++ trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/help/html/changelog.html	2010-02-20 22:26:30 UTC (rev 8655)
@@ -19,6 +19,8 @@
 	<LI><P>Open dialogs for jobs or templates allow you to select whether to overwrite
 	the current list/queue or not (if not, the loaded items will be added to the
 	current list/queue)</P>
+	<LI><P>New feature: <a href="apply_templates.html">Applying properties of a template </a>
+	selectively to one or more selected jobs</P>
 </UL>
 
 

Added: trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/icons/editpaste.png
===================================================================
(Binary files differ)


Property changes on: trunk/misc/tools/NexuizDemoRecorder/main/src/main/resources/icons/editpaste.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream



More information about the nexuiz-commits mailing list