]> git.xonotic.org Git - xonotic/xonotic.git/blob - misc/tools/NexuizDemoRecorder/main/src/main/resources/help/html/plugin-architecture.html
initial checkin from nexuiz svn r8756
[xonotic/xonotic.git] / misc / tools / NexuizDemoRecorder / main / src / main / resources / help / html / plugin-architecture.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">\r
2 \r
3 <html>\r
4   <head>\r
5     <meta name="generator" content="HTML Tidy, see www.w3.org">\r
6 \r
7     <title></title>\r
8   </head>\r
9 \r
10   <body>\r
11 <H1>Plug-in architecture</H1>\r
12 <H2>Introduction</H2>\r
13 <P>While the Nexuiz Demo Recorder (NDR)\r
14 saves you a lot of time, what many video editors still need to do is\r
15 to transcode/convert/encode/you-name-it the resulting huge avi clip\r
16 to another (lossless) format. Or, if you are not an editor but just a\r
17 player who wants to distribute the recorded clip, unless you had\r
18 Nexuiz encode the clip in the Ogg Theora codec (cl_capturevideo_ogg\r
19 1), you might want to encode it in XviD, H.264 or some other lossy\r
20 codec. For encoding people use all different kinds of tools. Some\r
21 have a GUI, some don't. Some are available on just one platform, some\r
22 are cross-platform to some extent. However, since this release the\r
23 NDR is now able to also encode clips to whatever format you like by\r
24 the use of <B>encoder plug-ins</B>. For this the NDR has been\r
25 extended with a plug-in architecture that will look for plug-ins in\r
26 the &ldquo;plugins&rdquo; folder. NDR plug-ins are basically just a\r
27 bridge between the NDR application and an actual encoder. Examples\r
28 for actual encoders are <B>VirtualDub</B> for MS Windows, or <B>mencoder</B>\r
29 for Linux. What a plug-in will do is to assemble a command line that\r
30 will execute this encoder and hand it the required parameters.</P>\r
31 <H2>Extension is easy</H2>\r
32 <P>In this release the NDR ships with\r
33 just one plug-in: the VirtualDub plug-in. However, if you are a Java\r
34 developer it is really easy for you to write your own plug-ins that\r
35 will be able to handle whatever encoder you want to use. If you are\r
36 interested, have a look into the <B>src</B> folder at the <B>Sample\r
37 Plugin</B>. All you need to do is to implement an interface, edit\r
38 some meta-information files and build a jar file that is being put\r
39 into the <B>plugins</B> directory of the NDR.</P>\r
40 <H2>Plug-in settings</H2>\r
41 <P>Each plug-in allows the user to\r
42 interact with it, by offering settings (or &ldquo;preferences&rdquo;).\r
43 There are 2 kinds of settings:</P>\r
44 <UL>\r
45         <LI><P>Global settings, which will be\r
46         shown in the File &rarr; Preferences dialog</P>\r
47         <LI><P>Job/template-specific settings,\r
48         which will be shown in the dialog you use when creating or editing\r
49         jobs or templates</P>\r
50 </UL>\r
51 <H2>Use plug-ins later on</H2>\r
52 <P>In order to invoke the functionality\r
53 of the plug-in you are not required to set up everything at the very\r
54 beginning (before the clip has actually been recorded). Of course,\r
55 you can do so, and in this case the job would be recorded and, right\r
56 after that, be encoded as well. But you can also choose to have jobs\r
57 recorded first, and then later when you see the need to encode them,\r
58 edit the job settings (add your plug-in settings there), and then\r
59 right-click the job and select &ldquo;just run the xyz plug-in&rdquo;.\r
60 Basically this menu item will work on any job with status = <B>done</B>.</P>\r
61 <P>Of course you may not move the\r
62 recorded clip from the destination that you set up, because otherwise\r
63 the plug-in would not find the file to encode it.</P>\r
64 <H2>Error handling</H2>\r
65 <P>In case something went wrong during\r
66 the execution of the plug-in itself, you will see a &ldquo;plug-in\r
67 error&rdquo; in the <B>status</B> column of the jobs table. Like for\r
68 normal &ldquo;errors&rdquo;, you can right-click the job and click on\r
69 &ldquo;show error message&rdquo; in order to see the error message of\r
70 the plug-in. In case you can repair whatever went wrong, do so, then\r
71 right-click the job and click on &ldquo;reset job status to <B>done</B>&rdquo;.\r
72 Then you can run the plug-in again.</P>\r
73 <P>If a plug-in appeared to do its job\r
74 just fine but you suspect that something went wrong, you might want\r
75 to have a look at the <B>logs</B> directory in the NDR folder.\r
76 Depending on whether the one who created the plug-in implemented it,\r
77 you might see log files which are basically text files containing the\r
78 output of the encoder itself.</P>\r
79   </body>\r
80 </html>\r
81 \r