opendemo-cvs Mailing List for OpenDemo (Page 2)
Status: Beta
Brought to you by:
girlich
You can subscribe to this list here.
2002 |
Jan
(43) |
Feb
|
Mar
|
Apr
(38) |
May
(65) |
Jun
(108) |
Jul
(2) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(17) |
Feb
(13) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(8) |
Sep
(62) |
Oct
(81) |
Nov
(12) |
Dec
(32) |
2004 |
Jan
(25) |
Feb
(76) |
Mar
(32) |
Apr
(10) |
May
(6) |
Jun
|
Jul
(1) |
Aug
(5) |
Sep
|
Oct
(19) |
Nov
(1) |
Dec
|
2005 |
Jan
(2) |
Feb
(23) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2006 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
(14) |
Nov
|
Dec
|
From: Uwe G. <gi...@us...> - 2005-02-08 20:23:12
|
Update of /cvsroot/opendemo/opendemo/tools/odcut In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12753 Modified Files: OdGui.pm Log Message: selection of a single file cell will result in the full file line to be selected. Index: OdGui.pm =================================================================== RCS file: /cvsroot/opendemo/opendemo/tools/odcut/OdGui.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** OdGui.pm 8 Feb 2005 19:11:45 -0000 1.2 --- OdGui.pm 8 Feb 2005 20:22:43 -0000 1.3 *************** *** 9,13 **** use base qw(OdGuiFrame); use Wx qw(wxOPEN wxMULTIPLE wxID_CANCEL); ! use Wx::Event qw(EVT_BUTTON EVT_CLOSE EVT_MENU); use Cwd qw(getcwd); use File::Basename qw(fileparse); --- 9,13 ---- use base qw(OdGuiFrame); use Wx qw(wxOPEN wxMULTIPLE wxID_CANCEL); ! use Wx::Event qw(EVT_BUTTON EVT_CLOSE EVT_GRID_SELECT_CELL EVT_MENU); use Cwd qw(getcwd); use File::Basename qw(fileparse); *************** *** 42,45 **** --- 42,46 ---- EVT_BUTTON($self,$self->{fileClose},\&OnFileClose); + EVT_GRID_SELECT_CELL($self->{gridFiles},\&OnSelectFileCell); # Give a positive result. *************** *** 106,118 **** my ($self) = @_; my $grid = $self->{gridFiles}; my @rows = $grid->GetSelectedRows(); if (@rows) { - my @files; foreach my $row (@rows) { ! printf STDERR "row %d\n", $row; ! push @files, $grid->GetCellValue($row,0); } ! foreach my $file (@files) { ! printf STDERR "close file: %s\n", $file; # close the desired file --- 107,121 ---- my ($self) = @_; my $grid = $self->{gridFiles}; + my %files; my @rows = $grid->GetSelectedRows(); if (@rows) { foreach my $row (@rows) { ! # printf STDERR "row %d\n", $row; ! $files{$grid->GetCellValue($row,0)} = 1; } ! } ! if (%files) { ! foreach my $file (keys %files) { ! # printf STDERR "close file: %s\n", $file; # close the desired file *************** *** 122,130 **** } else { ! printf STDERR "nothing selected\n"; } } sub do_command($$) { --- 125,143 ---- } else { ! # printf STDERR "nothing selected\n"; } } + sub OnSelectFileCell($$) + { + my ($grid, $event) = @_; + my $row = $event->GetRow(); + # printf STDERR "got row $row\n"; + $grid->SelectRow($row, 0); + } + + + sub do_command($$) { *************** *** 141,145 **** my $self = shift; ! print STDERR "UpdateGUI stub\n"; my $grid = $self->{gridFiles}; --- 154,158 ---- my $self = shift; ! # print STDERR "UpdateGUI stub\n"; my $grid = $self->{gridFiles}; |
From: Uwe G. <gi...@us...> - 2005-02-08 19:15:15
|
Update of /cvsroot/opendemo/opendemo/tools/odcut In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18585 Modified Files: odcut.pl Log Message: add a method to get the config Index: odcut.pl =================================================================== RCS file: /cvsroot/opendemo/opendemo/tools/odcut/odcut.pl,v retrieving revision 1.50 retrieving revision 1.51 diff -C2 -d -r1.50 -r1.51 *** odcut.pl 7 Feb 2005 21:13:39 -0000 1.50 --- odcut.pl 8 Feb 2005 19:14:59 -0000 1.51 *************** *** 287,290 **** --- 287,296 ---- + sub get_config() + { + $config; + } + + # trace sub logging |
From: Uwe G. <gi...@us...> - 2005-02-08 19:12:16
|
Update of /cvsroot/opendemo/opendemo/tools/odcut In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17132 Modified Files: OdGui.pm Log Message: Implement file open and close (from menu and in file list). Problematic is the mandatory one open file Index: OdGui.pm =================================================================== RCS file: /cvsroot/opendemo/opendemo/tools/odcut/OdGui.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** OdGui.pm 7 Feb 2005 21:04:00 -0000 1.1 --- OdGui.pm 8 Feb 2005 19:11:45 -0000 1.2 *************** *** 8,27 **** use OdGuiGlade; use base qw(OdGuiFrame); use Wx::Event qw(EVT_BUTTON EVT_CLOSE EVT_MENU); sub new { my $classname = shift; my $self = $classname->SUPER::new(@_); ! $self->_init(@_); return $self; } ! sub _init($@) { my $self = shift; my $result = 0; # Connect objects. EVT_MENU($self,5,\&OnExit); EVT_MENU($self,21,\&OnAboutStart); --- 8,39 ---- use OdGuiGlade; use base qw(OdGuiFrame); + use Wx qw(wxOPEN wxMULTIPLE wxID_CANCEL); use Wx::Event qw(EVT_BUTTON EVT_CLOSE EVT_MENU); + use Cwd qw(getcwd); + use File::Basename qw(fileparse); sub new { my $classname = shift; + my $output = shift; + my $config = shift; my $self = $classname->SUPER::new(@_); ! $self->_init( ( output=>$output, config=>$config, @_ ) ); return $self; } ! ! sub _init($%) { my $self = shift; + if (@_) { + my %extra = @_; + @$self{keys %extra} = values %extra; + } my $result = 0; # Connect objects. + EVT_MENU($self,1,\&OnFileOpen); + EVT_MENU($self,2,\&OnFileClose); EVT_MENU($self,5,\&OnExit); EVT_MENU($self,21,\&OnAboutStart); *************** *** 29,32 **** --- 41,46 ---- EVT_CLOSE($self,\&OnClose); + EVT_BUTTON($self,$self->{fileClose},\&OnFileClose); + # Give a positive result. $result = 1; *************** *** 35,38 **** --- 49,184 ---- } + + { + my $prevdir; + my $prevfile; + + sub OnFileOpen($) + { + my $self = shift; + print STDERR "add new file\n"; + if (!defined $prevfile) { + $prevfile=""; + } + if (!defined $prevdir) { + $prevdir=Cwd::getcwd; + } + print STDERR "prevdir=$prevdir, prevfile=$prevfile\n"; + my $dialog = Wx::FileDialog->new( + $self, "Select an OpenDemo file", $prevdir, $prevfile, + "OpenDemo files (*.od*)|*.od*|All files (*)|*", + wxOPEN|wxMULTIPLE); + if( $dialog->ShowModal == wxID_CANCEL ) { + print STDERR "cancel\n"; + } else { + my @paths = $dialog->GetPaths; + if( @paths > 0 ) { + for my $filename ( @paths ) { + print "new file $filename\n"; + # remember the last directory / file + ($prevfile,$prevdir) = fileparse($filename); + $self->OnFileAdd($filename); + } + } else { + printf STDERR "no files\n"; + } + } + + $dialog->Destroy; + } + + } + + + sub OnFileAdd($$) + { + my ($self, $filename) = @_; + + # activate desired file + $self->do_command(odcommand->new("d $filename")); + + $self->UpdateGUI(); + } + + + sub OnFileClose($) + { + my ($self) = @_; + my $grid = $self->{gridFiles}; + my @rows = $grid->GetSelectedRows(); + if (@rows) { + my @files; + foreach my $row (@rows) { + printf STDERR "row %d\n", $row; + push @files, $grid->GetCellValue($row,0); + } + foreach my $file (@files) { + printf STDERR "close file: %s\n", $file; + + # close the desired file + $self->do_command(odcommand->new("c " . $file)); + } + $self->UpdateGUI(); + } + else { + printf STDERR "nothing selected\n"; + } + } + + + sub do_command($$) + { + my ($self, $command) = @_; + # memorize the command in a log window + my $text = $command->get_code()." ".join(" ",$command->get_args())."\n"; + # $self->{TEXT}->AppendText($text); + $self->{"output"}->do_command($command); + } + + + sub UpdateGUI() + { + my $self = shift; + + print STDERR "UpdateGUI stub\n"; + + my $grid = $self->{gridFiles}; + my $output = $self->{output}; + + # Remove rows with not open files. + my $remove; + for (my $row=0;$row<$grid->GetNumberRows();$row++) { + my $found = 0; + foreach my $file ($output->get_files()) { + if ($grid->GetCellValue($row,0) eq $file->name()) { + $found = 1; + last; + } + if (!$found) { + $grid->DeleteRows($row,1,1); + } + } + } + + # Add rows with not yet displayed files. + foreach my $file ($output->get_files()) { + my $found = 0; + for (my $row=0;$row<$grid->GetNumberRows();$row++) { + if ($grid->GetCellValue($row,0) eq $file->name()) { + $found = 1; + last; + } + } + if (!$found) { + # add this file. + $grid->AppendRows(1, 1); + $grid->SetCellValue($grid->GetNumberRows()-1,0,$file->name()); + $grid->SetCellValue($grid->GetNumberRows()-1,1,0); + $grid->SetCellValue($grid->GetNumberRows()-1,2,$file->snapshotc()-1); + } + } + } + + sub OnExit($) { *************** *** 72,76 **** Wx::InitAllImageHandlers(); ! my $frame = odframe->new(); $self->SetTopWindow($frame); --- 218,228 ---- Wx::InitAllImageHandlers(); ! my $output = main::get_output(); ! my $config = main::get_config(); ! ! my $frame = odframe->new($output, $config); ! foreach my $file ($output->get_files()) { ! $frame->OnFileAdd( $file->name() ); ! } $self->SetTopWindow($frame); |
From: Uwe G. <gi...@us...> - 2005-02-08 19:10:35
|
Update of /cvsroot/opendemo/opendemo/tools/odcut In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16651 Modified Files: OdGuiGlade.wxg Log Message: set some object names to sensible values Index: OdGuiGlade.wxg =================================================================== RCS file: /cvsroot/opendemo/opendemo/tools/odcut/OdGuiGlade.wxg,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** OdGuiGlade.wxg 7 Feb 2005 21:11:56 -0000 1.1 --- OdGuiGlade.wxg 8 Feb 2005 19:10:08 -0000 1.2 *************** *** 1,4 **** <?xml version="1.0"?> ! <!-- generated by wxGlade 0.3.5.1 on Mon Feb 7 21:53:38 2005 --> <application path="OdGuiGlade.pm" name="" class="" option="0" language="perl" top_window="main_frame" encoding="UTF-8" use_gettext="1" overwrite="1" use_new_namespace="1"> --- 1,4 ---- <?xml version="1.0"?> ! <!-- generated by wxGlade 0.3.5.1 on Tue Feb 8 19:57:22 2005 --> <application path="OdGuiGlade.pm" name="" class="" option="0" language="perl" top_window="main_frame" encoding="UTF-8" use_gettext="1" overwrite="1" use_new_namespace="1"> *************** *** 9,13 **** <statusbar>1</statusbar> <toolbar>1</toolbar> ! <object class="wxMenuBar" name="frame_4_menubar" base="EditMenuBar"> <menus> <menu name="file_menu" label="&File"> --- 9,13 ---- <statusbar>1</statusbar> <toolbar>1</toolbar> ! <object class="wxMenuBar" name="menuBar" base="EditMenuBar"> <menus> <menu name="file_menu" label="&File"> *************** *** 160,164 **** <border>0</border> <option>0</option> ! <object class="wxButton" name="button_2_copy" base="EditButton"> <style>wxBU_EXACTFIT</style> <tooltip>Go to the first frame.</tooltip> --- 160,164 ---- <border>0</border> <option>0</option> ! <object class="wxButton" name="FIRSTFRAME" base="EditButton"> <style>wxBU_EXACTFIT</style> <tooltip>Go to the first frame.</tooltip> *************** *** 169,173 **** <border>0</border> <option>0</option> ! <object class="wxButton" name="button_3_copy" base="EditButton"> <style>wxBU_EXACTFIT</style> <tooltip>Play backwards.</tooltip> --- 169,173 ---- <border>0</border> <option>0</option> ! <object class="wxButton" name="PLAYBACKWARDS" base="EditButton"> <style>wxBU_EXACTFIT</style> <tooltip>Play backwards.</tooltip> *************** *** 178,182 **** <border>0</border> <option>0</option> ! <object class="wxButton" name="button_4_copy" base="EditButton"> <style>wxBU_EXACTFIT</style> <tooltip>Pause.</tooltip> --- 178,182 ---- <border>0</border> <option>0</option> ! <object class="wxButton" name="PAUSE" base="EditButton"> <style>wxBU_EXACTFIT</style> <tooltip>Pause.</tooltip> *************** *** 187,191 **** <border>0</border> <option>0</option> ! <object class="wxButton" name="button_5_copy" base="EditButton"> <style>wxBU_EXACTFIT</style> <tooltip>Play forward.</tooltip> --- 187,191 ---- <border>0</border> <option>0</option> ! <object class="wxButton" name="PLAYFORWARD" base="EditButton"> <style>wxBU_EXACTFIT</style> <tooltip>Play forward.</tooltip> *************** *** 196,200 **** <border>0</border> <option>0</option> ! <object class="wxButton" name="button_6_copy" base="EditButton"> <style>wxBU_EXACTFIT</style> <tooltip>Go to the last frame.</tooltip> --- 196,200 ---- <border>0</border> <option>0</option> ! <object class="wxButton" name="LASTFRAME" base="EditButton"> <style>wxBU_EXACTFIT</style> <tooltip>Go to the last frame.</tooltip> *************** *** 268,272 **** <border>0</border> <option>0</option> ! <object class="wxSlider" name="slider_new_copy" base="EditSlider"> <style>wxSL_HORIZONTAL</style> <tooltip>Seek to any position.</tooltip> --- 268,272 ---- <border>0</border> <option>0</option> ! <object class="wxSlider" name="SLIDER" base="EditSlider"> <style>wxSL_HORIZONTAL</style> <tooltip>Seek to any position.</tooltip> *************** *** 303,307 **** <object class="wxButton" name="button_9" base="EditButton"> <tooltip>Copy the selected Cut List entry into the Play Area.</tooltip> ! <label>To Play</label> </object> </object> --- 303,307 ---- <object class="wxButton" name="button_9" base="EditButton"> <tooltip>Copy the selected Cut List entry into the Play Area.</tooltip> ! <label>To Play Area</label> </object> </object> *************** *** 325,331 **** <border>0</border> <option>0</option> ! <object class="wxButton" name="button_12" base="EditButton"> ! <tooltip>Delete the selected Cut List entry.</tooltip> ! <label>Delete</label> </object> </object> --- 325,331 ---- <border>0</border> <option>0</option> ! <object class="wxButton" name="button_13" base="EditButton"> ! <tooltip>Make of Copy of the selected Cut List entry.</tooltip> ! <label>Copy</label> </object> </object> *************** *** 333,339 **** <border>0</border> <option>0</option> ! <object class="wxButton" name="button_13" base="EditButton"> ! <tooltip>Make of Copy of the selected Cut List entry.</tooltip> ! <label>Copy</label> </object> </object> --- 333,339 ---- <border>0</border> <option>0</option> ! <object class="wxButton" name="button_12" base="EditButton"> ! <tooltip>Delete the selected Cut List entry.</tooltip> ! <label>Delete</label> </object> </object> *************** *** 345,350 **** <border>0</border> <option>1</option> ! <object class="wxGrid" name="grid_2" base="EditGrid"> ! <rows_number>1</rows_number> <columns> <column size="-1">File Name</column> --- 345,350 ---- <border>0</border> <option>1</option> ! <object class="wxGrid" name="gridCut" base="EditGrid"> ! <rows_number>0</rows_number> <columns> <column size="-1">File Name</column> *************** *** 382,386 **** <object class="wxButton" name="button_14" base="EditButton"> <tooltip>Copy the selected Input File entry into the Play Area.</tooltip> ! <label>To Play</label> </object> </object> --- 382,386 ---- <object class="wxButton" name="button_14" base="EditButton"> <tooltip>Copy the selected Input File entry into the Play Area.</tooltip> ! <label>To Play Area</label> </object> </object> *************** *** 396,400 **** <border>0</border> <option>0</option> ! <object class="wxButton" name="button_16" base="EditButton"> <tooltip>Close the selected file.</tooltip> <label>Close</label> --- 396,400 ---- <border>0</border> <option>0</option> ! <object class="wxButton" name="fileClose" base="EditButton"> <tooltip>Close the selected file.</tooltip> <label>Close</label> *************** *** 408,413 **** <border>0</border> <option>1</option> ! <object class="wxGrid" name="grid_3" base="EditGrid"> ! <rows_number>1</rows_number> <columns> <column size="-1">File Name</column> --- 408,413 ---- <border>0</border> <option>1</option> ! <object class="wxGrid" name="gridFiles" base="EditGrid"> ! <rows_number>0</rows_number> <columns> <column size="-1">File Name</column> |
From: Uwe G. <gi...@us...> - 2005-02-07 21:27:32
|
Update of /cvsroot/opendemo/opendemo/tools/odcut In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14228 Added Files: OdGui.pm Log Message: new GUI for odcut.pl. Will replace odcugui.pm --- NEW FILE: OdGui.pm --- #!/usr/bin/perl -w # $Id: OdGui.pm,v 1.1 2005/02/07 21:04:00 girlich Exp $ package odframe; use strict; use OdGuiGlade; use base qw(OdGuiFrame); use Wx::Event qw(EVT_BUTTON EVT_CLOSE EVT_MENU); sub new { my $classname = shift; my $self = $classname->SUPER::new(@_); $self->_init(@_); return $self; } sub _init($@) { my $self = shift; my $result = 0; # Connect objects. EVT_MENU($self,5,\&OnExit); EVT_MENU($self,21,\&OnAboutStart); EVT_CLOSE($self,\&OnClose); # Give a positive result. $result = 1; out: $result; } sub OnExit($) { my $self = shift; # print STDERR $self . "\n"; my $class = ref($self); # printf STDERR "odframe OnExit %s\n", $class; $self->Close(1); } sub OnAboutStart($) { my $self = shift; my $about = OdGuiAboutDialog->new($self); $about->ShowModal(); $about->Destroy(); } sub OnClose { my( $self, $event ) = @_; # printf STDERR "odframe OnClose\n"; $self->Destroy(); } 1; # Own application class. package OdGui; use strict; use base qw(Wx::App); sub OnInit { my( $self ) = shift; Wx::InitAllImageHandlers(); my $frame = odframe->new(); $self->SetTopWindow($frame); $frame->Show(1); return 1; } 1; # Main class. package main; unless(caller){ # Create the modified application object. my $app = OdGui->new(); # Main loop. exit $app->MainLoop(); } 1; |
From: Uwe G. <gi...@us...> - 2005-02-07 21:13:50
|
Update of /cvsroot/opendemo/opendemo/tools/odcut In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16194 Modified Files: odcut.pl Log Message: replaced GUI class odcutgui by OdGui ay easily replaced back Index: odcut.pl =================================================================== RCS file: /cvsroot/opendemo/opendemo/tools/odcut/odcut.pl,v retrieving revision 1.49 retrieving revision 1.50 diff -C2 -d -r1.49 -r1.50 *** odcut.pl 31 Oct 2004 22:32:03 -0000 1.49 --- odcut.pl 7 Feb 2005 21:13:39 -0000 1.50 *************** *** 173,181 **** if ($config->action_gui) { ! # Get the GUI library. ! use odcutgui; # Create a GUI object. ! my $app = odcutgui->new(); ! # Run it. exit $app->MainLoop(); } --- 173,197 ---- if ($config->action_gui) { ! my $app; ! my $classname; ! ! if (0) { ! # Old and working. ! $classname = "odcutgui"; ! } ! else { ! # New but still prototype level. ! $classname = "OdGui"; ! } ! ! # Get the GUI library. I would prefer use but it somehow does ! # not work. ! # use $classname; ! require $classname . ".pm"; ! # Create a GUI object. ! $app = $classname->new(); ! ! # Run it and exit the program. exit $app->MainLoop(); } |
From: Uwe G. <gi...@us...> - 2005-02-07 21:13:11
|
Update of /cvsroot/opendemo/opendemo/tools/odcut In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16041 Modified Files: .cvsignore Log Message: adapted new wxg file Index: .cvsignore =================================================================== RCS file: /cvsroot/opendemo/opendemo/tools/odcut/.cvsignore,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** .cvsignore 6 Feb 2005 17:16:09 -0000 1.1 --- .cvsignore 7 Feb 2005 21:13:02 -0000 1.2 *************** *** 1,2 **** ! OdGuiFrame.pm --- 1,2 ---- ! OdGuiGlade.pm |
From: Uwe G. <gi...@us...> - 2005-02-07 21:12:32
|
Update of /cvsroot/opendemo/opendemo/tools/odcut In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15965 Modified Files: Makefile Log Message: wxg file rename Index: Makefile =================================================================== RCS file: /cvsroot/opendemo/opendemo/tools/odcut/Makefile,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Makefile 6 Feb 2005 20:37:48 -0000 1.2 --- Makefile 7 Feb 2005 21:12:21 -0000 1.3 *************** *** 1,13 **** # $Id$ ! all: OdGuiFrame.pm layout: ! wxglade OdGuiFrame.wxg %.pm: %.wxg ! wxglade --generate-code=perl --output=$@ $< clean: ! rm -f OdGuiFrame.pm --- 1,16 ---- # $Id$ ! BASE=OdGuiGlade ! WXGLADE=wxglade ! ! all: $(BASE).pm layout: ! $(WXGLADE) $(BASE).wxg %.pm: %.wxg ! $(WXGLADE) --generate-code=perl --output=$@ $< clean: ! rm -f $(BASE).pm |
From: Uwe G. <gi...@us...> - 2005-02-07 21:12:09
|
Update of /cvsroot/opendemo/opendemo/tools/odcut In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15810 Added Files: OdGuiGlade.wxg Removed Files: OdGuiFrame.wxg Log Message: replace OdGuiFrame.wxg by the more general name OdGuiGlade.wxg this file will contain much more classes in the future. --- NEW FILE: OdGuiGlade.wxg --- <?xml version="1.0"?> <!-- generated by wxGlade 0.3.5.1 on Mon Feb 7 21:53:38 2005 --> <application path="OdGuiGlade.pm" name="" class="" option="0" language="perl" top_window="main_frame" encoding="UTF-8" use_gettext="1" overwrite="1" use_new_namespace="1"> <object class="OdGuiFrame" name="main_frame" base="EditFrame"> <style>wxDEFAULT_FRAME_STYLE</style> <title>OpenDemo Cutter</title> <menubar>1</menubar> <statusbar>1</statusbar> <toolbar>1</toolbar> <object class="wxMenuBar" name="frame_4_menubar" base="EditMenuBar"> <menus> <menu name="file_menu" label="&File"> <item> <label>&Open</label> <id>1</id> <help_str>Add input file</help_str> </item> <item> <label>&Close</label> <id>2</id> <help_str>Close input file</help_str> </item> <item> <label>&Save as</label> <id>3</id> <help_str>Set output file</help_str> </item> <item> <label>Save &Log as</label> <id>4</id> <help_str>Save contents of the logging window as file</help_str> </item> <item> <label>&Exit</label> <id>5</id> <name>hallo</name> <help_str>Exit the program</help_str> </item> </menu> <menu name="action_menu" label="&Action"> <item> <label>Game Start</label> <id>11</id> <help_str>Start the external viewer program</help_str> </item> <item> <label>Map Start</label> <id>12</id> <help_str>Start the current map in the external viewer program</help_str> </item> <item> <label>---</label> <id>---</id> <name>---</name> </item> <item> <label>FIFO Start</label> <id>13</id> <help_str>Perform FIFO start</help_str> </item> <item> <label>Write Header</label> <id>14</id> <help_str>Write begin of the XML file</help_str> </item> <item> <label>Write Footer</label> <id>15</id> <help_str>Write end of the XML file</help_str> </item> <item> <label>---</label> <id>---</id> <name>---</name> </item> <item> <label>Create FIFO</label> <id>16</id> <help_str>Create named pipe (FIFO)</help_str> </item> <item> <label>Start Map and FIFO</label> <id>17</id> <help_str>Start Map in game and FIFO writing</help_str> </item> </menu> <menu name="help_meu" label="&Help"> <item> <label>&About</label> <id>21</id> <help_str>About OpenDemo Cutter</help_str> </item> <item> <label>&Help</label> <id>22</id> <help_str>Help</help_str> </item> </menu> </menus> </object> <object class="wxStatusBar" name="frame_4_statusbar" base="EditStatusBar"> <fields> <field width="-1">action</field> <field width="-1">status</field> </fields> </object> <object class="wxToolBar" name="frame_4_toolbar" base="EditToolBar"> <style>wxTB_TEXT|wxTB_NOICONS</style> <separation>5</separation> <tools> <tool> <id></id> <label>Interactive</label> <type>1</type> <short_help></short_help> <long_help></long_help> <bitmap1></bitmap1> <bitmap2></bitmap2> </tool> <tool> <id></id> <label>Start Game</label> <type>0</type> <short_help></short_help> <long_help></long_help> <bitmap1></bitmap1> <bitmap2></bitmap2> </tool> </tools> </object> <object class="wxBoxSizer" name="sizer_2" base="EditBoxSizer"> <orient>wxVERTICAL</orient> <object class="sizeritem"> <flag>wxEXPAND</flag> <border>0</border> <option>1</option> <object class="wxPanel" name="main_panel" base="EditPanel"> <style>wxTAB_TRAVERSAL</style> <object class="wxBoxSizer" name="main_sizer" base="EditBoxSizer"> <orient>wxVERTICAL</orient> <object class="sizeritem"> <flag>wxEXPAND</flag> <border>0</border> <option>0</option> <object class="wxPanel" name="panel_6" base="EditPanel"> <style>wxTAB_TRAVERSAL</style> <object class="wxStaticBoxSizer" name="sizer_9" base="EditStaticBoxSizer"> <orient>wxVERTICAL</orient> <label>Play Area</label> <object class="sizeritem"> <flag>wxEXPAND</flag> <border>0</border> <option>0</option> <object class="wxPanel" name="button_panel_copy" base="EditPanel"> <style>wxTAB_TRAVERSAL</style> <object class="wxBoxSizer" name="button_sizer_copy" base="EditBoxSizer"> <orient>wxHORIZONTAL</orient> <object class="sizeritem"> <border>0</border> <option>0</option> <object class="wxButton" name="button_2_copy" base="EditButton"> <style>wxBU_EXACTFIT</style> <tooltip>Go to the first frame.</tooltip> <label>|<</label> </object> </object> <object class="sizeritem"> <border>0</border> <option>0</option> <object class="wxButton" name="button_3_copy" base="EditButton"> <style>wxBU_EXACTFIT</style> <tooltip>Play backwards.</tooltip> <label><</label> </object> </object> <object class="sizeritem"> <border>0</border> <option>0</option> <object class="wxButton" name="button_4_copy" base="EditButton"> <style>wxBU_EXACTFIT</style> <tooltip>Pause.</tooltip> <label>||</label> </object> </object> <object class="sizeritem"> <border>0</border> <option>0</option> <object class="wxButton" name="button_5_copy" base="EditButton"> <style>wxBU_EXACTFIT</style> <tooltip>Play forward.</tooltip> <label>></label> </object> </object> <object class="sizeritem"> <border>0</border> <option>0</option> <object class="wxButton" name="button_6_copy" base="EditButton"> <style>wxBU_EXACTFIT</style> <tooltip>Go to the last frame.</tooltip> <label>>|</label> </object> </object> <object class="sizeritem"> <border>0</border> <option>1</option> <object class="spacer" name="spacer" base="EditSpacer"> <height>0</height> <width>0</width> </object> </object> <object class="sizeritem"> <flag>wxRIGHT|wxALIGN_CENTER_VERTICAL</flag> <border>3</border> <option>0</option> <object class="wxStaticText" name="label_1" base="EditStaticText"> <attribute>1</attribute> <label>Frame</label> </object> </object> <object class="sizeritem"> <flag>wxADJUST_MINSIZE</flag> <border>0</border> <option>0</option> <object class="wxSpinCtrl" name="spin_ctrl_1_copy" base="EditSpinCtrl"> <tooltip>Frame number.</tooltip> </object> </object> <object class="sizeritem"> <border>0</border> <option>1</option> <object class="spacer" name="spacer" base="EditSpacer"> <height>0</height> <width>0</width> </object> </object> <object class="sizeritem"> <flag>wxRIGHT|wxALIGN_CENTER_VERTICAL</flag> <border>3</border> <option>0</option> <object class="wxStaticText" name="label_2" base="EditStaticText"> <attribute>1</attribute> <label>Speed</label> </object> </object> <object class="sizeritem"> <border>0</border> <option>0</option> <object class="wxSpinCtrl" name="spin_ctrl_2" base="EditSpinCtrl"> <tooltip>Playback speed.</tooltip> <range>0, 100</range> <value>0</value> </object> </object> <object class="sizeritem"> <border>0</border> <option>1</option> <object class="spacer" name="spacer" base="EditSpacer"> <height>0</height> <width>0</width> </object> </object> </object> </object> </object> <object class="sizeritem"> <flag>wxEXPAND|wxALIGN_CENTER_VERTICAL</flag> <border>0</border> <option>0</option> <object class="wxSlider" name="slider_new_copy" base="EditSlider"> <style>wxSL_HORIZONTAL</style> <tooltip>Seek to any position.</tooltip> </object> </object> </object> </object> </object> <object class="sizeritem"> <flag>wxEXPAND</flag> <border>0</border> <option>1</option> <object class="wxSplitterWindow" name="cut_and_files" base="EditSplitterWindow"> <style>wxSP_3D|wxSP_BORDER</style> <orientation>wxSPLIT_HORIZONTAL</orientation> <window_2>input_files_panel</window_2> <window_1>cut_list_panel</window_1> <object class="wxPanel" name="cut_list_panel" base="EditPanel"> <style>wxSIMPLE_BORDER|wxTAB_TRAVERSAL</style> <object class="wxStaticBoxSizer" name="sizer_5" base="EditStaticBoxSizer"> <orient>wxVERTICAL</orient> <label>Cut List</label> <object class="sizeritem"> <flag>wxEXPAND</flag> <border>0</border> <option>0</option> <object class="wxPanel" name="panel_4" base="EditPanel"> <style>wxTAB_TRAVERSAL</style> <object class="wxBoxSizer" name="sizer_6" base="EditBoxSizer"> <orient>wxHORIZONTAL</orient> <object class="sizeritem"> <border>0</border> <option>0</option> <object class="wxButton" name="button_9" base="EditButton"> <tooltip>Copy the selected Cut List entry into the Play Area.</tooltip> <label>To Play</label> </object> </object> <object class="sizeritem"> <border>0</border> <option>0</option> <object class="wxButton" name="button_10" base="EditButton"> <tooltip>Move the selected Cut List entry up.</tooltip> <label>Up</label> </object> </object> <object class="sizeritem"> <border>0</border> <option>0</option> <object class="wxButton" name="button_11" base="EditButton"> <tooltip>Move the selected Cut List entry down.</tooltip> <label>Down</label> </object> </object> <object class="sizeritem"> <border>0</border> <option>0</option> <object class="wxButton" name="button_12" base="EditButton"> <tooltip>Delete the selected Cut List entry.</tooltip> <label>Delete</label> </object> </object> <object class="sizeritem"> <border>0</border> <option>0</option> <object class="wxButton" name="button_13" base="EditButton"> <tooltip>Make of Copy of the selected Cut List entry.</tooltip> <label>Copy</label> </object> </object> </object> </object> </object> <object class="sizeritem"> <flag>wxEXPAND</flag> <border>0</border> <option>1</option> <object class="wxGrid" name="grid_2" base="EditGrid"> <rows_number>1</rows_number> <columns> <column size="-1">File Name</column> <column size="-1">First Frame</column> <column size="-1">Last Frame</column> <column size="-1">Speed</column> </columns> <selection_mode>wxGrid.wxGridSelectCells</selection_mode> <enable_grid_lines>1</enable_grid_lines> <enable_grid_resize>1</enable_grid_resize> <enable_editing>1</enable_editing> <create_grid>1</create_grid> <enable_row_resize>0</enable_row_resize> <enable_col_resize>1</enable_col_resize> </object> </object> </object> </object> <object class="wxPanel" name="input_files_panel" base="EditPanel"> <style>wxSIMPLE_BORDER|wxTAB_TRAVERSAL</style> <object class="wxStaticBoxSizer" name="sizer_7" base="EditStaticBoxSizer"> <orient>wxVERTICAL</orient> <label>Input Files</label> <object class="sizeritem"> <flag>wxEXPAND</flag> <border>0</border> <option>0</option> <object class="wxPanel" name="panel_5" base="EditPanel"> <style>wxTAB_TRAVERSAL</style> <object class="wxBoxSizer" name="sizer_8" base="EditBoxSizer"> <orient>wxHORIZONTAL</orient> <object class="sizeritem"> <border>0</border> <option>0</option> <object class="wxButton" name="button_14" base="EditButton"> <tooltip>Copy the selected Input File entry into the Play Area.</tooltip> <label>To Play</label> </object> </object> <object class="sizeritem"> <border>0</border> <option>0</option> <object class="wxButton" name="button_15" base="EditButton"> <tooltip>Copy the selected Input File entry into the Cut List.</tooltip> <label>To Cut List</label> </object> </object> <object class="sizeritem"> <border>0</border> <option>0</option> <object class="wxButton" name="button_16" base="EditButton"> <tooltip>Close the selected file.</tooltip> <label>Close</label> </object> </object> </object> </object> </object> <object class="sizeritem"> <flag>wxEXPAND</flag> <border>0</border> <option>1</option> <object class="wxGrid" name="grid_3" base="EditGrid"> <rows_number>1</rows_number> <columns> <column size="-1">File Name</column> <column size="-1">First Frame</column> <column size="-1">Last Frame</column> </columns> <selection_mode>wxGrid.wxGridSelectRows</selection_mode> <enable_grid_lines>1</enable_grid_lines> <enable_grid_resize>1</enable_grid_resize> <enable_editing>0</enable_editing> <create_grid>1</create_grid> <enable_row_resize>0</enable_row_resize> <enable_col_resize>1</enable_col_resize> </object> </object> </object> </object> </object> </object> </object> </object> </object> </object> </object> <object class="OdGuiAboutDialog" name="dialog_1" base="EditDialog"> <style>wxDEFAULT_DIALOG_STYLE</style> <title>About OpenDemo Cutter</title> <object class="wxBoxSizer" name="sizer_10" base="EditBoxSizer"> <orient>wxVERTICAL</orient> <object class="sizeritem"> <border>0</border> <option>1</option> <object class="spacer" name="spacer" base="EditSpacer"> <height>0</height> <width>0</width> </object> </object> <object class="sizeritem"> <flag>wxALL|wxALIGN_CENTER_HORIZONTAL</flag> <border>10</border> <option>0</option> <object class="wxStaticText" name="label_3" base="EditStaticText"> <style>wxALIGN_CENTRE</style> <attribute>1</attribute> <label>Opendemo Cutter\nUwe Girlich (uw...@pl...)\nhttp://machinima.com/opendemo\nhttps://sourceforge.net/projects/opendemo</label> </object> </object> <object class="sizeritem"> <border>0</border> <option>1</option> <object class="spacer" name="spacer" base="EditSpacer"> <height>0</height> <width>0</width> </object> </object> <object class="sizeritem"> <flag>wxLEFT|wxRIGHT|wxBOTTOM|wxALIGN_CENTER_HORIZONTAL</flag> <border>10</border> <option>0</option> <object class="wxButton" name="AboutOk" base="EditButton"> <default>1</default> <label>Ok</label> <id>wxID_OK</id> </object> </object> <object class="sizeritem"> <border>0</border> <option>1</option> <object class="spacer" name="spacer" base="EditSpacer"> <height>0</height> <width>0</width> </object> </object> </object> </object> </application> --- OdGuiFrame.wxg DELETED --- |
From: Uwe G. <gi...@us...> - 2005-02-06 20:38:46
|
Update of /cvsroot/opendemo/opendemo/tools/odcut In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7720 Modified Files: OdGuiFrame.wxg Log Message: Move play area into box add about dialog Index: OdGuiFrame.wxg =================================================================== RCS file: /cvsroot/opendemo/opendemo/tools/odcut/OdGuiFrame.wxg,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** OdGuiFrame.wxg 6 Feb 2005 17:57:06 -0000 1.2 --- OdGuiFrame.wxg 6 Feb 2005 20:38:36 -0000 1.3 *************** *** 1,4 **** <?xml version="1.0"?> ! <!-- generated by wxGlade 0.3.5.1 on Sun Feb 6 19:03:22 2005 --> <application path="OdGuiFrame.pm" name="" class="" option="0" language="perl" top_window="main_frame" encoding="UTF-8" use_gettext="1" overwrite="1" use_new_namespace="1"> --- 1,4 ---- <?xml version="1.0"?> ! <!-- generated by wxGlade 0.3.5.1 on Sun Feb 6 21:43:37 2005 --> <application path="OdGuiFrame.pm" name="" class="" option="0" language="perl" top_window="main_frame" encoding="UTF-8" use_gettext="1" overwrite="1" use_new_namespace="1"> *************** *** 136,142 **** <border>0</border> <option>1</option> ! <object class="wxPanel" name="panel_1" base="EditPanel"> <style>wxTAB_TRAVERSAL</style> ! <object class="wxBoxSizer" name="sizer_4" base="EditBoxSizer"> <orient>wxVERTICAL</orient> <object class="sizeritem"> --- 136,142 ---- <border>0</border> <option>1</option> ! <object class="wxPanel" name="main_panel" base="EditPanel"> <style>wxTAB_TRAVERSAL</style> ! <object class="wxBoxSizer" name="main_sizer" base="EditBoxSizer"> <orient>wxVERTICAL</orient> <object class="sizeritem"> *************** *** 144,202 **** <border>0</border> <option>0</option> ! <object class="wxPanel" name="button_panel" base="EditPanel"> <style>wxTAB_TRAVERSAL</style> ! <object class="wxBoxSizer" name="button_sizer" base="EditBoxSizer"> ! <orient>wxHORIZONTAL</orient> ! <object class="sizeritem"> ! <border>0</border> ! <option>0</option> ! <object class="wxButton" name="button_2" base="EditButton"> ! <style>wxBU_EXACTFIT</style> ! <tooltip>first frame</tooltip> ! <label>|<</label> ! </object> ! </object> ! <object class="sizeritem"> ! <border>0</border> ! <option>0</option> ! <object class="wxButton" name="button_3" base="EditButton"> ! <style>wxBU_EXACTFIT</style> ! <tooltip>play backwards</tooltip> ! <label><</label> ! </object> ! </object> ! <object class="sizeritem"> ! <border>0</border> ! <option>0</option> ! <object class="wxButton" name="button_4" base="EditButton"> ! <style>wxBU_EXACTFIT</style> ! <tooltip>pause</tooltip> ! <label>||</label> ! </object> ! </object> ! <object class="sizeritem"> ! <border>0</border> ! <option>0</option> ! <object class="wxButton" name="button_5" base="EditButton"> ! <style>wxBU_EXACTFIT</style> ! <tooltip>play forward</tooltip> ! <label>></label> ! </object> ! </object> <object class="sizeritem"> <border>0</border> <option>0</option> ! <object class="wxButton" name="button_6" base="EditButton"> ! <style>wxBU_EXACTFIT</style> ! <tooltip>last frame</tooltip> ! <label>>|</label> </object> </object> <object class="sizeritem"> ! <flag>wxADJUST_MINSIZE</flag> <border>0</border> <option>0</option> ! <object class="wxSpinCtrl" name="spin_ctrl_1" base="EditSpinCtrl"> ! <tooltip>frame number</tooltip> </object> </object> --- 144,274 ---- <border>0</border> <option>0</option> ! <object class="wxPanel" name="panel_6" base="EditPanel"> <style>wxTAB_TRAVERSAL</style> ! <object class="wxStaticBoxSizer" name="sizer_9" base="EditStaticBoxSizer"> ! <orient>wxVERTICAL</orient> ! <label>Play Area</label> <object class="sizeritem"> + <flag>wxEXPAND</flag> <border>0</border> <option>0</option> ! <object class="wxPanel" name="button_panel_copy" base="EditPanel"> ! <style>wxTAB_TRAVERSAL</style> ! <object class="wxBoxSizer" name="button_sizer_copy" base="EditBoxSizer"> ! <orient>wxHORIZONTAL</orient> ! <object class="sizeritem"> ! <border>0</border> ! <option>0</option> ! <object class="wxButton" name="button_2_copy" base="EditButton"> ! <style>wxBU_EXACTFIT</style> ! <tooltip>Go to the first frame.</tooltip> ! <label>|<</label> ! </object> ! </object> ! <object class="sizeritem"> ! <border>0</border> ! <option>0</option> ! <object class="wxButton" name="button_3_copy" base="EditButton"> ! <style>wxBU_EXACTFIT</style> ! <tooltip>Play backwards.</tooltip> ! <label><</label> ! </object> ! </object> ! <object class="sizeritem"> ! <border>0</border> ! <option>0</option> ! <object class="wxButton" name="button_4_copy" base="EditButton"> ! <style>wxBU_EXACTFIT</style> ! <tooltip>Pause.</tooltip> ! <label>||</label> ! </object> ! </object> ! <object class="sizeritem"> ! <border>0</border> ! <option>0</option> ! <object class="wxButton" name="button_5_copy" base="EditButton"> ! <style>wxBU_EXACTFIT</style> ! <tooltip>Play forward.</tooltip> ! <label>></label> ! </object> ! </object> ! <object class="sizeritem"> ! <border>0</border> ! <option>0</option> ! <object class="wxButton" name="button_6_copy" base="EditButton"> ! <style>wxBU_EXACTFIT</style> ! <tooltip>Go to the last frame.</tooltip> ! <label>>|</label> ! </object> ! </object> ! <object class="sizeritem"> ! <border>0</border> ! <option>1</option> ! <object class="spacer" name="spacer" base="EditSpacer"> ! <height>0</height> ! <width>0</width> ! </object> ! </object> ! <object class="sizeritem"> ! <flag>wxRIGHT|wxALIGN_CENTER_VERTICAL</flag> ! <border>3</border> ! <option>0</option> ! <object class="wxStaticText" name="label_1" base="EditStaticText"> ! <attribute>1</attribute> ! <label>Frame</label> ! </object> ! </object> ! <object class="sizeritem"> ! <flag>wxADJUST_MINSIZE</flag> ! <border>0</border> ! <option>0</option> ! <object class="wxSpinCtrl" name="spin_ctrl_1_copy" base="EditSpinCtrl"> ! <tooltip>Frame number.</tooltip> ! </object> ! </object> ! <object class="sizeritem"> ! <border>0</border> ! <option>1</option> ! <object class="spacer" name="spacer" base="EditSpacer"> ! <height>0</height> ! <width>0</width> ! </object> ! </object> ! <object class="sizeritem"> ! <flag>wxRIGHT|wxALIGN_CENTER_VERTICAL</flag> ! <border>3</border> ! <option>0</option> ! <object class="wxStaticText" name="label_2" base="EditStaticText"> ! <attribute>1</attribute> ! <label>Speed</label> ! </object> ! </object> ! <object class="sizeritem"> ! <border>0</border> ! <option>0</option> ! <object class="wxSpinCtrl" name="spin_ctrl_2" base="EditSpinCtrl"> ! <tooltip>Playback speed.</tooltip> ! <range>0, 100</range> ! <value>0</value> ! </object> ! </object> ! <object class="sizeritem"> ! <border>0</border> ! <option>1</option> ! <object class="spacer" name="spacer" base="EditSpacer"> ! <height>0</height> ! <width>0</width> ! </object> ! </object> ! </object> </object> </object> <object class="sizeritem"> ! <flag>wxEXPAND|wxALIGN_CENTER_VERTICAL</flag> <border>0</border> <option>0</option> ! <object class="wxSlider" name="slider_new_copy" base="EditSlider"> ! <style>wxSL_HORIZONTAL</style> ! <tooltip>Seek to any position.</tooltip> </object> </object> *************** *** 205,220 **** </object> <object class="sizeritem"> - <flag>wxEXPAND|wxALIGN_CENTER_VERTICAL</flag> - <border>0</border> - <option>0</option> - <object class="wxSlider" name="slider_new" base="EditSlider"> - <style>wxSL_HORIZONTAL</style> - </object> - </object> - <object class="sizeritem"> <flag>wxEXPAND</flag> <border>0</border> <option>1</option> ! <object class="wxSplitterWindow" name="window_1" base="EditSplitterWindow"> <style>wxSP_3D|wxSP_BORDER</style> <orientation>wxSPLIT_HORIZONTAL</orientation> --- 277,284 ---- </object> <object class="sizeritem"> <flag>wxEXPAND</flag> <border>0</border> <option>1</option> ! <object class="wxSplitterWindow" name="cut_and_files" base="EditSplitterWindow"> <style>wxSP_3D|wxSP_BORDER</style> <orientation>wxSPLIT_HORIZONTAL</orientation> *************** *** 238,241 **** --- 302,306 ---- <option>0</option> <object class="wxButton" name="button_9" base="EditButton"> + <tooltip>Copy the selected Cut List entry into the Play Area.</tooltip> <label>To Play</label> </object> *************** *** 245,248 **** --- 310,314 ---- <option>0</option> <object class="wxButton" name="button_10" base="EditButton"> + <tooltip>Move the selected Cut List entry up.</tooltip> <label>Up</label> </object> *************** *** 252,255 **** --- 318,322 ---- <option>0</option> <object class="wxButton" name="button_11" base="EditButton"> + <tooltip>Move the selected Cut List entry down.</tooltip> <label>Down</label> </object> *************** *** 259,262 **** --- 326,330 ---- <option>0</option> <object class="wxButton" name="button_12" base="EditButton"> + <tooltip>Delete the selected Cut List entry.</tooltip> <label>Delete</label> </object> *************** *** 266,269 **** --- 334,338 ---- <option>0</option> <object class="wxButton" name="button_13" base="EditButton"> + <tooltip>Make of Copy of the selected Cut List entry.</tooltip> <label>Copy</label> </object> *************** *** 312,315 **** --- 381,385 ---- <option>0</option> <object class="wxButton" name="button_14" base="EditButton"> + <tooltip>Copy the selected Input File entry into the Play Area.</tooltip> <label>To Play</label> </object> *************** *** 319,322 **** --- 389,393 ---- <option>0</option> <object class="wxButton" name="button_15" base="EditButton"> + <tooltip>Copy the selected Input File entry into the Cut List.</tooltip> <label>To Cut List</label> </object> *************** *** 326,329 **** --- 397,401 ---- <option>0</option> <object class="wxButton" name="button_16" base="EditButton"> + <tooltip>Close the selected file.</tooltip> <label>Close</label> </object> *************** *** 361,363 **** --- 433,485 ---- </object> </object> + <object class="OdGuiAboutDialog" name="dialog_1" base="EditDialog"> + <style>wxDEFAULT_DIALOG_STYLE</style> + <title>About OpenDemo Cutter</title> + <object class="wxBoxSizer" name="sizer_10" base="EditBoxSizer"> + <orient>wxVERTICAL</orient> + <object class="sizeritem"> + <border>0</border> + <option>1</option> + <object class="spacer" name="spacer" base="EditSpacer"> + <height>0</height> + <width>0</width> + </object> + </object> + <object class="sizeritem"> + <flag>wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL</flag> + <border>10</border> + <option>1</option> + <object class="wxStaticText" name="label_3" base="EditStaticText"> + <style>wxALIGN_CENTRE</style> + <attribute>1</attribute> + <label>Opendemo Cutter\nUwe Girlich (uw...@pl...)\nhttp://machinima.com/opendemo\nhttps://sourceforge.net/projects/opendemo</label> + </object> + </object> + <object class="sizeritem"> + <border>0</border> + <option>1</option> + <object class="spacer" name="spacer" base="EditSpacer"> + <height>0</height> + <width>0</width> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_CENTER_HORIZONTAL</flag> + <border>0</border> + <option>0</option> + <object class="wxButton" name="AboutOk" base="EditButton"> + <default>1</default> + <label>Ok</label> + </object> + </object> + <object class="sizeritem"> + <border>0</border> + <option>1</option> + <object class="spacer" name="spacer" base="EditSpacer"> + <height>0</height> + <width>0</width> + </object> + </object> + </object> + </object> </application> |
From: Uwe G. <gi...@us...> - 2005-02-06 20:37:57
|
Update of /cvsroot/opendemo/opendemo/tools/odcut In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7572 Modified Files: Makefile Log Message: add rule to start the GUI layouter Index: Makefile =================================================================== RCS file: /cvsroot/opendemo/opendemo/tools/odcut/Makefile,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Makefile 6 Feb 2005 17:17:56 -0000 1.1 --- Makefile 6 Feb 2005 20:37:48 -0000 1.2 *************** *** 1,4 **** --- 1,9 ---- + # $Id$ + all: OdGuiFrame.pm + layout: + wxglade OdGuiFrame.wxg + %.pm: %.wxg wxglade --generate-code=perl --output=$@ $< |
From: Uwe G. <gi...@us...> - 2005-02-06 17:57:16
|
Update of /cvsroot/opendemo/opendemo/tools/odcut In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1869 Modified Files: OdGuiFrame.wxg Log Message: Cut List and Input File List added. Index: OdGuiFrame.wxg =================================================================== RCS file: /cvsroot/opendemo/opendemo/tools/odcut/OdGuiFrame.wxg,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** OdGuiFrame.wxg 6 Feb 2005 17:17:00 -0000 1.1 --- OdGuiFrame.wxg 6 Feb 2005 17:57:06 -0000 1.2 *************** *** 1,4 **** <?xml version="1.0"?> ! <!-- generated by wxGlade 0.3.5.1 on Sun Feb 6 18:16:17 2005 --> <application path="OdGuiFrame.pm" name="" class="" option="0" language="perl" top_window="main_frame" encoding="UTF-8" use_gettext="1" overwrite="1" use_new_namespace="1"> --- 1,4 ---- <?xml version="1.0"?> ! <!-- generated by wxGlade 0.3.5.1 on Sun Feb 6 19:03:22 2005 --> <application path="OdGuiFrame.pm" name="" class="" option="0" language="perl" top_window="main_frame" encoding="UTF-8" use_gettext="1" overwrite="1" use_new_namespace="1"> *************** *** 216,338 **** <border>0</border> <option>1</option> ! <object class="wxPanel" name="cut_list_main_panel" base="EditPanel"> ! <style>wxTAB_TRAVERSAL</style> ! <object class="wxStaticBoxSizer" name="cut_list_sizer" base="EditStaticBoxSizer"> ! <orient>wxHORIZONTAL</orient> ! <label>Cut List</label> ! <object class="sizeritem"> ! <flag>wxEXPAND</flag> ! <border>0</border> ! <option>1</option> ! <object class="wxGrid" name="cut_list_grid" base="EditGrid"> ! <rows_number>1</rows_number> ! <columns> ! <column size="-1">File</column> ! <column size="-1">First Frame</column> ! <column size="-1">Last Frame</column> ! <column size="-1">Speed</column> ! </columns> ! <selection_mode>wxGrid.wxGridSelectCells</selection_mode> ! <enable_grid_lines>1</enable_grid_lines> ! <enable_grid_resize>1</enable_grid_resize> ! <enable_editing>1</enable_editing> ! <create_grid>1</create_grid> ! <enable_row_resize>0</enable_row_resize> ! <enable_col_resize>1</enable_col_resize> ! </object> ! </object> ! <object class="sizeritem"> ! <flag>wxEXPAND</flag> ! <border>0</border> ! <option>0</option> ! <object class="wxPanel" name="cut_button_panel" base="EditPanel"> ! <style>wxTAB_TRAVERSAL</style> ! <object class="wxBoxSizer" name="cut_button_sizer" base="EditBoxSizer"> ! <orient>wxVERTICAL</orient> ! <object class="sizeritem"> ! <border>0</border> ! <option>1</option> ! <object class="spacer" name="spacer" base="EditSpacer"> ! <height>0</height> ! <width>0</width> ! </object> ! </object> ! <object class="sizeritem"> ! <border>0</border> ! <option>0</option> ! <object class="wxButton" name="cut_play" base="EditButton"> ! <label>Play</label> ! </object> ! </object> ! <object class="sizeritem"> ! <border>0</border> ! <option>1</option> ! <object class="spacer" name="spacer" base="EditSpacer"> ! <height>0</height> ! <width>0</width> ! </object> ! </object> ! <object class="sizeritem"> ! <border>0</border> ! <option>0</option> ! <object class="wxButton" name="cut_up" base="EditButton"> ! <label>Up</label> </object> ! </object> ! <object class="sizeritem"> ! <border>0</border> ! <option>1</option> ! <object class="spacer" name="spacer" base="EditSpacer"> ! <height>0</height> ! <width>0</width> </object> ! </object> ! <object class="sizeritem"> ! <border>0</border> ! <option>0</option> ! <object class="wxButton" name="cut_down" base="EditButton"> ! <label>Down</label> </object> ! </object> ! <object class="sizeritem"> ! <border>0</border> ! <option>1</option> ! <object class="spacer" name="spacer" base="EditSpacer"> ! <height>0</height> ! <width>0</width> </object> ! </object> ! <object class="sizeritem"> ! <border>0</border> ! <option>0</option> ! <object class="wxButton" name="cut_delete" base="EditButton"> ! <label>Delete</label> </object> </object> ! <object class="sizeritem"> ! <border>0</border> ! <option>1</option> ! <object class="spacer" name="spacer" base="EditSpacer"> ! <height>0</height> ! <width>0</width> </object> ! </object> ! <object class="sizeritem"> ! <border>0</border> ! <option>0</option> ! <object class="wxButton" name="cut_copy" base="EditButton"> ! <label>Copy</label> </object> ! </object> ! <object class="sizeritem"> ! <border>0</border> ! <option>1</option> ! <object class="spacer" name="spacer" base="EditSpacer"> ! <height>0</height> ! <width>0</width> </object> </object> </object> </object> </object> </object> --- 216,355 ---- <border>0</border> <option>1</option> ! <object class="wxSplitterWindow" name="window_1" base="EditSplitterWindow"> ! <style>wxSP_3D|wxSP_BORDER</style> ! <orientation>wxSPLIT_HORIZONTAL</orientation> ! <window_2>input_files_panel</window_2> ! <window_1>cut_list_panel</window_1> ! <object class="wxPanel" name="cut_list_panel" base="EditPanel"> ! <style>wxSIMPLE_BORDER|wxTAB_TRAVERSAL</style> ! <object class="wxStaticBoxSizer" name="sizer_5" base="EditStaticBoxSizer"> ! <orient>wxVERTICAL</orient> ! <label>Cut List</label> ! <object class="sizeritem"> ! <flag>wxEXPAND</flag> ! <border>0</border> ! <option>0</option> ! <object class="wxPanel" name="panel_4" base="EditPanel"> ! <style>wxTAB_TRAVERSAL</style> ! <object class="wxBoxSizer" name="sizer_6" base="EditBoxSizer"> ! <orient>wxHORIZONTAL</orient> ! <object class="sizeritem"> ! <border>0</border> ! <option>0</option> ! <object class="wxButton" name="button_9" base="EditButton"> ! <label>To Play</label> ! </object> </object> ! <object class="sizeritem"> ! <border>0</border> ! <option>0</option> ! <object class="wxButton" name="button_10" base="EditButton"> ! <label>Up</label> ! </object> </object> ! <object class="sizeritem"> ! <border>0</border> ! <option>0</option> ! <object class="wxButton" name="button_11" base="EditButton"> ! <label>Down</label> ! </object> </object> ! <object class="sizeritem"> ! <border>0</border> ! <option>0</option> ! <object class="wxButton" name="button_12" base="EditButton"> ! <label>Delete</label> ! </object> </object> ! <object class="sizeritem"> ! <border>0</border> ! <option>0</option> ! <object class="wxButton" name="button_13" base="EditButton"> ! <label>Copy</label> ! </object> </object> </object> ! </object> ! </object> ! <object class="sizeritem"> ! <flag>wxEXPAND</flag> ! <border>0</border> ! <option>1</option> ! <object class="wxGrid" name="grid_2" base="EditGrid"> ! <rows_number>1</rows_number> ! <columns> ! <column size="-1">File Name</column> ! <column size="-1">First Frame</column> ! <column size="-1">Last Frame</column> ! <column size="-1">Speed</column> ! </columns> ! <selection_mode>wxGrid.wxGridSelectCells</selection_mode> ! <enable_grid_lines>1</enable_grid_lines> ! <enable_grid_resize>1</enable_grid_resize> ! <enable_editing>1</enable_editing> ! <create_grid>1</create_grid> ! <enable_row_resize>0</enable_row_resize> ! <enable_col_resize>1</enable_col_resize> ! </object> ! </object> ! </object> ! </object> ! <object class="wxPanel" name="input_files_panel" base="EditPanel"> ! <style>wxSIMPLE_BORDER|wxTAB_TRAVERSAL</style> ! <object class="wxStaticBoxSizer" name="sizer_7" base="EditStaticBoxSizer"> ! <orient>wxVERTICAL</orient> ! <label>Input Files</label> ! <object class="sizeritem"> ! <flag>wxEXPAND</flag> ! <border>0</border> ! <option>0</option> ! <object class="wxPanel" name="panel_5" base="EditPanel"> ! <style>wxTAB_TRAVERSAL</style> ! <object class="wxBoxSizer" name="sizer_8" base="EditBoxSizer"> ! <orient>wxHORIZONTAL</orient> ! <object class="sizeritem"> ! <border>0</border> ! <option>0</option> ! <object class="wxButton" name="button_14" base="EditButton"> ! <label>To Play</label> ! </object> </object> ! <object class="sizeritem"> ! <border>0</border> ! <option>0</option> ! <object class="wxButton" name="button_15" base="EditButton"> ! <label>To Cut List</label> ! </object> </object> ! <object class="sizeritem"> ! <border>0</border> ! <option>0</option> ! <object class="wxButton" name="button_16" base="EditButton"> ! <label>Close</label> ! </object> </object> </object> </object> </object> + <object class="sizeritem"> + <flag>wxEXPAND</flag> + <border>0</border> + <option>1</option> + <object class="wxGrid" name="grid_3" base="EditGrid"> + <rows_number>1</rows_number> + <columns> + <column size="-1">File Name</column> + <column size="-1">First Frame</column> + <column size="-1">Last Frame</column> + </columns> + <selection_mode>wxGrid.wxGridSelectRows</selection_mode> + <enable_grid_lines>1</enable_grid_lines> + <enable_grid_resize>1</enable_grid_resize> + <enable_editing>0</enable_editing> + <create_grid>1</create_grid> + <enable_row_resize>0</enable_row_resize> + <enable_col_resize>1</enable_col_resize> + </object> + </object> </object> </object> |
From: Uwe G. <gi...@us...> - 2005-02-06 17:18:05
|
Update of /cvsroot/opendemo/opendemo/tools/odcut In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25984 Added Files: Makefile Log Message: Makefile with rules to generate source code. --- NEW FILE: Makefile --- all: OdGuiFrame.pm %.pm: %.wxg wxglade --generate-code=perl --output=$@ $< clean: rm -f OdGuiFrame.pm |
From: Uwe G. <gi...@us...> - 2005-02-06 17:17:11
|
Update of /cvsroot/opendemo/opendemo/tools/odcut In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25814 Added Files: OdGuiFrame.wxg Log Message: GUI source code for wxGlade. --- NEW FILE: OdGuiFrame.wxg --- <?xml version="1.0"?> <!-- generated by wxGlade 0.3.5.1 on Sun Feb 6 18:16:17 2005 --> <application path="OdGuiFrame.pm" name="" class="" option="0" language="perl" top_window="main_frame" encoding="UTF-8" use_gettext="1" overwrite="1" use_new_namespace="1"> <object class="OdGuiFrame" name="main_frame" base="EditFrame"> <style>wxDEFAULT_FRAME_STYLE</style> <title>OpenDemo Cutter</title> <menubar>1</menubar> <statusbar>1</statusbar> <toolbar>1</toolbar> <object class="wxMenuBar" name="frame_4_menubar" base="EditMenuBar"> <menus> <menu name="file_menu" label="&File"> <item> <label>&Open</label> <id>1</id> <help_str>Add input file</help_str> </item> <item> <label>&Close</label> <id>2</id> <help_str>Close input file</help_str> </item> <item> <label>&Save as</label> <id>3</id> <help_str>Set output file</help_str> </item> <item> <label>Save &Log as</label> <id>4</id> <help_str>Save contents of the logging window as file</help_str> </item> <item> <label>&Exit</label> <id>5</id> <name>hallo</name> <help_str>Exit the program</help_str> </item> </menu> <menu name="action_menu" label="&Action"> <item> <label>Game Start</label> <id>11</id> <help_str>Start the external viewer program</help_str> </item> <item> <label>Map Start</label> <id>12</id> <help_str>Start the current map in the external viewer program</help_str> </item> <item> <label>---</label> <id>---</id> <name>---</name> </item> <item> <label>FIFO Start</label> <id>13</id> <help_str>Perform FIFO start</help_str> </item> <item> <label>Write Header</label> <id>14</id> <help_str>Write begin of the XML file</help_str> </item> <item> <label>Write Footer</label> <id>15</id> <help_str>Write end of the XML file</help_str> </item> <item> <label>---</label> <id>---</id> <name>---</name> </item> <item> <label>Create FIFO</label> <id>16</id> <help_str>Create named pipe (FIFO)</help_str> </item> <item> <label>Start Map and FIFO</label> <id>17</id> <help_str>Start Map in game and FIFO writing</help_str> </item> </menu> <menu name="help_meu" label="&Help"> <item> <label>&About</label> <id>21</id> <help_str>About OpenDemo Cutter</help_str> </item> <item> <label>&Help</label> <id>22</id> <help_str>Help</help_str> </item> </menu> </menus> </object> <object class="wxStatusBar" name="frame_4_statusbar" base="EditStatusBar"> <fields> <field width="-1">action</field> <field width="-1">status</field> </fields> </object> <object class="wxToolBar" name="frame_4_toolbar" base="EditToolBar"> <style>wxTB_TEXT|wxTB_NOICONS</style> <separation>5</separation> <tools> <tool> <id></id> <label>Interactive</label> <type>1</type> <short_help></short_help> <long_help></long_help> <bitmap1></bitmap1> <bitmap2></bitmap2> </tool> <tool> <id></id> <label>Start Game</label> <type>0</type> <short_help></short_help> <long_help></long_help> <bitmap1></bitmap1> <bitmap2></bitmap2> </tool> </tools> </object> <object class="wxBoxSizer" name="sizer_2" base="EditBoxSizer"> <orient>wxVERTICAL</orient> <object class="sizeritem"> <flag>wxEXPAND</flag> <border>0</border> <option>1</option> <object class="wxPanel" name="panel_1" base="EditPanel"> <style>wxTAB_TRAVERSAL</style> <object class="wxBoxSizer" name="sizer_4" base="EditBoxSizer"> <orient>wxVERTICAL</orient> <object class="sizeritem"> <flag>wxEXPAND</flag> <border>0</border> <option>0</option> <object class="wxPanel" name="button_panel" base="EditPanel"> <style>wxTAB_TRAVERSAL</style> <object class="wxBoxSizer" name="button_sizer" base="EditBoxSizer"> <orient>wxHORIZONTAL</orient> <object class="sizeritem"> <border>0</border> <option>0</option> <object class="wxButton" name="button_2" base="EditButton"> <style>wxBU_EXACTFIT</style> <tooltip>first frame</tooltip> <label>|<</label> </object> </object> <object class="sizeritem"> <border>0</border> <option>0</option> <object class="wxButton" name="button_3" base="EditButton"> <style>wxBU_EXACTFIT</style> <tooltip>play backwards</tooltip> <label><</label> </object> </object> <object class="sizeritem"> <border>0</border> <option>0</option> <object class="wxButton" name="button_4" base="EditButton"> <style>wxBU_EXACTFIT</style> <tooltip>pause</tooltip> <label>||</label> </object> </object> <object class="sizeritem"> <border>0</border> <option>0</option> <object class="wxButton" name="button_5" base="EditButton"> <style>wxBU_EXACTFIT</style> <tooltip>play forward</tooltip> <label>></label> </object> </object> <object class="sizeritem"> <border>0</border> <option>0</option> <object class="wxButton" name="button_6" base="EditButton"> <style>wxBU_EXACTFIT</style> <tooltip>last frame</tooltip> <label>>|</label> </object> </object> <object class="sizeritem"> <flag>wxADJUST_MINSIZE</flag> <border>0</border> <option>0</option> <object class="wxSpinCtrl" name="spin_ctrl_1" base="EditSpinCtrl"> <tooltip>frame number</tooltip> </object> </object> </object> </object> </object> <object class="sizeritem"> <flag>wxEXPAND|wxALIGN_CENTER_VERTICAL</flag> <border>0</border> <option>0</option> <object class="wxSlider" name="slider_new" base="EditSlider"> <style>wxSL_HORIZONTAL</style> </object> </object> <object class="sizeritem"> <flag>wxEXPAND</flag> <border>0</border> <option>1</option> <object class="wxPanel" name="cut_list_main_panel" base="EditPanel"> <style>wxTAB_TRAVERSAL</style> <object class="wxStaticBoxSizer" name="cut_list_sizer" base="EditStaticBoxSizer"> <orient>wxHORIZONTAL</orient> <label>Cut List</label> <object class="sizeritem"> <flag>wxEXPAND</flag> <border>0</border> <option>1</option> <object class="wxGrid" name="cut_list_grid" base="EditGrid"> <rows_number>1</rows_number> <columns> <column size="-1">File</column> <column size="-1">First Frame</column> <column size="-1">Last Frame</column> <column size="-1">Speed</column> </columns> <selection_mode>wxGrid.wxGridSelectCells</selection_mode> <enable_grid_lines>1</enable_grid_lines> <enable_grid_resize>1</enable_grid_resize> <enable_editing>1</enable_editing> <create_grid>1</create_grid> <enable_row_resize>0</enable_row_resize> <enable_col_resize>1</enable_col_resize> </object> </object> <object class="sizeritem"> <flag>wxEXPAND</flag> <border>0</border> <option>0</option> <object class="wxPanel" name="cut_button_panel" base="EditPanel"> <style>wxTAB_TRAVERSAL</style> <object class="wxBoxSizer" name="cut_button_sizer" base="EditBoxSizer"> <orient>wxVERTICAL</orient> <object class="sizeritem"> <border>0</border> <option>1</option> <object class="spacer" name="spacer" base="EditSpacer"> <height>0</height> <width>0</width> </object> </object> <object class="sizeritem"> <border>0</border> <option>0</option> <object class="wxButton" name="cut_play" base="EditButton"> <label>Play</label> </object> </object> <object class="sizeritem"> <border>0</border> <option>1</option> <object class="spacer" name="spacer" base="EditSpacer"> <height>0</height> <width>0</width> </object> </object> <object class="sizeritem"> <border>0</border> <option>0</option> <object class="wxButton" name="cut_up" base="EditButton"> <label>Up</label> </object> </object> <object class="sizeritem"> <border>0</border> <option>1</option> <object class="spacer" name="spacer" base="EditSpacer"> <height>0</height> <width>0</width> </object> </object> <object class="sizeritem"> <border>0</border> <option>0</option> <object class="wxButton" name="cut_down" base="EditButton"> <label>Down</label> </object> </object> <object class="sizeritem"> <border>0</border> <option>1</option> <object class="spacer" name="spacer" base="EditSpacer"> <height>0</height> <width>0</width> </object> </object> <object class="sizeritem"> <border>0</border> <option>0</option> <object class="wxButton" name="cut_delete" base="EditButton"> <label>Delete</label> </object> </object> <object class="sizeritem"> <border>0</border> <option>1</option> <object class="spacer" name="spacer" base="EditSpacer"> <height>0</height> <width>0</width> </object> </object> <object class="sizeritem"> <border>0</border> <option>0</option> <object class="wxButton" name="cut_copy" base="EditButton"> <label>Copy</label> </object> </object> <object class="sizeritem"> <border>0</border> <option>1</option> <object class="spacer" name="spacer" base="EditSpacer"> <height>0</height> <width>0</width> </object> </object> </object> </object> </object> </object> </object> </object> </object> </object> </object> </object> </object> </application> |
From: Uwe G. <gi...@us...> - 2005-02-06 17:16:17
|
Update of /cvsroot/opendemo/opendemo/tools/odcut In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25614 Added Files: .cvsignore Log Message: CVS ignore file for created source --- NEW FILE: .cvsignore --- OdGuiFrame.pm |
From: Uwe G. <gi...@us...> - 2005-01-29 19:42:58
|
Update of /cvsroot/opendemo/opendemo-web/machinima In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24813 Modified Files: opendemo.base Log Message: Link to plan replaced by link to blog. Added news entry regarding new blog. Index: opendemo.base =================================================================== RCS file: /cvsroot/opendemo/opendemo-web/machinima/opendemo.base,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** opendemo.base 29 Feb 2004 12:58:13 -0000 1.5 --- opendemo.base 29 Jan 2005 19:42:48 -0000 1.6 *************** *** 4,7 **** --- 4,8 ---- <!ENTITY doc.author.name "@MYNAME@"> <!ENTITY doc.author.email "@MYEMAIL@"> + <!ENTITY doc.author.blog "http://machinima.com/opendemo/blog"> <!ENTITY doc.date "@DATE@"> <!ENTITY output.base "@OUTPUTBASE@"> *************** *** 14,18 **** <title>&doc.title;</title> <author>&doc.author.name;</author> ! <plan>http://www.machinima.com/cgi-bin/finger/finger.cgi?action=showplan&cmd=&who=Uwe&service=pseudo</plan> <email>&doc.author.email;</email> <date>&doc.date;</date> --- 15,19 ---- <title>&doc.title;</title> <author>&doc.author.name;</author> ! <blog>&doc.author.blog;</blog> <email>&doc.author.email;</email> <date>&doc.date;</date> *************** *** 741,744 **** --- 742,757 ---- <newslist> + <entry new="yes"> + <date>29th January, 2005</date> + <headline>Link to new blog</headline> + <content> + <p> + As the <tt>.plan</tt> feature here at <htmlurl url="http://machinima.com" name="M.com"/> + does not work any more, I created my own <htmlurl url="http://www.blogger.com" name="blogger.com"/> + powered blog located at <htmlurl url="&doc.author.blog;" name="&doc.author.blog;"/>. + I even wrote a first entry already. + </p> + </content> + </entry> <entry new="yes"> |
From: Uwe G. <gi...@us...> - 2005-01-29 19:42:05
|
Update of /cvsroot/opendemo/opendemo-web/machinima In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24643 Modified Files: opendemo.xsl Log Message: changed plan to blog Index: opendemo.xsl =================================================================== RCS file: /cvsroot/opendemo/opendemo-web/machinima/opendemo.xsl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** opendemo.xsl 3 Aug 2003 15:17:00 -0000 1.1 --- opendemo.xsl 29 Jan 2005 19:41:55 -0000 1.2 *************** *** 98,106 **** ! <xsl:template match="dotplan" name="dotplan"> <a> <xsl:attribute name="href"> ! <xsl:apply-templates select="//plan"/> ! </xsl:attribute>plan</a> </xsl:template> --- 98,106 ---- ! <xsl:template name="blog"> <a> <xsl:attribute name="href"> ! <xsl:apply-templates select="//blog"/> ! </xsl:attribute>blog</a> </xsl:template> *************** *** 120,124 **** </xsl:element> <font size="-3"> ! (<xsl:call-template name="dotplan"/>)</font> </h2> <xsl:apply-templates select="date"/> --- 120,124 ---- </xsl:element> <font size="-3"> ! (<xsl:call-template name="blog"/>)</font> </h2> <xsl:apply-templates select="date"/> |
From: Uwe G. <gi...@us...> - 2004-11-01 16:50:28
|
Update of /cvsroot/opendemo/opendemo/tools/odcut In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29283 Modified Files: odcutgui.pm Log Message: Implemet gui elements for handling a selection of frames and a cut-list. Index: odcutgui.pm =================================================================== RCS file: /cvsroot/opendemo/opendemo/tools/odcut/odcutgui.pm,v retrieving revision 1.47 retrieving revision 1.48 diff -C2 -d -r1.47 -r1.48 *** odcutgui.pm 31 Oct 2004 21:52:53 -0000 1.47 --- odcutgui.pm 1 Nov 2004 16:50:16 -0000 1.48 *************** *** 125,128 **** --- 125,171 ---- EVT_BUTTON($self, $self->{LASTFRAME}, \&OnLastFrameButton); + # Buttons 2nd row + $self->{GOTORANGESTART} = Wx::Button->new($self, -1, " [< ", [-1,-1], [-1,-1], wxBU_EXACTFIT); + $self->{GOTORANGESTART}->SetToolTip("goto first selected frame"); + EVT_BUTTON($self, $self->{GOTORANGESTART}, \&OnGotoRangeStartButton); + + $self->{SETRANGESTART} = Wx::Button->new($self, -1, " [<- ", [-1,-1], [-1,-1], wxBU_EXACTFIT); + $self->{SETRANGESTART}->SetToolTip("set selection start"); + EVT_BUTTON($self, $self->{SETRANGESTART}, \&OnSetRangeStartButton); + + $self->{PLAYRANGEBACKWARDS} = Wx::Button->new($self, -1, " < ", [-1,-1], [-1,-1], wxBU_EXACTFIT); + $self->{PLAYRANGEBACKWARDS}->SetToolTip("play selected range backwards"); + EVT_BUTTON($self, $self->{PLAYRANGEBACKWARDS}, \&OnPlayRangeBackwardsButton); + + $self->{PLAYRANGEFORWARD} = Wx::Button->new($self, -1, " > ", [-1,-1], [-1,-1], wxBU_EXACTFIT); + $self->{PLAYRANGEFORWARD}->SetToolTip("play selected range forward"); + EVT_BUTTON($self, $self->{PLAYRANGEFORWARD}, \&OnPlayRangeForwardButton); + $self->{SETRANGEEND} = Wx::Button->new($self, -1, " ->] ", [-1,-1], [-1,-1], wxBU_EXACTFIT); + $self->{SETRANGEEND}->SetToolTip("set selection end"); + EVT_BUTTON($self, $self->{SETRANGEEND}, \&OnSetRangeEndButton); + + $self->{GOTORANGEEND} = Wx::Button->new($self, -1, " >] ", [-1,-1], [-1,-1], wxBU_EXACTFIT); + $self->{GOTORANGEEND}->SetToolTip("goto last selected frame"); + EVT_BUTTON($self, $self->{GOTORANGEEND}, \&OnGotoRangeEndButton); + + $self->{RANGEBOX} = Wx::StaticBox->new( $self, -1, "Selected Frames", [-1, -1], [-1, -1] ); + my $srange = Wx::StaticBoxSizer->new( $self->{RANGEBOX}, wxVERTICAL); + $self->{RANGESTARTCTRL} = Wx::SpinCtrl->new( $self, -1, '', [-1, -1], [-1, -1]); + $self->{RANGESTARTCTRL}->SetRange( 0, 2147483647 ); + $self->{RANGESTARTCTRL}->SetValue( 0 ); + $self->{RANGESTARTCTRL}->SetToolTip("First selected frame"); + $srange->AddWindow($self->{RANGESTARTCTRL}, 1, wxALL, 1); + EVT_SPINCTRL( $self, $self->{RANGESTARTCTRL}, \&OnRangeStartCtrl ); + $self->{RANGEENDCTRL} = Wx::SpinCtrl->new( $self, -1, '', [-1, -1], [-1, -1]); + $self->{RANGEENDCTRL}->SetRange( 0, 2147483647 ); + $self->{RANGEENDCTRL}->SetValue( 0 ); + $self->{RANGEENDCTRL}->SetToolTip("Last selected frame"); + $srange->AddWindow($self->{RANGEENDCTRL}, 1, wxALL, 1); + EVT_SPINCTRL( $self, $self->{RANGEENDCTRL}, \&OnRangeEndCtrl ); + + $self->{COPYRANGETOCUTLIST} = Wx::Button->new($self, -1, "copy", [-1,-1], [-1,-1], wxBU_EXACTFIT); + $self->{COPYRANGETOCUTLIST}->SetToolTip("copy selected range to cut-list"); + EVT_BUTTON($self, $self->{COPYRANGETOCUTLIST}, \&OnCopyRangeToCutListButton); + # Values $self->{TIMEBOX} = Wx::StaticBox->new( $self, -1, "Time in ms", [-1, -1], [-1, -1] ); *************** *** 184,187 **** --- 227,245 ---- $sb->AddSpace(0,0,1,wxGROW); + # 2nd row buttons + my $sr = Wx::BoxSizer->new(wxHORIZONTAL); + $sr->AddSpace(10,0,0,0); + $sr->AddWindow($self->{GOTORANGESTART}, 0, wxALIGN_CENTER_VERTICAL, 10); + $sr->AddWindow($self->{SETRANGESTART}, 0, wxALIGN_CENTER_VERTICAL, 10); + $sr->AddWindow($self->{PLAYRANGEBACKWARDS}, 0, wxALIGN_CENTER_VERTICAL, 10); + $sr->AddWindow($self->{PLAYRANGEFORWARD}, 0, wxALIGN_CENTER_VERTICAL, 10); + $sr->AddWindow($self->{SETRANGEEND}, 0, wxALIGN_CENTER_VERTICAL, 10); + $sr->AddWindow($self->{GOTORANGEEND}, 0, wxALIGN_CENTER_VERTICAL, 10); + $sr->AddSpace(10,0,0,0); + $sr->AddSizer($srange, 0, wxALIGN_CENTER_VERTICAL); + $sr->AddSpace(10,0,0,0); + $sr->AddWindow($self->{COPYRANGETOCUTLIST}, 0, wxALIGN_CENTER_VERTICAL, 10); + $sr->AddSpace(0,0,1,wxGROW); + # Values my $sv = Wx::BoxSizer->new(wxHORIZONTAL); *************** *** 208,211 **** --- 266,270 ---- $sa->AddSizer($st,0,wxEXPAND); $sa->AddSizer($sb,0,wxEXPAND); + $sa->AddSizer($sr,0,wxEXPAND); $sa->AddSizer($sv,0,wxEXPAND); $sa->AddSpace(0,10,0,0); *************** *** 375,378 **** --- 434,509 ---- + sub OnGotoRangeStartButton($$) + { + my ($self, $event) = @_; + + # TODO implement + } + + + sub OnSetRangeStartButton($$) + { + my ($self, $event) = @_; + + # TODO implement + } + + + sub OnPlayRangeBackwardsButton($$) + { + my ($self, $event) = @_; + + # TODO implement + } + + + sub OnPlayRangeForwardButton($$) + { + my ($self, $event) = @_; + + # TODO implement + } + + + sub OnSetRangeEndButton($$) + { + my ($self, $event) = @_; + + # TODO implement + } + + + sub OnGotoRangeEndButton($$) + { + my ($self, $event) = @_; + + # TODO implement + } + + + sub OnRangeStartCtrl($$) + { + my ($self, $event) = @_; + + # TODO implement + } + + + sub OnRangeEndCtrl($$) + { + my ($self, $event) = @_; + + # TODO implement + } + + + sub OnCopyRangeToCutListButton($$) + { + my ($self, $event) = @_; + + # TODO implement + } + + sub OnSliderUpdate($$) { *************** *** 821,825 **** my $html_window = Wx::HtmlWindow->new($frame, -1); # TODO It would be more portable, if Pod::Html would be used directly. ! # This involves pipe redirecting and fork() but anyway. # my $parser = new Pod::Html(); # $parser->parse_from_file($0); --- 952,957 ---- my $html_window = Wx::HtmlWindow->new($frame, -1); # TODO It would be more portable, if Pod::Html would be used directly. ! # The current solution involves pipe redirecting and forking some ! # external program, which may not be available on all system. # my $parser = new Pod::Html(); # $parser->parse_from_file($0); |
From: Uwe G. <gi...@us...> - 2004-10-31 22:32:13
|
Update of /cvsroot/opendemo/opendemo/tools/odcut In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4889 Modified Files: odcut.pl Log Message: Add documentation for some configuration values. It would be better to derive the documentation more directly from the code (variable definitions). Use compressed syntax for warning, logging, output_file setting. Combine config object creation and variable definition into one API call. Index: odcut.pl =================================================================== RCS file: /cvsroot/opendemo/opendemo/tools/odcut/odcut.pl,v retrieving revision 1.48 retrieving revision 1.49 diff -C2 -d -r1.48 -r1.49 *** odcut.pl 31 Oct 2004 21:50:40 -0000 1.48 --- odcut.pl 31 Oct 2004 22:32:03 -0000 1.49 *************** *** 38,53 **** # Create configuration object. ! my $config = AppConfig->new({ ! CASE => 1, ! GLOBAL => { ! ARGCOUNT => ARGCOUNT_ONE, ! ARGS => "=s", ! EXPAND => EXPAND_ALL, ! } ! }); ! ! ! # Create the configuration variables. ! $config->define( "game_dir", { DEFAULT => "/home/uwe/games/q3a/game/linuxq3apoint-1.32b-2", --- 38,50 ---- # Create configuration object. ! my $config = AppConfig->new( ! { ! CASE => 1, ! GLOBAL => { ! ARGCOUNT => ARGCOUNT_ONE, ! ARGS => "=s", ! EXPAND => EXPAND_ALL, ! } ! }, "game_dir", { DEFAULT => "/home/uwe/games/q3a/game/linuxq3apoint-1.32b-2", *************** *** 1050,1054 **** if ($command->get_arg(0) ne $self->{"config"}->output_file) { $self->close_output(); ! $self->{"config"}->set("output_file",$command->get_arg(0)); $result = $self->{"config"}->output_file; } --- 1047,1051 ---- if ($command->get_arg(0) ne $self->{"config"}->output_file) { $self->close_output(); ! $self->{"config"}->output_file($command->get_arg(0)); $result = $self->{"config"}->output_file; } *************** *** 1179,1183 **** elsif ($command->get_code() eq "l") { if ($command->get_argc()>=1) { ! $config->set("logging",$command->get_arg(0)); } main::logging 0, "LOGGING %d\n", $config->logging; --- 1176,1180 ---- elsif ($command->get_code() eq "l") { if ($command->get_argc()>=1) { ! $config->logging($command->get_arg(0)); } main::logging 0, "LOGGING %d\n", $config->logging; *************** *** 1185,1189 **** elsif ($command->get_code() eq "w") { if ($command->get_argc()>=1) { ! $config->set("warning",$command->get_arg(0)); } main::logging 0, "WARNING %d\n", $config->warning; --- 1182,1186 ---- elsif ($command->get_code() eq "w") { if ($command->get_argc()>=1) { ! $config->warning($command->get_arg(0)); } main::logging 0, "WARNING %d\n", $config->warning; *************** *** 1562,1565 **** --- 1559,1592 ---- "File/Save Log as" menu point. + =head1 CONFIGURATION FILE + + In the configuration file, some global variables can be set in a very simple + way. The general syntax is line based with name=value pairs on every line. + Comments (#) and empty lines will be ignored. + + =head2 game_dir + + This configuration value defines the base directory, where the game installed. + The default is (from my private disk) + /home/uwe/games/q3a/game/linuxq3apoint-1.32b-2. + + =head2 game_opendemo + + This configuration value defines the directory name for the OpenDemo + modification. It is given as a relative path and should be a sub-directory of + game_dir (on Windows machines) or of the private directory (in the home + directory) on UNIX machines. The default is "od". + + =head2 game_password + + To communicate with a running game, the remote console (rcon) feature will be + used. This requires a password, which will be set with this configuration + variable. The default is "odcut". + + =head2 game_executable + + This configuration variable defines the full executable file name for the + external game to start. The default is <game_dir>/quake3.x86. + =head1 SEE ALSO |
From: Uwe G. <gi...@us...> - 2004-10-31 21:53:03
|
Update of /cvsroot/opendemo/opendemo/tools/odcut In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29968 Modified Files: odcutgui.pm Log Message: store the config object from the main program into the odcutgui object replace basic configuration values by using the config object Index: odcutgui.pm =================================================================== RCS file: /cvsroot/opendemo/opendemo/tools/odcut/odcutgui.pm,v retrieving revision 1.46 retrieving revision 1.47 diff -C2 -d -r1.46 -r1.47 *** odcutgui.pm 27 Oct 2004 19:54:13 -0000 1.46 --- odcutgui.pm 31 Oct 2004 21:52:53 -0000 1.47 *************** *** 43,46 **** --- 43,48 ---- ($self->{"output"}) = @_; + $self->{"config"} = $self->{"output"}->{"config"}; + printf "config check: password='%s'\n", $self->{"config"}->game_password; $self->CreateStatusBar(2); *************** *** 151,155 **** [-1,-1], [-1,-1]); $self->{OUTPUT} = Wx::TextCtrl->new( $self, -1, ! $self->{"output"}->get_outputfile(), [-1,-1], [-1,-1], wxTE_READONLY); $self->{OUTPUT}->SetToolTip("Output file name"); --- 153,157 ---- [-1,-1], [-1,-1]); $self->{OUTPUT} = Wx::TextCtrl->new( $self, -1, ! $self->{"config"}->output_file, [-1,-1], [-1,-1], wxTE_READONLY); $self->{OUTPUT}->SetToolTip("Output file name"); *************** *** 605,622 **** my ($self) = @_; - # TODO make this configurable - if (!exists $self->{"game_dir"}) { - $self->{"game_dir"} = "/home/uwe/games/q3a/game/linuxq3apoint-1.32b-2"; - } - if (!exists $self->{"game_executable"}) { - $self->{"game_executable"} = $self->{"game_dir"} . "/quake3.x86"; - } - if (!exists $self->{"game_opendemo"}) { - $self->{"game_opendemo"} = "od"; - } - if (!exists $self->{"game_password"}) { - $self->{"game_password"} = "odcut"; - } - # Clean up. if (exists $self->{"odgame"}) { --- 607,610 ---- *************** *** 635,641 **** # Cwd::getcwd() . "/../pwrap.pl", "xterm", "-e", ! $self->{"game_executable"}, ! "+set", "fs_game", $self->{"game_opendemo"}, ! "+set", "rconPassword", $self->{"game_password"}, "+sv_pure", "0", # What a hack! We need to start this map to activate rcon. --- 623,629 ---- # Cwd::getcwd() . "/../pwrap.pl", "xterm", "-e", ! $self->{"config"}->game_executable, ! "+set", "fs_game", $self->{"config"}->game_opendemo, ! "+set", "rconPassword", $self->{"config"}->game_password, "+sv_pure", "0", # What a hack! We need to start this map to activate rcon. *************** *** 647,651 **** # Make sure the external binary will be started in the right directory. my $prevdir=Cwd::getcwd(); ! chdir $self->{"game_dir"}; $self->{"odgame_pid"} = Wx::ExecuteArgs( @command, wxEXEC_ASYNC, $self->{"odgame"} ); --- 635,639 ---- # Make sure the external binary will be started in the right directory. my $prevdir=Cwd::getcwd(); ! chdir $self->{"config"}->game_dir; $self->{"odgame_pid"} = Wx::ExecuteArgs( @command, wxEXEC_ASYNC, $self->{"odgame"} ); *************** *** 686,690 **** # The 'odcut' here will appear on the game console to mark the command. ! my $request = "rcon\r" . $self->{"game_password"} . "\rodcut " . $command . "\0"; my $reply = $self->SendGame($request); --- 674,678 ---- # The 'odcut' here will appear on the game console to mark the command. ! my $request = "rcon\r" . $self->{"config"}->game_password . "\rodcut " . $command . "\0"; my $reply = $self->SendGame($request); *************** *** 741,745 **** # this requires, that the demo file pipe is in od. ! my $demofile = basename($output->get_outputfile()); my $map = $output->get_currentfile()->mapname(); --- 729,733 ---- # this requires, that the demo file pipe is in od. ! my $demofile = basename($self->{"config"}->output_file); my $map = $output->get_currentfile()->mapname(); *************** *** 793,797 **** { my $self = shift; ! my $filename = $self->{"output"}->get_outputfile(); my $dialog = Wx::TextEntryDialog->new($self, "Create named pipe (FIFO)\n" . "$filename with mode (octal):", "Create fifo $filename", --- 781,785 ---- { my $self = shift; ! my $filename = $self->{"config"}->output_file; my $dialog = Wx::TextEntryDialog->new($self, "Create named pipe (FIFO)\n" . "$filename with mode (octal):", "Create fifo $filename", |
From: Uwe G. <gi...@us...> - 2004-10-31 21:50:52
|
Update of /cvsroot/opendemo/opendemo/tools/odcut In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29618 Modified Files: odcut.pl Log Message: Replace get_outputfile by directly accessing the config variable output_file. Replace set_outputfile by directly accessing the config variable output_file. Index: odcut.pl =================================================================== RCS file: /cvsroot/opendemo/opendemo/tools/odcut/odcut.pl,v retrieving revision 1.47 retrieving revision 1.48 diff -C2 -d -r1.47 -r1.48 *** odcut.pl 31 Oct 2004 20:36:06 -0000 1.47 --- odcut.pl 31 Oct 2004 21:50:40 -0000 1.48 *************** *** 7,10 **** --- 7,11 ---- # TODO # correct 'e': cleaner ending + # moving game communication here *************** *** 42,46 **** ARGCOUNT => ARGCOUNT_ONE, ARGS => "=s", ! EXPAND => EXPAND_UID | EXPAND_VAR | EXPAND_ENV, } }); --- 43,47 ---- ARGCOUNT => ARGCOUNT_ONE, ARGS => "=s", ! EXPAND => EXPAND_ALL, } }); *************** *** 107,114 **** $config->define( "game_executable", { ! DEFAULT => '$game_dir/quake3.x86', }, ); # First parse the command line @ARGV. --- 108,117 ---- $config->define( "game_executable", { ! DEFAULT => $config->game_dir . "/quake3.x86", }, ); + # printf "exe=%s\n", $config->game_executable; + # First parse the command line @ARGV. *************** *** 502,506 **** @$self{keys %extra} = values %extra; } - $self->set_outputfile($config->output_file); $self->interactive(0); $self->range_running(0); --- 505,508 ---- *************** *** 644,668 **** - # Set the output file. - sub set_outputfile($$) - { - my ($self,$outputfile) = @_; - $self->{"outputfile"} = $outputfile; - } - - - # Get the output file. - sub get_outputfile($) - { - my $self = shift; - if (exists $self->{"outputfile"}) { - $self->{"outputfile"} - } - else { - undef; - } - } - - # Set the current time. sub set_time($$) --- 646,649 ---- *************** *** 837,845 **** if (!exists $self->{"outputFd"}) { ! main::logging 30, "opening %s\n", $self->get_outputfile(); ! $self->{"outputFd"} = new IO::File(">".$self->get_outputfile()); if (!defined $self->{"outputFd"}) { main::warning 0, "could not open %s for writing: $!\n", ! $self->get_outputfile(); delete $self->{"outputFd"}; return 0; --- 818,826 ---- if (!exists $self->{"outputFd"}) { ! main::logging 30, "opening %s\n", $self->{"config"}->output_file; ! $self->{"outputFd"} = new IO::File(">".$self->{"config"}->output_file); if (!defined $self->{"outputFd"}) { main::warning 0, "could not open %s for writing: $!\n", ! $self->{"config"}->output_file; delete $self->{"outputFd"}; return 0; *************** *** 864,868 **** if (exists $self->{"outputFd"}) { ! main::logging 30, "closing %s\n", $self->get_outputfile(); $self->{"outputFd"}->close(); # make sure, that no one can use it any more --- 845,849 ---- if (exists $self->{"outputFd"}) { ! main::logging 30, "closing %s\n", $self->{"config"}->output_file; $self->{"outputFd"}->close(); # make sure, that no one can use it any more *************** *** 886,895 **** else { main::warning 0, "error writing to %s: $!\n", ! $self->get_outputfile(); $self->close_output(); $self->open_output(); if (!exists $self->{"outputFd"}) { main::warning 0, "error opening %s\n", ! $self->get_outputfile(); # no other way out last; --- 867,876 ---- else { main::warning 0, "error writing to %s: $!\n", ! $self->{"config"}->output_file; $self->close_output(); $self->open_output(); if (!exists $self->{"outputFd"}) { main::warning 0, "error opening %s\n", ! $self->{"config"}->output_file; # no other way out last; *************** *** 1067,1078 **** elsif ($command->get_code() eq "o") { if ($command->get_argc() >= 1) { ! if ($command->get_arg(0) ne $self->get_outputfile()) { $self->close_output(); ! $self->set_outputfile($command->get_arg(0)); ! $result = $self->get_outputfile(); } } main::logging 0, "OUTPUT \"%s\"\n", ! $self->get_outputfile(); } # end command o elsif ($command->get_code() eq "b") { --- 1048,1059 ---- elsif ($command->get_code() eq "o") { if ($command->get_argc() >= 1) { ! if ($command->get_arg(0) ne $self->{"config"}->output_file) { $self->close_output(); ! $self->{"config"}->set("output_file",$command->get_arg(0)); ! $result = $self->{"config"}->output_file; } } main::logging 0, "OUTPUT \"%s\"\n", ! $self->{"config"}->output_file; } # end command o elsif ($command->get_code() eq "b") { |
From: Uwe G. <gi...@us...> - 2004-10-31 20:36:16
|
Update of /cvsroot/opendemo/opendemo/tools/odcut In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15773 Modified Files: odcut.pl Log Message: Replace GetOpt::Long by AppConfig, which also replaces odconfig. Index: odcut.pl =================================================================== RCS file: /cvsroot/opendemo/opendemo/tools/odcut/odcut.pl,v retrieving revision 1.46 retrieving revision 1.47 diff -C2 -d -r1.46 -r1.47 *** odcut.pl 31 Oct 2004 15:27:01 -0000 1.46 --- odcut.pl 31 Oct 2004 20:36:06 -0000 1.47 *************** *** 12,25 **** ! # modules init use strict; - use Getopt::Long qw(:config no_ignore_case); use Pod::Usage; use Pod::Text; use Time::HiRes; use POSIX; ! # release information sub release() { (my $release = q$Revision$) =~ s/^[^:]+:\s*(.*?)\s*$/$1/; $release; } sub date() { (my $date = q$Date$) =~ s/^[^:]+:\s*(.*?)\s*$/$1/; $date; } --- 12,25 ---- ! # Module init. use strict; use Pod::Usage; use Pod::Text; use Time::HiRes; use POSIX; + use AppConfig qw(:argcount :expand); ! # Release information. sub release() { (my $release = q$Revision$) =~ s/^[^:]+:\s*(.*?)\s*$/$1/; $release; } sub date() { (my $date = q$Date$) =~ s/^[^:]+:\s*(.*?)\s*$/$1/; $date; } *************** *** 27,31 **** ! # prototypes sub logging; sub warning; --- 27,31 ---- ! # Prototypes. sub logging; sub warning; *************** *** 33,78 **** ! # main ! # default option values ! my $opt_version = 0; # version off ! my $opt_help = 0; # help off ! my $opt_man = 0; # manual off ! my $opt_logging = 0; # logging verbose level ! my $opt_warning = 0; # warning verbose level ! my $opt_verbose = 0; # verbose off ! my $opt_output = "odcut.od"; # default output file name ! my $opt_gui = 0; # GUI off ! my $opt_odfile = "parser"; # default file class: XML::Parser parser ! my $opt_config = ""; # default config file: no ! # parse command line ! GetOptions( ! 'version|V' => \$opt_version, ! 'help|?' => \$opt_help, ! 'man|m' => \$opt_man, ! 'logging|l=i' => \$opt_logging, ! 'warning|w=i' => \$opt_warning, ! 'output=s' => \$opt_output, ! 'gui' => \$opt_gui, ! 'file=s' => \$opt_odfile, ! 'config|c' => \$opt_config, ! ) or pod2usage(-msg=>"Syntax error", -verbose=>0); - pod2usage(-verbose=>0) if $opt_help; ! pod2usage(-verbose=>2) if $opt_man; ! if ($opt_version) { ! printf "ODcut %s, %s (%s)\n", release(), date(), comment(); exit(1); } ! # Read in configuration files. ! my $config = new odconfig; ! # $config->set("hallo","huhu"); ! # $config->readfile("out"); ! # $config->set("hallo2",$config->get("game_password") . "huhu2"); ! # $config->writefile("out2"); ! # exit; # Create the output object. --- 33,147 ---- ! # Main program. ! # Create configuration object. ! my $config = AppConfig->new({ ! CASE => 1, ! GLOBAL => { ! ARGCOUNT => ARGCOUNT_ONE, ! ARGS => "=s", ! EXPAND => EXPAND_UID | EXPAND_VAR | EXPAND_ENV, ! } ! }); ! ! # Create the configuration variables. ! $config->define( ! "game_dir", { ! DEFAULT => "/home/uwe/games/q3a/game/linuxq3apoint-1.32b-2", ! }, ! "game_opendemo", { ! DEFAULT => "od", ! }, ! "game_password", { ! DEFAULT => "odcut", ! }, ! "config_file", { ! ALIAS => "c", ! DEFAULT => "", ! }, ! "action_version", { ! ALIAS => "version|V", ! ARGCOUNT => ARGCOUNT_NONE, ! DEFAULT => 0, ! ARGS => "", ! }, ! "action_help", { ! ALIAS => "help|h", ! ARGCOUNT => ARGCOUNT_NONE, ! DEFAULT => 0, ! ARGS => "", ! }, ! "action_man", { ! ALIAS => "man|m", ! ARGCOUNT => ARGCOUNT_NONE, ! DEFAULT => 0, ! ARGS => "", ! }, ! "logging", { ! ALIAS => "l", ! ARGS => "=i", ! DEFAULT => 0, ! }, ! "warning", { ! ALIAS => "w", ! ARGS => "=i", ! DEFAULT => 0, ! }, ! "output_file", { ! ALIAS => "output|o", ! DEFAULT => "odcut.od", ! }, ! "action_gui", { ! ALIAS => "gui|g", ! ARGCOUNT => ARGCOUNT_NONE, ! DEFAULT => 0, ! ARGS => "", ! }, ! "odfile", { ! ALIAS => "file|f", ! DEFAULT => "parser", ! }, ! ); ! $config->define( ! "game_executable", { ! DEFAULT => '$game_dir/quake3.x86', ! }, ! ); ! ! ! # First parse the command line @ARGV. ! if (!$config->getopt()) { ! pod2usage(-msg=>"Syntax error", -verbose=>0); exit(1); } ! # Perform basic actions. ! if ($config->action_version) { ! printf "ODcut %s, %s (%s)\n", release(), date(), comment(); ! exit(0); ! } ! ! if ($config->action_help) { ! pod2usage(-verbose=>0); ! exit(0); ! } ! ! if ($config->action_man) { ! pod2usage(-verbose=>2); ! exit(0); ! } ! ! # If we have a config file, read it in. ! if (length($config->config_file) > 0) { ! my $result = $config->file($config->config_file); ! if (!defined $result) { ! die "Could not parse configuration file ". ! $config->config_file . ": $!.\n"; ! } ! } ! # Create the output object. *************** *** 91,95 **** # Set the output file. ! $output->do_command(odcommand->new("o $opt_output")); --- 160,164 ---- # Set the output file. ! $output->do_command(odcommand->new("o " . $config->output_file)); *************** *** 103,107 **** ! if ($opt_gui) { # Get the GUI library. use odcutgui; --- 172,176 ---- ! if ($config->action_gui) { # Get the GUI library. use odcutgui; *************** *** 206,210 **** { my $level = shift; ! if ($level<=$opt_logging) { printf STDERR @_; } --- 275,279 ---- { my $level = shift; ! if ($level<=$config->logging) { printf STDERR @_; } *************** *** 214,218 **** { my $level = shift; ! if ($level<=$opt_warning) { printf STDERR @_; } --- 283,287 ---- { my $level = shift; ! if ($level<=$config->warning) { printf STDERR @_; } *************** *** 412,504 **** - # class definition odconfig ################################################### - package odconfig; - - - sub new($) - { - my $class = shift; - my $self = {}; - bless($self,$class); - $self->_init(); - return $self; - } - - - sub _init($) - { - my $self = shift; - - my $config = { - # 'game_dir' => '/home/uwe/games/q3a/game/linuxq3apoint-1.32b-2', - # 'game_executable' => 'quake3.x86', - # 'game_opendemo' => 'od', - 'game_password' => 'odcut', - }; - - $self->{"config"} = $config; - } - - - - sub get($$) - { - my ($self, $key) = @_; - - if (exists $self->{"config"}->{$key}) { - return $self->{"config"}->{$key}; - } - else { - warn "Config value $key does not exist.\n"; - return undef; - } - } - - - sub set($$$) - { - my ($self, $key, $value) = @_; - $self->{"config"}->{$key} = $value; - } - - - sub readfile($$) - { - my ($self, $filename) = @_; - - my $config = undef; - # TODO Portabiliy: Somehow 'do' does not work. - # unless (my $result = do $filename) { - unless (my $result = eval `cat $filename`) { - warn "couldn't parse $filename: $@\n" if $@; - warn "couldn't do $filename: $!\n" unless defined $result; - warn "couldn't run $filename\n" unless $result; - } - - # Merge data in. - # print $config; - foreach (keys %$config) { - # print ">>$_<<\n"; - $self->{"config"}->{$_} = $config->{$_}; - } - } - - - sub writefile($$) - { - my ($self, $filename) = @_; - - use Data::Dumper; - my $text = Data::Dumper->Dump([$self->{"config"}],["config"]); - my $fh = new IO::File ">$filename"; - if (!defined $fh) { - warn "couldn't open $filename for writing: $!\n"; - return -1; - } - print $fh $text; - $fh->close; - } - - # class definition odoutput ################################################### package odoutput; --- 481,484 ---- *************** *** 522,526 **** @$self{keys %extra} = values %extra; } ! $self->set_outputfile($opt_output); $self->interactive(0); $self->range_running(0); --- 502,506 ---- @$self{keys %extra} = values %extra; } ! $self->set_outputfile($config->output_file); $self->interactive(0); $self->range_running(0); *************** *** 528,531 **** --- 508,512 ---- $self->range_start(0); $self->range_end(0); + $self->{"config"} = $config; } *************** *** 997,1001 **** } else { my $odfile = undef; ! my $odfile_module = "odfile_" . $opt_odfile; my @OLDINC = @INC; # This will become more configurable in the future or will be --- 978,982 ---- } else { my $odfile = undef; ! my $odfile_module = "odfile_" . $config->odfile; my @OLDINC = @INC; # This will become more configurable in the future or will be *************** *** 1008,1012 **** }; if ($@) { ! main::warning 0, "no odfile class $opt_odfile known.\n"; } else { --- 989,993 ---- }; if ($@) { ! main::warning 0, "no odfile class %s known.\n", $config->odfile; } else { *************** *** 1217,1229 **** elsif ($command->get_code() eq "l") { if ($command->get_argc()>=1) { ! $opt_logging = $command->get_arg(0); } ! main::logging 0, "LOGGING %d\n", $opt_logging; } # end command l elsif ($command->get_code() eq "w") { if ($command->get_argc()>=1) { ! $opt_warning = $command->get_arg(0); } ! main::logging 0, "WARNING %d\n", $opt_warning; } # end command l elsif ($command->get_code() eq "i") { --- 1198,1210 ---- elsif ($command->get_code() eq "l") { if ($command->get_argc()>=1) { ! $config->set("logging",$command->get_arg(0)); } ! main::logging 0, "LOGGING %d\n", $config->logging; } # end command l elsif ($command->get_code() eq "w") { if ($command->get_argc()>=1) { ! $config->set("warning",$command->get_arg(0)); } ! main::logging 0, "WARNING %d\n", $config->warning; } # end command l elsif ($command->get_code() eq "i") { *************** *** 1267,1270 **** --- 1248,1252 ---- -h|-?|--help brief help message. -m|--man full documentation. + -c|--config file read configuration file. -l|--logging level logging verbose level (default: 0, off). -w|--warning level warning verbose level (default: 0, off). *************** *** 1289,1292 **** --- 1271,1278 ---- Prints the program version and exits. + =item B<--config level> + + Read the given configuration file. + =item B<--logging level> |
From: Uwe G. <gi...@us...> - 2004-10-31 15:27:11
|
Update of /cvsroot/opendemo/opendemo/tools/odcut In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11437 Modified Files: odcut.pl Log Message: Added basic configuration file handling. Index: odcut.pl =================================================================== RCS file: /cvsroot/opendemo/opendemo/tools/odcut/odcut.pl,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -d -r1.45 -r1.46 *** odcut.pl 24 Oct 2004 18:47:10 -0000 1.45 --- odcut.pl 31 Oct 2004 15:27:01 -0000 1.46 *************** *** 44,47 **** --- 44,48 ---- my $opt_gui = 0; # GUI off my $opt_odfile = "parser"; # default file class: XML::Parser parser + my $opt_config = ""; # default config file: no # parse command line GetOptions( *************** *** 54,57 **** --- 55,59 ---- 'gui' => \$opt_gui, 'file=s' => \$opt_odfile, + 'config|c' => \$opt_config, ) or pod2usage(-msg=>"Syntax error", -verbose=>0); *************** *** 66,69 **** --- 68,79 ---- + # Read in configuration files. + my $config = new odconfig; + # $config->set("hallo","huhu"); + # $config->readfile("out"); + # $config->set("hallo2",$config->get("game_password") . "huhu2"); + # $config->writefile("out2"); + # exit; + # Create the output object. my $output = new odoutput; *************** *** 402,405 **** --- 412,504 ---- + # class definition odconfig ################################################### + package odconfig; + + + sub new($) + { + my $class = shift; + my $self = {}; + bless($self,$class); + $self->_init(); + return $self; + } + + + sub _init($) + { + my $self = shift; + + my $config = { + # 'game_dir' => '/home/uwe/games/q3a/game/linuxq3apoint-1.32b-2', + # 'game_executable' => 'quake3.x86', + # 'game_opendemo' => 'od', + 'game_password' => 'odcut', + }; + + $self->{"config"} = $config; + } + + + + sub get($$) + { + my ($self, $key) = @_; + + if (exists $self->{"config"}->{$key}) { + return $self->{"config"}->{$key}; + } + else { + warn "Config value $key does not exist.\n"; + return undef; + } + } + + + sub set($$$) + { + my ($self, $key, $value) = @_; + $self->{"config"}->{$key} = $value; + } + + + sub readfile($$) + { + my ($self, $filename) = @_; + + my $config = undef; + # TODO Portabiliy: Somehow 'do' does not work. + # unless (my $result = do $filename) { + unless (my $result = eval `cat $filename`) { + warn "couldn't parse $filename: $@\n" if $@; + warn "couldn't do $filename: $!\n" unless defined $result; + warn "couldn't run $filename\n" unless $result; + } + + # Merge data in. + # print $config; + foreach (keys %$config) { + # print ">>$_<<\n"; + $self->{"config"}->{$_} = $config->{$_}; + } + } + + + sub writefile($$) + { + my ($self, $filename) = @_; + + use Data::Dumper; + my $text = Data::Dumper->Dump([$self->{"config"}],["config"]); + my $fh = new IO::File ">$filename"; + if (!defined $fh) { + warn "couldn't open $filename for writing: $!\n"; + return -1; + } + print $fh $text; + $fh->close; + } + + # class definition odoutput ################################################### package odoutput; |
From: Uwe G. <gi...@us...> - 2004-10-27 19:54:26
|
Update of /cvsroot/opendemo/opendemo/tools/odcut In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31365 Modified Files: odcutgui.pm Log Message: make it work (more or less) with rcon. rcon needs a running map. So we start the correct one. But later we start what we really need. Index: odcutgui.pm =================================================================== RCS file: /cvsroot/opendemo/opendemo/tools/odcut/odcutgui.pm,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -d -r1.45 -r1.46 *** odcutgui.pm 27 Oct 2004 17:19:27 -0000 1.45 --- odcutgui.pm 27 Oct 2004 19:54:13 -0000 1.46 *************** *** 25,28 **** --- 25,29 ---- use Cwd; use FileHandle; + use Sys::Hostname; @ISA = qw(Wx::Frame); *************** *** 225,228 **** --- 226,231 ---- # EVT_END_PROCESS( $self, -1, \&OnEndProcess ); + $self->{"od_rcon"} = od_rcon->new(); + $self; } *************** *** 629,635 **** # Start anew. - # my $command = sprintf "%s +set fs_game %s +set od_mode \"play\" +set od_zlib 0 +set od_pipe 1", - # $self->{"game_executable"}, - # $self->{"game_opendemo"}; my @command = [ # Cwd::getcwd() . "/../pwrap.pl", --- 632,635 ---- *************** *** 637,641 **** $self->{"game_executable"}, "+set", "fs_game", $self->{"game_opendemo"}, ! "+set", "rconPassword", $self->{"game_password"} ]; --- 637,644 ---- $self->{"game_executable"}, "+set", "fs_game", $self->{"game_opendemo"}, ! "+set", "rconPassword", $self->{"game_password"}, ! "+sv_pure", "0", ! # What a hack! We need to start this map to activate rcon. ! "+map", $self->{"output"}->get_currentfile()->mapname() ]; *************** *** 668,671 **** --- 671,696 ---- + sub SendGame($$) + { + my ($self, $request) = @_; + + my $reply = $self->{"od_rcon"}->request(hostname(), 27960, 10.0, $request); + + return $reply; + } + + + sub RconGame($$) + { + my ($self, $command) = @_; + + # The 'odcut' here will appear on the game console to mark the command. + my $request = "rcon\r" . $self->{"game_password"} . "\rodcut " . $command . "\0"; + my $reply = $self->SendGame($request); + + return $reply; + } + + sub OnProcessEnd($) { *************** *** 714,718 **** $self->OnGameStart(); } - my $stream = $self->{"odgame"}->GetOutputStream(); # this requires, that the demo file pipe is in od. --- 739,742 ---- *************** *** 720,728 **** my $map = $output->get_currentfile()->mapname(); ! printf $stream ("set od_mode \"play\"\n"); ! printf $stream ("set od_zlib 0\n"); ! printf $stream ("set od_pipe 1\n"); ! printf $stream ("set od_demofile %s\n", $demofile); ! printf $stream ("map %s\n", $map); } --- 744,752 ---- my $map = $output->get_currentfile()->mapname(); ! $self->RconGame(sprintf ("set od_mode \"play\"")); ! $self->RconGame(sprintf ("set od_zlib 0")); ! $self->RconGame(sprintf ("set od_pipe 1")); ! $self->RconGame(sprintf ("set od_demofile %s", $demofile)); ! $self->RconGame(sprintf ("map %s", $map)); } *************** *** 970,973 **** --- 994,1105 ---- + package od_rcon; + + use strict; + use Socket; + use Sys::Hostname; + + sub new($) + { + my $class = shift; + my $self = {}; + bless($self,$class); + + my $proto = getprotobyname('udp'); + my $socket; + if (!socket($socket, PF_INET, SOCK_DGRAM, $proto)) { + fprintf STDERR "socket() failed: $!\n"; + return undef; + } + my $iaddr = gethostbyname(hostname()); + my $paddr = sockaddr_in(0, $iaddr); + if (!bind($socket, $paddr)) { + fprintf STDERR "bind() failed: $!\n"; + return undef; + } + $self->{"socket"} = $socket; + + return $self; + } + + + sub DESTROY + { + my $self = shift; + + if (defined $self->{"socket"}) { + $self->{"socket"}->close(); + delete $self->{"socket"}; + } + } + + + sub request($$$$$) + { + my ($self, $host, $port, $timeout, $request) = @_; + + printf STDERR "send to %s:%d, wait %f sec\n", $host, $port, $timeout; + printf STDERR "request is '%s'\n", quotemeta($request); + + my $hisiaddr = gethostbyname($host); + my $hispaddr = sockaddr_in($port, $hisiaddr); + # The odcut here is simply the name, who did it. + my $packet = "\377\377\377\377" . $request; + my $rin = ""; + vec($rin, fileno($self->{"socket"}), 1) = 1; + my $sendtimeout = 1.0; + while ($timeout>0) { + if (!send($self->{"socket"}, $packet, 0, $hispaddr)) { + printf STDERR "send() failed: $!\n"; + printf STDERR "host=$host hisiaddr=$hisiaddr port=$port\n"; + printf STDERR "hispaddr=$hispaddr\n"; + printf STDERR "socket=%s\n", $self->{"socket"}; + return undef; + } + printf STDERR ">"; + + (my $nfound, my $sendtimeout_left) = + select (my $rout = $rin, undef, undef, $sendtimeout); + # We subtract the actual wait time for this selecto() from the global wait time. + $timeout -= ($sendtimeout - $sendtimeout_left); + if ($nfound<0) { + printf STDERR "select() failed: $!\n"; + return undef; + } + if ($nfound == 0) { + next; + } + if ($rout eq $rin) { + my $hispaddr_r = recv($self->{"socket"}, my $reply, 65536, 0); + if (!$hispaddr_r) { + printf STDERR "recv() failed: $!\n"; + return undef; + } + printf STDERR "<"; + my ($port_r, $hisiaddr_r) = sockaddr_in($hispaddr_r); + if ($hisiaddr ne $hisiaddr_r) { + printf STDERR "got reply from $hisiaddr_r, expected $hisiaddr, ignore.\n"; + next; + } + if ($port != $port_r) { + printf STDERR "got reply from port $port_r, expected $port, exignore.\n"; + next; + } + if (length($reply)>=4) { + if (substr($reply,0,4) eq '\377\377\377\377') { + $reply = substr($reply,4); + } + } + printf STDERR "reply was '%s'\n", quotemeta($reply); + return $reply; + } + } + return undef; + } + + + ###################################################################### + + package odprocess; |
From: Uwe G. <gi...@us...> - 2004-10-27 17:19:37
|
Update of /cvsroot/opendemo/opendemo/tools/odcut In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23808 Modified Files: odcutgui.pm Log Message: don't use pwrap any more. Simply use xterm. Start the game with a given rcon password. Index: odcutgui.pm =================================================================== RCS file: /cvsroot/opendemo/opendemo/tools/odcut/odcutgui.pm,v retrieving revision 1.44 retrieving revision 1.45 diff -C2 -d -r1.44 -r1.45 *** odcutgui.pm 26 Oct 2004 17:53:11 -0000 1.44 --- odcutgui.pm 27 Oct 2004 17:19:27 -0000 1.45 *************** *** 30,34 **** use Wx::Event qw(EVT_MENU EVT_SLIDER EVT_BUTTON EVT_TIMER EVT_CHECKBOX EVT_SPINCTRL EVT_NOTEBOOK_PAGE_CHANGED EVT_IDLE EVT_END_PROCESS); use Wx qw(:filedialog); ! use Wx qw(wxSIGTERM); use Wx::Html; --- 30,34 ---- use Wx::Event qw(EVT_MENU EVT_SLIDER EVT_BUTTON EVT_TIMER EVT_CHECKBOX EVT_SPINCTRL EVT_NOTEBOOK_PAGE_CHANGED EVT_IDLE EVT_END_PROCESS); use Wx qw(:filedialog); ! use Wx qw(wxSIGTERM wxEXEC_ASYNC); use Wx::Html; *************** *** 612,615 **** --- 612,618 ---- $self->{"game_opendemo"} = "od"; } + if (!exists $self->{"game_password"}) { + $self->{"game_password"} = "odcut"; + } # Clean up. *************** *** 630,636 **** # $self->{"game_opendemo"}; my @command = [ ! Cwd::getcwd() . "/../pwrap.pl", $self->{"game_executable"}, ! "+set", "fs_game", $self->{"game_opendemo"} ]; --- 633,641 ---- # $self->{"game_opendemo"}; my @command = [ ! # Cwd::getcwd() . "/../pwrap.pl", ! "xterm", "-e", $self->{"game_executable"}, ! "+set", "fs_game", $self->{"game_opendemo"}, ! "+set", "rconPassword", $self->{"game_password"} ]; *************** *** 640,644 **** my $prevdir=Cwd::getcwd(); chdir $self->{"game_dir"}; ! $self->{"odgame_pid"} = Wx::ExecuteArgs( @command, 0, $self->{"odgame"} ); # Go back to the old directory. chdir $prevdir; --- 645,650 ---- my $prevdir=Cwd::getcwd(); chdir $self->{"game_dir"}; ! $self->{"odgame_pid"} = Wx::ExecuteArgs( @command, wxEXEC_ASYNC, ! $self->{"odgame"} ); # Go back to the old directory. chdir $prevdir; |