pxcdd-commits Mailing List for Pixel Corps Digital Dailies System
Status: Alpha
Brought to you by:
tangentsoft
You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
(91) |
May
(107) |
Jun
(138) |
Jul
(58) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|
From: <ric...@us...> - 2006-07-24 02:49:11
|
Revision: 431 Author: ricknroll Date: 2006-07-23 19:49:06 -0700 (Sun, 23 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=431&view=rev Log Message: ----------- fix for field-of-view to take z-depth into consideration Modified Paths: -------------- trunk/client/c4d/pxcdd-turntable.cof Modified: trunk/client/c4d/pxcdd-turntable.cof =================================================================== --- trunk/client/c4d/pxcdd-turntable.cof 2006-07-24 02:45:20 UTC (rev 430) +++ trunk/client/c4d/pxcdd-turntable.cof 2006-07-24 02:49:06 UTC (rev 431) @@ -250,6 +250,7 @@ } else { scn_rad = vec_scn_siz.z / 2; } + var cam_dist = scn_rad * 2 + vec_scn_siz.z / 2; var grp = AllocObject(Onull); grp->SetName("Turntable"); @@ -262,7 +263,7 @@ var spl = AllocObject(Osplinecircle); var spl_bc = spl->GetContainer(); - spl_bc->SetData(PRIM_CIRCLE_RADIUS, 2 * scn_rad); + spl_bc->SetData(PRIM_CIRCLE_RADIUS, cam_dist); spl_bc->SetData(PRIM_PLANE, 2); spl->SetContainer(spl_bc); spl->SetName("Turntable_Spline"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ric...@us...> - 2006-07-24 02:45:29
|
Revision: 430 Author: ricknroll Date: 2006-07-23 19:45:20 -0700 (Sun, 23 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=430&view=rev Log Message: ----------- added coffee expression tag to animate camera position along spline Modified Paths: -------------- trunk/client/c4d/pxcdd-turntable.cof Modified: trunk/client/c4d/pxcdd-turntable.cof =================================================================== --- trunk/client/c4d/pxcdd-turntable.cof 2006-07-24 01:34:52 UTC (rev 429) +++ trunk/client/c4d/pxcdd-turntable.cof 2006-07-24 02:45:20 UTC (rev 430) @@ -262,7 +262,7 @@ var spl = AllocObject(Osplinecircle); var spl_bc = spl->GetContainer(); - // spl_bc->SetData(PRIM_CIRCLE_RADIUS, scn_rad); + spl_bc->SetData(PRIM_CIRCLE_RADIUS, 2 * scn_rad); spl_bc->SetData(PRIM_PLANE, 2); spl->SetContainer(spl_bc); spl->SetName("Turntable_Spline"); @@ -285,6 +285,25 @@ ttg_bc->SetData(ALIGNTOSPLINETAG_LINK, tgt); ttg->SetContainer(ttg_bc); cam->InsertTag(ttg, NULL); + + // Expression Tag + var cof = AllocTag(Tcoffeeexpression); + var cof_bc = cof->GetContainer(); + var cof_str = stradd("main(doc, op) {","\n", + " var cam = doc->FindObject(\"Turntable_Camera\");", "\n", + " var tag = cam->GetFirstTag()\;", "\n", + " while(tag) {", "\n", + " if(strmid(tag#ID_BASELIST_NAME,0,5)==\"Align\") {", "\n", + " tag#ALIGNTOSPLINETAG_POSITION = ", + "doc->GetTime()->GetFrame(doc->GetFps()) / ", + "doc->GetMaxTime()->GetFrame(doc->GetFps());", + " }", "\n", + " tag = tag->GetNext();", "\n", + " }", "\n", + "}"); + cof_bc->SetData(1000, cof_str); + cof->SetContainer(cof_bc); + cam->InsertTag(cof, NULL); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ric...@us...> - 2006-07-24 01:34:59
|
Revision: 429 Author: ricknroll Date: 2006-07-23 18:34:52 -0700 (Sun, 23 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=429&view=rev Log Message: ----------- adding target and align to spline tags Modified Paths: -------------- trunk/client/c4d/pxcdd-turntable.cof Modified: trunk/client/c4d/pxcdd-turntable.cof =================================================================== --- trunk/client/c4d/pxcdd-turntable.cof 2006-07-23 23:04:00 UTC (rev 428) +++ trunk/client/c4d/pxcdd-turntable.cof 2006-07-24 01:34:52 UTC (rev 429) @@ -272,7 +272,19 @@ tgt->SetName("Turntable_Target"); doc->InsertObject(tgt, grp, spl); + // Align Tag + var ats = AllocTag(Taligntospline); + var ats_bc = ats->GetContainer(); + ats_bc->SetData(ALIGNTOSPLINETAG_LINK, spl); + ats->SetContainer(ats_bc); + cam->InsertTag(ats, NULL); + // Target Tag + var ttg = AllocTag(Ttargetexpression); + var ttg_bc = ttg->GetContainer(); + ttg_bc->SetData(ALIGNTOSPLINETAG_LINK, tgt); + ttg->SetContainer(ttg_bc); + cam->InsertTag(ttg, NULL); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ric...@us...> - 2006-07-20 06:18:29
|
Revision: 416 Author: ricknroll Date: 2006-07-19 23:18:26 -0700 (Wed, 19 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=416&view=rev Log Message: ----------- skipping Null Objects from extents calculation Modified Paths: -------------- trunk/client/c4d/pxcdd-turntable.cof Modified: trunk/client/c4d/pxcdd-turntable.cof =================================================================== --- trunk/client/c4d/pxcdd-turntable.cof 2006-07-20 06:17:24 UTC (rev 415) +++ trunk/client/c4d/pxcdd-turntable.cof 2006-07-20 06:18:26 UTC (rev 416) @@ -137,6 +137,7 @@ switch( getclass(op) ) { + case NullObject: case LightObject: case CameraObject: case FloorObject: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ric...@us...> - 2006-07-20 06:17:27
|
Revision: 415 Author: ricknroll Date: 2006-07-19 23:17:24 -0700 (Wed, 19 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=415&view=rev Log Message: ----------- don't set position of target and circle spline - these should default to the local origin of the group Modified Paths: -------------- trunk/client/c4d/pxcdd-turntable.cof Modified: trunk/client/c4d/pxcdd-turntable.cof =================================================================== --- trunk/client/c4d/pxcdd-turntable.cof 2006-07-20 06:16:13 UTC (rev 414) +++ trunk/client/c4d/pxcdd-turntable.cof 2006-07-20 06:17:24 UTC (rev 415) @@ -265,12 +265,10 @@ spl_bc->SetData(PRIM_PLANE, 2); spl->SetContainer(spl_bc); spl->SetName("Turntable_Spline"); - spl->SetPosition(mtx_sceneBounds->GetV0()); doc->InsertObject(spl, grp, cam); var tgt = AllocObject(Onull); tgt->SetName("Turntable_Target"); - tgt->SetPosition(mtx_sceneBounds->GetV0()); doc->InsertObject(tgt, grp, spl); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ric...@us...> - 2006-07-20 06:16:16
|
Revision: 414 Author: ricknroll Date: 2006-07-19 23:16:13 -0700 (Wed, 19 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=414&view=rev Log Message: ----------- getting largest scene extent Modified Paths: -------------- trunk/client/c4d/pxcdd-turntable.cof Modified: trunk/client/c4d/pxcdd-turntable.cof =================================================================== --- trunk/client/c4d/pxcdd-turntable.cof 2006-07-20 06:14:27 UTC (rev 413) +++ trunk/client/c4d/pxcdd-turntable.cof 2006-07-20 06:16:13 UTC (rev 414) @@ -240,7 +240,15 @@ } */ - var mtx_sceneBounds = GetSceneBounds(doc); + var mtx_sceneBounds = GetSceneBounds(doc); + + var scn_rad; + var vec_scn_siz = mtx_sceneBounds->GetV1(); + if(vec_scn_siz.x > vec_scn_siz.z) { + scn_rad = vec_scn_siz.x / 2; + } else { + scn_rad = vec_scn_siz.z / 2; + } var grp = AllocObject(Onull); grp->SetName("Turntable"); @@ -253,7 +261,7 @@ var spl = AllocObject(Osplinecircle); var spl_bc = spl->GetContainer(); - //spl_bc->SetData(PRIM_CIRCLE_RADIUS,); + // spl_bc->SetData(PRIM_CIRCLE_RADIUS, scn_rad); spl_bc->SetData(PRIM_PLANE, 2); spl->SetContainer(spl_bc); spl->SetName("Turntable_Spline"); @@ -265,6 +273,7 @@ tgt->SetPosition(mtx_sceneBounds->GetV0()); doc->InsertObject(tgt, grp, spl); + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ric...@us...> - 2006-07-20 04:51:52
|
Revision: 406 Author: ricknroll Date: 2006-07-19 21:51:49 -0700 (Wed, 19 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=406&view=rev Log Message: ----------- creating objects for turntable animation Modified Paths: -------------- trunk/client/c4d/pxcdd-turntable.cof Modified: trunk/client/c4d/pxcdd-turntable.cof =================================================================== --- trunk/client/c4d/pxcdd-turntable.cof 2006-07-20 04:13:11 UTC (rev 405) +++ trunk/client/c4d/pxcdd-turntable.cof 2006-07-20 04:51:49 UTC (rev 406) @@ -240,8 +240,31 @@ } */ - GetSceneBounds(doc); - + var mtx_sceneBounds = GetSceneBounds(doc); + + var grp = AllocObject(Onull); + grp->SetName("Turntable"); + grp->SetPosition(mtx_sceneBounds->GetV0()); + doc->InsertObject(grp, NULL, NULL); + + var cam = AllocObject(Ocamera); + cam->SetName("Turntable_Camera"); + doc->InsertObject(cam, grp, NULL); + + var spl = AllocObject(Osplinecircle); + var spl_bc = spl->GetContainer(); + //spl_bc->SetData(PRIM_CIRCLE_RADIUS,); + spl_bc->SetData(PRIM_PLANE, 2); + spl->SetContainer(spl_bc); + spl->SetName("Turntable_Spline"); + spl->SetPosition(mtx_sceneBounds->GetV0()); + doc->InsertObject(spl, grp, cam); + + var tgt = AllocObject(Onull); + tgt->SetName("Turntable_Target"); + tgt->SetPosition(mtx_sceneBounds->GetV0()); + doc->InsertObject(tgt, grp, spl); + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ric...@us...> - 2006-07-20 04:13:24
|
Revision: 405 Author: ricknroll Date: 2006-07-19 21:13:11 -0700 (Wed, 19 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=405&view=rev Log Message: ----------- Now properly getting scene and object extents - I think Modified Paths: -------------- trunk/client/c4d/pxcdd-turntable.cof Modified: trunk/client/c4d/pxcdd-turntable.cof =================================================================== --- trunk/client/c4d/pxcdd-turntable.cof 2006-07-20 04:04:23 UTC (rev 404) +++ trunk/client/c4d/pxcdd-turntable.cof 2006-07-20 04:13:11 UTC (rev 405) @@ -70,17 +70,20 @@ PXCDDTurntablePlugin::GetObjectBounds(op) { - var vec_min = vector(0,0,0); - var vec_max = vector(0,0,0); + var vec_min; + var vec_max; var vec_pnt; var arr = op->GetPoints(); if(instanceof(op, PointObject)) { + + vec_pnt = op->GetMg()->GetV0() + op->GetPoint(0); + vec_min = vec_pnt; + vec_max = vec_pnt; var p; for(p = 0; p < op->GetPointCount(); p++) { - println(arr[p]); - vec_pnt = op->GetPoint(p); + vec_pnt = op->GetMg()->GetV0() + op->GetPoint(p); if(vec_pnt.x < vec_min.x) vec_min.x = vec_pnt.x; if(vec_pnt.y < vec_min.y) vec_min.y = vec_pnt.y; if(vec_pnt.z < vec_min.z) vec_min.z = vec_pnt.z; @@ -92,9 +95,22 @@ } var vec_ctr = (vec_min + vec_max) / 2; - var vec_siz = abs(vec_min) + abs(vec_max); + var vec_siz = vec_max - vec_min; - println(op->GetName(), "::", vec_min, "//", vec_max, "//", vec_ctr, "//", vec_siz); + var mtx = new(Matrix); + mtx->SetV0(vec_ctr); + mtx->SetV1(vec_siz); + mtx->SetV2(vec_min); + mtx->SetV3(vec_max); + + println("OBJECT BOUNDS [", op->GetName(), "] :: "); + println("-- Center (V0): ", vec_ctr); + println("-- Size (V1): ", vec_siz); + println("-- Minimum (V2): ", vec_min); + println("-- Maximum (V2): ", vec_max); + + return mtx; + } //// GetSceneBounds /////////////////////////////////////////////////// @@ -105,13 +121,20 @@ PXCDDTurntablePlugin::GetSceneBounds(doc) { + var mtx_objBound; + var vec_min; + var vec_max; + var vec_obj_min; + var vec_obj_max; + // Start Undo Step so we can undo all the MakeEditables doc->StartUndo(); var op = doc->GetFirstObject(); while(op) { - println(op->GetName()); - println(getclass(op)); + + mtx_objBound = NULL; + switch( getclass(op) ) { case LightObject: @@ -127,28 +150,64 @@ case PointObject: case PolygonObject: // Get the Object Extents - println("Point"); - GetObjectBounds(op); + mtx_objBound = GetObjectBounds(op); break; default: // Make the object editable + println("Making ", op->GetName(), " editable"); if(MakeEditable(doc, op)) { + if(op) println("Now referencing ", op->GetName()); op = GetActiveObject(doc); + if(op) println("Got Reference ", op->GetName()); }; + if(instanceof(op, PointObject)) { - GetObjectBounds(op); - } - + mtx_objBound = GetObjectBounds(op); + } } + if(op) println("has Reference ", op->GetName()); + + if(mtx_objBound) { + + if(!vec_min) vec_min = mtx_objBound->GetV2(); + if(!vec_max) vec_max = mtx_objBound->GetV3(); + vec_obj_min = mtx_objBound->GetV2(); + vec_obj_max = mtx_objBound->GetV3(); + + if(vec_obj_min.x < vec_min.x) vec_min.x = vec_obj_min.x; + if(vec_obj_min.y < vec_min.y) vec_min.y = vec_obj_min.y; + if(vec_obj_min.z < vec_min.z) vec_min.z = vec_obj_min.z; + if(vec_obj_max.x > vec_max.x) vec_max.x = vec_obj_max.x; + if(vec_obj_max.y > vec_max.y) vec_max.y = vec_obj_max.y; + if(vec_obj_max.z > vec_max.z) vec_max.z = vec_obj_max.z; + + } + op = GetNextHierarchyObject(op, NULL); } // End the Undo Step, and undo the MakeEditables doc->EndUndo(); - //doc->DoUndo(); + doc->DoUndo(); + + var vec_ctr = (vec_min + vec_max) / 2; + var vec_siz = vec_max - vec_min; + println("SCENE BOUNDS :: "); + println("-- Center (V0): ", vec_ctr); + println("-- Size (V1): ", vec_siz); + println("-- Minimum (V2): ", vec_min); + println("-- Maximum (V2): ", vec_max); + + var mtx = new(Matrix); + mtx->SetV0(vec_ctr); + mtx->SetV1(vec_siz); + mtx->SetV2(vec_min); + mtx->SetV3(vec_max); + + return mtx; } //// Execute /////////////////////////////////////////////////////////// @@ -180,9 +239,9 @@ } */ - println("Here"); + GetSceneBounds(doc); - println("there"); + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ric...@us...> - 2006-07-17 02:44:42
|
Revision: 399 Author: ricknroll Date: 2006-07-16 19:44:37 -0700 (Sun, 16 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=399&view=rev Log Message: ----------- Added code to determine scene extents. It's not working, but I wanted to checkin my progress. Modified Paths: -------------- trunk/client/c4d/pxcdd-turntable.cof Modified: trunk/client/c4d/pxcdd-turntable.cof =================================================================== --- trunk/client/c4d/pxcdd-turntable.cof 2006-07-15 21:03:39 UTC (rev 398) +++ trunk/client/c4d/pxcdd-turntable.cof 2006-07-17 02:44:37 UTC (rev 399) @@ -16,6 +16,9 @@ public: // ctor PXCDDTurntablePlugin(); + + GetSceneBounds(doc); + GetObjectBounds(op); // Parent class overrides Execute(doc); @@ -28,10 +31,126 @@ private: + GetNextHierarchyObject(obj, stopAt); + MakeEditable(doc, obj); +} +PXCDDTurntablePlugin::GetNextHierarchyObject(obj, stopAt) +{ + // This function by Mikael Sterner + // From plugincafe.com + + if (!obj) return NULL; + + var next; + if (next = obj->GetDown()) return next; + if (next = obj->GetNext()) return next; + + var up = obj; + while (up = up->GetUp()) { + if (up == stopAt) return NULL; + if (next = up->GetNext()) return next; + } } +PXCDDTurntablePlugin::MakeEditable(doc, obj) +{ + var bc = new(BaseContainer); + doc->AddUndo(UNDO_OBJECT_REC, obj); + return SendModelingCommand(MCOMMAND_MAKEeditable, doc, obj, bc, MODIFY_ALL); +} + +//// GetObjectBounds /////////////////////////////////////////////////// +// Loop through object points and return matrix with: +// -- Negative extents +// -- Positive extents +// -- Center point +// -- Total size + +PXCDDTurntablePlugin::GetObjectBounds(op) +{ + var vec_min = vector(0,0,0); + var vec_max = vector(0,0,0); + var vec_pnt; + + var arr = op->GetPoints(); + + if(instanceof(op, PointObject)) { + + var p; for(p = 0; p < op->GetPointCount(); p++) { + println(arr[p]); + vec_pnt = op->GetPoint(p); + if(vec_pnt.x < vec_min.x) vec_min.x = vec_pnt.x; + if(vec_pnt.y < vec_min.y) vec_min.y = vec_pnt.y; + if(vec_pnt.z < vec_min.z) vec_min.z = vec_pnt.z; + if(vec_pnt.x > vec_max.x) vec_max.x = vec_pnt.x; + if(vec_pnt.y > vec_max.y) vec_max.y = vec_pnt.y; + if(vec_pnt.z > vec_max.z) vec_max.z = vec_pnt.z; + } + + } + + var vec_ctr = (vec_min + vec_max) / 2; + var vec_siz = abs(vec_min) + abs(vec_max); + + println(op->GetName(), "::", vec_min, "//", vec_max, "//", vec_ctr, "//", vec_siz); +} + +//// GetSceneBounds /////////////////////////////////////////////////// +// Loop through scene and return matrix with: +// -- Negative extents +// -- Positive extents +// -- Center point + +PXCDDTurntablePlugin::GetSceneBounds(doc) +{ + // Start Undo Step so we can undo all the MakeEditables + doc->StartUndo(); + + var op = doc->GetFirstObject(); + while(op) { + println(op->GetName()); + println(getclass(op)); + switch( getclass(op) ) { + + case LightObject: + case CameraObject: + case FloorObject: + case SkyObject: + case EnvironmentObject: + case ForegroundObject: + case BackgroundObject: + // Skip any processing + break; + + case PointObject: + case PolygonObject: + // Get the Object Extents + println("Point"); + GetObjectBounds(op); + break; + + default: + // Make the object editable + if(MakeEditable(doc, op)) { + op = GetActiveObject(doc); + }; + if(instanceof(op, PointObject)) { + GetObjectBounds(op); + } + + } + op = GetNextHierarchyObject(op, NULL); + + } + + // End the Undo Step, and undo the MakeEditables + doc->EndUndo(); + //doc->DoUndo(); + +} + //// Execute /////////////////////////////////////////////////////////// // The main event...run the plugin on the document. @@ -61,7 +180,9 @@ } */ - + println("Here"); + GetSceneBounds(doc); + println("there"); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ric...@us...> - 2006-07-15 21:03:42
|
Revision: 398 Author: ricknroll Date: 2006-07-15 14:03:39 -0700 (Sat, 15 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=398&view=rev Log Message: ----------- created basic structure for turntable plugin based on pxcddup Added Paths: ----------- trunk/client/c4d/pxcdd-turntable.cof Added: trunk/client/c4d/pxcdd-turntable.cof =================================================================== --- trunk/client/c4d/pxcdd-turntable.cof (rev 0) +++ trunk/client/c4d/pxcdd-turntable.cof 2006-07-15 21:03:39 UTC (rev 398) @@ -0,0 +1,129 @@ +/*********************************************************************** + pxcdd-turntable.cof - COFFEE plugin for C4D R9.1+ that generates a + turntable animation + + Created 2006.07.13 by Rick Barrett + + Copyright (c) 2006 by Pixel Corps. This program may be used under + the terms of the X11 license, a copy of which should have accompanied + this program, in the LICENSE file. +***********************************************************************/ + +//// class PXCDDTurntablePlugin //////////////////////////////////////// + +class PXCDDTurntablePlugin : MenuPlugin +{ +public: + // ctor + PXCDDTurntablePlugin(); + + // Parent class overrides + Execute(doc); + GetHelp(); + GetID(); + GetIcon(); + GetName(); + +protected: + + +private: + + +} + +//// Execute /////////////////////////////////////////////////////////// +// The main event...run the plugin on the document. + +PXCDDTurntablePlugin::Execute(doc) +{ + /* + + // Set up the options dialog, setting the controls' values to their + // previous ones as stored in the preference file. + var dlg = new(PXCDDUploadDlg); + + var prefs = new(PXCPreferences); + prefs->prefFile = "pxcdd-upload.pref"; + prefs->LoadFile(); + dlg->SetControlData(prefs->GetValues()); + + // Display the dialog, and do the meat of the plugin if user okays + // the dialog. + if (dlg->Open(-1, -1) && dlg->GetResult()) { + // Retrieve the data from the dialog's input controls + var controls = dlg->GetControlData(); + + // Save control data out to our preference file, so we can + // reload it on the next run. + prefs->SetValues(controls); + prefs->SaveFile(); + + } + */ + +} + + +//////////////////////////////////////////////////////////////////////// +// Standard overrides for telling C4D about this plugin. + +PXCDDTurntablePlugin::PXCDDTurntablePlugin() { super(); } // never called!! +PXCDDTurntablePlugin::GetID() { return 1020091; } // registered to Warren Young +PXCDDTurntablePlugin::GetName() { return "PXCDD Turntable"; } +PXCDDTurntablePlugin::GetIcon() +{ + var icoPath=GeGetRootFilename(); + icoPath->RemoveLast(); + icoPath->AddLast("res"); + icoPath->AddLast("upload-icon.png"); + var ico = new(BaseBitmap, 64, 64); + ico->Load(icoPath, 0); + return ico; +} +PXCDDTurntablePlugin::GetHelp() +{ + return stradd("Creates a turntable camera animation"); +} + + +//// ReadVersionFile /////////////////////////////////////////////////// + +ReadVersionFile() +{ + var path = GeGetRootFilename(); + path->RemoveLast(); + path->AddLast("version.txt"); + + var file = new(BaseFile); + if (file->Open(path)) { + var data = file->ReadString(file->GetLength()); + + var i; + for (i = 0; i < sizeof(data); ++i) { + if (isspace(data[i])) { + data = strmid(data, 0, i); + break; + } + } + + return data; + } + else { + return "UNKNOWN"; + } +} + + +//// main ////////////////////////////////////////////////////////////// + +main() +{ + Register(PXCDDTurntablePlugin); + + println("-------------"); + println("Pixel Corps digital dailies turntable script started."); + println("Version ", ReadVersionFile(), ", $Revision: 355 $"); + println("-------------"); +} + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tan...@us...> - 2006-07-12 12:47:02
|
Revision: 397 Author: tangentsoft Date: 2006-07-12 05:46:57 -0700 (Wed, 12 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=397&view=rev Log Message: ----------- Laid out file upload dialog's edit fields, mostly copying C4D upload plugin's UI. Modified Paths: -------------- trunk/client/pxcddup/gui.py Modified: trunk/client/pxcddup/gui.py =================================================================== --- trunk/client/pxcddup/gui.py 2006-07-12 11:20:54 UTC (rev 396) +++ trunk/client/pxcddup/gui.py 2006-07-12 12:46:57 UTC (rev 397) @@ -22,6 +22,30 @@ gPasswordMutex = None +#### class InputField ################################################## + +class InputField: + parent = None + + """ + A class to hold a static text control and its associated edit field, + several pairs of which are used in the file picker dialog. + """ + + def __init__(self, label, width, height = -1, hardLimit = False): + editStyle = 0 + if height > 0: + editStyle = wx.TE_MULTILINE + height = height * 18 + + self.label = wx.StaticText(self.parent, wx.ID_ANY, + '%s: ' % label, style = wx.ALIGN_RIGHT) + self.edit = wx.TextCtrl(self.parent, wx.ID_ANY, '', + size = (width * 10, height), style = editStyle) + if hardLimit: + self.edit.SetMaxLength(width) + + #### class MainFrame ################################################### class MainFrame(wx.Frame): @@ -169,22 +193,65 @@ # top-level windows. MainFrame.__init__(self, uploader) - # Create the contents of the frame, and lay it out with sizers - self.hsizer = wx.BoxSizer(wx.HORIZONTAL) - numFiles = len(self.uploader.localFiles) - if numFiles == 1: plural = '' - else: plural = 's' - self.statusText = wx.StaticText(self, wx.ID_ANY, - "Pick some files, eh?", style = wx.ALIGN_CENTRE) - self.hsizer.Add(self.statusText, 1, wx.EXPAND | wx.ALL, - border = 10) - self.vsizer = wx.BoxSizer(wx.VERTICAL) - self.vsizer.Add(self.hsizer, 1, wx.EXPAND) - self.SetAutoLayout(True) - self.SetSizerAndFit(self.vsizer) - self.SetClientSize(self.vsizer.GetSize()) + # Create panel to hold everything, and the sizers within the + # panel that keep everything arranged. + self.panel = InputField.parent = wx.Panel(self) + self.mainSizer = wx.BoxSizer(wx.VERTICAL) + self.uploadBoxSizer = wx.StaticBoxSizer( + wx.StaticBox(self.panel, wx.ID_ANY, 'Upload Info'), + wx.VERTICAL) + self.uploadFieldsSizer = wx.FlexGridSizer(cols = 2, + hgap = 10, vgap = 5) + self.uploadFieldsSizer.AddGrowableCol(1) + self.slateBoxSizer = wx.StaticBoxSizer( + wx.StaticBox(self.panel, wx.ID_ANY, 'Slate Info'), + wx.VERTICAL) + self.slateFieldsSizer = wx.FlexGridSizer(cols = 2, + hgap = 10, vgap = 5) + self.slateFieldsSizer.AddGrowableCol(1) - # Now that we know the frame size, center it on the screen + # Define upload parameter edit control set + self.uploadFields = [ + InputField('Project modifier', 3, hardLimit = True), + InputField('Description', 4), + InputField('User initials', 3, hardLimit = True), + InputField('Team initials', 3, hardLimit = True), + InputField('User name', 10), + InputField('Upload directory', 20), + ] + for f in self.uploadFields: + self.uploadFieldsSizer.Add(f.label, 0, + wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) + self.uploadFieldsSizer.Add(f.edit, 0, + wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL) + + # Define slate parameter edit control set + self.slateFields = [ + InputField('Project name', 20), + InputField('Scene name', 20), + InputField('Element name', 20), + InputField('Artisan name', 20), + InputField('Notes', width = 20, height = 4), + ] + for f in self.slateFields: + self.slateFieldsSizer.Add(f.label, 0, + wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL) + self.slateFieldsSizer.Add(f.edit, 0, + wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL) + + # Fit controls in sizers, resize frame to match, and center the + # whole mess on the screen. + self.uploadBoxSizer.Add(self.uploadFieldsSizer, + proportion = 0, flag = wx.ALL, border = 10) + self.mainSizer.Add(self.uploadBoxSizer, proportion = 0, + flag = wx.ALL, border = 10) + self.slateBoxSizer.Add(self.slateFieldsSizer, + proportion = 0, flag = wx.ALL, border = 10) + self.mainSizer.Add(self.slateBoxSizer, proportion = 0, + flag = wx.ALL, border = 10) + self.panel.SetSizer(self.mainSizer) + self.mainSizer.Fit(self) + self.mainSizer.SetSizeHints(self) self.Center() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tan...@us...> - 2006-07-12 11:20:57
|
Revision: 396 Author: tangentsoft Date: 2006-07-12 04:20:54 -0700 (Wed, 12 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=396&view=rev Log Message: ----------- Deferred host key loading until first connect attempt, so the host key count message doesn't go to stdout when we're in GUI or .ddo mode. Output streams aren't redirected at that point yet. Modified Paths: -------------- trunk/client/pxcddup/sftp.py Modified: trunk/client/pxcddup/sftp.py =================================================================== --- trunk/client/pxcddup/sftp.py 2006-07-12 11:07:14 UTC (rev 395) +++ trunk/client/pxcddup/sftp.py 2006-07-12 11:20:54 UTC (rev 396) @@ -36,6 +36,7 @@ def __init__(self): self.filePickerGUI = False + self.hostKeys = None self.hostName = None self.localFiles = [] self.port = 22 @@ -47,9 +48,7 @@ self.userName = None self.modOnly = False - self.GetHostKeys() - def __str__(self): return 'sending files [%s] to %s@%s:%d/%s' % \ (', '.join(self.localFiles), self.userName, @@ -85,6 +84,8 @@ self.transport.start_client() # Check host key + if not self.hostKeys: + self.GetHostKeys() remoteKey = self.transport.get_remote_server_key() rfp = FingerprintStr(remoteKey) keys = self.hostKeys.lookup(self.hostName) @@ -244,11 +245,11 @@ if not os.path.exists(self.sshDir): os.mkdir(self.sshDir, 0700) - if self.hostKeys: - print 'SFTP: loaded', len(self.hostKeys.items()), \ - 'host keys' + numFound = len(self.hostKeys.items()) + if numFound: + print 'SFTP: loaded %d host keys' % numFound else: - print 'SFTP: no host keys found in', self.sshDir + print 'SFTP: no host keys found in %s' % self.sshDir def GetPassword(self): This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tan...@us...> - 2006-07-12 11:07:18
|
Revision: 395 Author: tangentsoft Date: 2006-07-12 04:07:14 -0700 (Wed, 12 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=395&view=rev Log Message: ----------- - Added -g command line option, to make it start in file picker GUI mode; prevents command line parser from checking sanity of other command line flags, but doesn't prevent it from accepting values - -g flag causes it to redirect output streams, just as giving .ddo file does. - Split generic GUI code out of MainWindow class into new MainFrame class, and derived UploadStatusWindow from it. - Also derived new FilePickerWindow from new MainFrame class. The shared heritage lets both modes share things like the about box handler. - Starting SFTP thread from UploadStatusWindow now, instead of higher up, so it doesn't interfere with file picker GUI mode. Modified Paths: -------------- trunk/client/pxcddup/gui.py trunk/client/pxcddup/pxcddup.py trunk/client/pxcddup/sftp.py Modified: trunk/client/pxcddup/gui.py =================================================================== --- trunk/client/pxcddup/gui.py 2006-07-12 09:29:09 UTC (rev 394) +++ trunk/client/pxcddup/gui.py 2006-07-12 11:07:14 UTC (rev 395) @@ -12,8 +12,8 @@ import wx -import thread - +import thread + import os @@ -22,33 +22,32 @@ gPasswordMutex = None -#### class MainWindow ################################################## -## Class defining the application's main frame window +#### class MainFrame ################################################### -class MainWindow(wx.Frame): - """ pxcddup.py's main frame class """ +class MainFrame(wx.Frame): + """ + Class defining the common elements to all pxcddup top-level windows. + """ def __init__(self, uploader): # Call parent class to initialize the frame window itself wx.Frame.__init__(self, None, wx.ID_ANY, 'PXCDD Uploader', style = wx.MINIMIZE_BOX | wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX | wx.CLIP_CHILDREN) - # Init misc member variables - self.lastFile = -1 - self.percent = 0 - self.progress = None - self.uploader = uploader - - # Add the Windows icon to the window - if os.name in ("win", "nt"): - try: - import win32api - exeName = win32api.GetModuleFileName(win32api.GetModuleHandle(None)) - print exeName - icon = wx.Icon(exeName, wx.BITMAP_TYPE_ICO) - self.SetIcon(icon) - except: - print "Couldn't load icon" + # Init member variables + self.uploader = uploader + + # Add the Windows icon to the window + if os.name in ("win", "nt"): + try: + import win32api + exeName = win32api.GetModuleFileName( \ + win32api.GetModuleHandle(None)) + print exeName + icon = wx.Icon(exeName, wx.BITMAP_TYPE_ICO) + self.SetIcon(icon) + except: + print "Couldn't load icon" # Create a menu for the frame -- on OS X, this is the # application menu instead. @@ -60,14 +59,46 @@ menuBar.Append(helpMenu, "&Help") self.SetMenuBar(menuBar) - # Create the progress update timer - self.timer = wx.Timer(self) - # Bind events to handler functions - self.Bind(wx.EVT_TIMER, self.OnUpdateProgress, self.timer) wx.EVT_MENU(self, wx.ID_ABOUT, self.OnAbout) wx.EVT_MENU(self, wx.ID_EXIT, self.OnExit) + + def OnAbout(self, e): + d = wx.MessageDialog(self, u"Copyright \xA9 2006 Pixel Corps", + "PXC Digital Dailies Uploader", + wx.OK | wx.ICON_INFORMATION) + d.ShowModal() + d.Destroy() + + + def OnExit(self, e): + print "EXIT 0" + self.Shutdown() + + + def Shutdown(self): + print "IN SHUTDOWN" + self.Close() + + +#### class UploadStatusWindow ########################################## + +class UploadStatusWindow(MainFrame): + """ + Class defining the window managing user feedback for the upload + status. + """ + def __init__(self, uploader): + # Call parent class to handle basics common to all pxcddup + # top-level windows. + MainFrame.__init__(self, uploader) + + # Init member variables + self.lastFile = -1 + self.percent = 0 + self.progress = None + # Create the contents of the frame, and lay it out with sizers self.hsizer = wx.BoxSizer(wx.HORIZONTAL) numFiles = len(self.uploader.localFiles) @@ -93,22 +124,14 @@ self.Move((screenX / 2 - winX / 2, screenY / 3 - winY / 2)) # Start progress bar update timer, ticking once per second + self.timer = wx.Timer(self) + self.Bind(wx.EVT_TIMER, self.OnUpdateProgress, self.timer) self.timer.Start(1000) + # Start SFTP uploader thread + CreateSFTPThread() - def OnAbout(self, e): - d = wx.MessageDialog(self, u"Copyright \xA9 2006 Pixel Corps", - "PXC Digital Dailies Uploader", - wx.OK | wx.ICON_INFORMATION) - d.ShowModal() - d.Destroy() - - def OnExit(self, e): - print "EXIT 0" - self.Shutdown() - - def OnUpdateProgress(self, timer): if self.progress and self.percent > 0: self.progress.Update(min(self.percent, 100)) @@ -127,11 +150,6 @@ self.progress.CenterOnScreen() - def Shutdown(self): - print "IN SHUTDOWN" - self.Close() - - def UpdateProgress(self, fileNum, percent): if fileNum != self.lastFile: self.lastFile = fileNum @@ -139,6 +157,37 @@ self.percent = percent +#### class FilePickerWindow ############################################ + +class FilePickerWindow(MainFrame): + """ + Class defining the file picker / slate info gathering window, shown + before the upload status window when pxcddup is run with the -g flag. + """ + def __init__(self, uploader): + # Call parent class to handle basics common to all pxcddup + # top-level windows. + MainFrame.__init__(self, uploader) + + # Create the contents of the frame, and lay it out with sizers + self.hsizer = wx.BoxSizer(wx.HORIZONTAL) + numFiles = len(self.uploader.localFiles) + if numFiles == 1: plural = '' + else: plural = 's' + self.statusText = wx.StaticText(self, wx.ID_ANY, + "Pick some files, eh?", style = wx.ALIGN_CENTRE) + self.hsizer.Add(self.statusText, 1, wx.EXPAND | wx.ALL, + border = 10) + self.vsizer = wx.BoxSizer(wx.VERTICAL) + self.vsizer.Add(self.hsizer, 1, wx.EXPAND) + self.SetAutoLayout(True) + self.SetSizerAndFit(self.vsizer) + self.SetClientSize(self.vsizer.GetSize()) + + # Now that we know the frame size, center it on the screen + self.Center() + + #### class EmulateSynchronous ########################################## # This class uses mutexes to emulate a synchronous call to a function # running in the GUI thread from another thread. The calling thread @@ -245,11 +294,18 @@ def StartApp(uploader): app = wx.PySimpleApp() - frame = MainWindow(uploader) + + if uploader.filePickerGUI: + print "Creating file picker GUI..." + frame = FilePickerWindow(uploader) + else: + print "Creating upload status window..." + frame = UploadStatusWindow(uploader) frame.Show() + app.SetTopWindow(frame) + try: - CreateSFTPThread() print "MAIN LOOP START" app.MainLoop() print "MAIN LOOP EXIT" Modified: trunk/client/pxcddup/pxcddup.py =================================================================== --- trunk/client/pxcddup/pxcddup.py 2006-07-12 09:29:09 UTC (rev 394) +++ trunk/client/pxcddup/pxcddup.py 2006-07-12 11:07:14 UTC (rev 395) @@ -16,15 +16,30 @@ import getopt, os, posixpath, sys +def RedirectOutputToLog(): + """ + Open a debug log in the temp directory, and redirect stdout and + stderr to it. + """ + + logFile = '%s/pxcddup-debug.txt' % (GetTempPath()) + try: + sys.stderr = sys.stdout = open(logFile, 'w') + except: + print "Could not open log file '%s'!" % (logFile) + + def usage(): """Print the program's usage message""" print """ -usage: pxcddup.py [-h hostname] [-r remote-dir] [-u username] +usage: pxcddup.py [-g] + [-h hostname] [-r remote-dir] [-u username] [-P pxc-team] [-A author] [-D desc] [-M modifier] [-T type] files... - -h host name of server to SFTP file to + -h host name of server to SFTP file to + -g get upload parameters from GUI instead of command line -m upload new / modified files only -p port number on SFTP server to use (default is 22) -r directory on SFTP server to place file into @@ -47,6 +62,8 @@ You must give either -r, or -P, and there must be at least one file argument. If you give -h, you must also give -u. You can leave out -h and -r if you give -P, but -u is still required. + + If you give -g, it overrides all other requirements. """ @@ -72,43 +89,38 @@ # Get program options from argument file, if it is given opts = None args = None - try: - if len(sys.argv) == 2: - tmpDir = GetTempPath() - - # Open a debug log in that temp directory, and redirect - # stdout and stderr to it. - logFile = '%s/pxcddup-debug.txt' % (tmpDir) - try: - sys.stdout = open(logFile, 'w') - except: - print "Could not open log file '%s'!" % (logFile) - sys.stderr = sys.stdout - - # Slurp the options file's contents in + if len(sys.argv) == 2 and sys.argv[1][0] != '-': + try: + # We've apparently been given a .ddo file, so send + # stdout and stderr to a debug log and then slurp + # the options file's contents in. + RedirectOutputToLog() argFile = open(sys.argv[1]) sys.argv.pop() exec(argFile) - except: - print "Argument file ", sys.argv[1], " does not exist!" - return False + except: + print "Argument file %s does not exist!" % sys.argv[1] + return False # Get program options from command line, if any were given if len(sys.argv) > 1: - opts, args = getopt.getopt(sys.argv[1:], "d:h:mp:r:su:A:D:M:P:T:J:S:E:U:N:") + opts, args = getopt.getopt(sys.argv[1:], \ + "d:gh:mp:r:su:A:D:M:P:T:J:S:E:U:N:") elif not opts: print "No arguments given!" usage() return False - # Save data given as command line options to global variables, - # doing basic checks on the values. + # Save data given as command line options, doing basic checks + # on the values. for opt, val in opts: if opt == '-d': os.chdir(val) + elif opt == '-g': + uploader.filePickerGUI = True elif opt == '-h': - uploader.hostName = val - elif opt == '-m': + uploader.hostName = val + elif opt == '-m': uploader.modOnly = True elif opt == '-p': port = int(val) @@ -163,7 +175,7 @@ # upload. if args: uploader.localFiles = args - else: + elif not uploader.filePickerGUI: print 'No files to upload!' usage() return False @@ -177,14 +189,16 @@ ## that they are, collectively, reasonable. if uploader.remoteDir or pxcTeam: # Make sure we have enough info to get onto the file server. - if pxcTeam and uploader.userName: + if uploader.filePickerGUI: + print 'File picker GUI mode selected...' + elif pxcTeam and uploader.userName: uploader.hostName = 'teams.pixelcorps.com' uploader.remoteDir = '/home/teams/tms_%s/uploads' % \ (pxcTeam) elif not (uploader.hostName and uploader.remoteDir and uploader.userName): print 'Not enough information to infer upload location. You must' - print 'give either -P and -u or -h, -r, and -u.' + print 'give either -g, or -P and -u, or -h, -r, and -u.' usage() return False @@ -221,8 +235,12 @@ return False return True + elif uploader.filePickerGUI: + RedirectOutputToLog() + print 'Output streams redirected, starting file picker GUI...' + return True else: - print 'You must give the one of -r or -P' + print 'You must give the one of -g, -r or -P' usage() return False Modified: trunk/client/pxcddup/sftp.py =================================================================== --- trunk/client/pxcddup/sftp.py 2006-07-12 09:29:09 UTC (rev 394) +++ trunk/client/pxcddup/sftp.py 2006-07-12 11:07:14 UTC (rev 395) @@ -35,8 +35,9 @@ chunkSize = 4096 def __init__(self): + self.filePickerGUI = False + self.hostName = None self.localFiles = [] - self.hostName = None self.port = 22 self.remoteDir = None self.remoteFiles = [] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tan...@us...> - 2006-07-12 09:29:16
|
Revision: 394 Author: tangentsoft Date: 2006-07-12 02:29:09 -0700 (Wed, 12 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=394&view=rev Log Message: ----------- Clarified some known bug items Modified Paths: -------------- trunk/website/index.html Modified: trunk/website/index.html =================================================================== --- trunk/website/index.html 2006-07-12 09:21:05 UTC (rev 393) +++ trunk/website/index.html 2006-07-12 09:29:09 UTC (rev 394) @@ -46,8 +46,8 @@ <h3>Known Bugs and Limitations</h3> <ul> <li type="disc"><a href="userdoc.html#c4d_texversion_plugin">PXCDD New Texture plugin</a> cannot yet launch BodyPaint after updating the texture version - <li type="disc"><a href="userdoc.html#c4d_upload_plugin">PXCDD Upload plugin</a> won't collect assets that aren't a direct texture link within a material channel (textures within shaders, sound files, etc) - <li type="disc">Windows version of <a href="userdoc.html#pxcddup">pxcddup</a> doesn't always exit absolutely cleanly (this is almost certainly of no practical consequence...just something we'd like to fix for pickiness reasons) + <li type="disc">The C4D plugins can only see textures used directly linked from within a material channel. If they are used indirectly, such as within a shader, the COFFEE language doesn't let us see them. + <li type="disc">The only asset linked from a scene that the <a href="userdoc.html#c4d_upload_plugin">PXCDD Upload plugin</a> understands are textures. Other assets, such as sounds, will not be uploaded.<li type="disc">Windows version of <a href="userdoc.html#pxcddup">pxcddup</a> doesn't always exit absolutely cleanly (this is almost certainly of no practical consequence...just something we'd like to fix for pickiness reasons) </ul> <h1>What Is PXCDD?</h1> <p>The Pixel Corps Digital Dailies project is a system of programs for automating the uploading and downloading of daily production of digital media files within a visual effects group. It was initially designed for the <a href="http://pixelcorps.com/" target="http://pixelcorps.com/">Pixel Corps</a> production teams, but is intended to be broadly useful.</p> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tan...@us...> - 2006-07-12 09:21:09
|
Revision: 393 Author: tangentsoft Date: 2006-07-12 02:21:05 -0700 (Wed, 12 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=393&view=rev Log Message: ----------- Added c4drender's dependency on libxml to licenses page Modified Paths: -------------- trunk/website/licenses.html Modified: trunk/website/licenses.html =================================================================== --- trunk/website/licenses.html 2006-07-12 09:13:07 UTC (rev 392) +++ trunk/website/licenses.html 2006-07-12 09:21:05 UTC (rev 393) @@ -53,6 +53,7 @@ <h3>c4drender</h3> <blockquote> <p>path.py: <a href="http://www.jorendorff.com/articles/python/path/">freeware</a><br> + libxml2: <a href="http://www.opensource.org/licenses/mit-license.html">MIT License</a><br> </p> </blockquote> <h3>pxcddrss</h3> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tan...@us...> - 2006-07-12 09:13:12
|
Revision: 392 Author: tangentsoft Date: 2006-07-12 02:13:07 -0700 (Wed, 12 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=392&view=rev Log Message: ----------- Updated Windows test installer to 1.00 Modified Paths: -------------- trunk/website/index.html Modified: trunk/website/index.html =================================================================== --- trunk/website/index.html 2006-07-12 04:19:46 UTC (rev 391) +++ trunk/website/index.html 2006-07-12 09:13:07 UTC (rev 392) @@ -39,7 +39,7 @@ <h1>Test Downloads</h1> <p>Here are the current prerelease versions of the PXCDD client installers:</p> <blockquote> - <p><strong>Windows:</strong> version 0.90, <a href="test/pxcddcli-win-0.90.exe">pxcddcli-win-0.90.exe</a>, 4.9 MB, updated 2006.07.06</p> + <p><strong>Windows:</strong> version 1.00, <a href="test/pxcddcli-win-1.00.exe">pxcddcli-win-1.00.exe</a>, 4.9 MB, updated 2006.07.11</p> <p><strong>OS X:</strong> version 1.00, <a href="test/pxcddcli-osx-1.00.zip">pxcddcli-osx-1.00.zip</a>, 3.9 MB, updated 2006.07.09</p> </blockquote> <p>See the user docs for the current <a href="userdoc.html#req">system requirements</a>.</p> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ric...@us...> - 2006-07-12 04:19:49
|
Revision: 391 Author: ricknroll Date: 2006-07-11 21:19:46 -0700 (Tue, 11 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=391&view=rev Log Message: ----------- only verify C4D path if the C4D plugin option is checked Modified Paths: -------------- trunk/client/win/pxcdd.nsi Modified: trunk/client/win/pxcdd.nsi =================================================================== --- trunk/client/win/pxcdd.nsi 2006-07-12 04:01:10 UTC (rev 390) +++ trunk/client/win/pxcdd.nsi 2006-07-12 04:19:46 UTC (rev 391) @@ -19,6 +19,8 @@ !insertmacro Locate !insertmacro GetParent +!include "Sections.nsh" + ;-------------------------------- !macro BIMAGE IMAGE @@ -137,9 +139,13 @@ Function CheckInstallDir - ${GetParent} $INSTDIR $R0 - ${Locate} "$INSTDIR" "/L=F /M=CINEMA?4D.exe" "AddPluginPath" - ${Locate} "$R0" "/L=F /M=CINEMA?4D.exe" "AddPluginPath" - ; MessageBox MB_OKCANCEL "Ready to install:$\n$INSTDIR" + !insertmacro SectionFlagIsSet ${sectC4D} ${SF_SELECTED} checkC4Dpath skip + checkC4Dpath: + ${GetParent} $INSTDIR $R0 + ${Locate} "$INSTDIR" "/L=F /M=CINEMA?4D.exe" "AddPluginPath" + ${Locate} "$R0" "/L=F /M=CINEMA?4D.exe" "AddPluginPath" + ; MessageBox MB_OKCANCEL "Ready to install:$\n$INSTDIR" + skip: + FunctionEnd \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ric...@us...> - 2006-07-12 04:01:15
|
Revision: 390 Author: ricknroll Date: 2006-07-11 21:01:10 -0700 (Tue, 11 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=390&view=rev Log Message: ----------- fixed path bug in ddo file association Modified Paths: -------------- trunk/client/win/pxcdd.nsi Modified: trunk/client/win/pxcdd.nsi =================================================================== --- trunk/client/win/pxcdd.nsi 2006-07-10 07:33:11 UTC (rev 389) +++ trunk/client/win/pxcdd.nsi 2006-07-12 04:01:10 UTC (rev 390) @@ -71,10 +71,10 @@ StrCmp $0 "" 0 "${Index}-Skip" WriteRegStr HKCR "PXCDDOptions" "" "PixelCorps Digital Dailies Options" WriteRegStr HKCR "PXCDDOptions\shell" "" "Open" - WriteRegStr HKCR "PXCDDOptions\DefaultIcon" "" "$INSTDIR\pxcddup.exe,0" + WriteRegStr HKCR "PXCDDOptions\DefaultIcon" "" "$INSTDIR\pxcddup\pxcddup.exe,0" "${Index}-Skip:" WriteRegStr HKCR "PXCDDOptions\shell\Open\command" "" \ - '$INSTDIR\pxcddup.exe "%1"' + '$INSTDIR\pxcddup\pxcddup.exe "%1"' System::Call 'Shell32::SHChangeNotify(i 0x8000000, i 0, i 0, i 0)' !undef Index This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tan...@us...> - 2006-07-10 07:33:14
|
Revision: 389 Author: tangentsoft Date: 2006-07-10 00:33:11 -0700 (Mon, 10 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=389&view=rev Log Message: ----------- Added deep links into userdoc's individual program sections from mentions on the main page. Modified Paths: -------------- trunk/website/index.html Modified: trunk/website/index.html =================================================================== --- trunk/website/index.html 2006-07-10 07:30:35 UTC (rev 388) +++ trunk/website/index.html 2006-07-10 07:33:11 UTC (rev 389) @@ -45,28 +45,28 @@ <p>See the user docs for the current <a href="userdoc.html#req">system requirements</a>.</p> <h3>Known Bugs and Limitations</h3> <ul> - <li type="disc">PXCDD New Texture plugin cannot yet launch BodyPaint after updating the texture version - <li type="disc">PXCDD Upload plugin won't collect assets that aren't a direct texture link within a material channel (textures within shaders, sound files, etc) - <li type="disc">Windows version of pxcddup doesn't always exit absolutely cleanly (this is almost certainly of no practical consequence...just something we'd like to fix for pickiness reasons) + <li type="disc"><a href="userdoc.html#c4d_texversion_plugin">PXCDD New Texture plugin</a> cannot yet launch BodyPaint after updating the texture version + <li type="disc"><a href="userdoc.html#c4d_upload_plugin">PXCDD Upload plugin</a> won't collect assets that aren't a direct texture link within a material channel (textures within shaders, sound files, etc) + <li type="disc">Windows version of <a href="userdoc.html#pxcddup">pxcddup</a> doesn't always exit absolutely cleanly (this is almost certainly of no practical consequence...just something we'd like to fix for pickiness reasons) </ul> <h1>What Is PXCDD?</h1> <p>The Pixel Corps Digital Dailies project is a system of programs for automating the uploading and downloading of daily production of digital media files within a visual effects group. It was initially designed for the <a href="http://pixelcorps.com/" target="http://pixelcorps.com/">Pixel Corps</a> production teams, but is intended to be broadly useful.</p> <p>The PXCDD system is composed of several cooperating programs:</p> <h3>CINEMA 4D Plugins</h3> <blockquote> - <p><strong>PXCDD Upload</strong>: collects the scene file, any textures and project info for slate, and uploads everything to your team's directory on the PXC server (using pxcddup).</p> - <p><strong>PXCDD New Texture Version</strong>: increments the filename of a selected texture file and relinks the new texture within all materials, optionally opens an editing application to modify texture.</p> + <p><strong><a href="userdoc.html#c4d_upload_plugin">PXCDD Upload</a></strong>: collects the scene file, any textures and project info for slate, and uploads everything to your team's directory on the PXC server (using pxcddup).</p> + <p><strong><a href="userdoc.html#c4d_texversion_plugin">PXCDD New Texture Version</a></strong>: increments the filename of a selected texture file and relinks the new texture within all materials, optionally opens an editing application to modify texture.</p> </blockquote> <h3>Command-line client-side tools</h3> <blockquote> - <p><strong>pxcddup</strong>: uploads files to a specified server utilizing the sftp protocol</p> + <p><strong><a href="userdoc.html#pxcddup">pxcddup</a></strong>: uploads files to a specified server utilizing the sftp protocol</p> </blockquote> <h3>Server-side tools</h3> <blockquote> - <p><strong>pxcddrss</strong>: indexes a specified hierarchy and generates an RSS file</p> - <p><strong>c4drender</strong>: distributes C4D files in a specified hierarchy to a render farm, renders them on the farm, and returns the rendered movies to a file or web server</p> - <p><strong>slategen</strong>: creates a slate TIFF file in the PXC dailies format from info collected by the PXCDD Upload plugin</p> - <p><strong>pxcqtassy</strong>: assembles TIFF files created by slategen and c4drender into an H.264 QuickTime movie</p> + <p><strong><a href="userdoc.html#pxcddrss">pxcddrss</a></strong>: indexes a specified hierarchy and generates an RSS file</p> + <p><strong><a href="userdoc.html#c4drender">c4drender</a></strong>: distributes C4D files in a specified hierarchy to a render farm, renders them on the farm, and returns the rendered movies to a file or web server</p> + <p><strong><a href="userdoc.html#slategen">slategen</a></strong>: creates a slate TIFF file in the PXC dailies format from info collected by the PXCDD Upload plugin</p> + <p><strong><a href="userdoc.html#pxcqtassy">pxcqtassy</a></strong>: assembles TIFF files created by slategen and c4drender into an H.264 QuickTime movie</p> </blockquote> <p>Here is a graphical overview of how these programs cooperate to form the PXC Digital Dailies system:</p> <p align="center"><img src="bitmaps/data-flow.png" alt="" height="461" width="546" border="0"></p> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tan...@us...> - 2006-07-10 07:30:40
|
Revision: 388 Author: tangentsoft Date: 2006-07-10 00:30:35 -0700 (Mon, 10 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=388&view=rev Log Message: ----------- Added named anchors for programs to userdocs, so we can link to program-specific parts of the docs Modified Paths: -------------- trunk/website/userdoc.html Modified: trunk/website/userdoc.html =================================================================== --- trunk/website/userdoc.html 2006-07-10 07:28:12 UTC (rev 387) +++ trunk/website/userdoc.html 2006-07-10 07:30:35 UTC (rev 388) @@ -49,7 +49,7 @@ <li type="disc">C4D plugins require <a href="http://maxon.net/">CINEMA 4D</a> R8.5 or greater.<li type="disc">Several of the programs are <a href="http://www.python.org">Python</a> scripts, and require <a href="http://www.python.org/download/releases/2.3/">version 2.3</a> or higher. Required Python modules are included with the programs. </ul> <h1>CINEMA 4D Plugins</h1> - <h2>PXCDD Upload</h2> + <h2><a id="c4d_upload_plugin" name="c4d_upload_plugin"></a>PXCDD Upload</h2> <p>This C4D plugin collects the scene file, any textures and project info for slate, and uploads everything to your team's directory on the PXC server (using pxcddup).</p> <p>To upload your project, just choose PXCDD Upload Model from the Plugins > PXCDD menu. In the dialog, complete the Upload Info and Slate Info fields with information about your project. The fields are designed to match PXC specifications for filenames and slates. Please refer to the official spec pages within the Atheneum for further information on each of these fields. Slate information is optional - if it's supplied, the file will be automatically rendered and a slate and timecode will be generated by the server.</p> <p>Additional fields:</p> @@ -60,14 +60,14 @@ </ul> <p>After completing the fields, click OK. The PXCDD Upload window will appear, and you may be prompted for your PXC password. Once you enter your password correctly, you'll see a progress bar as each file uploads. Note that the C4D plugin will only upload files have changed. (It compares the modification date and time between your local copy and any files with the same name on the server.)</p> <p><strong>NOTE</strong>: You should always increment your project file and texture file numbers when modifying them.</p> - <h2>PXCDD New Texture Version</h2> + <h2><a id="c4d_texversion_plugin" name="c4d_texversion_plugin"></a>PXCDD New Texture Version</h2> <p>This C4D plugin increments the filename of a selected texture file and relinks the new texture within all materials, optionally opens an editing application to modify texture.</p> <p>To create a new texture version, choose PXCDD New Texture Version from the Plugins > PXCDD menu. In the dialog, choose the texture you'd like to modify. If you've selected a material before running the plugin, the first texture found within the material will be selected by default.</p> <p>If you'd like to edit the new texture immediately, check the Edit New Texture option, and specify your image editing application (i.e. Photoshop). When you click OK, the filename will be incremented and all instances of the texture will be replaced within your materials. If you chose to edit the texture immediately, the new texture will be opened in your image editing application.</p> <p>Note that the PXC specification allows two methods for versioning files: by date (YYMMDD) or version number (v001). If the source file matches PXC naming specifications and includes a date, the version will be replaced with the current date. If the plugin sees a 'v' followed by a number, that number will be incremented.</p> <h1>Client-Side Command Line Programs</h1> <p>The command line programs are used internally by the C4D plugins. They are documented here mainly for completeness. Most of the time, you can ignore the fact that they exist.</p> - <h2>pxcddup</h2> + <h2><a id="pxcddup" name="pxcddup"></a>pxcddup</h2> <p>This tool uploads files to a specified SFTP server. It has special knowledge of the PXC file server system, but it can be used with any SFTP server if you avoid use of the PXC-specific options. A special feature is that it will accept command line options in a .ddo file, which is necessary to allow it to work with the C4D plugins, due to a limitation of COFFEE.</p> <h3>General usage</h3> <blockquote> @@ -188,7 +188,7 @@ <p>pxcddup looks for host and user keys in the <tt>.ssh</tt> or <tt>ssh</tt> subdirectory under your home directory. The former is generally the one to use on OS X, and the program uses the latter automatically on Windows, where "dot files" aren't commonplace as on *ix systems like OS X.</p> <p>pxcddup does have a GUI; it's pxcddup displaying the progress dialog and such when you tell the upload plugin to send the files to the file server. We call it a command line program because you have to start it using command line options to get any useful functionality. We have plans to make the program usable as you would any other GUI program, to allow you to upload files other than C4D scenes and textures, but that's well into the future.</p> <h1>Server-Side Programs</h1> - <h2>pxcddrss</h2> + <h2><a id="pxcddrss" name="pxcddrss"></a>pxcddrss</h2> <p>This program walks through the specified hierarchy and indexes all files. Optionally, you can specify filenames to include or exclude by mask. This script is intended to run as a periodic background process on the server. It generates an RSS file, which allows team members to use a feed reader to download updated dailies files as they become available.</p> <h3>General usage</h3> <blockquote> @@ -266,7 +266,7 @@ -I *.mov -I *.tif<br> -X *.rss -X ???_???_???_scf* -X ???_???_???_scg*</code></p> </blockquote> - <h2>c4drender</h2> + <h2><a id="c4drender" name="c4drender"></a>c4drender</h2> <p>This program walks through the specified hierarchy to render C4D files. This is a simple network rendering solution with limited scalability, recovery and load balancing. It is intended to be run as a periodic background process on a file server and on any render nodes. It uses <tt>scp</tt> to transfer files between the file server and render nodes. It runs in one of three modes:</p> <ul> <li type="disc">Render: renders any C4D files within the specified hierarchy that don't already appear to have been rendered @@ -316,7 +316,7 @@ </tr> </table> <p>You must specify -c and either -d and -p (for Pixel Corps usage) or files. If you specify both, files will be searched relative to PXC path.</p> - <h2>slategen</h2> + <h2><a id="slategen" name="slategen"></a>slategen</h2> <p>This program creates a "slate" image using information it parses out of an XML file in the format written by <tt>pxcddup</tt> containing information entered by the user in the PXCDD Upload Plugin. It writes the image out in TIFF format by default, but it can optionally use PNG format if you ask it to. The program should build and run on any *ix type system, though it is tested on and intended primarily for OS X systems.</p> <h3>General usage</h3> <blockquote> @@ -336,7 +336,7 @@ </tr> </table> <p>If the given filename contains ".xml", that part will be overwritten with .tif or .png, as apropriate, when creating the slate image's file name. Otherwise, .png or .tif is appended to the end of the XML file name to get the slate image file name.</p> - <h2>pxcqtassy</h2> + <h2><a id="pxcqtassy" name="pxcqtassy"></a>pxcqtassy</h2> <p>This program assembles a number of TIFF images into a QuickTime movie in H.264 format. Its purpose is to take a slate created by <tt>slategen</tt> and rendered plates written out by <tt>c4drender</tt> and assemble that into a single movie file. (That file then gets sent back to the file server, where it is noticed by <tt>pxcddrss</tt> and sent out to people subscribed to the dailies feed.) Because this program uses the Cocoa QTKit framework for creating QuickTime movies, it only runs on OS X.</p> <h3>General usage</h3> <blockquote> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tan...@us...> - 2006-07-10 07:28:15
|
Revision: 387 Author: tangentsoft Date: 2006-07-10 00:28:12 -0700 (Mon, 10 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=387&view=rev Log Message: ----------- Added "Known Bugs and Limitaions" section Modified Paths: -------------- trunk/website/index.html Modified: trunk/website/index.html =================================================================== --- trunk/website/index.html 2006-07-10 07:23:52 UTC (rev 386) +++ trunk/website/index.html 2006-07-10 07:28:12 UTC (rev 387) @@ -34,15 +34,21 @@ <tr> <td width="25" background="bitmaps/body-side-left.png"></td> <td bgcolor="white"> - <h2>News</h2> + <h1>News</h1> <p><strong>2006.07.09 — </strong>First release candidates for v1.0 uploaded.</p> - <h2>Test Downloads</h2> + <h1>Test Downloads</h1> <p>Here are the current prerelease versions of the PXCDD client installers:</p> <blockquote> <p><strong>Windows:</strong> version 0.90, <a href="test/pxcddcli-win-0.90.exe">pxcddcli-win-0.90.exe</a>, 4.9 MB, updated 2006.07.06</p> <p><strong>OS X:</strong> version 1.00, <a href="test/pxcddcli-osx-1.00.zip">pxcddcli-osx-1.00.zip</a>, 3.9 MB, updated 2006.07.09</p> </blockquote> <p>See the user docs for the current <a href="userdoc.html#req">system requirements</a>.</p> + <h3>Known Bugs and Limitations</h3> + <ul> + <li type="disc">PXCDD New Texture plugin cannot yet launch BodyPaint after updating the texture version + <li type="disc">PXCDD Upload plugin won't collect assets that aren't a direct texture link within a material channel (textures within shaders, sound files, etc) + <li type="disc">Windows version of pxcddup doesn't always exit absolutely cleanly (this is almost certainly of no practical consequence...just something we'd like to fix for pickiness reasons) + </ul> <h1>What Is PXCDD?</h1> <p>The Pixel Corps Digital Dailies project is a system of programs for automating the uploading and downloading of daily production of digital media files within a visual effects group. It was initially designed for the <a href="http://pixelcorps.com/" target="http://pixelcorps.com/">Pixel Corps</a> production teams, but is intended to be broadly useful.</p> <p>The PXCDD system is composed of several cooperating programs:</p> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tan...@us...> - 2006-07-10 07:23:55
|
Revision: 386 Author: tangentsoft Date: 2006-07-10 00:23:52 -0700 (Mon, 10 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=386&view=rev Log Message: ----------- Initial Added Paths: ----------- trunk/website/hacking.html Added: trunk/website/hacking.html =================================================================== --- trunk/website/hacking.html (rev 0) +++ trunk/website/hacking.html 2006-07-10 07:23:52 UTC (rev 386) @@ -0,0 +1,53 @@ +<html> +<head> + <meta http-equiv="content-type" content="text/html;charset=utf-8"> + <title>Pixel Corps Digital Dailies System</title> + <link href="root.css" rel="Stylesheet" type="text/css"> +</head> + +<body> + <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#9aa1a7"> + <tr height="100%"> + <td rowspan="3" width="1%"><img src="bitmaps/top-box-left.png" alt="" height="98" width="11" border="0"></td> + <td rowspan="3" width="1%"><a href="http://pixelcorps.com/"><img src="bitmaps/pxc-logo.png" alt="" height="79" width="73" border="0"></a></td> + <td width="20"> </td> + <td rowspan="2" valign="bottom"><a href="."><img src="bitmaps/pxcdd-title.png" alt="" border="0" vspace="8"></a></td> + <td rowspan="3" width="1%"><img src="bitmaps/top-box-right.png" alt="" height="98" width="11" border="0"></td> + </tr> + <tr> + <td width="20"> </td> + </tr> + <tr height="26"> + <td width="20" height="26"> </td> + <td align="right" valign="bottom" height="26"><img src="bitmaps/navbar-left-cap.png" alt="" border="0"><a href="userdoc.html"><img src="bitmaps/navbar-docs.png" alt="" border="0"></a><img src="bitmaps/navbar-separator.png" alt="" border="0"><a href="licenses.html"><img src="bitmaps/navbar-licenses.png" alt="" border="0"></a><img src="bitmaps/navbar-separator.png" alt="" border="0"><a href="http://pixelcorps.com/"><img src="bitmaps/navbar-sponsor.png" alt="" border="0"></a></td> + </tr> + </table> + + <p></p> + + <table width="100%" border="0" cellspacing="0" cellpadding="0"> + <tr height="21"> + <td width="25" height="21"><img src="bitmaps/body-top-left.png" alt="" height="21" width="25" border="0"></td> + <td height="21" background="bitmaps/body-top-middle.png"></td> + <td width="25" height="21"><img src="bitmaps/body-top-right.png" alt="" height="21" width="25" border="0"></td> + </tr> + <tr> + <td width="25" background="bitmaps/body-side-left.png"></td> + <td bgcolor="white"> + <h1>How to Hack PXCDD</h1> + <p>The first place you need to go if you're going to work on the PXCDD code is our <a href="http://sourceforge.net/projects/pxcdd/">SourceForge.net project page</a>. You can access the source code there, file bug reports, submit patches, etc.</p> + <p>As for patches, please submit them in <a href="http://en.wikipedia.org/wiki/Diff#Unified_format">unified diff format</a>. You can either attach them to the project's <a href="http://sourceforge.net/tracker/?group_id=165148&atid=834520">patch tracker</a>, or send them to the project maintainers if you are a PXC member. We are Warren Young (wyoung) and Rick Barrett (rbarrett). We currently have no formal system for accepting patches, but if we get any, we will probably require that you sign the copyright over to the Pixel Corps, to keep things simple in the long term.</p> + <hr noshade size="1" width="95%"> + <p align="center"><font size="-1">This project is hosted by</font> <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=165148&type=1" width="88" height="31" align="absmiddle" border="0" alt="SourceForge.net Logo" /></a></p> + </td> + <td width="25" background="bitmaps/body-side-right.png"></td> + </tr> + <tr height="21"> + <td width="25" height="24"><img src="bitmaps/body-bottom-left.png" alt="" height="24" width="25" border="0"></td> + <td height="24" background="bitmaps/body-bottom-middle.png"></td> + <td width="25" height="24"><img src="bitmaps/body-bottom-right.png" alt="" height="24" width="25" border="0"></td> + </tr> + </table> + <p></p> + </body> +</html> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tan...@us...> - 2006-07-10 07:21:11
|
Revision: 385 Author: tangentsoft Date: 2006-07-10 00:21:06 -0700 (Mon, 10 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=385&view=rev Log Message: ----------- Added "hacking" page Modified Paths: -------------- trunk/website/index.html trunk/website/licenses.html trunk/website/template.html trunk/website/userdoc.html Modified: trunk/website/index.html =================================================================== --- trunk/website/index.html 2006-07-10 07:12:47 UTC (rev 384) +++ trunk/website/index.html 2006-07-10 07:21:06 UTC (rev 385) @@ -19,7 +19,7 @@ </tr> <tr height="26"> <td width="20" height="26"> </td> - <td align="right" valign="bottom" height="26"><img src="bitmaps/navbar-left-cap.png" alt="" border="0"><a href="userdoc.html"><img src="bitmaps/navbar-docs.png" alt="" border="0"></a><img src="bitmaps/navbar-separator.png" alt="" border="0"><img src="bitmaps/navbar-hacking.png" alt="" border="0"><img src="bitmaps/navbar-separator.png" alt="" border="0"><a href="licenses.html"><img src="bitmaps/navbar-licenses.png" alt="" border="0"></a><img src="bitmaps/navbar-separator.png" alt="" border="0"><a href="http://pixelcorps.com/"><img src="bitmaps/navbar-sponsor.png" alt="" border="0"></a></td> + <td align="right" valign="bottom" height="26"><img src="bitmaps/navbar-left-cap.png" alt="" border="0"><a href="userdoc.html"><img src="bitmaps/navbar-docs.png" alt="" border="0"></a><img src="bitmaps/navbar-separator.png" alt="" border="0"><a href="hacking.html"><img src="bitmaps/navbar-hacking.png" alt="" border="0"></a><img src="bitmaps/navbar-separator.png" alt="" border="0"><a href="licenses.html"><img src="bitmaps/navbar-licenses.png" alt="" border="0"></a><img src="bitmaps/navbar-separator.png" alt="" border="0"><a href="http://pixelcorps.com/"><img src="bitmaps/navbar-sponsor.png" alt="" border="0"></a></td> </tr> </table> Modified: trunk/website/licenses.html =================================================================== --- trunk/website/licenses.html 2006-07-10 07:12:47 UTC (rev 384) +++ trunk/website/licenses.html 2006-07-10 07:21:06 UTC (rev 385) @@ -19,7 +19,7 @@ </tr> <tr height="26"> <td width="20" height="26"> </td> - <td align="right" valign="bottom" height="26"><img src="bitmaps/navbar-left-cap.png" alt="" border="0"><a href="userdoc.html"><img src="bitmaps/navbar-docs.png" alt="" border="0"></a><img src="bitmaps/navbar-separator.png" alt="" border="0"><img src="bitmaps/navbar-hacking.png" alt="" border="0"><img src="bitmaps/navbar-separator.png" alt="" border="0"><a href="http://pixelcorps.com/"><img src="bitmaps/navbar-sponsor.png" alt="" border="0"></a></td> + <td align="right" valign="bottom" height="26"><img src="bitmaps/navbar-left-cap.png" alt="" border="0"><a href="userdoc.html"><img src="bitmaps/navbar-docs.png" alt="" border="0"></a><img src="bitmaps/navbar-separator.png" alt="" border="0"><a href="hacking.html"><img src="bitmaps/navbar-hacking.png" alt="" border="0"></a><img src="bitmaps/navbar-separator.png" alt="" border="0"><a href="http://pixelcorps.com/"><img src="bitmaps/navbar-sponsor.png" alt="" border="0"></a></td> </tr> </table> Modified: trunk/website/template.html =================================================================== --- trunk/website/template.html 2006-07-10 07:12:47 UTC (rev 384) +++ trunk/website/template.html 2006-07-10 07:21:06 UTC (rev 385) @@ -19,7 +19,7 @@ </tr> <tr height="26"> <td width="20" height="26"> </td> - <td align="right" valign="bottom" height="26"><img src="bitmaps/navbar-left-cap.png" alt="" border="0"><a href="userdoc.html"><img src="bitmaps/navbar-docs.png" alt="" border="0"></a><img src="bitmaps/navbar-separator.png" alt="" border="0"><img src="bitmaps/navbar-hacking.png" alt="" border="0"><img src="bitmaps/navbar-separator.png" alt="" border="0"><a href="licenses.html"><img src="bitmaps/navbar-licenses.png" alt="" border="0"></a><img src="bitmaps/navbar-separator.png" alt="" border="0"><a href="http://pixelcorps.com/"><img src="bitmaps/navbar-sponsor.png" alt="" border="0"></a></td> + <td align="right" valign="bottom" height="26"><img src="bitmaps/navbar-left-cap.png" alt="" border="0"><a href="userdoc.html"><img src="bitmaps/navbar-docs.png" alt="" border="0"></a><img src="bitmaps/navbar-separator.png" alt="" border="0"><a href="hacking.html"><img src="bitmaps/navbar-hacking.png" alt="" border="0"></a><img src="bitmaps/navbar-separator.png" alt="" border="0"><a href="licenses.html"><img src="bitmaps/navbar-licenses.png" alt="" border="0"></a><img src="bitmaps/navbar-separator.png" alt="" border="0"><a href="http://pixelcorps.com/"><img src="bitmaps/navbar-sponsor.png" alt="" border="0"></a></td> </tr> </table> Modified: trunk/website/userdoc.html =================================================================== --- trunk/website/userdoc.html 2006-07-10 07:12:47 UTC (rev 384) +++ trunk/website/userdoc.html 2006-07-10 07:21:06 UTC (rev 385) @@ -19,7 +19,7 @@ </tr> <tr height="26"> <td width="20" height="26"> </td> - <td align="right" valign="bottom" height="26"><img src="bitmaps/navbar-left-cap.png" alt="" border="0"><img src="bitmaps/navbar-hacking.png" alt="" border="0"><img src="bitmaps/navbar-separator.png" alt="" border="0"><a href="licenses.html"><img src="bitmaps/navbar-licenses.png" alt="" border="0"></a><img src="bitmaps/navbar-separator.png" alt="" border="0"><a href="http://pixelcorps.com/"><img src="bitmaps/navbar-sponsor.png" alt="" border="0"></a></td> + <td align="right" valign="bottom" height="26"><img src="bitmaps/navbar-left-cap.png" alt="" border="0"><a href="hacking.html"><img src="bitmaps/navbar-hacking.png" alt="" border="0"></a><img src="bitmaps/navbar-separator.png" alt="" border="0"><a href="licenses.html"><img src="bitmaps/navbar-licenses.png" alt="" border="0"></a><img src="bitmaps/navbar-separator.png" alt="" border="0"><a href="http://pixelcorps.com/"><img src="bitmaps/navbar-sponsor.png" alt="" border="0"></a></td> </tr> </table> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tan...@us...> - 2006-07-10 07:12:50
|
Revision: 384 Author: tangentsoft Date: 2006-07-10 00:12:47 -0700 (Mon, 10 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=384&view=rev Log Message: ----------- Navbar fix Modified Paths: -------------- trunk/website/licenses.html Modified: trunk/website/licenses.html =================================================================== --- trunk/website/licenses.html 2006-07-10 07:10:08 UTC (rev 383) +++ trunk/website/licenses.html 2006-07-10 07:12:47 UTC (rev 384) @@ -19,7 +19,7 @@ </tr> <tr height="26"> <td width="20" height="26"> </td> - <td align="right" valign="bottom" height="26"><img src="bitmaps/navbar-left-cap.png" alt="" border="0"><a href="userdoc.html"><img src="bitmaps/navbar-docs.png" alt="" border="0"></a><img src="bitmaps/navbar-separator.png" alt="" border="0"><img src="bitmaps/navbar-hacking.png" alt="" border="0"><img src="bitmaps/navbar-separator.png" alt="" border="0"><img src="bitmaps/navbar-licenses.png" alt="" border="0"><img src="bitmaps/navbar-separator.png" alt="" border="0"><a href="http://pixelcorps.com/"><img src="bitmaps/navbar-sponsor.png" alt="" border="0"></a></td> + <td align="right" valign="bottom" height="26"><img src="bitmaps/navbar-left-cap.png" alt="" border="0"><a href="userdoc.html"><img src="bitmaps/navbar-docs.png" alt="" border="0"></a><img src="bitmaps/navbar-separator.png" alt="" border="0"><img src="bitmaps/navbar-hacking.png" alt="" border="0"><img src="bitmaps/navbar-separator.png" alt="" border="0"><a href="http://pixelcorps.com/"><img src="bitmaps/navbar-sponsor.png" alt="" border="0"></a></td> </tr> </table> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tan...@us...> - 2006-07-10 07:10:11
|
Revision: 383 Author: tangentsoft Date: 2006-07-10 00:10:08 -0700 (Mon, 10 Jul 2006) ViewCVS: http://svn.sourceforge.net/pxcdd/?rev=383&view=rev Log Message: ----------- More navbar URL fixes Modified Paths: -------------- trunk/website/licenses.html trunk/website/template.html Modified: trunk/website/licenses.html =================================================================== --- trunk/website/licenses.html 2006-07-10 07:07:10 UTC (rev 382) +++ trunk/website/licenses.html 2006-07-10 07:10:08 UTC (rev 383) @@ -19,8 +19,7 @@ </tr> <tr height="26"> <td width="20" height="26"> </td> - <td align="right" valign="bottom" height="26"> - <img src="bitmaps/navbar-left-cap.png" alt="" border="0"><img src="bitmaps/navbar-docs.png" alt="" border="0"><img src="bitmaps/navbar-separator.png" alt="" border="0"><img src="bitmaps/navbar-hacking.png" alt="" border="0"><img src="bitmaps/navbar-separator.png" alt="" border="0"><img src="bitmaps/navbar-licenses.png" alt="" border="0"><img src="bitmaps/navbar-separator.png" alt="" border="0"><a href="http://pixelcorps.com/"><img src="bitmaps/navbar-sponsor.png" alt="" border="0"></a></td> + <td align="right" valign="bottom" height="26"><img src="bitmaps/navbar-left-cap.png" alt="" border="0"><a href="userdoc.html"><img src="bitmaps/navbar-docs.png" alt="" border="0"></a><img src="bitmaps/navbar-separator.png" alt="" border="0"><img src="bitmaps/navbar-hacking.png" alt="" border="0"><img src="bitmaps/navbar-separator.png" alt="" border="0"><img src="bitmaps/navbar-licenses.png" alt="" border="0"><img src="bitmaps/navbar-separator.png" alt="" border="0"><a href="http://pixelcorps.com/"><img src="bitmaps/navbar-sponsor.png" alt="" border="0"></a></td> </tr> </table> Modified: trunk/website/template.html =================================================================== --- trunk/website/template.html 2006-07-10 07:07:10 UTC (rev 382) +++ trunk/website/template.html 2006-07-10 07:10:08 UTC (rev 383) @@ -19,8 +19,7 @@ </tr> <tr height="26"> <td width="20" height="26"> </td> - <td align="right" valign="bottom" height="26"> - <img src="bitmaps/navbar-left-cap.png" alt="" border="0"><img src="bitmaps/navbar-docs.png" alt="" border="0"><img src="bitmaps/navbar-separator.png" alt="" border="0"><img src="bitmaps/navbar-hacking.png" alt="" border="0"><img src="bitmaps/navbar-separator.png" alt="" border="0"><a href="licenses.html"><img src="bitmaps/navbar-licenses.png" alt="" border="0"></a><img src="bitmaps/navbar-separator.png" alt="" border="0"><a href="http://pixelcorps.com/"><img src="bitmaps/navbar-sponsor.png" alt="" border="0"></a></td> + <td align="right" valign="bottom" height="26"><img src="bitmaps/navbar-left-cap.png" alt="" border="0"><a href="userdoc.html"><img src="bitmaps/navbar-docs.png" alt="" border="0"></a><img src="bitmaps/navbar-separator.png" alt="" border="0"><img src="bitmaps/navbar-hacking.png" alt="" border="0"><img src="bitmaps/navbar-separator.png" alt="" border="0"><a href="licenses.html"><img src="bitmaps/navbar-licenses.png" alt="" border="0"></a><img src="bitmaps/navbar-separator.png" alt="" border="0"><a href="http://pixelcorps.com/"><img src="bitmaps/navbar-sponsor.png" alt="" border="0"></a></td> </tr> </table> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |