/[svn]/linuxsampler/trunk/Documentation/lscp.xml
ViewVC logotype

Diff of /linuxsampler/trunk/Documentation/lscp.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1353 by iliev, Mon Sep 17 23:15:25 2007 UTC revision 1362 by schoenebeck, Sun Sep 30 21:33:26 2007 UTC
# Line 4759  Schoenebeck'> Line 4759  Schoenebeck'>
4759    
4760              <section title="Managing Instruments Database" anchor="Managing Instruments Database">              <section title="Managing Instruments Database" anchor="Managing Instruments Database">
4761                  <t>The following commands describe how to use and manage                  <t>The following commands describe how to use and manage
4762                  the instruments database.</t>                  the instruments database.</t>
4763                  <t>Notice:</t>                  <t>Notice:</t>
4764                      <t>                      <t>
4765                          <list>                          <list>
4766                              <t>All command arguments representing a path or                              <t>All command arguments representing a path or
4767                              instrument/directory name support escape sequences as described in chapter                              instrument/directory name support escape sequences as described in chapter
4768                              "<xref target="character_set">Character Set and Escape Sequences</xref>".                              "<xref target="character_set">Character Set and Escape Sequences</xref>".
4769                              </t>                              </t>
# Line 4949  Schoenebeck'> Line 4949  Schoenebeck'>
4949                                  <list>                                  <list>
4950                                      <t>DESCRIPTION -                                      <t>DESCRIPTION -
4951                                          <list>                                          <list>
4952                                              <t>A brief description of the directory content.                                              <t>A brief description of the directory content.
4953                                              Note that the character string may contain                                              Note that the character string may contain
4954                                              <xref target="character_set">escape sequences</xref>.</t>                                              <xref target="character_set">escape sequences</xref>.</t>
4955                                          </list>                                          </list>
4956                                      </t>                                      </t>
# Line 5162  Schoenebeck'> Line 5162  Schoenebeck'>
5162                        <t>NAME='&lt;search-string&gt;'                        <t>NAME='&lt;search-string&gt;'
5163                            <list>                            <list>
5164                                <t>Restricts the search to directories, which names                                <t>Restricts the search to directories, which names
5165                                satisfy the supplied search string (encapsulated into apostrophes,                                satisfy the supplied search string (encapsulated into apostrophes,
5166                                supporting escape sequences as described in chapter                                supporting escape sequences as described in chapter
5167                                "<xref target="character_set">Character Set and Escape Sequences</xref>").</t>                                "<xref target="character_set">Character Set and Escape Sequences</xref>").</t>
5168                            </list>                            </list>
# Line 5196  Schoenebeck'> Line 5196  Schoenebeck'>
5196                            <list>                            <list>
5197                                <t>Restricts the search to directories with description                                <t>Restricts the search to directories with description
5198                                that satisfies the supplied search string                                that satisfies the supplied search string
5199                                (encapsulated into apostrophes, supporting escape                                (encapsulated into apostrophes, supporting escape
5200                                sequences as described in chapter                                sequences as described in chapter
5201                                "<xref target="character_set">Character Set and Escape Sequences</xref>").</t>                                "<xref target="character_set">Character Set and Escape Sequences</xref>").</t>
5202                            </list>                            </list>
# Line 5459  Schoenebeck'> Line 5459  Schoenebeck'>
5459                                  <list>                                  <list>
5460                                      <t>INSTRUMENT_FILE -                                      <t>INSTRUMENT_FILE -
5461                                          <list>                                          <list>
5462                                              <t>File name of the instrument.                                              <t>File name of the instrument.
5463                                              Note that the character string may contain                                              Note that the character string may contain
5464                                              <xref target="character_set">escape sequences</xref>.</t>                                              <xref target="character_set">escape sequences</xref>.</t>
5465                                          </list>                                          </list>
5466                                      </t>                                      </t>
# Line 5500  Schoenebeck'> Line 5500  Schoenebeck'>
5500                                      </t>                                      </t>
5501                                      <t>DESCRIPTION -                                      <t>DESCRIPTION -
5502                                          <list>                                          <list>
5503                                              <t>A brief description of the instrument.                                              <t>A brief description of the instrument.
5504                                              Note that the character string may contain                                              Note that the character string may contain
5505                                              <xref target="character_set">escape sequences</xref>.</t>                                              <xref target="character_set">escape sequences</xref>.</t>
5506                                          </list>                                          </list>
5507                                      </t>                                      </t>
# Line 5513  Schoenebeck'> Line 5513  Schoenebeck'>
5513                                      </t>                                      </t>
5514                                      <t>PRODUCT -                                      <t>PRODUCT -
5515                                          <list>                                          <list>
5516                                              <t>The product title of the instrument.                                              <t>The product title of the instrument.
5517                                              Note that the character string may contain                                              Note that the character string may contain
5518                                              <xref target="character_set">escape sequences</xref>.</t>                                              <xref target="character_set">escape sequences</xref>.</t>
5519                                          </list>                                          </list>
5520                                      </t>                                      </t>
5521                                      <t>ARTISTS -                                      <t>ARTISTS -
5522                                          <list>                                          <list>
5523                                              <t>Lists the artist names.                                              <t>Lists the artist names.
5524                                              Note that the character string may contain                                              Note that the character string may contain
5525                                              <xref target="character_set">escape sequences</xref>.</t>                                              <xref target="character_set">escape sequences</xref>.</t>
5526                                          </list>                                          </list>
5527                                      </t>                                      </t>
5528                                      <t>KEYWORDS -                                      <t>KEYWORDS -
5529                                          <list>                                          <list>
5530                                              <t>Provides a list of keywords that refer to the instrument.                                              <t>Provides a list of keywords that refer to the instrument.
5531                                              Keywords are separated with semicolon and blank.                                              Keywords are separated with semicolon and blank.
5532                                              Note that the character string may contain                                              Note that the character string may contain
5533                                              <xref target="character_set">escape sequences</xref>.</t>                                              <xref target="character_set">escape sequences</xref>.</t>
5534                                          </list>                                          </list>
5535                                      </t>                                      </t>
# Line 5734  Schoenebeck'> Line 5734  Schoenebeck'>
5734                        <t>NAME='&lt;search-string&gt;'                        <t>NAME='&lt;search-string&gt;'
5735                            <list>                            <list>
5736                                <t>Restricts the search to instruments, which names                                <t>Restricts the search to instruments, which names
5737                                satisfy the supplied search string (encapsulated into apostrophes,                                satisfy the supplied search string (encapsulated into apostrophes,
5738                                supporting escape sequences as described in chapter                                supporting escape sequences as described in chapter
5739                                "<xref target="character_set">Character Set and Escape Sequences</xref>").</t>                                "<xref target="character_set">Character Set and Escape Sequences</xref>").</t>
5740                            </list>                            </list>
# Line 5778  Schoenebeck'> Line 5778  Schoenebeck'>
5778                        <t>DESCRIPTION='&lt;search-string&gt;'                        <t>DESCRIPTION='&lt;search-string&gt;'
5779                            <list>                            <list>
5780                                <t>Restricts the search to instruments with description                                <t>Restricts the search to instruments with description
5781                                that satisfies the supplied search string (encapsulated into apostrophes,                                that satisfies the supplied search string (encapsulated into apostrophes,
5782                                supporting escape sequences as described in chapter                                supporting escape sequences as described in chapter
5783                                "<xref target="character_set">Character Set and Escape Sequences</xref>").</t>                                "<xref target="character_set">Character Set and Escape Sequences</xref>").</t>
5784                            </list>                            </list>
# Line 5787  Schoenebeck'> Line 5787  Schoenebeck'>
5787                        <t>PRODUCT='&lt;search-string&gt;'                        <t>PRODUCT='&lt;search-string&gt;'
5788                            <list>                            <list>
5789                                <t>Restricts the search to instruments with product info                                <t>Restricts the search to instruments with product info
5790                                that satisfies the supplied search string (encapsulated into apostrophes,                                that satisfies the supplied search string (encapsulated into apostrophes,
5791                                supporting escape sequences as described in chapter                                supporting escape sequences as described in chapter
5792                                "<xref target="character_set">Character Set and Escape Sequences</xref>").</t>                                "<xref target="character_set">Character Set and Escape Sequences</xref>").</t>
5793                            </list>                            </list>
# Line 5796  Schoenebeck'> Line 5796  Schoenebeck'>
5796                        <t>ARTISTS='&lt;search-string&gt;'                        <t>ARTISTS='&lt;search-string&gt;'
5797                            <list>                            <list>
5798                                <t>Restricts the search to instruments with artists info                                <t>Restricts the search to instruments with artists info
5799                                that satisfies the supplied search string (encapsulated into apostrophes,                                that satisfies the supplied search string (encapsulated into apostrophes,
5800                                supporting escape sequences as described in chapter                                supporting escape sequences as described in chapter
5801                                "<xref target="character_set">Character Set and Escape Sequences</xref>").</t>                                "<xref target="character_set">Character Set and Escape Sequences</xref>").</t>
5802                            </list>                            </list>
# Line 5805  Schoenebeck'> Line 5805  Schoenebeck'>
5805                        <t>KEYWORDS='&lt;search-string&gt;'                        <t>KEYWORDS='&lt;search-string&gt;'
5806                            <list>                            <list>
5807                                <t>Restricts the search to instruments with keyword list                                <t>Restricts the search to instruments with keyword list
5808                                that satisfies the supplied search string (encapsulated into apostrophes,                                that satisfies the supplied search string (encapsulated into apostrophes,
5809                                supporting escape sequences as described in chapter                                supporting escape sequences as described in chapter
5810                                "<xref target="character_set">Character Set and Escape Sequences</xref>").</t>                                "<xref target="character_set">Character Set and Escape Sequences</xref>").</t>
5811                            </list>                            </list>
# Line 5923  Schoenebeck'> Line 5923  Schoenebeck'>
5923    
5924                  <section title="Formatting the instruments database" anchor="FORMAT INSTRUMENTS_DB">                  <section title="Formatting the instruments database" anchor="FORMAT INSTRUMENTS_DB">
5925                      <t>The front-end can remove all instruments and directories and re-create                      <t>The front-end can remove all instruments and directories and re-create
5926                      the instruments database structure (e.g., in case of a database corruption)                      the instruments database structure (e.g., in case of a database corruption)
5927                      by sending the following command:</t>                      by sending the following command:</t>
5928                      <t>                      <t>
5929                          <list>                          <list>
# Line 5951  Schoenebeck'> Line 5951  Schoenebeck'>
5951    
5952              </section>              </section>
5953    
5954    
5955    
5956                <section title="Editing Instruments" anchor="editing_instruments">
5957                    <t>The sampler allows to edit instruments while playing with the
5958                    sampler by spawning an external (3rd party) instrument editor
5959                    application for a given instrument. The 3rd party instrument
5960                    editor applications have to place a respective plugin DLL file
5961                    into the sampler's plugins directory. The sampler will
5962                    automatically try to load all plugin DLLs in that directory on
5963                    startup and only on startup!</t>
5964                    <t>At the moment there is only one command for this feature set,
5965                    but this will most probably change in future.</t>
5966    
5967                    <section title="Opening an appropriate instrument editor application" anchor="EDIT INSTRUMENT">
5968                        <t>The front-end can request to open an appropriate instrument
5969                        editor application by sending the following command:</t>
5970                        <t>
5971                            <list>
5972                                <t>EDIT INSTRUMENT &lt;sampler-channel&gt;</t>
5973                            </list>
5974                        </t>
5975                        <t>Where &lt;sampler-channel&gt; should be replaced by the
5976                        number of the sampler channel as given by the
5977                        <xref target="ADD CHANNEL">"ADD CHANNEL"</xref>
5978                        or <xref target="LIST CHANNELS">"LIST CHANNELS"</xref>
5979                        command.</t>
5980    
5981                        <t>The sampler will try to ask all registered instrument
5982                        editors (or to be more specific: their sampler plugins)
5983                        whether they are capable to handle the instrument on the
5984                        given sampler channel. The sampler will simply use the first
5985                        instrument editor application which replied with a positive
5986                        answer and spawn that instrument editor application within
5987                        the sampler's process and provide that application access
5988                        to the instrument's data structures, so both applications
5989                        can share and access the same instruments data at the same
5990                        time, thus allowing to immediately hear changes with the
5991                        sampler made by the instrument editor.</t>
5992    
5993                        <t>Note: consequently instrument editors are always spawned
5994                        locally on the same machine where the sampler is running
5995                        on!</t>
5996    
5997                        <t>Possible Answers:</t>
5998                        <t>
5999                            <list>
6000                                <t>"OK" -
6001                                    <list>
6002                                        <t>when an appropriate instrument editor was
6003                                        launched</t>
6004                                    </list>
6005                                </t>
6006                                <t>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6007                                    <list>
6008                                        <t>when an appropriate instrument editor was
6009                                        launched, but there are noteworthy issues</t>
6010                                    </list>
6011                                </t>
6012                                <t>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6013                                    <list>
6014                                        <t>when an appropriate instrument editor
6015                                        could not be launched</t>
6016                                    </list>
6017                                </t>
6018                            </list>
6019                        </t>
6020    
6021                        <t>Examples:</t>
6022                        <t>
6023                            <list>
6024                                <t>C: "EDIT INSTRUMENT 0"</t>
6025                                <t>S: "OK"</t>
6026                            </list>
6027                        </t>
6028                    </section>
6029                </section>
6030          </section>          </section>
6031    
6032    
# Line 6038  Schoenebeck'> Line 6114  Schoenebeck'>
6114                  </t>                  </t>
6115                  <t>/ EDIT SP edit_instruction                  <t>/ EDIT SP edit_instruction
6116                  </t>                  </t>
6117                    <t>/ FORMAT SP format_instruction
6118                    </t>
6119                  <t>/ RESET                  <t>/ RESET
6120                  </t>                  </t>
6121                  <t>/ QUIT                  <t>/ QUIT
# Line 6048  Schoenebeck'> Line 6126  Schoenebeck'>
6126          <list>          <list>
6127                  <t>CHANNEL                  <t>CHANNEL
6128                  </t>                  </t>
6129                  <t>/ DB_INSTRUMENT_DIRECTORY SP pathname                  <t>/ DB_INSTRUMENT_DIRECTORY SP db_path
6130                  </t>                  </t>
6131                  <t>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP pathname SP pathname                  <t>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename
6132                  </t>                  </t>
6133                  <t>/ DB_INSTRUMENTS SP scan_mode SP pathname SP pathname                  <t>/ DB_INSTRUMENTS SP scan_mode SP db_path SP filename
6134                  </t>                  </t>
6135                  <t>/ DB_INSTRUMENTS SP NON_MODAL SP pathname SP pathname                  <t>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename
6136                  </t>                  </t>
6137                  <t>/ DB_INSTRUMENTS SP NON_MODAL SP pathname SP pathname SP instrument_index                  <t>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename SP instrument_index
6138                  </t>                  </t>
6139                  <t>/ DB_INSTRUMENTS SP pathname SP pathname                  <t>/ DB_INSTRUMENTS SP db_path SP filename
6140                  </t>                  </t>
6141                  <t>/ DB_INSTRUMENTS SP pathname SP pathname SP instrument_index                  <t>/ DB_INSTRUMENTS SP db_path SP filename SP instrument_index
6142                  </t>                  </t>
6143                  <t>/ MIDI_INSTRUMENT_MAP                  <t>/ MIDI_INSTRUMENT_MAP
6144                  </t>                  </t>
# Line 6194  Schoenebeck'> Line 6272  Schoenebeck'>
6272                  </t>                  </t>
6273                  <t>/ MIDI_INSTRUMENT_MAP SP ALL                  <t>/ MIDI_INSTRUMENT_MAP SP ALL
6274                  </t>                  </t>
6275                  <t>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP pathname                  <t>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path
6276                  </t>                  </t>
6277                  <t>/ DB_INSTRUMENT_DIRECTORY SP pathname                  <t>/ DB_INSTRUMENT_DIRECTORY SP db_path
6278                  </t>                  </t>
6279                  <t>/ DB_INSTRUMENT SP pathname                  <t>/ DB_INSTRUMENT SP db_path
6280                  </t>                  </t>
6281          </list>          </list>
6282  </t>  </t>
# Line 6270  Schoenebeck'> Line 6348  Schoenebeck'>
6348                  </t>                  </t>
6349                  <t>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id                  <t>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id
6350                  </t>                  </t>
6351                  <t>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP pathname                  <t>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
6352                  </t>                  </t>
6353                  <t>/ DB_INSTRUMENT_DIRECTORIES SP pathname                  <t>/ DB_INSTRUMENT_DIRECTORIES SP db_path
6354                  </t>                  </t>
6355                  <t>/ DB_INSTRUMENT_DIRECTORY SP INFO SP pathname                  <t>/ DB_INSTRUMENT_DIRECTORY SP INFO SP db_path
6356                  </t>                  </t>
6357                  <t>/ DB_INSTRUMENTS SP RECURSIVE SP pathname                  <t>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
6358                  </t>                  </t>
6359                  <t>/ DB_INSTRUMENTS SP pathname                  <t>/ DB_INSTRUMENTS SP db_path
6360                  </t>                  </t>
6361                  <t>/ DB_INSTRUMENT SP INFO SP pathname                  <t>/ DB_INSTRUMENT SP INFO SP db_path
6362                  </t>                  </t>
6363                  <t>/ DB_INSTRUMENTS_JOB SP INFO SP number                  <t>/ DB_INSTRUMENTS_JOB SP INFO SP number
6364                  </t>                  </t>
# Line 6312  Schoenebeck'> Line 6390  Schoenebeck'>
6390                  </t>                  </t>
6391                  <t>/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value                  <t>/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value
6392                  </t>                  </t>
6393                  <t>/ DB_INSTRUMENT_DIRECTORY SP NAME SP pathname SP dirname                  <t>/ DB_INSTRUMENT_DIRECTORY SP NAME SP db_path SP stringval_escaped
6394                  </t>                  </t>
6395                  <t>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP pathname SP stringval                  <t>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP db_path SP stringval_escaped
6396                  </t>                  </t>
6397                  <t>/ DB_INSTRUMENT SP NAME SP pathname SP dirname                  <t>/ DB_INSTRUMENT SP NAME SP db_path SP stringval_escaped
6398                  </t>                  </t>
6399                  <t>/ DB_INSTRUMENT SP DESCRIPTION SP pathname SP stringval                  <t>/ DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped
6400                  </t>                  </t>
6401                  <t>/ ECHO SP boolean                  <t>/ ECHO SP boolean
6402                  </t>                  </t>
# Line 6358  Schoenebeck'> Line 6436  Schoenebeck'>
6436  </t>  </t>
6437  <t>find_instruction =  <t>find_instruction =
6438          <list>          <list>
6439                  <t>DB_INSTRUMENTS SP NON_RECURSIVE SP pathname SP query_val_list                  <t>DB_INSTRUMENTS SP NON_RECURSIVE SP db_path SP query_val_list
6440                  </t>                  </t>
6441                  <t>/ DB_INSTRUMENTS SP pathname SP query_val_list                  <t>/ DB_INSTRUMENTS SP db_path SP query_val_list
6442                  </t>                  </t>
6443                  <t>/ DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP pathname SP query_val_list                  <t>/ DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP db_path SP query_val_list
6444                  </t>                  </t>
6445                  <t>/ DB_INSTRUMENT_DIRECTORIES SP pathname SP query_val_list                  <t>/ DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list
6446                  </t>                  </t>
6447          </list>          </list>
6448  </t>  </t>
6449  <t>move_instruction =  <t>move_instruction =
6450          <list>          <list>
6451                  <t>DB_INSTRUMENT_DIRECTORY SP pathname SP pathname                  <t>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
6452                  </t>                  </t>
6453                  <t>/ DB_INSTRUMENT SP pathname SP pathname                  <t>/ DB_INSTRUMENT SP db_path SP db_path
6454                  </t>                  </t>
6455          </list>          </list>
6456  </t>  </t>
6457  <t>copy_instruction =  <t>copy_instruction =
6458          <list>          <list>
6459                  <t>DB_INSTRUMENT_DIRECTORY SP pathname SP pathname                  <t>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
6460                  </t>                  </t>
6461                  <t>/ DB_INSTRUMENT SP pathname SP pathname                  <t>/ DB_INSTRUMENT SP db_path SP db_path
6462                  </t>                  </t>
6463          </list>          </list>
6464  </t>  </t>
# Line 6440  Schoenebeck'> Line 6518  Schoenebeck'>
6518                  </t>                  </t>
6519          </list>          </list>
6520  </t>  </t>
6521    <t>format_instruction =
6522            <list>
6523                    <t>INSTRUMENTS_DB
6524                    </t>
6525            </list>
6526    </t>
6527  <t>modal_arg =  <t>modal_arg =
6528          <list>          <list>
6529                  <t>/* epsilon (empty argument) */                  <t>/* epsilon (empty argument) */
# Line 6486  Schoenebeck'> Line 6570  Schoenebeck'>
6570                  </t>                  </t>
6571                  <t>/ FX_SENDS SP sampler_channel                  <t>/ FX_SENDS SP sampler_channel
6572                  </t>                  </t>
6573                  <t>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP pathname                  <t>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
6574                  </t>                  </t>
6575                  <t>/ DB_INSTRUMENT_DIRECTORIES SP pathname                  <t>/ DB_INSTRUMENT_DIRECTORIES SP db_path
6576                  </t>                  </t>
6577                  <t>/ DB_INSTRUMENTS SP RECURSIVE SP pathname                  <t>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
6578                  </t>                  </t>
6579                  <t>/ DB_INSTRUMENTS SP pathname                  <t>/ DB_INSTRUMENTS SP db_path
6580                  </t>                  </t>
6581          </list>          </list>
6582  </t>  </t>
# Line 6614  Schoenebeck'> Line 6698  Schoenebeck'>
6698                  </t>                  </t>
6699          </list>          </list>
6700  </t>  </t>
6701  <t>pathname =  <t>filename =
         <list>  
                 <t>stringval  
                 </t>  
         </list>  
 </t>  
 <t>dirname =  
6702          <list>          <list>
6703                  <t>stringval                  <t>path
6704                  </t>                  </t>
6705          </list>          </list>
6706  </t>  </t>
6707  <t>filename =  <t>db_path =
6708          <list>          <list>
6709                  <t>stringval_escaped                  <t>path
6710                  </t>                  </t>
6711          </list>          </list>
6712  </t>  </t>
# Line 6680  Schoenebeck'> Line 6758  Schoenebeck'>
6758  </t>  </t>
6759  <t>query_val =  <t>query_val =
6760          <list>          <list>
6761                  <t>string                  <t>textval_escaped
6762                  </t>                  </t>
6763                  <t>/ stringval                  <t>/ stringval_escaped
6764                  </t>                  </t>
6765          </list>          </list>
6766  </t>  </t>

Legend:
Removed from v.1353  
changed lines
  Added in v.1362

  ViewVC Help
Powered by ViewVC