<html lang="en"> <head> <title>fileselector - Open Cubic Player</title> <meta http-equiv="Content-Type" content="text/html"> <meta name="description" content="Open Cubic Player"> <meta name="generator" content="makeinfo 4.13"> <link title="Top" rel="start" href="index.html#Top"> <link rel="prev" href="starting.html#starting" title="starting"> <link rel="next" href="player.html#player" title="player"> <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> <!-- This documentiation falls under the GPL license. Copyright (C) 2005 Stian Skjelstad. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.--> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"><!-- pre.display { font-family:inherit } pre.format { font-family:inherit } pre.smalldisplay { font-family:inherit; font-size:smaller } pre.smallformat { font-family:inherit; font-size:smaller } pre.smallexample { font-size:smaller } pre.smalllisp { font-size:smaller } span.sc { font-variant:small-caps } span.roman { font-family:serif; font-weight:normal; } span.sansserif { font-family:sans-serif; font-weight:normal; } --></style> </head> <body> <div class="node"> <a name="fileselector"></a> <p> Next: <a rel="next" accesskey="n" href="player.html#player">player</a>, Previous: <a rel="previous" accesskey="p" href="starting.html#starting">starting</a>, Up: <a rel="up" accesskey="u" href="index.html#Top">Top</a> <hr> </div> <h2 class="chapter">3 Fileselector</h2> <p>If OCP is started without any command line arguments the fileselector will be loaded. With this powerful tool you can browse through your modules and set up playlists to be processed by the player. If you switch to the player the selected files will be loaded and processed. <p>Files can be stored inside compressed archives to save space on the hard disk. Those files are automatically unpacked to a temporary directory before scanning or loading. If you have many modules you should use this feature, as storing modules inside archives is totally transparent when using the fileselector. <h3 class="section">3.1 Main screen</h3> <p>The fileselector splits into three main windows: directory list, playlist and module information as shown in figure bellow. <pre class="example"> ###### TITLE BAR ####### X:/PATH/ ------------------------ | P | l Directory list | a | y | l | i | s | t ------------------------ Moduleinfo [Quickfind] </pre> <p>The path window shows the current path and file mask. If you started OCP from the home directory you will get the following: <samp><span class="file">file:/OPENCP/*</span></samp> means that the current directory is <samp><span class="file">OPENCP</span></samp> on your <samp><span class="file">file:</span></samp> driver and all files are shown (<samp><span class="file">*</span></samp>). You can edit the path and the mask by pressing <ALT>+<Enter>. After editing the path press <Enter> to change to the appropriate directory. You can edit the file mask to include only some files. <blockquote> <samp><span class="file">file:/*.mod</span></samp> will change to the root directory of filesystem and show all files ending with <samp><span class="file">.mod</span></samp>. The default setting should be the current directory with a file mask <samp><span class="file">*</span></samp> to show all files. </blockquote> <p>The most important window is the directory list. Here you can see all files in the current directory. If the extension is known to OCP the file information will be shown in different colors depending on the file type. Files not known to OCP will be shown in standard grey. <p>Leftmost the file name provided by the operating system is shown. The extension <samp><span class="file">.???</span></samp> will specify the file type. The next column shows the title of the file if the file type includes a title. In the third column the number of channels is displayed. Finally rightmost the filesize is shown in bytes. If the module is included in a ZIP archive the <em>real</em> file size is displayed. <p>Right to the directory list you can see the play list. All files listed in this window will be played, after you change into the player. The order of entries in this window determine the order in which files are loaded unless you have enabled the <em>random</em> option. <p>The window at the bottom is the module information. Many music formats can store general information which is displayed here. If the file type does not support those information you can edit the fields inside this window manually and OCP will store the information for you. <p>Finally at the very bottom is the quick find feature, which lets you easily find files in the current directory. <h3 class="section">3.2 Usage of the fileselector</h3> <p>The directory list shows you all files in the current directory which fit to the file mask set in the path window and OCP can detect. Under the alphabetically sorted files the directories and drives are shown.<a rel="footnote" href="#fn-1" name="fnd-1"><sup>1</sup></a> Use the <Up> and <Down> to browse through the files. If you press <Enter> the selected file will be loaded and played with the player. Pressing <Enter> while selecting a directory or drive will switch to the selected item and the directory will be read. <Pgup>, <Pgdown>, <Home> and <End> will work as expected. <p>If a module is played and you are in the player <f> will beam you to the fileselector. You can always leave the fileselector by pressing <Esc> twice! If no module is playing the program will exit, while you will get back to the player if a module is played in the background. <p>Playlists are shown in the playlist window at the right side of the screen. The currently selected file is appended to the playlist by pressing <Right> or <Ins>. <Left> or <Del> will remove it again. You can insert files multiple times into the playlist by pressing the appropriate keys more than once. If you have files in the playlist exit the fileselector by pressing <Esc>! This might seem confusing in the beginning, but you will notice the logic very soon. In the player you start the next song in the playlist by pressing <Enter>. <p>Normally you will start the fileselector from the player by pressing <f>. The current module will continue playing in the background. After you have selected a file you have to choices: <ul> <li><Enter> will stop the currently played module and load the selected one. Then you will get back to the player. Use this key if you want to play the selected module immiediatly. <li><Esc> will change to the player. Then you can start the next songs in the playlist by pressing <Enter>. If you have inserted files into the playlist use this key to exit the fileselector. </ul> <p>All files in the current directory will be inserted into the playlist by pressing <CTRL>+<Right> or <CTRL>+<Ins>. The playlist will be deleted by pressing <CTRL>+<Left> or <CTRL>+<Del>. <p>Although in the playlist window only the filename is shown, OCP stores the complete path information. So you can insert files into the playlist from totally different directories and drives. If files are inserted into the playlist you can change to the playlist window by pressing <Tab>. Inside the playlist window all keys have full functionality. So you can load the selected module immiediatly by pressing <Enter> or remove the file from the list by pressing <Left>. If you are in the playlist window you can move the currently selected file by pressing <CTRL>+<Up> and <CTRL>+<Down>. This will affect the order in which files are processed. <CTRL>+{<Pgup>,<Pgdown>,<Home>,<End>} work as expected. <p>If many files are inside a directory selecting a module with the cursor keys can be annoying, because it takes a long time to browse through the list. If you know the filename you can start typing it on the keyboard. This enables the quickfind feature. Characters already typed are shown in the quickfind window. The current directory is searched for files matching the typed characters. Often you don't have to type the complete filename, as it can be already determined by the leading chars. The typed characters must not fit the file exactly as small errors are neglected. <p>At the bottom of the screen the fileinformation window is located. If the file includes any additional information it will be shown at the appropriate fields. You can edit each entry manually. <pre class="smallformat">All module information is read by the fileselector once if it runs along this module the first time. The data is stored in three files located in your home directory of OCP refered as the <em>module information cache</em>. If the fileselector scans a directory and finds a module already stored in the module information cache it will use the information found in the cache. This way you can overwrite the information fields of the module. If you change to a directory which has not been processed by the fileselector it may take some time to read all file information out of the files and store them in the module information cache. </pre> <p>To switch to the module information window press <SHIFT>+<Tab>. You can use the cursor keys to select the entries. After pressing <Enter> the information can be edited. When pressing <Enter> again the changes are stored in the module information cache. Note: <em>Do not change the entry type as the file could not be loaded properly when the wrong filetype is entered! Normally you never have to change this entry, except for old 15 instruments amiga noisetracker modules!</em> <h3 class="section">3.3 Advanced usage</h3> <p>The appearance and behaviour of the fileselector can be edited in the <samp><span class="file">ocp.ini</span></samp> (see <a href="configuration.html#configuration">ocp.ini</a>) file or by pressing <ALT>+<c>. Changes made to the <samp><span class="file">ocp.ini</span></samp> are permanently, while configuration applied with <ALT>+<c> is only valid while OCP is running. <p>Afer pressing <ALT>+<c> you can toggle 13 options with keys <1>..<9> and <a>..<d>. The following list will explain every option: <p><table summary=""><tr align="left"><td valign="top" width="10%">1 </td><td valign="top" width="90%"><em>screen mode:</em> you can change the screen mode for the fileselector. 80x25 and 80x50 are standard screen modes and should be available on every vga card. 80x30, 80x60, 132x25, 132x30, 132x50 and 132x60 are only available with a proper VESA bios installed. <br></td></tr><tr align="left"><td valign="top" width="10%">2 </td><td valign="top" width="90%"><em>scramble module list order:</em> if this options is enabled the files inside the playlist will be played in random order. Otherwise the order shown in the fileselector from top to bottom will be used. <br></td></tr><tr align="left"><td valign="top" width="10%">3 </td><td valign="top" width="90%"><em>remove modules from playlist when played:</em> normally you will want this enabled as modules are only played once. If you disable this option you playlist can be processed foreever. <br></td></tr><tr align="left"><td valign="top" width="10%">4 </td><td valign="top" width="90%"><em>loop modules:</em> if the music file ends it will start again. The next file will be played after pressing <Enter>. If you turn off this option the playlist will play all modules without any user interaction. <br></td></tr><tr align="left"><td valign="top" width="10%">5 </td><td valign="top" width="90%"><em>scan module information:</em> When entering a directory the files are processed to gather module information which can be shown. If you disable this option directories will be processed quicker. <br></td></tr><tr align="left"><td valign="top" width="10%">6 </td><td valign="top" width="90%"><em>scan module information files:</em> the module information cache in the home directory of OCP will be read if this option is enabled. <br></td></tr><tr align="left"><td valign="top" width="10%">7 </td><td valign="top" width="90%"><em>scan archive contents:</em> to save hard disk space you can store your files inside archives like <samp><span class="file">ARJ</span></samp> or <samp><span class="file">ZIP</span></samp>. If the fileselector finds an archive it will open it to scan for files. <br></td></tr><tr align="left"><td valign="top" width="10%">8 </td><td valign="top" width="90%"><em>scan module information in archives:</em> if modules are found inside archives they will be decrunched to find any module information. This option can take several minutes if many modules are stored in archives <br></td></tr><tr align="left"><td valign="top" width="10%">9 </td><td valign="top" width="90%"><em>save module information to disk:</em> toggles weather to save gathered informations in the module information chache. <br></td></tr><tr align="left"><td valign="top" width="10%">A </td><td valign="top" width="90%"><em>edit window:</em> If you don't want the module information window at the bottom disable this option. The directory and playlist windows will spawn over the complete screen. <br></td></tr><tr align="left"><td valign="top" width="10%">B </td><td valign="top" width="90%"><em>module type colors:</em> different file types are shown in different colors on the screen. When watched on monochrome monitors or laptops you might want to disable this option. <br></td></tr><tr align="left"><td valign="top" width="10%">C </td><td valign="top" width="90%"><em>module information display mode:</em> changes the contents of the directory window. You can also use <ALT>+<tab> or <ALT>+<i> inside the fileselector. <br></td></tr><tr align="left"><td valign="top" width="10%">D </td><td valign="top" width="90%"><em>put archives:</em> Show archives, so they can be accessed like directories. Normally this should be disabled if archives are scanned automatically. <br></td></tr></table> <p>The screen size can be changed by pressing <ALT>+<z>. In 132 columns mode some additional module information can be shown in the directory window. If the fileselector is busy scanning the current directory for files, you can interrupt the scanning with <ALT>+<s>. <p>You can delete a file with <ALT>+<k>. You will be prompted if you really want to delete this file. When pressing <y> the file will be deleted. If the file is stored inside an archive the file will be deleted from the archive.<a rel="footnote" href="#fn-2" name="fnd-2"><sup>2</sup></a> The current file can be moved by <ALT>+<m>. You will have to type the new path in the path window into which the file will be moved. If the file is inside an archive it will be extracted. You can specify an existing <samp><span class="file">.ARJ</span></samp> file and the file will be packed into the archive.<a rel="footnote" href="#fn-3" name="fnd-3"><sup>3</sup></a> <p>The module information shown in the module information window can be saved to a portable ascii file (see page see <a href="mdz.html#mdz">mdz</a>). You may want this feature if you are a composer of music and want to trade your music together with already processed module information files. Start the fileselector and edit the information for the file. Then switch back to the directory window and press <ALT>+<w>. The fileselector will save a file with the extension <samp><span class="file">.MDZ</span></samp> and the filename of the selected file, which stores all module information seen in the module information window. If a directory is scanned and the fileselector finds such <samp><span class="file">.MDZ</span></samp> files they will be read and processed. The module information for all files in the current directory can be saved with <ALT>+<a>. You have to type the filename manually in the path window without extension! <p>You may want to change the entry <em>type</em> in the module information window if you have old amiga modules or a non-standard midi file. Very old Noise- and SoundTracker modules only had 15 instruments and no file identification. So the fileselector is not able to detect those files as valid modules and refuses to play them. You have to insert <samp><span class="file">M15</span></samp> in the <em>type</em> entry. If the module does not differ between tempo and speed and is of the 15 instrument type insert <samp><span class="file">M15t</span></samp>. Some ProTracker modules do not differ between tempo and speed too. If you have one of those modules use <samp><span class="file">MODt</span></samp>. A module player for PC called DMP introduced a feature called panning. To enable this (non-standard) feature insert <samp><span class="file">MODd</span></samp>. If you want to play midi files with a second drum track on channel 16 use the <samp><span class="file">MIDd</span></samp> option. Any other file should be autodetected correctly. <pre class="smallformat">If you have renamed a module to a different extension (say <samp><span class="file">hello.mod</span></samp> to <samp><span class="file">hello.s3m</span></samp>) OCP will refuse to play it, because the file type is wrong. You could correct this by inserting the right file type in the module information as shown above. But it is recommended to rename the file to the right extension instead of tweaking the autodetetion of the player. </pre> <p>The current playlist can be saved into the .PLS format by pressing <ALT>+<p>. You have to type the filename without extension in the path window. A standard extension <samp><span class="file">.PLS</span></samp> is appended. The playlist can be loaded just like any other module from the fileselector or at startup. <p><a name="specialdrive"></a>The drive <samp><span class="file">setup:</span></samp> is a special device which can be used to change the hardware configuration without leaving the player. If you access this drive you will see two subdirectories. <p>In the <samp><span class="file">INPUTS</span></samp> subdirectory you can choose the device which will be used when sampling from external sources (when playing CD audio tracks or starting OCP in sample mode). The <samp><span class="file">DEVICES</span></samp> directory displays all devices which where detected at startup. Normally you might want to change this if you want to save the next file as a <samp><span class="file">.WAV</span></samp> or <samp><span class="file">.MP2</span></samp> file to the harddisk.<a rel="footnote" href="#fn-4" name="fnd-4"><sup>4</sup></a> <h3 class="section">3.4 bigmodules</h3> <p>The above behaviour can be avoided if a file is marked <em>big</em> by pressing <ALT>+<b> in the fileselector. The filesize will turn red. Now a file will not be loaded into the soundcard memory, but played with the internal mixing routines. This limits the size of files only to the size of physical memory.<a rel="footnote" href="#fn-5" name="fnd-5"><sup>5</sup></a> <h3 class="section">3.5 Reference</h3> <p><table summary=""><tr align="left"><td valign="top" width="35%"><a>..<z> </td><td valign="top" width="65%">quickfind <br></td></tr><tr align="left"><td valign="top" width="35%"><ALT>+<a> </td><td valign="top" width="65%">write module information <samp><span class="file">.mdz</span></samp> for directory <br></td></tr><tr align="left"><td valign="top" width="35%"><ALT>+<b> </td><td valign="top" width="65%">mark module “big” <br></td></tr><tr align="left"><td valign="top" width="35%"><ALT>+<c> </td><td valign="top" width="65%">configure fileselector <br></td></tr><tr align="left"><td valign="top" width="35%"><ALT>+<d> </td><td valign="top" width="65%">goto DOS <br></td></tr><tr align="left"><td valign="top" width="35%"><ALT>+<i> </td><td valign="top" width="65%">change display mode for directory window <br></td></tr><tr align="left"><td valign="top" width="35%"><ALT>+<k> </td><td valign="top" width="65%">delete file <br></td></tr><tr align="left"><td valign="top" width="35%"><ALT>+<m> </td><td valign="top" width="65%">move file <br></td></tr><tr align="left"><td valign="top" width="35%"><ALT>+<s> </td><td valign="top" width="65%">stop scanning module information <br></td></tr><tr align="left"><td valign="top" width="35%"><ALT>+<w> </td><td valign="top" width="65%">write module information <samp><span class="file">.mdz</span></samp> for selected file <br></td></tr><tr align="left"><td valign="top" width="35%"><ALT>+<z> </td><td valign="top" width="65%">toggle screen mode <br></td></tr><tr align="left"><td valign="top" width="35%"><Up>, <Down> </td><td valign="top" width="65%">move cursor one entry up/down <br></td></tr><tr align="left"><td valign="top" width="35%"><CTRL>+{<Up>, <Down>} </td><td valign="top" width="65%">move module up/down on playlis <br></td></tr><tr align="left"><td valign="top" width="35%"><Right>, <Ins> </td><td valign="top" width="65%">add file to playlist <br></td></tr><tr align="left"><td valign="top" width="35%"><Left>, <Del> </td><td valign="top" width="65%">remove file from playlist <br></td></tr><tr align="left"><td valign="top" width="35%"><CTRL>+{<Right>, <Ins>} </td><td valign="top" width="65%">add all files to playlist <br></td></tr><tr align="left"><td valign="top" width="35%"><CTRL>+{<Left>, <Del>} </td><td valign="top" width="65%">clear playlist <br></td></tr><tr align="left"><td valign="top" width="35%"><Pgup>, <Pgdown> </td><td valign="top" width="65%">move cursor one page up/down <br></td></tr><tr align="left"><td valign="top" width="35%"><CTRL>+{<Pgup>, <Pgdown>} </td><td valign="top" width="65%">move module one page up/down in playlist <br></td></tr><tr align="left"><td valign="top" width="35%"><Home>, <End> </td><td valign="top" width="65%">move cursor to top/bottom of the list <br></td></tr><tr align="left"><td valign="top" width="35%"><CTRL>+{<Home>, <End>} </td><td valign="top" width="65%">move module to top/bottom of playlist <br></td></tr><tr align="left"><td valign="top" width="35%"><Enter> </td><td valign="top" width="65%">play selected file <br></td></tr><tr align="left"><td valign="top" width="35%"></td><td valign="top" width="65%">change to directory/archive/drive <br></td></tr><tr align="left"><td valign="top" width="35%"></td><td valign="top" width="65%">edit entry (in module info window) <br></td></tr><tr align="left"><td valign="top" width="35%"><ALT>+<Enter> </td><td valign="top" width="65%">edit path window <br></td></tr><tr align="left"><td valign="top" width="35%"><Tab> </td><td valign="top" width="65%">change between directory and playlist <br></td></tr><tr align="left"><td valign="top" width="35%"><ALT>+<Tab> </td><td valign="top" width="65%">same as <ALT>+<i> <br></td></tr><tr align="left"><td valign="top" width="35%"><SHIFT>+<Tab> </td><td valign="top" width="65%">change to module info window <br></td></tr><tr align="left"><td valign="top" width="35%"><Esc> </td><td valign="top" width="65%">exit fileselector <br></td></tr></table> <p>Supported filetypes – valid options for the <em>type</em> entry in the module information window. <p><table summary=""><tr align="left"><td valign="top" width="10%">669 </td><td valign="top" width="90%">669 Composer module <br></td></tr><tr align="left"><td valign="top" width="10%">AMS </td><td valign="top" width="90%">Velvet Studio module <br></td></tr><tr align="left"><td valign="top" width="10%">BPA </td><td valign="top" width="90%">Death Ralley archive <br></td></tr><tr align="left"><td valign="top" width="10%">CDA </td><td valign="top" width="90%">compact disk CD audio track <br></td></tr><tr align="left"><td valign="top" width="10%">DMF </td><td valign="top" width="90%">X Tracker module <br></td></tr><tr align="left"><td valign="top" width="10%">IT </td><td valign="top" width="90%">Impulse Tracker module <br></td></tr><tr align="left"><td valign="top" width="10%">MDL </td><td valign="top" width="90%">Digi Tracker module <br></td></tr><tr align="left"><td valign="top" width="10%">MID </td><td valign="top" width="90%">standard midi file <br></td></tr><tr align="left"><td valign="top" width="10%">MIDd </td><td valign="top" width="90%">standard midi file, channel 16 is a second drum track <br></td></tr><tr align="left"><td valign="top" width="10%">MOD </td><td valign="top" width="90%">amiga ProTracker 1.1b module <br></td></tr><tr align="left"><td valign="top" width="10%">MODt </td><td valign="top" width="90%">amiga ProTracker 1.1b module, effect Fxx is tempo <br></td></tr><tr align="left"><td valign="top" width="10%">MODd </td><td valign="top" width="90%">amiga ProTracker 1.1b module with effect 8xx is panning <br></td></tr><tr align="left"><td valign="top" width="10%">MODf </td><td valign="top" width="90%">pc Fast Tracker II .mod file <br></td></tr><tr align="left"><td valign="top" width="10%">M15 </td><td valign="top" width="90%">amiga NoiseTracker module with 15 instruments (plays like ProTracker 1.1b) <br></td></tr><tr align="left"><td valign="top" width="10%">M15t </td><td valign="top" width="90%">amiga NoiseTracker module with 15 instruments, effect Fxx is tempo (plays like ProTracker 1.1b) <br></td></tr><tr align="left"><td valign="top" width="10%">MP3 </td><td valign="top" width="90%">MPEG audio format level 1-3 <br></td></tr><tr align="left"><td valign="top" width="10%">MTM </td><td valign="top" width="90%">Multi Tracker module <br></td></tr><tr align="left"><td valign="top" width="10%">MXM </td><td valign="top" width="90%">Mxmplay module <br></td></tr><tr align="left"><td valign="top" width="10%">OGG </td><td valign="top" width="90%">Ogg Vorbis sound stream <br></td></tr><tr align="left"><td valign="top" width="10%">OKT </td><td valign="top" width="90%">Oktalyzer module <br></td></tr><tr align="left"><td valign="top" width="10%">PLS </td><td valign="top" width="90%">OCP playlist, works also with M3U and PLT playlist files <br></td></tr><tr align="left"><td valign="top" width="10%">PTM </td><td valign="top" width="90%">Poly Tracker module <br></td></tr><tr align="left"><td valign="top" width="10%">S3M </td><td valign="top" width="90%">Sream Tracker 3 module <br></td></tr><tr align="left"><td valign="top" width="10%">SID </td><td valign="top" width="90%">PSID sid file <br></td></tr><tr align="left"><td valign="top" width="10%">UMX </td><td valign="top" width="90%">Unreal module file <br></td></tr><tr align="left"><td valign="top" width="10%">ULT </td><td valign="top" width="90%">Ultra Tracker module <br></td></tr><tr align="left"><td valign="top" width="10%">WAV </td><td valign="top" width="90%">Microsoft RIFF wave file <br></td></tr><tr align="left"><td valign="top" width="10%">WOW </td><td valign="top" width="90%">WOW Tracker module <br></td></tr><tr align="left"><td valign="top" width="10%">XM </td><td valign="top" width="90%">Fast Tracker 2 module <br></td></tr></table> <div class="footnote"> <hr> <h4>Footnotes</h4><p class="footnote"><small>[<a name="fn-1" href="#fnd-1">1</a>]</small> <samp><span class="file">setup:</span></samp> is a special drive which lets you configure OCP without editing the <samp><span class="file">cp.ini</span></samp> file, see page See <a href="specialdrive.html#specialdrive">specialdrive</a>.</p> <p class="footnote"><small>[<a name="fn-2" href="#fnd-2">2</a>]</small> If only one file was stored inside a <samp><span class="file">.ZIP</span></samp> archive pkzip will leave an empty archive of 22 bytes on your harddisk. See see <a href="configuration.html#configuration">ocp.ini</a> on how to avoid this.</p> <p class="footnote"><small>[<a name="fn-3" href="#fnd-3">3</a>]</small> this works only with ARJ archives by now.</p> <p class="footnote"><small>[<a name="fn-4" href="#fnd-4">4</a>]</small> See See <a href="player.html#player">Using the diskwriter</a>.</p> <p class="footnote"><small>[<a name="fn-5" href="#fnd-5">5</a>]</small> You have to apply a valid <em>playback-</em> and <em>mix-device</em> to use this feature. See see <a href="configuration.html#configuration">ocp.ini</a> for details.</p> <hr></div> </body></html>