1.Contents OpenCubicPlayer integrated hypertext help
2~[OpenCubicPlayer @PACKAGE_VERSION@ integrated hypertext help]~
3~[Dirk Jagdmann - Tammo Hinrichs - Stian Skjelstad]~
4
5[OpenCubicPlayer help browser & documentation conversion by F. Giesen]
6
7    ~Using help~
8
9  Using help should be easy. Scrolling/selecting links is both accomplished with
10~<>~ and ~<>~, you follow links by pressing ~<Space>~. Links are ^03cyan^07, selected ones
11are ^04red^07. And if you want to scroll pagewise, try ~<PgUp>~ and ~<PgDown>~.
12
13  There are also some pages you may jump to directly with ~<Alt>~+~<Key>~ combi-
14nations. They are:
15
16  Contents Page    ~<Alt>~+~<C>~
17  Index page       ~<Alt>~+~<I>~
18  License page     ~<Alt>~+~<L>~
19
20  If you want to quit help, please use one of the keys you activate it with,
21~<H>~, ~<?>~, or ~<F1>~.
22
23    ~Contents~
24
25  ��� {Forew,Foreword}
26  ��� {StartOCP,Starting OpenCubicPlayer}
27  ��� {Filesel,Fileselector}
28  � ����� {FSelMainSC,Main screen}
29  �   ��� {FSelUse,Usage of the fileselector}
30  �   ��� {FSelUseAdv,Advanced usage}
31  �   ��� {FSelRef,Reference}
32  ��� {Player,Player}
33  � ����� {PlayerGen,General}
34  �   ��� {PlayerQuick,Quickhelp}
35  �   ��� {PlayerGlob,Global functions}
36  �   ��� {PlayerText,Text mode functions}
37  �   � ����� {TXMChan,Channels}
38  �   �   ��� {TXMInsts,Instruments}
39  �   �   ��� {TXMPatts,Pattern view}
40  �   �   ��� {TXMAnalyze,Spectrum Analyzer}
41  �   �   ��� {TXMPeak,peak power levels}
42  �   �   ��� {TXMVolume,Volume Control}
43  �   �   ��� {TXMMsg,Module message}
44  �   �   ��� {TXMX,eXtended mode}
45  �   ��� {PlayerGraph,Graphic mode functions}
46  �   � ����� {GRMScopes,Oscilloscopes}
47  �   �   ��� {GRMDots,Note dots}
48  �   �   ��� {GRMAnalyze,Graphical Spectrum Analyzer}
49  �   �   ��� {GRMPhase,Phase Graphs}
50  �   �   ��� {GRMCube,Wuerfel mode}
51  �   ��� {UsingCM,Using the Compo mode}
52  �   ��� {MidiFile,MIDI Files}
53  ��� {Config,Configuration}
54  � ����� {ConfigGen,general}
55  �   ��� {ConfigDef,defaultconfig}
56  �   ��� {ConfigSound,sound}
57  �   ��� {ConfigScreen,screen}
58  �   ��� {CFilesel,fileselector}
59  �   ��� {ConfigDev,device configuration}
60  �   � ����� {DevCALSA,ALSA}
61  �   �   ��� {DevCCA,CoreAudio}
62  �   �   ��� {DevCOSS,OSS}
63  �   �   ��� {DevCSDL,SDL/SDL2}
64  �   �   ��� {DevCDWR,Diskwriter}
65  �   �   ��� {DevCMix,software mixers}
66  �   ��� {CFTypes,filetypes}
67  ��� {WritePlug,Writing plugins}
68  ��� {Thanks,Thanks}
69  ��� {License,License}
70  ��� {AboutDoc,About this document}
71
72~[OpenCubicPlayer @PACKAGE_VERSION@ documentation - written by Dirk Jagdmann, Tammo Hinrichs & Stian Skjelstad]~
73.Index Index
74[Help index]
75
76    ~A~
77
78  {AboutDoc,About this document}
79
80    ~B~
81
82    ~C~
83
84  {Config,Configuration}
85    {ConfigGen,Configuration: general}
86    {ConfigDef,Configuration: defaultconfig}
87    {ConfigSound,Configuration: sound}
88    {ConfigScreen,Configuration: screen}
89    {CFilesel,Configuration: fileselector}
90    {ConfigDev,Configuration: device configuration}
91    {CFTypes,Configuration: filetypes}
92  {Contents,Contents}
93  {UsingCM,Compo Mode, using the}
94
95    ~D~
96
97  {ConfigDef,Default configuration}
98  {ConfigDev,Device configuration}
99    {DevCSB,Device configuration: Sound Blaster}
100    {DevCEWS,Device configuration: Terratec EWS}
101    {DevCWSS,Device configuration: Windows Sound System}
102    {DevCGUS,Device configuration: Gravis Ultrasound}
103    {DevCDWR,Device configuration: Diskwriter}
104    {DevCMPX,Device configuration: MPx writer}
105    {DevCMix,Device configuration: Software mixers}
106
107    ~E~
108
109    ~F~
110
111  {Instfile,Files, Installation and}
112  {MidiFile,Files, MIDI}
113  {Filesel,Fileselector}
114    {FSelMainSC,Fileselector: Main screen}
115    {FSelUse,Fileselector: Usage}
116    {FSelUseAdv,Fileselector: Advanced usage}
117    {FSelRef,Fileselector: Reference}
118    {CFilesel,Configuration: Fileselector}
119  {CFTypes,Filetypes}
120  {Forew,Foreword}
121
122    ~G~
123
124  {ConfigGen,general (configuration)}
125  {PlayerGen,General (player)}
126  {PlayerGlob,Global functions (player)}
127  {PlayerGraph,Graphic mode functions}
128    {GRMScopes,Graphic mode functions: Oscilloscopes}
129    {GRMDots,Graphic mode functions: Note dots}
130    {GRMAnalyze,Graphic mode functions: Graphic spectrum analyzer}
131    {GRMPhase,Graphic mode functions: Phase graphs}
132    {GRMCube,Graphic mode functions: Wuerfel mode}
133  {GRMAnalyze,Graphic spectrum analyzer (Graphic mode functions)}
134  {DevCGUS,Gravis Ultrasound (Configuration)}
135
136    ~H~
137
138    ~I~
139
140  {Instfile,Installation and Files}
141  {TXMInts,Instruments (Text mode functions)}
142
143    ~J~
144
145    ~K~
146
147    ~L~
148
149  {License,License}
150
151    ~M~
152
153  {FSelMainSC,Main screen (Fileselector)}
154  {MidiFile,MIDI Files}
155  {DevCMix,mixers, Software (Device configuration)}
156  {DevCMPx,MPx writer (Device configuration)}
157
158    ~N~
159
160  {GRMDots,Note dots (Graphic mode functions)}
161
162    ~O~
163
164  {GRMScopes,Oscilloscopes (Graphic mode functions)}
165
166    ~P~
167
168  {TXMPatts,Pattern view (Text mode functions)}
169  {TXMPeak,peak power levels (Text mode functions)}
170  {GRMPhase,Phase graphs (Graphic mode functions)}
171  {Player,Player}
172    {PlayerGen,Player: General}
173    {PlayerGlob,Player: Global functions}
174    {PlayerText,Player: Text mode functions}
175    {PlayerGraph,Player: Graphic mode functions}
176    {UsingCM,Player: Using the Compo mode}
177    {MidiFile,Player: MIDI Files}
178  {TPPlugins,Plugins, third party}
179  {WritePlug,Plugins, writing}
180
181    ~Q~
182
183    ~R~
184
185  {FSelRef,Reference (fileselector)}
186
187    ~S~
188
189  {ConfigScreen,screen (Configuration)}
190  {DevCMix,Software mixers (Device configuration)}
191  {DevCSB,Sound Blaster (Device Configuration)}
192  {ConfigSound,sound (Configuration)}
193  {TXMAnalyzer,Spectrum analyzer (Text mode functions)}
194  {StartOCP,Starting OCP}
195
196    ~T~
197
198  {PlayerText,Text mode functions (Player)}
199    {TXMChan,Channels (Text mode functions)}
200    {TXMInsts,Instruments (Text mode functions)}
201    {TXMPatts,Pattern view (Text mode functions)}
202    {TXMAnalyze,Spectrum analyzer (Text mode functions)}
203    {TXMPeak,peak power levels (Text mode functions)}
204    {TXMVolume,Volume Control (Text mode functions)}
205    {TXMMsg,Module message (Text mode functions)}
206    {TXMX,eXtended mode (Text mode functions)}
207  {Thanks,Thanks}
208  {TPPlugins,Third party plugins}
209
210    ~U~
211
212    ~V~
213
214    ~W~
215
216  {DevCWSS,Windows Sound System (Device configuration)}
217  {WritePlug,Writing Plugins}
218
219    ~X~
220
221    ~Y~
222
223    ~Z~
224
225.Forew Foreword
226[Foreword]
227
228  OpenCubicPlayer is a music file player. It is derived from the
229Cubic Player 2.0appe for DOS which was developed by Niklas Beisert, which you
230can find at https://www.cubic.org/player/
231
232  OpenCubicPlayer is published under the GNU General Public License (GPL). That
233means you can use this software without charging for it.
234
235  The source code is available to the public and everybody is encouraged to make
236changes to it. Please send any modifications and bugfixes to the authors. The
237authors do not take any warranty for any damages whatever kind produced by this
238software. For further details see the file http://www.gnu.org/copyleft/gpl.html
239
240  For reporting bugs (issues), submitting patches, or looking for more recent
241versions, please check out https://github.com/mywave82/opencubicplayer/ and
242https://stian.cubic.org/project-ocp.php
243
244  ~Bugs~: If you encountered a bug in OpenCubicPlayer please report in the link
245above. Many people complain about music files not being played properly
246(especially with module formats). Please keep in mind that the original
247tracking/sequencing program is ~always~ the reference for correct playback. If a
248music file sounds different compiled to another player, please keep in mind that
249perhaps the other program does not play it correct. This is espicially true for
250Amiga 4channel modules. As those files can be produced using various trackers
251(Noise-, Sound-, Protracker and many, many more) and sadly all of those trackers
252are slighty different, a general player like OpenCubicPlayer can not play ~all~
253modules correctly. We try to come as close to a reasonable mixture of them all,
254so that most modules are played correctly. However certain features of one
255tracker permit another feature of a different tracker.
256
257e-Mail contacts: Stian Skjelstad       stian.skjelstad@gmail.com
258                 Niklas Beisert        nbeisert@physik.tu-muenchen.de
259                 Tammo Hinrichs        kb@nwn.de
260                 Dirk Jagdmann         doj@cubic.org
261
262  {Contents,...but now please bring me back to contents}
263.StartOCP Starting OpenCubicPlayer
264[Starting OpenCubicPlayer]
265
266  When starting OCP, it first tries to setup a directory in your home-directory
267where cache and configuration will be stored, aswell at locating where OCP has
268installed its main files.
269
270  OCP then tries to detect the sound card/driver defined in the ~ocp.ini~
271file. If the card/driver is not found you cannot use it. If more than one sound
272card/driver is installed and found by OCP the first one listed in the
273~ocp.ini~ is used as the default device. (You can change this in the
274player by using the ~setup:~ device)
275
276  By entering a filename as parameter onto the command line you can load a module.
277If a filename is given the file will be loaded and OCP starts with the
278player. (This will work if the file is inside an archive located in the
279current directory. If no (unpacked) file is found all archives in the current
280directory are searched for an appropriate filename.) When the parameter is
281the name of a directory the fileselector starts with the given directory.
282If the parameter equals a certain archive all files found inside the archive
283will be played (by adding them to the playlist).
284
285  If more than one parameter is given a playlist will be set up, containing all
286found files. You can mix filenames of archives, files in archives and normal
287files on the hard disk.
288
289  OCP can be configured using the command line, although the configuration
290through the ~ocp.ini~ file is more comfortable. The options split up
291into three main sections each starting with ``-'' followed by a letter. For
292each section different options are given, which will configure the player
293accordingly. You can precede each option with the section prefix every time
294or supply multiple options seperated with ``,''. Some special options do not
295require the use of a sections prefix, like the ``-h'' ~help~ switch.
296
297  The command line looks like:
298  ocp [prefix option[,option]] [specialOption] [filename]
299
300  Special options include:
301
302  -h                  show a help screen
303  -c<name>            use a configuration defined in "~/.ocp/ocp.ini"
304
305  Fileselector options are envoked with ~-f~. The values in square brackets
306define a choice that must be made when using one of these options.
307
308  -r[0|1]             remove played files from playlist
309  -o[0|1]             don't scramble playlist order
310  -l[0|1]             loop modules
311
312  Playback options are preceded by ~-v~. Values in sharp brackets define a range
313in which the value must be taken.
314
315  -a<0..800>          set amplification
316  -v<0..100>          set volume
317  -b<-100..100>       set balance
318  -p<-100..100>       set panning
319  -r<-100..100>       set reverb
320  -c<-100..100>       set chorus
321  -s[0|1]             set surround
322  -f[0|1|2]           set filter (0=off, 1=AOI, 2=FOI)
323
324  Device setting are accomplished with the suffix ~-s~.
325
326  -p<name>            use specific player device
327  -s<name>            use specific sampler device
328  -w<name>            use specific wavetable device
329  -r<0..64000>        sample at specific rate
330  -8                  play/sample/mix as 8bit
331  -m                  play/sample/mix mono
332
333  Finally an example to illustrate the above features:
334
335  ocp -fl0,r1 -va80,p50,f2 -spdevpdisk -sr44100 ftstar.xm
336
337  This will start OCP and load the file "ftstar.xm". The music will be
338played once and will not loop (-fl0, r1). Further the player is advised to
339amplify this file with 80%, set the panning to 50% and interpolate every
340sample (-va80, p50, f2). The mixed output will be saved into .wav format through
341the ~diskwriter~, device (-spdevpdisk) with a sample rate of 44.1KHz (-sr44100).
342
343  You can curn this .WAV file directly onto a CD-Audio and play it with every
344normal CD-Player. A much simpler and more convinient way to make such a ~sample~
345~image~ out of a module is by using predifined configurations with the -c
346
347  {Contents,Up to the top!}
348.Filesel Fileselector
349[Fileselector]
350
351  If OCP is started without any command line arguments the fileselector will be
352loaded. With this powerful tool you can browse through modules and set up
353playlists to be processed by the player. If you switch to the player the
354selected files will be loaded and processed.
355
356  Files can be stored inside compressed archives to save space on the hard disk.
357Those files are automatically unpacked to a temporary directory before scanning/
358loading. If you have many modules you should use this feature, as storing
359modules inside archives is totally transparent when using the fileselector.
360
361    ~This section contains...~
362
363  - {FSelMainSC,Main screen}
364  - {FSelUse,Usage of the fileselector}
365  - {FSelUseAdv,Advanced usage}
366  - {FSelRef,Reference}
367
368  {Contents,Back to contents}
369.FSelMainSC Fileselector: main screen
370[Main screen]
371
372  The fileselector splits into three main windows: directory list, playlist
373and module information as shown in figure 3.1.
374
375  Figure 3.1: the fileselector screen
376
377                         ^30       TITLE BAR        ^0f
378                         X:/PATH/^07
379                         ������������������������
380                                         �  P
381                                         �  l
382                          Directory list �  a
383                                         �  y
384                                         �  l
385                                         �  i
386                                         �  s
387                                         �  t
388                         ������������������������
389                                Moduleinfo
390                         ^17  Quickfind: \[......\]   ^07
391
392  The path window shows the current path and file mask. If you started OCP from
393the home directory you will get the following: ~file:/home/user/*~ means that
394the current directory is ~/home/user~ on your ~file:~ drive and all files are
395shown (~*~). You can edit the path and the mask by pressing ~<Alt>+<Enter>~ or
396~<Ctrl>+<Enter>~ depending on the UI renderer in use. After editing the path
397press ~Enter~ to change to the appropriate directory. You can edit the file mask
398to include only some files.
399
400
401  "file:/media/music/*.mod" will change to the ~/media/music~ directory and show
402all files ending with ~.mod~. The default setting should be the current directory
403with a file mask ~*~ to show all files.
404
405  The most important window is the directory list. Here you can see all files in
406the current directory. If the extension is known to OCP the file information will
407be shown in different colours depending on the file type. Files not known to OCP
408will be shown in standard grey.
409
410  Leftmost side the file name provided by the operating system is shown. The
411extension ~.???~ will specify the file type. The next column shows the title of
412the file if the file type includes a title. In the third column the number of
413channels is displayed. Finally rightmost the filesize is shown in bytes. If the
414module is included in a ZIP archive the ~real~ file size is displayed.
415
416
417  Right to the directory list you can see the play list. All files listed in
418this window will be played, after you change into the player. The order of
419entries in this window determine the order in which files are loaded unless you
420have enabled the ~random~ option.
421
422  The window at the bottom is the module information. Many music format can
423store general which is displayed here. If the file type does not support those
424information you can edit the fields inside this window manually and OCP will
425store the information for you.
426
427  Finally at the very bottom is the quick find feature, which lets you easily
428find files in the current directory.
429
430  Goto next topic: "{FSelUse,Usage of the fileselector}"
431
432  {Filesel,Back to "Fileselector"}
433  {Contents,Back to Contents}
434.FSelUse Usage of the fileselector
435[Usage of the fileselector]
436
437  The directory list shows you all files in the current directory which fit to
438the file mask set in the path window. Under the alphabetically sorted files the
439directories and drives are shown. Note: ~setup:~ is a special drive which lets you
440configure OCP without editing the ~ocp.ini~ file.
441
442  Use ~<>~ and ~<>~ keys to browse through the files. If you press ~<Enter>~ the
443selected file will be loaded and played with the player. Pressing ~<Enter>~ while
444selecting a directory or drive will switch to the selected item and the
445directory will be read. ~<PgUp>~, ~<PgDown>~, ~<Home>~ and ~<End>~ will work as
446expected.
447
448  If a module is played and you are in the player ~<F>~ will beam you to the
449fileselector. When you have edited a playlist after playing the last song the
450fileselector will be started automatically. You can always leave the file-
451selector by pressing ~<Esc>~ twice! If no module is playing the program will
452exit, while you will get back to the player if a module is played in the back-
453ground.
454
455  Playlists are shown in the playlist window at the right side of the screen.
456The currently selected file is appended to the playlist by pressing ~<��>~ or
457~<Ins>~. ~<��>~ or ~<Del>~ will remove it again. You can insert files multiple
458times into the playlist by pressing the appropriate keys more than once. If
459you have files in the playlist exit the fileselector by pressing ~<Esc>~! This
460might sound confusing in the beginning, but you will notice the logic very
461soon. In the player you start the next song in the playlist by pressing
462~<Enter>~.
463
464  Normally you will start the fileselector from the player by pressing ~<F>~.
465The current module will continue playing in the background. After you have
466selected a file you have two choices:
467
468  - ~<Enter>~ will stop the currently playing module and load the selected one.
469    Then you will get back to the player. Use this key if you want to play the
470    selected module immiediatly.
471  - ~<Esc>~ will change to the player. Then you can start the next songs in the
472    playlist by pressing ~<Enter>~. So you should insert the selected files
473    into the playlist.
474
475  All files in the current directory will be inserted into the playlist by
476pressing ~<Ctrl>~+~<��>~ or ~<Ctrl>~+~<Ins>~. The playlist will be deleted by
477pressing ~<Ctrl>~+~<��>~ or ~<Ctrl>~+~<Del>~.
478
479  Although in the playlist window only the filename is shown, OCP stores the
480complete path information. So you can insert files into the playlist from
481totally different directories and drives. If files are inserted into the play-
482list you can change to the playlist window by pressing ~<Tab>~. Inside the
483playlist window all keys have full functionality. So you can load the selected
484module immiediatly by pressing ~<Enter>~ or remove the list by pressing ~<��>~.
485If you are in the playlist window you can move the currently selected file by
486pressing ~<Ctrl>~+~<>~ and ~<Ctrl>~+~<>~. This will affect the order in which
487files are processed. ~<Ctrl>~+~\{<PgUp>, <PgDown>, <Home>, <End>\}~ work as expected.
488
489  If many files are inside a directory selecting a module by the cursor keys can
490be annoying, because it takes a long time to browse through the list. If you
491know the filename you can start typing it on the keyboard. This enables the
492quickfind feature. Characters already typed are shown in the quickfind window.
493The current directory is searched for files matching the typed characters. Often
494you don't have to type the complete filename, as it can be already determined by
495the leading chars. The typed characters do not have to match the filename
496xactly as small errors are neglected.
497
498  At the bottom of the screen the fileinformation window is located. If the
499file includes any additional information it will be shown at the appropriate
500fields. You can edit each entry manually. (Note: all module information is read
501by the fileselector once if it runs along this module the first time. The data
502is stored in three files located in your home directory of OCP refered as the
503~module information cache~. If the fileselector scans a directory and finds a
504module which has not been processed by the fileselector it may take some
505minutes to read all file information out of the files and store them in the
506module information cache).
507
508  To switch to the module information window press ~<Shift>~+~<Tab>~. You can
509use the cursor keys to select the entries. After pressing ~<Enter>~ the
510information can be edited. When pressing ~<Enter>~ again the changes are stored
511in the module information cache. Note: ~Do not change the entry "type" as the
512file could not be loaded properly when the wrong filetype is entered! Normally
513you never have to change this entry, except for old 15 instruments amiga
514noisetracker modules!~
515
516  Goto previous topic: "{FSelMainSC,Main screen}"
517  Goto next topic: "{FSelUseAdv,Advanced usage}"
518
519  {Filesel,Back to "Fileselector"}
520  {Contents,Back to Contents}
521.FSelUseAdv Fileselector: Advanced usage
522[Advanced Usage]
523
524  The appearance and behaviour of the fileselector can be edited in the ~ocp.ini~
525(see also: {Config,Configuration}) file or by pressing ~<Alt>~+~<C>~. Changes made
526to the ~ocp.ini~ are permanently, while configuration applied with ~<Alt>~+~<C>~
527is only valid while OCP is running.
528
529  After pressing ~<Alt>~+~<C>~ you can toggle 14 options with keys ~<1>~..~<9>~,
530~<A>~...~<D>~, ~<+>~ and ~<->~. If pressing ~<ALT>~+~<S>~ the settings can be
531flushed into ~ocp.ini~. The following list will explain every option:
532
533  1   - ~screen mode:~ This is output-driver specific. Most common you can adjust
534        the font-size here between sizes like 4x4, 8x8 or 16x16.
535  2   - ~scramble module list order:~ if this option is enabled the files inside
536        the playlist will be played in random order. Otherwise the order shown in
537        the fileselector from top to bottom will be used.
538  3   - ~remove modules from playlist when played:~ normally you will want this
539        enabled as modules are only played once. If you disable this option your
540        playlist can be processed forever.
541  4   - ~loop modules:~ if the music file ends it will start again. The next file
542        will be played after pressing ~<Enter>~. If you turn off this option the
543        playlist will play all modules without any user interaction.
544  5   - ~scan module information:~ When entering a directory the files are
545        processed to gather module information which can be shown. If you
546        disable this option directories will be processed quicker.
547  6   - ~scan module information files:~ the module information cache in the home
548        directory of OCP will be read if this option is enabled. (currently not
549        implemented)
550  7   - ~scan archive contents:~ to save hard disk space you can store your files
551        inside archives like .ARJ or .ZIP. If the fileselector finds an archive it
552        will open it to scan for files.
553  8   - ~scan module information in archives:~ if modules are found inside archives
554        they will be decrunched to find any module information. This option can
555        take several minutes if many modules are stored in archives.
556  9   - ~save module information to disk:~ toggles wether to save gathered info
557        in the module information cache.
558  A   - ~edit window:~ If you don't want the module information window at the
559        bottom disable this option. The directory and playlist windows will
560        stretch over the complete screen.
561  B   - ~module type colours:~ different file types are shown in different colours
562        on the screen. When watched on monochrome monitors or laptops you might
563        want to disable this option.
564  C   - ~module information display mode:~ changes the contents of the directory
565        window. You can also use ~<Alt>~+\{~<I>~,~<Tab>~\} inside the fileselector.
566  D   - ~put archives:~ Show archives, so they can be accessed like directories.
567        Normally this should be disabled if archives are scanned automatically.
568  +/- - ~framerate:~ Adjust the target framerate.
569
570  You may want to change the entry ~type~ in the module information window if you
571have old amiga modules or a non-standard MIDI file. Very old Noise- and Sound-
572Tracker modules only had 15 instruments and no file identification. So the file-
573selector is not able to detect those files and refuses to play them. You have to
574select ~M15~ in the ~type~ entry. If the module does not differ between tempo and
575speed and is one of the 15 instrument type select ~M15t~. Some ProTracker modules
576do not differ between tempo and speed to. If you have one of those modules use
577~MODt~. A module player for PC called DMP introduced a feature called panning. To
578enable this (non-standard) feature select ~MODd~. If you want to play MIDI files
579with a second drum track on channel 16 use the ~MIDd~ option. Any other files
580should be autodetected correctly. (If you have renamed a module to a different
581extension, say ~hello.mod~ to ~hello.s3m~, OCP will refuse to play it, because
582the file type is wrong. You could correct this by selecting the right file type
583in the module information as shown above. But it is better to rename the file to
584the right extension than tweaking the autodetection of the player.
585
586  The current playlist can be saved into .PLS format by pressing ~<Alt>~+~<p>~. You
587have to type the filename without extension in the path window. A standard
588extension ~.PLS~ is appended. The playlist can be loaded just like any other
589module from the fileselector or at startup.
590
591  The drive ~setup:~ is a special device which can be used to change the hardware
592configuration without leaving the player. If you access this drive you will see
593two subdirectories.
594
595  In the ~INPUTS~ subdirectory you can choose the device which will be used when
596sampling form external sources (when playing CD audio tracks or starting OCP
597in sample mode). The ~DEVICES~ directory displays all devices which were detected
598at startup. Normally you might want to change this if you want to save the next
599file as a ~.WAV~ or ~.MP3~ file to the harddisk.
600
601  Goto previous topic: "{FSelUse,Usage of the fileselector}"
602  Goto next topic: "{FSelRef,Reference}"
603
604  {Filesel,Back to "Fileselector"}
605  {Contents,Back to Contents}
606.FSelRef Fileselector: Reference
607[Reference]
608
609  ~<a>~..~<z>~                  quickfind
610  ~<>~,~<>~                   move cursor one entry up/down
611  ~<PgUp>~,~<PgDown>~           move cursor one page up/down
612  ~<Home>~,~<End>~              move cursor to top/bottom of the list
613  ~<��>~,~<Ins>~               add file to playlist
614  ~<��>~,~<Del>~               remove file to playlist
615  ~<Ctrl>~+\{~<��>~,~<Ins>~\}      add all files to playlist
616  ~<Ctrl>~+\{~<��>~,~<Del>~\}      clear playlist
617  ~<Ctrl>~+\{~<>~,~<>~\}          move module up/down in playlist
618  ~<Ctrl>~+\{~<PgUp>~,~<PgDown>~\}  move module one page up/down in playlist
619  ~<Ctrl>~+\{~<Home>~,~<End>~\}     move module to top/bottom of playlist
620  ~<Alt>~+~<C>~                 configure fileselector
621  ~<Alt>~+~<S>~                 stop scanning module information
622  ~<Alt>~+~<W>~                 write module information ~.MDZ~ for selected file
623  ~<Alt>~+~<K>~                 delete file
624  ~<Alt>~+\{~<I>~,~<Tab>~\}         change display mode for directory window
625  ~<Enter>~                   play selected file
626                            change to directory/archive driver
627                            edit entry (in module info window)
628  ~<Alt>~+~<Enter>~             edit path window
629  ~<Tab>~                     change between directory and playlist
630  ~<Shift>~+~<Tab>~             change to module info window
631  ~<Esc>~                     exit fileselector
632
633  Supported filetypes - valid options for the ~type~ entry in the module
634information window.
635
636  ~669~        669 Composer module
637  ~AMS~        Velvet studio module
638  ~AY~         Aylet-library compatible
639  ~BPA~        Death Rallye archive
640  ~CDA~        compact disk CD audio track
641  ~DMF~        X Tracker module
642  ~FLAC~       FLAC
643  ~HVL~        HivelyTracker / Abyss Highest Experience module
644  ~IT~         Impulse Tracker module
645  ~MID~        standard MIDI file
646  ~MIDd~       standard MIDI file, channel 16 is a second drum track
647  ~MOD~        amiga ProTracker 1.1b module
648  ~MODt~       amiga ProTracker 1.1b module, effect Fxx is tempo
649  ~MODd~       amiga ProTracker 1.1b module, effect 8xx is panning
650  ~MODf~       PC FastTracker II .MOD file
651  ~M15~        amiga NoiseTracker module with 15 instruments
652  ~M15t~       amiga NoiseTracker module with 15 instruments, effect Fxx is tempo
653  ~M31~        amiga NoiseTracker module with 31 instruments
654  ~MPx~        MPEG audio format level 1-3
655  ~MTM~        Multi Tracker module
656  ~MXM~        MXMPlay module
657  ~OKT~        Oktalyzer module
658  ~OPL~        Adplug-library compatible
659  ~PLS~        OCP playlist (also works with M3U and PLT playlist files)
660  ~PTM~        Poly Tracker module
661  ~STM~        Scream Tracker II module
662  ~S3M~        Scream Tracker III module
663  ~SID~        PSID SID file
664  ~UMX~        Unreal module file
665  ~ULT~        Ultra Tracker module
666  ~WAV~        Microsoft RIFF wave file
667  ~WOW~        WOW Tracker module
668  ~XM~         FastTracker II module
669  ~YM~         ST-Sound (YM files player library)
670
671  Goto previous topic: "{FSelUseAdv,Advanced Usage}"
672
673  {Filesel,Back to "Fileselector"}
674  {Contents,Back to Contents}
675.Player player
676[Player]
677
678  When OCP is started with a valid filename the file is loaded and the player
679interface is started. This is the main part of OCP and you have various ways to
680display all kinds of music information and data.
681
682  Figure 4.1: screen layout in the player
683
684  (wait for next version of helpfile if you want screenshots...)
685
686    ~This section contains...~
687
688  - {PlayerGen,General}
689  - {PlayerGlob,Global functions}
690  - {PlayerText,Text mode functions}
691    - {TXMChan,Channels}
692    - {TXMInsts,Instruments}
693    - {TXMPatts,Pattern view}
694    - {TXMAnalyze,Spectrum analyzer}
695    - {TXMPeak,peak power levels}
696    - {TXMVolume,Volume Control}
697    - {TXMMsg,Module message}
698    - {TXMX,eXtended mode}
699  - {PlayerGraphic,Graphic mode functions}
700    - {GRMScopes,Oscilloscopes}
701    - {GRMDots,Note dots}
702    - {GRMAnalyze,Graphical spectrum analyzer}
703    - {GRMPhase,Phase graphs}
704    - {GRMCube,Wuerfel mode}
705  - {UsingCM,Using the Compo mode}
706  - {MidiFile,MIDI files}
707
708  {Contents,Back to Contents}
709.PlayerGen Player: General
710[General]
711
712  OCP display general (status) information in the top first 4 rows. Some of
713these entries can be changed by the user, others are static for each module. The
714following list will explain every entry.
715
716  ~vol~      The bar displays the current playback volume. The default value is
717           100 and you can change it by pressing ~<+>~/~<->~ on the numeric keypad.
718  ~srnd~     Toggle this option with ~<F4>~ to enable a simple surround effect.
719  ~pan~      If a voice should be played on the right speaker you can rearrange
720           the stereo panning with this entry and ~<F5>~,~<F6>~. To get mono sound
721           adjust the two ~riders~ to the middle.
722  ~bal~      Just like the device on your stereo this option works. Press ~<F7>~,
723           ~<F8>~ to adjust the stereo balance between full left and full right.
724  ~spd~      The playback speed can be changed with ~<F9>~,~<F10>~.
725  ~ptch~     The pitch of the file can be altered with ~<F11>~,~<F12>~.
726  ~row~      Most files of module type are devided into rows and patterns.
727  ~row~      Most files of module type are device into rows and patterns. The
728           1st number shows the currently played row. The 2nd number shows the
729           total number of rows in the current pattern. All numbers are shown
730           in hexadecimal format.
731  ~ord~      Modules are devided into several orders consisting of patterns.
732           The 1st number shows the currently played order. The 2nd number
733           shows the total count of orders.
734  ~tempo~    the current tempo of the file.
735  ~bpm~      These are not the physical beats per minute, but rather the speed
736           at which the file is played (only valid for module types). This
737           option is often refered by Trackers as BPM.
738  ~gvol~     Some file formats allow a global volume to be set.
739  ~amp~      This option lets you adjust an amplification. You can adjust this
740           value with ~<Ctrl>~+\{~<F2>~,~<F3>~\}.
741  ~filter~   You can selected different types of interpolation by pressing
742           ~<BackSp>~:
743
744           ~off~ - no interpolation.
745           ~AOI~ - OCP tries to determine if interpolation is really
746                 necessary for each note and sample independently. This is the
747                 default option and should be enabled.
748           ~FOI~ - every sample is always interpolated. This option uses more
749                 processor power than AOI.
750  ~module~   shows the filename currently played and the title of the file.
751  ~time~     time since starting the current file.
752
753  Goto next page: "{PlayerQuick,Quickhelp}"
754
755  {Player,Back to "Player"}
756  {Contents,Back to Contents}
757.PlayerQuick Player: Quickhelp
758[Player: Quickhelp]
759
760You can use all these keys throughout the player except in special modes.
761
762  ^0f-^07 ^0fMode^07 ^0fKeys^07 ^0f-^07                                 ^0f-^07 ^0fVolume^07 ^0fKeys^07 ^0f-^07
763^0fi^07 : instruments                                     ^0fF1^07 : help
764^0ft^07 : track view                                 ^0fF2^07 , ^0fF3^07 : change volume (^0f+^07,^0f-^07)
765^0fa^07 : textmode analyser                         c^0fF2^07 ,c^0fF3^07 : change amplification
766^0fx^07 : xtended mode (i,t,a&c)                          ^0fF4^07 : surround sound
767^0fo^07 : scopes                                     ^0fF5^07 , ^0fF6^07 : change panning (^0f,^07;^0f.^07)
768^0fg^07 : graphic analyser (shift-^0fg^07 for big gsa)     ^0fF7^07 , ^0fF8^07 : change balance (^0f/^07,^0f*^07)
769^0fn^07 : note dots                                  ^0fF9^07 , ^0fF10^07: change speed
770^0fw^07 : wuerfel mode                               ^0fF11^07, ^0fF12^07: change pitch
771^0fm^07 : song message                                     ^0f\\^07 : lock pitch+speed
772^0fh^07 : help                                        alt-^0fF2^07 : save settings (session
773^0ff^07 : file-selector                               alt-^0fF3^07 : reset settings    only)
774^0fe^07 : echo menu / editor                          alt-^0fF4^07 : "factory defaults"
775                                              ^0fbackspace^07: toggle interpolation
776  ^0f-^07 ^0fModule^07 ^0fKeys^07 ^0f-^07                              ctrl-^0f<-^07 : change filter
777     ^0f>^07   : next pattern
778     ^0f<^07   : previous pattern                        ^0f-^07 ^0fChannel^07 ^0fKeys^07 ^0f-^07
779ctrl-^0f^07   : go 8 rows up                         ^0f^07, ^0f^07 : select previous channel
780ctrl-^0f^07   : go 8 rows down                       ^0f\d^07, ^0f^07 : select next channel
781ctrl-^0fhome^07: restart module                       ^0f1^07..^0f0^07 : goto and toggle channel
782                                           ctrl-^0f1^07..^0f0^07 : goto and solo channel
783  ^0f-^07 ^0fPlayer^07 ^0fKeys^07 ^0f-^07                                  ^0fq^07 : toggle selected channel
784(c-)^0freturn^07 : play next module (fadeout)            ^0fs^07 : solo selected channl
785  (ctrl-)^0fp^07 : pause module (immediate)       ctrl-^0fq^07/^0fs^07 : turn on all channels
786  (ctrl-)^0fd^07 : dos-shell (no reminder)               ^0fc^07 : toggle channel mode
787   ^0fesc^07 ^0fesc^07 : e-s-c-a-p-e                               (none/short/long/side)
788    ^0fins^07, ^0ff^07 : file-selector
789         ^0fe^07 : echo menu / editor
790         ^0fz^07 : tog. scr. hgt. (25/50)
791    ctrl-^0fz^07 : tog. scr. hgt. (25/30)
792     alt-^0fz^07 : tog. scr. wid. (80/132)
793     alt-^0fx^07 : norm. scr. mode (80*25)
794         ^0fx^07 : xtended scr. mode (132*60)
795
796^0bInstrument^07 ^0bMode:^07  ^0b<i>^07
797=====================
798
799     ^0fi^07 - toggle instrument mode  (none / short / full / \[side\])
800  ^0fpgup^07 - scroll up                         ctrl-^0fpgup^07 - scroll up fast
801  ^0fpgdn^07 - scroll down                       ctrl-^0fpgdn^07 - scroll down fast
802  ^0fhome^07 - go to the top                         alt-^0fi^07 - clear instrument flags
803   ^0ftab^07 - toggle show played instruments
804
805^0bPattern^07 ^0bView:^07  ^0b<t>^07
806==================
807
808          ^0fspace^07 - toggle track mode (follow / manual)
809   ctrl-^0fpgup^07/^0fdn^07 - scroll instruments (for multiview)
810           ^0fhome^07 - optimum channel number for current module
811
812in follow mode:
813         ^0fpgup^07/^0fup^07 - change channel number / detail level
814             ^0ftab^07 - toggle between notes only and notes & fx
815
816in manual mode:
817         ^0fpgup^07/^0fup^07 - scroll pattern
818  shift-^0ftab^07, ^0ftab^07 - change channel number / detail level
819
820                             ^0f-^07 ^0fChannel^07 ^0fEffects^07 ^0f-^07
821 ^0aC-4^07 ^0a-^07 ^0aporta^07 ^0ato^07 ^0anote^07           ^09v??^07 ^09-^07 ^09set^07 ^09volume^07          ^05p??^07 ^05-^07 ^05set^07 ^05panning^07
822 ^02??^07 ^02-^07 ^02pitch^07 ^02slide^07             ^09??^07 ^09-^07 ^09volume^07 ^09slide^07        ^05??^07 ^05-^07 ^05panning^07 ^05slide^07
823 ^02�??^07 ^02-^07 ^02row^07 ^02pitch^07 ^02slide^07         ^09�??^07 ^09-^07 ^09row^07 ^09vol^07 ^09slide^07
824 ^02\r??^07 ^02-^07 ^02porta^07 ^02to^07 ^02note^07
825 ^02\~??^07 ^02-^07 ^02vibrato^07                 ^09\~??^07 ^09-^07 ^09tremolo^07             ^05\~??^07 ^05-^07 ^05panning^07 ^05vibrato^07
826 ^02\~\d?^07 ^02-^07 ^02vibrato^07 ^02speed^07
827 ^02\~=?^07 ^02-^07 ^02vibrato^07 ^02waveform^07        ^09\~=?^07 ^09-^07 ^09tremolo^07 ^09waveform^07
828 ^02�??^07 ^02-^07 ^02arpeggio^07                ^09�??^07 ^09-^07 ^09tremor^07              ^05><^07 ^05-^07 ^05Surround^07 ^05Sound^07
829
830 ^0fC-4^07 ^0f-^07 ^0fplay^07 ^0fnote^07               ^04d??^07 ^04-^07 ^04delay^07
831 i?? - set instrument          ^04??^07 ^04-^07 ^04retrigger^07
832 off - key off                 ^04\d??^07 ^04-^07 ^04sample^07 ^04offset^07
833 \d?? - set envelope position   ^04\^??^07 ^04-^07 ^04note^07 ^04cut^07
834
835
836                              ^0f-^07 ^0fGlobal^07 ^0fEffects^07 ^0f-^07
837 ^02t??^07 ^02-^07 ^02set^07 ^02tempo^07               ^09v??^07 ^09-^07 ^09global^07 ^09volume^07       ^04??^07 ^04-^07 ^04break^07 ^04pattern^07
838 ^02s??^07 ^02-^07 ^02set^07 ^02bpm^07                 ^09??^07 ^09-^07 ^09global^07 ^09vol^07 ^09slide^07    ^04\d??^07 ^04-^07 ^04goto^07 ^04pattern^07
839                                                         ^04pl?^07 ^04-^07 ^04pattern^07 ^04loop^07
840                                                         ^04pd?^07 ^04-^07 ^04pattern^07 ^04delay^07
841
842^0bText^07 ^0bMode^07 ^0bSpectrum^07 ^0bAnalyser:^07  ^0b<a>^07
843=================================
844
845         ^0ftab^07 - toggle analyser's colors
846           ^0fa^07 - toggle channel mode (mixed output / single channel)
847        ^0fhome^07 - set maximum frequency range to appoximately 2500Hz
848     ^0fpgup^07/^0fdn^07 - change visible frequency range
849ctrl-^0fpgup^07/^0fdn^07 - scroll instruments (for multiview)
850
851^0bGraphic^07 ^0bSpectrum^07 ^0bAnalyser:^07  ^0b<g>^07
852===============================
853
854           ^0fg^07 - toggle channel mode (stereo / mono / single channel)
855     shift-^0fg^07 - toggle screen mode (640*480 / 1024*768)
856       alt-^0fg^07 - toggle resolution (fast / fine)
857     ^0fpgup^07/^0fdn^07 - change visible frequency range
858        ^0fhome^07 - set maximum frequency to approximately 3000Hz
859         ^0ftab^07 - set next palette
860     alt-^0ftab^07 - set previous palette
861   shift-^0ftab^07 - set normal analysers palette
862
863^0bScopes:^07  ^0b<o>^07
864============
865
866           ^0fo^07 - toggle mode (all / single scope)
867  ^0ftab^07, alt-^0fo^07 - toggle triggered scopes
868     ^0fpgup^07/^0fdn^07 - stretch / squeeze scope output
869
870^0bNote^07 ^0bDots:^07 ^0b<n>^07
871==============
872
873           ^0fn^07 - toggle mode (dots/bars/s.cones/s.dots)
874         ^0fpg^07 - slide range
875    ctrl-^0fpg^07 - slide scale
876        ^0fhome^07 - reset range and scale
877
878  Goto previous page: "{PlayerGen,General}"
879  Goto next page: "{PlayerGlob,Global functions}"
880
881  {Player,Back to "Player"}
882  {Contents,Back to Contents}
883.PlayerGlob Player: Global functions
884[Global functions]
885
886  Below the general information is a dark grey line. On the left side of the
887line the current screen mode is shown. In the middle is a list of channels. Each
888file type has a maximum number of channels played simultaeniously. For example
889simple file formats as ~.WAV~ can only have one or two channels (corresponding to
890a mono or stereo sample). An audio CD always has 2 channels (left and right).
891Module file types can have many channels typically ranging from 4 to 32
892channels.
893
894  The currently selected channel is displayed in light grey. To select another
895channel use ~<��>~, ~<��>~. You can also use ~<>~, ~<>~ which will loop through the
896channels if the left or right end is reached.
897
898  Pressing ~<Q>~ will ~quiet~ the selected channel. This key is valid in every part
899of the player. To enable the channel press ~<Q>~ a second time. The reverse logic
900can be accomplished with ~<S>~. This disables all other channels than the
901selected one, so this channel plays solo. Another hit on ~<S>~ will ~unsolo~ the
902channel again, so playing all channels. You can use any combination of the above
903keys. An example: Select channel 1 and press ~<S>~. Now you will hear only channel
9041. Now select channel 3 with the cursor keys and press ~<Q>~. As the channel
905currently is turned off, it will be played again, so you hear channels 1 and 3.
906Then switch to channel 2 and press ~<S>~. Now only channel 2 is played, channels
9071 and 3 are turned off again. By pressing ~<S>~ again all channels are enabled.
908
909  You can directly ~solo~ the first channels by pressing keys ~<1>~..~<0>~. This
910will act as if you had changed to the appropriate channel and pressed ~<S>~.
911
912  To pause playback press ~<P>~.
913
914  The current file can be restarted by pressing ~<Ctrl>~+~<Home>~. To move a bit
915forward use ~<Ctrl>~+~<��>~. If a module is played this will skip the current
916order and start playing the next one. In other file types this command skips a
917certain amount of time, depending on the estimated playing time. ~<Ctrl>~+~<��>~
918will rewind the music. This is not possible for all file types (MIDI or SID
919files). When playing modules the current order is skipped and the previous one
920is played from the beginning. To skip a smaller amout of the file use ~<Ctrl>~+~<>~
921and ~<Ctrl>~+~<>~. This will skip 8 rows when playing modules. If the files
922support jump or loop commands using these functions can lead you to patterns not
923included in the original play order! Be aware that using these functions can
924lead to somewhat crashed files.
925
926  The next file in the playlist can be loaded with ~<Enter>~. If no more files are
927left in the playlist the fileselector will be started so you can choose the next
928files. However the current module will continue playing. By pressing ~<Esc>~ you
929can switch back to the player again. The fileselector can also be invoked with
930~<F>~. The current playlist is shown and can be edited. When exiting the file-
931selector with ~<Esc>~ you can load the next module in the playlist with ~<Enter>~.
932Leaving the fileselector with ~<Enter>~ will load the currently selected module
933and switch back to the player.
934
935  By default a module is looped after its end was reached. You can change this
936behaviour by configuring the fileselector or with ~<Ctrl>~+~<L>~. When looping
937is disabled the next module in the playlist will be loaded once a module has
938ended. If no modules are left in the playlist the fileselector is started.
939
940  A shell will be started when typing ~<D>~ if the current renderer supports it.
941
942  An online help is shown by ~<H>~, ~<?>~ or ~<F1>~. You're currently reading it.
943
944  Goto previous page: "{PlayerQuick,Quickhelp}"
945  Goto next page: "{PlayerText,Text mode functions}"
946
947  {Player,Back to "Player"}
948  {Contents,Back to Contents}
949.PlayerText Player: Text mode functions
950[Text mode functions]
951
952  The player has two different operating modes. Text mode and graphics mode. In
953text mode you can enable various functions at once, while in graphics mode only
954one single function can be shown.
955
956  Because there can be more than one text mode function visible at the same time
957you might have to press the according key more than once to get the wanted
958effect. Each function can be in one of the following states:
959
960  - invisible/inactive
961  - invisible/active
962  - visible/inactive
963  - visible/active
964
965  When pressing a key the according function is made active, but left invisible.
966By pressing the same key a second time the function will be made visible. An
967active function can be recognized by their title string displayed in bright
968blue, while inactive functions have their title string displayed in dark blue.
969Keys affecting the functions are only processed for the currently active mode.
970So it might be necessary to change to the appropriate mode by pressing its key
971once to manipulate its behaviour.
972
973  In the 132 column mode only one of the instruments* and channels* field is
974active and used by the appropriate function. If a function is not visible the
975space is used by the other visible functions.
976
977    ~This section contains...~
978
979  - {TXMChan,Channels}
980  - {TXMInsts,Instruments}
981  - {TXMPatts,Pattern view}
982  - {TXMAnalyze,Spectrum analyzer}
983  - {TXMPeak,peak power levels}
984  - {TXMVolume,Volume Control}
985  - {TXMMsg,Module message}
986  - {TXMX,eXtended mode}
987
988  Goto previous page: "{PlayerGlob,Global functions}"
989  Goto next page: "{PlayerGraph,Graphic mode functions}"
990
991  {Player,Back to "Player"}
992  {Contents,Back to Contents}
993.TXMChan Player: Text mode functions: Channels
994[Channels text mode function]
995
996  The channel function is invoked with ~<C>~. The channels appear in two different
997modes. By default the short mode is enabled. Two channels are shown in one row.
998A grey number shows the selected channel. Left to it a white number shows the
999currently played instrument/sample on this channel followed by the note. If the
1000note starts to play it is displayed in cyan for a short while. The third number
1001shows the current volume at which the instrument/sample is played. Behind the
1002volume the current effect is shown. At the rightmost of each entry the current
1003real (physical) volume splitted among left and right output channel is displayed
1004in a bar graph.
1005
1006  The currently selected channel is indicated by a small white "~>~" to the left
1007side of the channel number. When a channel is muted with ~<S>~ or ~<Q>~ it is shown
1008in dark grey. However OCP continues to play this channel, so that the music
1009sounds correctly when turning on this channel again.
1010
1011  When pressing ~<C>~ twice the channel function switches to the long format. Each
1012channel now uses a single row as more information is being displayed. From left
1013to right this is as follows: channel number, instrument/sample name, current
1014note, instrument/sample volume, pan position, current volume.
1015
1016  If the textmode is changed to 132 column mode the channel function can be
1017displayed in short form at the upper right corner of the free space as shown in
1018figure 4.2.
1019
1020  If there are more channels than space inside the screen area OCP will scroll
1021automatically through the channel list when you use the cursor keys. This is
1022indicated by white ~~ and ~~ characters.
1023
1024  The channel function has no title string which could indicate if it is active
1025or inactive. So you might have to press ~<C>~ one time more often if the channel
1026function was previously inactive.
1027
1028  Goto next mode: "{TXMInsts,Instruments}"
1029
1030  {PlayerText,Back to "Text mode functions"}
1031  {Player,Back to "Player"}
1032  {Contents,Back to Contents}
1033.TXMInsts Player: Text mode functions: Instruments
1034[Instruments text mode function]
1035
1036  If the current file is of module file type (or MIDI) the used instruments/
1037samples are shown with the instruments function. The instruments are shown
1038with ~<I>~. Just like channels instruments come in two formats, short and long.
1039
1040  In the short view only the instrument names are shown giving you space for two
1041instruments for row in 80 column mode (4 instruments are shown in 132 column
1042mode). An instrument/sample that is currently played is shown in bright cyan. If
1043the sample is played on the currently selected channel it is shown in bright
1044green. All inactive instruments are drawn dark grey. If a sample has been
1045played once a rectangular dot is placed left to the instrument number.
1046
1047  When the instruments are switched to long mode various information is
1048displayed. From left to right this is as follows:
1049
1050  - a number from 00h to FFh giving the instrument number
1051  - instrument name
1052  - sample number (when using multiple samples per instrument)
1053  - sample name (only in 132 column mode)
1054  - length of the sample in bytes
1055  - length of the loop in bytes
1056  - bits per sample
1057  - the base note. For modules the default is ~C-4~
1058  - finetune value
1059  - standard volume at which the sample is played.
1060  - standard pan position
1061  - various flags (volume, pan envelopes etc.)
1062  - fadeout value (only in 132 column mode)
1063
1064  Often a file includes more instruments than can be shown on the screen. Use
1065~<PgUp>~, ~<PgDown>~ to scroll through the instruments. If the instrument function
1066is active ~<Ctrl>~+\{~<PgUp>~, ~<PgDown>~\} will scroll for a complete page. When
1067inactive you can scroll single lines by using ~<Ctrl>~+\{~<PgUp>~, ~<PgDown>~\}. This is
1068very useful if you have enabled more than one textmode function.
1069
1070  The instrument flags (the rectangular dots left to the instrument number) are
1071cleared with ~<Alt>~+~<I>~. By pressing ~<Tab>~ you can toggle between the colour
1072mode and pure grey.
1073
1074  Goto previous mode: "{TXMChan,Channels}"
1075  Goto next mode: "{TXMPatts,Pattern view}"
1076
1077  {PlayerText,Back to "Text mode functions"}
1078  {Player,Back to "Player"}
1079  {Contents,Back to Contents}
1080.TXMPatts Player: Text mode functions: Pattern view
1081[Pattern view text mode function]
1082
1083  Modules are arranged in patterns. You can view these patterns with the pattern
1084view function invoked with ~<T>~. When enabling this function OCP tries to
1085display all channels at once using the best display possible. For modules using
1086few channels (<8) this default display is acceptable, but you might want to
1087change it when playing modules with many channels.
1088
1089  The pattern is shown in different columns. At the leftmost the row number is
1090shown in hex. If the screen mode and pattern view allows the row number is shown
1091again at the right side of the screen. Then follow some fields for global
1092commands the module might contain. The biggest section of the screen is used by
1093the channel columns, each one displaying a single channel indicated by the
1094number on top of the column. Inside such a channel column various information
1095can be displayed depending on the amount of space available. You can see the
1096format of a channel column in the status line of the pattern view. The format of
1097the column can be changed by pressing ~<Tab>~. As there are many combinations of
1098screen mode, channels and formats I will not go into detail here.
1099
1100  The number of channel rows displayed at once can be changed by pressing
1101~<PgUp>~, ~<PgDown>~. Normally the pattern view will follow as it progresses. With
1102~<Space>~ the pattern view will stop. The current play position is now displayed
1103with a white ~~ char. You can now browse through the module with ~<PgUp>~,
1104~<PgDown>~. ~<Space>~ will enable the follow mode again, bringing the pattern
1105view to the current play position.
1106
1107  The pattern view displays the different effects used in modules with different
1108colours. Green is used for effects affecting the pitch of the sample while blue
1109commands change the volume. Effects drawn in purple change the pan position. Red
1110colours indicate the manipulation of the timeslice effected with this samples.
1111Other effects are drawn white.
1112
1113  Goto previous mode: "{TXMInsts,Instruments}"
1114  Goto next mode: "{TXMAnalyze,Spectrum Analyzer}"
1115
1116  {PlayerText,Back to "Text mode functions"}
1117  {Player,Back to "Player"}
1118  {Contents,Back to Contents}
1119.TXMAnalyze Player: Text mode functions: Spectrum Analyzer
1120[Spectrum Analyzer text mode function]
1121
1122  The spectrum analyzer uses the fast fourier transform (FFT) to gather infor-
1123mation on the audio spectrum used in sample data. The analyzer is started with
1124~<A>~. This function splits the sound data into many ~bands~ of pure sine waves.
1125This is called the spectrum of the sample.
1126
1127  The status bar of this function shows you the range each bar covers and the
1128highest frequency processed (the leftmost bar corresponds to this frequency).
1129Use ~<PgUp>~, ~<PgDown>~ to change the range. ~<Home>~ will set the default value
1130of 2756 Hertz.
1131
1132  With ~<Alt>~+~<A>~ the mode of the spectrum function can be toggled. Stereo using
1133two analyzers, mono using only one and a solo mode are available. In the solo
1134mode the currently selected channel is used as sound source for the analyzer.
1135
1136  ~<Tab>~ changes the colour used for the analyzer.
1137
1138  Goto previous mode: "{TXMPatts,Pattern view}"
1139  Goto next mode: "{TXMPeak,peak power levels}"
1140
1141  {PlayerText,Back to "Text mode functions"}
1142  {Player,Back to "Player"}
1143  {Contents,Back to Contents}
1144.TXMPeak Player: Text mode functions: peak power levels
1145[peak power levels text mode function]
1146
1147  This function shows the current physical volume of the output channels in a
1148bar graph. You can use ~<V>~ to make this function visible/invisible. In 132
1149columns mode the levels can also be shown at the right side of the screen.
1150
1151  Goto previous mode: "{TXMAnalyze,Spectrum analyzer}"
1152  Goto next mode: "{TXMVolume,Volume Control}"
1153
1154  {PlayerText,Back to "Text mode functions"}
1155  {Player,Back to "Player"}
1156  {Contents,Back to Contents}
1157.TXMVolume Player: Text mode functions: Volume Control
1158[hardware mixer volumes]
1159
1160You can browse through the different items with ~<>~ and ~<>~. If you want to
1161change a value, try ~<��>~ and ~<��>~. You can also toggle between a short
1162mode, a long mode (only in 132 column modes) and invisible mode using ~<M>~
1163(Volume control is disabled in 80 column modes and enabled in 132 column modes
1164by default).
1165
1166  Goto previous mode: "{TXMPeak,peak power levels}"
1167  Goto next mode: "{TXMMsg,Module message}"
1168
1169  {PlayerText,Back to "Text mode functions"}
1170  {Player,Back to "Player"}
1171  {Contents,Back to Contents}
1172.TXMMsg Player: Text mode functions: Module message
1173[Module message text mode function]
1174
1175  Some file types store messages which can be viewed with ~|~. If the message is
1176long use ~<PgUp>~,~<PgDown>~ to scroll.
1177
1178  Goto previous mode: "{TXMVolume,Volume Control}"
1179  Goto next mode: "{TXMX,eXtended mode}"
1180
1181  {PlayerText,Back to "Text mode functions"}
1182  {Player,Back to "Player"}
1183  {Contents,Back to Contents}
1184.TXMX Player: Text mode functions: eXtended mode
1185[eXtended mode text mode function]
1186
1187  All four text mode functions can be displayed simultaneously. This function
1188enables channel, instrument, spectrum analyzer and pattern view function with
1189a good preset in text mode. ~<X>~ will enable 132 column mode. ~<Alt>~+~<X>~ will
1190switch to the default 80x25 mode with channel and instrument functions enabled.
1191
1192  Goto previous mode: "{TXMMsg,Module message}"
1193
1194  {PlayerText,Back to "Text mode functions"}
1195  {Player,Back to "Player"}
1196  {Contents,Back to Contents}
1197.PlayerGraph Player: Graphic mode functions
1198[Graphic mode functions]
1199
1200  The default graphics mode is 640x480x256. Only one graphics mode function can
1201be shown simultaneously. The screen therefore splits into the general window at
1202the top side showing the usual information and the function window covering the
1203rest of the screen.
1204
1205  If you have included a background picture in the ~OCP.INI~ it will be shown
1206in the graphics modes (except the graphical spectrum analyzer and Wuerfel
1207mode).
1208
1209    ~This section contains...~
1210
1211  - {GRMScopes,Oscilloscopes}
1212  - {GRMDots,Note dots}
1213  - {GRMAnalyze,Graphical spectrum analyzer}
1214  - {GRMPhase,Phase graphs}
1215  - {GRMCube,Wuerfel mode}
1216
1217  Goto previous page: "{PlayerText,Text mode functions}"
1218  Goto next page: "{UsingCM,Using the Compo mode}"
1219
1220  {Player,Back to "Player"}
1221  {Contents,Back to Contents}
1222.GRMScopes Player: Graphic mode functions: Oscilloscopes
1223[Oscilloscopes graphic mode function]
1224
1225  The oscilloscopes are started with ~<O>~ and come in 4 different modes:
1226logical (the channels are sorted with the default panning position), physical
1227(channels 1 to n from top to bottom), master (the mixed output channel(s)) and
1228single (the currently selected channel is shown).
1229
1230  By pressing ~<Tab>~ you can enable/disable triggering of the scopes. If the
1231output is triggered a wave on the screen always starts with the upper halfwave.
1232If triggering is turned off the wave will be drawn from the current position.
1233
1234  The scale of the scopes can be altered with ~<PgUp>~, ~<PgDown>~.
1235
1236  Goto next mode: "{GRMDots,Note dots}"
1237
1238  {PlayerGraph,Back to "Graphic mode functions"}
1239  {Player,Back to "Player"}
1240  {Contents,Back to Contents}
1241.GRMDots Player: Graphic mode functions: Note dots
1242[Note dots graphic mode function]
1243
1244  ~<N>~ starts the note dots function. Each channel is displayed on a horizontal
1245row. The current note is represented by a dot or a bar. Low notes are placed on
1246the left side. High notes appear on the right side of the screen. By pressing
1247~<PgUp>~, ~<PgDown>~ the scale of the rows can be changed. However the default
1248scale fits the usual note scale of modules exactly, so there should be no need
1249to change.
1250
1251  By pressing ~<N>~ you can alter the output appearance of the dots. In the modes
1252~stereo note cones~ and ~stereo note dots~ the current pan position is indicated by
1253the left/right half of the icon.
1254
1255  Goto previous mode: "{GRMScopes,Oscilloscopes}"
1256  Goto next mode: "{GRMAnalyze,Graphical spectrum analyzer}"
1257
1258  {PlayerGraph,Back to "Graphic mode functions"}
1259  {Player,Back to "Player"}
1260  {Contents,Back to Contents}
1261.GRMAnalyze Player: Graphic mode functions: Graphical spectrum analyzer
1262[Graphical spectrum analyzer graphic mode function]
1263
1264  The graphical spectrum function works in two video modes. By pressing ~<G>~ you
1265will see the standard 640x480 mode. ~<Shift>~+~<G>~ will start the spectrum in
12661024x768 mode. Apart from this difference the two video modes are equal.
1267
1268  Pressing ~<G>~ more than once will toggle between the usual stereo, mono and
1269single channel mode for calculating and showing the spectrum. ~<PgUp>~ and
1270~<PgDown>~ adjust the frequency range. ~<Home>~ will set the frequency to 2756 Hz.
1271To half the resolution (and so speed up the calculation) press ~<Alt>~+~<G>~.
1272
1273  ~<Tab>~ changes the palette of the graphical spectrum. ~<Shift>~+~<Tab>~ will do the
1274same for the standard spectrum analyzer at the bottom.
1275
1276  If you have difficulties interpreting this function here is a short expla-
1277nation: The standard spectrum analyzer at the bottom shows you the current
1278frequency spectrum. The higher a single bar, the louder the frequency. Now
1279imagine looking at this spectrum from top, so every bar becomes a single dot.
1280The height of the bar is now coded with different colours (from black  low to
1281yellow  high). Now we can draw these points along the screen and see the
1282spectrum as it progresses over time. This is somewhat a "3D" view of the
1283spectrum, with the frequency coded along the y-axis, intensity coded in
1284different colours and the time along the x-axis.
1285
1286  Goto previous mode: "{GRMDots,Note dots}"
1287  Goto next mode: "{GRMPhase,Phase graphs}"
1288
1289  {PlayerGraph,Back to "Graphic mode functions"}
1290  {Player,Back to "Player"}
1291  {Contents,Back to Contents}
1292.GRMPhase Player: Graphic mode functions: Phase graphs
1293[Phase graphs graphic mode function]
1294
1295  The last graphical function is started with ~<B>~. You can toggle between four
1296modes which refer exactly to those in the oscilloscope mode. This function
1297displays the currently played samples in a phase graph. One full wave of the
1298sample is drawn over the complete angle of a circle. The louder the sample the
1299greater the radius of the circle. A sine sample would correspond to a normal
1300circle.
1301
1302  Goto previous mode: "{GRMAnalyze,Graphical spectrum analyzer}"
1303  Goto next mode: "{GRMCube,Wuerfel mode}"
1304
1305  {PlayerGraph,Back to "Graphic mode functions"}
1306  {Player,Back to "Player"}
1307  {Contents,Back to Contents}
1308.GRMCube Player: Graphic mode functions: Wuerfel mode
1309[Wuerfel mode graphic mode function]
1310
1311  With ~<W>~ the wuerfel mode is enabled. Its only purpose is to display an ani-
1312mation located in the home directory of OCP. The ~<Tab>~ key will change the
1313play direction. To save diskspace no animations are included in the standard
1314distribution of OCP. They can be found on the OCP homepage (its address
1315is http://www.cubic.org/player). Animations can be generated with the ~CPWAP~
1316program from bitmap files. This program is available on the homepage aswell.
1317
1318  Goto previous mode: "{GRMPhase,Phase graphs}"
1319
1320  {PlayerGraph,Back to "Graphic mode functions"}
1321  {Player,Back to "Player"}
1322  {Contents,Back to Contents}
1323.UsingCM Using the compo mode
1324[Using the compo mode]
1325
1326  This page is as inexistent as the previous one.
1327
1328  Goto previous page: "{PlayerGraph,Graphic mode functions}"
1329  Goto next page: "{MidiFile,MIDI files}"
1330
1331  {Player,Back to "Player" now!}
1332  {Contents,Contents are also nice}
1333.MidiFile MIDI files
1334[MIDI files]
1335
1336  OCP is able to play MIDI files. However there is a certain problem. Unlike
1337the other formats MIDI does not store the sample information needed to produce a
1338sound output. The MIDI file only contains which instrument out of a set of 127
1339should play which note at a given time. This is the reason why ~.MID~ files are
1340much smaller than other file types.
1341
1342  This has of course some disadvantages. To hear a MIDI file you need to have
1343some information about how to play the used instruments. Back in the old days
1344the OPL2 sound chip which was present on the SoundBlaster cards was used to play
1345the MIDI instruments. Most people find the sound capabilities of the OPL series
1346rather limited and MIDI files were no big deal back then.
1347
1348  Things changed when so-called wavetable cards became popular. Those cards have
1349sample data stored onboard in a ROM plus a hardware mixer capable of mixing
1350several MIDI channels.
1351
1352  OCP uses a fork of Timidity that uses this approach, using what is called a
1353sound font. So for MIDI to work, this needs to be installed. The most easy
1354method is probably to make sure that Timidity installed in the operating
1355system, since this usually includes installing atleast a sound font, and to
1356configure the needed configuration files.
1357
1358  Goto previous page: "{UsingCM,Using the compo mode}"
1359  Goto next page: "{Config,Configuration}"
1360
1361  {Player,Back to "Player"}
1362  {Contents,Back to Contents}
1363.Config Configuration
1364[Configuration]
1365
1366  OCP can be widely configured using the ~OCP.INI~ file, which should reside in
1367the home directory ~($HOME/.ocp/ocp.ini)~. This file is processed at every startup
1368and informs the player about various modules/plugins and their respective confi-
1369guration. For average users the default configuration should be sufficient.
1370However if you want to change certain aspects of the player permanently you have
1371to modify this file. You can use any text editor to edit the INI file.
1372
1373  The ~OCP.INI~ consists of many sections. Each section starts with a section
1374identifier tag in square brackets \[\]. Examples of sections are ~\[general\]~ or
1375~\[sound\]~. The sections ID tag should be followed by a newline. After a section
1376has been declared with the ID tag the options describing the sections follow.
1377Each option takes a single line and consists of a keyword followed by a "=" and
1378the parameters. Example: ~mixrate=44100~.
1379
1380  All options following a section ID are options for that section. If a new
1381section starts with an ID tag all forthcoming options are assigned to the new
1382section. All options for a section have to be grouped together. Multiple decla-
1383rations of sections are not valid.
1384
1385  \[general\]
1386    link=dos4gfix
1387  \[defaultconfig\]
1388    link=mchasm
1389  \[general\]
1390    dos4gfix=off
1391
1392  the above example has to be written as:
1393
1394  \[general\]
1395    link=dos4gfix
1396    dos4gfix=off
1397  \[defaultconfig\]
1398    link=mchasm
1399
1400  Note that in the above example the option ~link~ has not been overridden by the
1401~defaultconfig~ section. Both sections now can access an option named ~link~, but
1402both options are totally independent of each other.
1403
1404  Comments can be placed anywhere in the configuration file and are marked by a
1405~;~. The rest of the line starting from the ~;~ is considered as a comment and not
1406processed.
1407
1408  Normally the definition for an option ends with the end of the line. If many
1409parameters are needed to specify an option they may exceed the default line
1410width of 80 characters. Although this is no problem for OCP it is not nice
1411looking. You can extend a line logically by using the unix like ~backquote~ at
1412the end of a line to begin a new line without interrupting the current option
1413definition.
1414
1415  \[example\]
1416    option1=parameter1 parameter2
1417    option2=parameter1 \\
1418            parameter2
1419
1420  Both optains contain exactly the same parameters.
1421
1422  When modifying the configuration you should always start with the default
1423configuration file and configure it to your needs. Building a bug free config
1424file from scratch is difficult.
1425
1426  We will now have a look at the individual section and their options.
1427
1428    ~This section contains...~
1429
1430  - {ConfigGen,general}
1431  - {ConfigDef,defaultconfig}
1432  - {ConfigSound,sound}
1433  - {ConfigScreen,screen}
1434  - {CFilesel,fileselector}
1435  - {ConfigDev,device configuration}
1436  - {CFTypes,filetypes}
1437
1438  Goto previous page: "{Player,Player}"
1439  Goto next page: "{WritePlug,Writing plugins}"
1440
1441  {Contents,Back to Contents}
1442.ConfigGen Configuration: general
1443[Configuration: general]
1444
1445  The ~general~ section describes which internal modules or plugins to load at
1446startup. The required modules for for normal operation of OCP is placed in a
1447special directory, causing them to be automatically loaded. All options listed
1448n this section are loaded every time OCP starts!
1449
1450  \[general\]
1451    ;link=
1452    ;prelink=
1453    ;datapath=
1454    ;tempdir=
1455
1456  ~link~             this option describes the modules to load when starting
1457                   OCP. There is no need to change this option, unless you
1458                   have coded a basic internal module.
1459  ~datapath~         OCP searches for background pictures and animations in its
1460                   home directory. If you want to store your artwork at a
1461                   different place use this option to set the right directory.
1462  ~tempdir~          this directory is used for extracting modules from archives.
1463                   If you have set a DOS environment variable called either ~TEMP~
1464                   or ~TMP~ these will be used.
1465
1466  Goto next page: "{ConfigDef,defaultconfig}"
1467
1468  {Config,Back to "Configuration"}
1469  {Contents,Back to Contents}
1470.ConfigDef Configuration: defaultconfig
1471[Configuration: defaultconfig]
1472
1473  The ~defaultconfig~ section is very similar to the ~general~ section. But unlike
1474the ~general~ section which is always processed the settings in the ~defaultconfig~
1475section can be ommited with an alternative section and the ~-c~ flag from the
1476command line. If the ~-c~ flag is not present the ~defaultconfig~ section will be
1477processed.
1478
1479  \[defaultconfig\] ; default configuration
1480    link=medialib
1481    ;prelink=
1482
1483  ~link~             just like in the ~general~ section this option defines which
1484                   modules should be loaded at startup. You can delete some
1485                   entries if you will not need them - however this is not
1486                   recommended as they do not use much memory and do not require
1487                   any processor power when they are not used.
1488  ~prelink~          these files will be loaded before starting the main module.
1489                   If something goes wrong here OCP will continue to work.
1490
1491  Goto previous page: "{ConfigGen,general}"
1492  Goto next page: "{ConfigSound,sound}"
1493
1494  {Config,Back to "Configuration"}
1495  {Contents,Back to Contents}
1496.ConfigSound Configuration: sound
1497[Configuration: sound]
1498
1499  This section is the most important one for using OCP. If you want to change
1500the configuration permanently you have to modify the entries of this section.
1501
1502  \[sound\]
1503    playerdevices=devpALSA devpOSS devpCA devpSDL2 devpSDL devpNone devpDisk
1504    samplerdevices=devsOSS devsNone
1505    wavetabledevices=devwMixF devwmixQ devwMix devwNone
1506    mixrate=44100
1507    mixprocrate=4096000
1508    mix16bit=on
1509    mixstereo=on
1510    plrbufsize=500
1511    mixbufsize=500
1512    samprate=44100
1513    samp16bit=on
1514    sampstereo=on
1515    smpbufsize=2000
1516    defplayer=
1517    defsampler=
1518    defwavetable=
1519    midichan=64
1520    itchan=64
1521    cdsamplelinein=off
1522    bigmodules=devwMixF
1523    amplify=100
1524    panning=100
1525    volume=100
1526    balance=0
1527    reverb=0
1528    chorus=0
1529    surround=off
1530    filter=2
1531
1532  ~playerdevices~    OCP uses three different devices to communicate with the
1533                   hardware. The ~playerdevices~ are used to play a stream of
1534                   samples. As all sound cards support this feature you will
1535                   find ~playerdevices~ for every soundcard supported by OCP.
1536                   This device is needed for playing ~.WAV~ and ~.MP3~ files and if
1537                   you want/have to use the software (quality) mixer. OCP
1538                   searches for all devices listed in this option at startup and
1539                   only those found are actually loaded. You can delete all
1540                   devices you do not have installed to speed up the startup
1541                   procedure. If you have multiple sound cards installed be sure
1542                   to list all devices if you want to use more than one sound
1543                   card.
1544  ~samplerdevices~   these devices are the least important ones. They are only
1545                   needed if you want to use OCP when playing CD Audio tracks
1546                   or start the player in sample mode. The sample data is not
1547                   calculated from files, but sampled from either the CD, line
1548                   or microphone jack of the sound card. You can then use the
1549                   graphical screens to view the sounds.
1550  ~wavetabledevices~ for mixing several channels you have to use ~wavetabledevices~.
1551                   Most sound cards are only able to play two channels
1552                   simultaneously normally assigned to the left and right chan-
1553                   nel or your home stereo. The ~mixer~ devices are used to mix
1554                   the sample data of module files to those two channels. How-
1555                   ever modern sound cards have special hardware to mix channels
1556                   "onboard". But all hardware mixers have a maximum amount of
1557                   channels to mix. Especially ~.IT~ files often use more than 32
1558                   channels so an errorfree playback can not be guaranteed when
1559                   using hardware mixing. You should include one of the software
1560                   mixers for this case.
1561  ~mixrate~          the default mixrate. Unless you have a very old sound card or
1562                   a very old processor there is no need to change this option.
1563  ~mixprocrate~      if you have a slow CPU you might not to be able to play 32
1564                   channels at full mixrate. This value defines the maximum
1565                   "calculation power" to which OCP tries to use the full
1566                   mixrate.
1567  ~mix16bit~         Leave this option enabled unless you have a 8bit sound card.
1568  ~mixstereo~        dito for stereo cards
1569  ~plrbufsize~       When using a ~playerdevice~ to play sample streams a DMA
1570                   buffer is used to minimize CPU resources for handling the
1571                   sample stream. This option sets the DMA buffer length in
1572                   milliseconds.
1573  ~mixbufsize~       When running OCP in a multitasking environment there is
1574                   no guarantee for constant CPU resources. To avoid a break in
1575                   the sample stream OCP will calculate in advance. This
1576                   option sets the buffer length in milliseconds.
1577  ~samprate~         When using a ~samplerdevice~ this value will be used.
1578  ~samp16bit~        dito
1579  ~sampstereo~       dito
1580  ~smpbufsize~       this option sets the length of the sample DMA buffer in
1581                   milliseconds.
1582  ~defplayer~        with this option you can override the default ~playerdevice~.
1583                   Normally you don't need to set this option, as the default
1584                   device can also be set by order in the ~playerdevice~ option.
1585                   This option can also be specified by using the ~-sp~ options
1586                   from command line.
1587  ~defwavetable~     this option sets the default ~wavetabledevice~. Can also be set
1588                   with ~-sw~ command.
1589  ~defsampler~       the same as the ~-ss~ command line option.
1590  ~midichan~         unlike the module file types the MIDI file format does not
1591                   specify the exact amount of channels to use. Complex ~.MID~
1592                   files can easily try to play several dozens of channels
1593                   simultaneously. This option sets the maximum number of
1594                   channels to mix when playing ~.MID~ files. Note that this value
1595                   has no effect when a hardware mixing device is used, as the
1596                   maximum number is limited by the hardware.
1597  ~itchan~           the ~.IT~ format can play more than one sample per channel
1598                   simultaneously. A maximum number of channels to mix is
1599                   required for this file type too. When playing ~.IT~ files using
1600                   a hardware mixer the maximum number of channels is again
1601                   limited by the hardware.
1602  ~cdsamplelinein~   If you select a ~.CDA~ file the CD Input of your sound card
1603                   is used to sample the current music. If you do not have a CD
1604                   input or if you have connected your CD-ROM to the line-in
1605                   jack enable this option to change to sample input.
1606  ~bigmodules~       This option is of interest for users of hardware mixing
1607                   devices only. Sound cards capable of mixing channels are not
1608                   only limited by the amount of channels played simultaneously,
1609                   but by the amount of onboard memory to store the sample data
1610                   too. If files are marked as "big" in the fileselector the
1611                   device listed in this option will be used for mixing this
1612                   module.
1613  ~amplify~          the default amplification to use within the player. The
1614                   following options are described in "{PlayerGen,Player: General}" in
1615                   detail. The command line option ~-va~ overrides this option.
1616  ~panning~          the default panning (command ~-vp~)
1617  ~volume~           the default volume (comand ~-vv~)
1618  ~balance~          the default balance (command ~-vb~)
1619  ~reverb~           some sound cards have a onboard effect processor which
1620                   features a reverb effect. This option controls the intensity
1621                   of the onboard effect. (command ~-vr~)
1622  ~chorus~           dito as reverb (command ~-vc~)
1623  ~surround~         this option controls the fake surround effect (command ~-vs~)
1624  ~filter~           The software mixer can use a software filter to enhance the
1625                   playback quality. Different algorithms can be used. (command
1626                   ~-vf~)
1627
1628                   ~0~  no filter
1629                   ~1~  AOI - only filter samples when filtering is necessary
1630                   ~2~  FOI - filter every sample even if filtering has no effect
1631
1632  Goto previous page: "{ConfigDef,defaultconfig}"
1633  Goto next page: "{ConfigScreen,screen}"
1634
1635  {Config,Back to "Configuration"}
1636  {Contents,Back to Contents}
1637.ConfigScreen Configuration: screen
1638[Configuration: screen]
1639
1640  When the player starts it will use the options in this section as the start
1641appearance.
1642
1643  \[screen\]
1644    usepics=opencp01.tga
1645    compomode=off
1646    startupmode=text
1647    screentype=2
1648    analyser=on
1649    mvoltype=1
1650    pattern=on
1651    insttype=0
1652    channeltype=1
1653    palette=0 1 2 3 4 5 6 7 8 9 a b c d e f
1654
1655  ~usepics~          When using graphics modes you can use a picture to show in
1656                   the background. OCP will load any TGA files with 640x384
1657                   pixels and 256 colours. As the TGA format is poorly implemen-
1658                   ted in modern graphic programs this might change in the
1659                   future. As some colours out of 256 are used by OCP you
1660                   should leave either the first or the last 16 colours in the
1661                   palette black. The pictures should be copied to the home
1662                   directory of OCP, unless you specify a different location
1663                   in the ~defaultconfig~ section.
1664  ~compomode~        this option will enable the compo mode. The page
1665                   "{UsingCM,Using the compomode}" describes the details.
1666  ~startupmode~      start the player in either text or graphic mode. Valid
1667                     values are: coolhelp, dots, graph, links, msg, phase,
1668                                 scope, text, wuerfel2.
1669  ~screentype~       the default screentextmode:
1670
1671                     ~0~  80x25
1672                     ~1~  80x30
1673                     ~2~  80x50
1674                     ~3~  80x60
1675                     ~4~  132x25
1676                     ~5~  132x30
1677                     ~6~  132x50
1678                     ~7~  132x60
1679  ~analyzer~         if the player starts in textmode show the analyzer (or not)
1680  ~mvoltype~         the appearance of the peak power levels:
1681
1682                     ~1~  big
1683                     ~2~  small
1684  ~pattern~          show the tracklist when starting OCP in textmode
1685  ~insttype~         the appearance of the instrument function:
1686
1687                     ~0~  short
1688                     ~1~  long
1689                     ~2~  side (only in 132 column modes)
1690  ~channeltype~      the appearance of the channels in textmode:
1691
1692                     ~0~  short
1693                     ~1~  long
1694                     ~2~  side (only in 132 column modes)
1695  ~palette~          with this option you can redefine the default colours used
1696                     in textmode. The first entry defines which colour to use
1697                     for the original colour with number 0. Leave things as they
1698                     are if you are satisfied with the visual appearance of
1699                     OCP. We will provide new colour schemes in the future.
1700
1701  Goto previous page: "{ConfigSound,sound}"
1702  Goto next page: "{CFilesel,fileselector}"
1703
1704  {Config,Back to "Configuration"}
1705  {Contents,Back to Contents}
1706.CFilesel Configuration: fileselector
1707[Configuration: fileselector]
1708
1709  Except the first two options all options can also be specified at runtime by
1710pressing ~<Alt>~+~<C>~ in the fileselector. However to make changes permanent
1711you have to modify the ~fileselector~ section.
1712
1713  \[fileselector\] ; default fileselector section
1714    modextensions=MOD S3M XM  IT  MDL DMF ULT AMS MTM 669 NST WOW \\
1715                  OKT PTM MXM MID WAV RMI MP1 MP2 MP3 OGG OGA SID \\
1716                  DAT AY  YM  HVL AHX PLS M3U PLT
1717    movepath= ; default path to move files
1718    screentype=2
1719    typecolors=on
1720    editwin=on
1721    writeinfo=on
1722    scanmdz=on
1723    scaninarcs=on
1724    putarchives=on
1725    playonce=on
1726    randomplay=on
1727    loop=on
1728    path=.
1729
1730  ~modextensions~    files containing these extensions will be scanned by the
1731                   fileselector. Only those files will be shown. If you want to
1732                   load files with different extensions you have to specify them
1733                   at the command line.
1734  ~movepath~         the standard path to move files into. This is described on
1735                   page "{FSelUseAdv,Fileselector: Advanced usage}".
1736  ~screentype~       the textmode to use within the fileselector. The options
1737                   are the same as in the {ConfigScreen,screen} section.
1738  ~typecolors~       show files in different colours depending on the file type.
1739  ~editwin~          show the edit window at the bottom of the screen
1740  ~writeinfo~        write the info to the information database located in the
1741                   home directory of OCP. This speeds up the processing of
1742                   directories, as files have to be scanned only once.
1743  ~scanmdz~          if ~.MDZ~ files are found in the current directory, they will
1744                   be scanned and the included information used.
1745  ~scanmodinfo~      scan inside the music files for module information.
1746  ~scanarchives~     if archives (like ~.ZIP~ or ~.RAR~) are found in the current
1747                   directory they are scanned for modules.
1748  ~putarchives~      show archives in the fileselector, so they can be used just
1749                   like subdirectories.
1750  ~playonce~         play every file only once (thus not looping it) and then
1751                   procede with the next file in the playlist. If the file
1752                   contains a loop the loop command is ignored.
1753  ~randomplay~       play files in the playlist in random order.
1754  ~loop~             loop files after the end. This option has no effect if the
1755                   file contains a loop command.
1756  ~path~             the default path to use when starting the fileselector the
1757                   first time. The default is the current directory (.). If you
1758                   keep all your music files in one directory you can specify
1759                   this directory here.
1760
1761  Goto previous page: "{ConfigScreen,screen}"
1762  Goto next page: "{ConfigDev,device configuration}"
1763
1764  {Config,Back to "Configuration"}
1765  {Contents,Back to Contents}
1766.ConfigDev Configuration: device configuration
1767[Configuration: device configuration]
1768
1769  The following sections define the various devices for the player. Unless you
1770really know what to do you should not change the following options. As most
1771entries are similar only some educational examples are listed here. For a
1772complete reference have a look at your personal ~OCP.INI~ file for details.
1773
1774  The general form of a device looks like:
1775
1776  \[handle\]
1777    link=...
1778    subtype=...
1779    port=...
1780    port2=...
1781    irq=...
1782    irq2=...
1783    dma=...
1784    dma2=...
1785    bypass=...
1786    keep=...
1787
1788  ~handle~           The internal name to use within the player. The ~OCP.INI~ file
1789                   must contain all ~handles~ listed in the devices options of the
1790                   ~devices~ section.
1791  ~link~             the name of the DLL function this device will be linked to.
1792  ~port(2)~          the primary/secondary port of the sound card. This value has
1793                   to be given in hexadecimal with preceeding ~0x~ or appending ~h~!
1794  ~irq(2)~           the primary/secondary IRQ of the sound card
1795  ~dma(2)~           the primary/secondary DMA of the sound card
1796  ~bypass~           skip the autodetection if it may encounter problems
1797  ~keep~             keep the driver resident in memory, even it is not currently
1798                   needed. This will save some time by needing some memory.
1799
1800  Most device functions of the standard DLL contain autodetection routines for
1801the supported sound cards, so there is normally no need to specify any of the
1802port, IRQ or DMA options. However if OCP is not able to detect your sound
1803cards settings you can try to insert the appropriate values in the configuration
1804file.
1805
1806  The next subsections will look at the special features the different sound
1807cards and drivers support. The original order of the ~OCP.INI~ has been slightly
1808modified for the purpose of documentation.
1809
1810    ~This section contains...~
1811
1812  - {DevCALSA,ALSA}
1813  - {DevCCA,CoreAudio}
1814  - {DevCOSS,OSS}
1815  - {DevCSDL,SDL/SDL2}
1816  - {DevCDWR,Diskwriter}
1817  - {DevCMix,software mixers}
1818
1819  {Config,Back to "Configuration"}
1820  {Contents,Back to Contents}
1821.DevCALSA Configuration: ALSA - Advanced Linux Sound Architecture
1822[Configuration: ALSA - Advanced Linux Sound Architecture]
1823
1824  \[devpALSA\]
1825    link=devpalsa
1826
1827  ALSA is the modern sound architecture in Linux that can give direct access to
1828sound hardware. For many modern systems, the default output driver might be a
1829virtual sound card like PulseAudio making it possible for the desktop volume
1830applet to adjust volume per application.
1831
1832  Goto next device: "{DevCCA,CoreAudio}"
1833
1834  {ConfigDevC,Back to "Configuration: device configuration"}
1835  {Config,Back to "Configuration"}
1836  {Contents,Back to Contents}
1837.DevCCA Configuration: CA - CoreAudio
1838[Configuration: CA - CoreAudio]
1839
1840  \[devpCA\]
1841    link=devpcoreaudio
1842
1843  CoreAudio is the sound arcitecture for MacOS / OSX. The current state of this
1844driver might be non-working, as the main developer do not have access to the
1845given hardware. Testing/patching are welcome.
1846
1847  Goto previous device: "{DevCALSA,ALSA}"
1848  Goto next device: "{DevCOSS,OSS}"
1849
1850  {ConfigDevC,Back to "Configuration: device configuration"}
1851  {Config,Back to "Configuration"}
1852  {Contents,Back to Contents}
1853.DevCOSS Configuration: OSS - Open Sound System
1854[Configuration: OSS - Open Sound System]
1855
1856  \[devpOSS\]
1857    link=devposs
1858    revstereo=off
1859    path=/dev/dsp
1860    mixer=/dev/mixer
1861
1862  \[devsOSS\]
1863    link=devsoss
1864    revstereo=on
1865    path=/dev/dsp
1866    mixer=/dev/mixer
1867    igain=1
1868
1869  OSS is the common legacy sound API for most unix systems. This driver should
1870work on most unix-like operating systems like different variants of BSD, old
1871versions of Linux, etc.
1872
1873  Goto previous device: "{DevCCA,CoreAudio}"
1874  Goto next device: "{DevCSDL,SDL/SDL2}"
1875
1876  {ConfigDevC,Back to "Configuration: device configuration"}
1877  {Config,Back to "Configuration"}
1878  {Contents,Back to Contents}
1879.DevCSDL Configuration: SDL/SDL2
1880[Configuration: SDL/SDL2]
1881
1882  \[devpSDL\]
1883    link=devpsdl
1884
1885  \[devpSDL2\]
1886    link=devpsdl2
1887
1888  SDL/SDL2 is a cross-platform library that gives a common simple API for
1889playing audio, hiding the underlaying operating system. This library will work
1890on almost all systems.
1891
1892  Goto previous device: "{DevCOSS,OSS}"
1893  Goto next device: "{DevCDWR,Diskwriter}"
1894
1895  {ConfigDevC,Back to "Configuration: device configuration"}
1896  {Config,Back to "Configuration"}
1897  {Contents,Back to Contents}
1898
1899.DevCDWR Configuration: DiskWriter
1900[Configuration: DiskWriter]
1901
1902  \[devpDisk\]
1903    link=devpDisk
1904
1905  OCP can write all sound output directly to hard disk. Data is written in
1906standard ~.WAV~ format. You can use this feature to burn audio cds from any
1907sound format supported by OCP.
1908
1909  Although you can write ~.WAV~ files in every possible sample format you
1910should not alter the default of 44100KHz, 16bit, stereo. You should disable
1911module looping so each module is written once onto harddisk. You can disable
1912looping in the ~OCP.INI~ with the directive ~loop=on~ in the ~fileselector~
1913section. You can also change looping temporarily with the fileselector
1914configuration while OCP is running. See the fileselector {FSelUseAdv,Advanced usage}
1915for details.
1916
1917  To enable the diskwriter device you can change the ~OCP.INI~ file and select
1918the ~devpDisk~ as default device by moving it to the start of the ~playerdevices~
1919directive in the \[sound\] section. You can also select the ~devpDisk~ device
1920temporarily by selecting the ~setup:/DEVICES/DEVPDISK.DEV~ device in the
1921filebrowser.
1922
1923  Now simply select a module to play. You will hear no output and notice that
1924the module is played with maximum depending on your cpu power. In the directory
1925where you have started OCP (not necessaryly the directory where the module is
1926located) subsequent ~.WAV~ files named after the original filename will be
1927created.
1928
1929  Goto previous device: "{DevCSDL,SDL/SDL2}"
1930  Goto next device: "{DevCMIX,software mixers}"
1931
1932  {ConfigDevC,Back to "Configuration: device configuration"}
1933  {Config,Back to "Configuration"}
1934  {Contents,Back to Contents}
1935.DevCMix Configuration: device configuration: software mixers
1936[Configuration: device configuration: software mixers]
1937
1938  By default OCP will use its own routines for mixing several channels to the
1939two stereo output channels. You have the choice between two mixers. The normal
1940mixer is faster in calculating, thus can mix more channels at the same time. The
1941quality mixer however produces better sound output. For average modules and a
1942pentium processor the quality mixer should be fast enough for sufficient play-
1943back. If many channels are used you may have to change back to the normal mixer.
1944
1945  Both mixers take identical options. As the mixers will be rewritten in the
1946future the options are likely to change. Therefore they are not documented here.
1947Please have a look at future versions of this document if you want to change the
1948mixer settings. However these devices never have caused any trouble and there
1949should be no need for change.
1950
1951  Goto previous device: "{DevCDWR,Diskwriter}"
1952
1953  {ConfigDevC,Back to "Configuration: device configuration"}
1954  {Config,Back to "Configuration"}
1955  {Contents,Back to Contents}
1956.CFTypes Configuration: file types
1957[Configuration: file types]
1958
1959  The ~OCP.INI~ file contains descriptions for all supported file types. These
1960features will be included in the file loader devices in the next version of
1961OCP, so these options will soon be obsolete. There should be no need to
1962modify any of the file types.
1963
1964  Goto previous page: "{DevCMix,software mixers}"
1965  Goto next page: "{WritePlug,Writing plugins}"
1966
1967  {Config,Back to "Configuration"}
1968  {Contents,Back to Contents}
1969.WritePlug Writing plugins
1970[Writing plugins]
1971
1972  Figure: Block diagram of OCP
1973
1974  �������������Ŀ                 ���������Ŀ                 ��������������Ŀ
1975  � Sound input �                 � ocp.ini �                 � Sound output �
1976  ���������������                 �����������                 ����������������
1977         �                                                           
1978��������������������������������������������������������������������������������
1979                        ���������������������������������������������
1980     ������Ŀ        ������Ŀ    �������Ŀ    �����������Ŀ       ������Ŀ
1981     � devs �        � devw ��� � mixer ��� � postprocs ������ � devp �
1982     ��������        ��������    ���������    �������������       ��������
1983         �                                                          
1984                        �                                           �
1985    ���������Ŀ     ���������Ŀ                               ��������������Ŀ
1986    � playinp �     � playgmd �                               � plaympx      �
1987    ���������Ĵ     ���������Ĵ                               ��������������Ĵ
1988    � playcda �     �  playit �                               � playwav      �
1989    �����������     ���������Ĵ                               ��������������Ĵ
1990         �          �  playxm �                               � playogg      �
1991         �          �����������                               ��������������Ĵ
1992         �                                                   � playhvl      �
1993         �               �                                    ��������������Ĵ
1994         �               �                                    � playay       �
1995         �               �                                    ��������������Ĵ
1996         �               �                                    � playtimidity �
1997         �               �                                    ��������������Ĵ
1998         �               �                                    � playsid      �
1999         �               �                                    ��������������Ĵ
2000         �               �                                    � playopl      �
2001         �               �                                    ����������������
2002         �               �                                           
2003         �               �                                           �
2004         �������������������������������������������������������������
2005         ����������������Ŀ           �
2006         �   file types   �           �
2007         ������������������           �
2008                 �                    �           ������������Ŀ
2009                                                �   scopes   �
2010         ����������������Ŀ   ~����������������ͻ~  �  note dots �  ������������Ŀ
2011         �                �   ~�                �~  �phase graphs�  � main volume�
2012         �                �   ~�                �~  �gfx analyzer�  �  channels  �
2013         �  fileselector  ��~�    cpiface     �~��wuerfel mode�  � instruments�
2014         �                �   ~�                �~  ������������Ĵ  � track view �
2015         �                �   ~�                �~  � text modes ���txt analyzer�
2016         ������������������   ~����������������ͼ~  ��������������  ��������������
2017                 �                                                     
2018                 �                    �                 �                �
2019                             ������������������������������������������������Ŀ
2020         ����������������Ŀ   � prelinked dlls: dos4gfix, hardware, mmcmphlp,  �
2021         �    archives    ��Ĵ poutput, inflate, chasm, devicebase, sets      �
2022         ������������������   ��������������������������������������������������
2023
2024         cp.exe: runtime, clib, system, linker, configuration, binfiles
2025
2026[(and now one should say ASCII art is lame :)]
2027
2028  The capatibilities of OCP can be extended by plugins. The type of plugin is
2029not limited, so new graphics modes, file types and even enhanced players may be
2030added by the user. As development for OCP is done using Watcom C++ 11.0 it is
2031recommended to use this compiler for developing plugins aswell. We have not
2032tested the plugin interface with other compilers. (This might change in the
2033future).
2034
2035  If there are questions, don't hesitate to contact the authors. You may also
2036ask me for simple problems (like: why OCP just flickers instead of switching to
2037my brand new ultra-cool interface mode? Or: What the heck means 'W?cpiTrkSetup$\\
2038n(rnx$cpitrakdisplaystruct$$i)v'?). My mail address is gfabian@jdcs.su.nw.schul\\
2039e.de. (A \\ means a word is continued in next line without a space).
2040
2041  {Contents,Take me back to contents}
2042.Thanks Thanks
2043[Thanks]
2044
2045  The OCP maintainers thank the following people for supporting us in the
2046development of the player and its associated tools:
2047
2048  Lars �ge Kamfjord aka Laaknor
2049  Andreas Kristiansen aka Kafka
2050  Mathias B�en
2051  Mathias Nilsen
2052  Helge aka alge
2053  Roman Y. Bogdanov
2054  Emanuel Haupt
2055  G�rkan Seng�n
2056  Reinaert Albrecht
2057  Luigi Auriemma
2058  Adam Sampson
2059  Chuck Anderson
2060  Fran�ois Revol
2061  Jindrich Makovicka
2062  Csaba Hal�sz aka Jester01
2063  Ossi Saukko
2064  Thomas Carey
2065  Jacob Poon
2066  Igor Shterv
2067  Michael Schwendt
2068  Felix Domke
2069  Moritz Grimm
2070  Maximilian Rehkops
2071  Luciano Golino
2072  Oleg Prokhorov
2073  Vladimir Sojka
2074  Pham Dank Quang
2075  Evzen Polenka
2076
2077  Without you OCP would not have the current face and features. We also like
2078to thank the hundreds of unnamed people supplying us with bug reports and
2079general suggestions concerning the player. Please keep on using and supporting
2080OCP!
2081
2082  {Contents,Back to contents}
2083.License License
2084~[GNU GENERAL PUBLIC LICENSE]~
2085~[Version 2, June 1991]~
2086
2087 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
2088                          675 Mass Ave, Cambridge, MA 02139, USA
2089
2090 Everyone is permitted to copy and distribute verbatim copies
2091 of this license document, but changing it is not allowed.
2092
2093~[Preamble]~
2094
2095  The licenses for most software are designed to take away your freedom to share
2096and change it.  By contrast, the GNU General Public License is intended to
2097guarantee your freedom to share and change free software--to make sure the soft-
2098ware is free for all its users.  This General Public License applies to most of
2099the Free Software Foundation's software and to any other program whose authors
2100commit to using it.  (Some other Free Software Foundation software is covered by
2101the GNU Library General Public License instead.) You can apply it to your
2102programs, too.
2103
2104  When we speak of free software, we are referring to freedom, not price.  Our
2105General Public Licenses are designed to make sure that you have the freedom to
2106distribute copies of free software (and charge for this service if you wish),
2107that you receive source code or can get it if you want it, that you can change
2108the software or use pieces of it in new free programs; and that you know you can
2109do these things.
2110
2111  To protect your rights, we need to make restrictions that forbid anyone to
2112deny you these rights or to ask you to surrender the rights. These restrictions
2113translate to certain responsibilities for you if you distribute copies of the
2114software, or if you modify it.
2115
2116  For example, if you distribute copies of such a program, whether gratis or
2117for a fee, you must give the recipients all the rights that you have.  You must
2118make sure that they, too, receive or can get the source code.  And you must show
2119them these terms so they know their rights.
2120
2121  We protect your rights with two steps: (1) copyright the software, and (2)
2122offer you this license which gives you legal permission to copy, distribute
2123and/or modify the software.
2124
2125  Also, for each author's protection and ours, we want to make certain that
2126everyone understands that there is no warranty for this free software.  If the
2127software is modified by someone else and passed on, we want its recipients to
2128know that what they have is not the original, so that any problems introduced by
2129others will not reflect on the original authors' reputations.
2130
2131  Finally, any free program is threatened constantly by software patents.  We
2132wish to avoid the danger that redistributors of a free program will individually
2133obtain patent licenses, in effect making the program proprietary.  To prevent
2134this, we have made it clear that any patent must be licensed for everyone's free
2135use or not licensed at all.
2136
2137  The precise terms and conditions for copying, distribution and modification
2138follow.
2139
2140~[GNU GENERAL PUBLIC LICENSE]~
2141~[TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION]~
2142
2143  0. This License applies to any program or other work which contains a notice
2144placed by the copyright holder saying it may be distributed under the terms of
2145this General Public License.  The "Program", below, refers to any such program
2146or work, and a "work based on the Program" means either the Program or any
2147derivative work under copyright law: that is to say, a work containing the
2148Program or a portion of it, either verbatim or with modifications and/or trans-
2149lated into another language.  (Hereinafter, translation is included without
2150limitation in the term "modification".)  Each licensee is addressed as "you".
2151
2152Activities other than copying, distribution and modification are not covered by
2153this License; they are outside its scope.  The act of running the Program is not
2154restricted, and the output from the Program is covered only if its contents
2155constitute a work based on the Program (independent of having been made by
2156running the Program). Whether that is true depends on what the Program does.
2157
2158  1. You may copy and distribute verbatim copies of the Program's source code
2159as you receive it, in any medium, provided that you conspicuously and appro-
2160priately publish on each copy an appropriate copyright notice and disclaimer of
2161warranty; keep intact all the notices that refer to this License and to the
2162absence of any warranty; and give any other recipients of the Program a copy of
2163this License along with the Program.
2164
2165You may charge a fee for the physical act of transferring a copy, and you may at
2166your option offer warranty protection in exchange for a fee.
2167
2168  2. You may modify your copy or copies of the Program or any portion of it,
2169thus forming a work based on the Program, and copy and distribute such
2170modifications or work under the terms of Section 1 above, provided that you
2171also meet all of these conditions:
2172
2173    a) You must cause the modified files to carry prominent notices
2174    stating that you changed the files and the date of any change.
2175
2176    b) You must cause any work that you distribute or publish, that in
2177    whole or in part contains or is derived from the Program or any
2178    part thereof, to be licensed as a whole at no charge to all third
2179    parties under the terms of this License.
2180
2181    c) If the modified program normally reads commands interactively
2182    when run, you must cause it, when started running for such
2183    interactive use in the most ordinary way, to print or display an
2184    announcement including an appropriate copyright notice and a
2185    notice that there is no warranty (or else, saying that you provide
2186    a warranty) and that users may redistribute the program under
2187    these conditions, and telling the user how to view a copy of this
2188    License.  (Exception: if the Program itself is interactive but
2189    does not normally print such an announcement, your work based on
2190    the Program is not required to print an announcement.)
2191
2192These requirements apply to the modified work as a whole.  If identifiable
2193sections of that work are not derived from the Program, and can be reasonably
2194considered independent and separate works in themselves, then this License, and
2195its terms, do not apply to those sections when you distribute them as separate
2196works.  But when you distribute the same sections as part of a whole which is a
2197work based on the Program, the distribution of the whole must be on the terms of
2198this License, whose permissions for other licensees extend to the entire whole,
2199and thus to each and every part regardless of who wrote it.
2200
2201Thus, it is not the intent of this section to claim rights or contest your
2202rights to work written entirely by you; rather, the intent is to exercise the
2203right to control the distribution of derivative or collective works based on
2204the Program.
2205
2206In addition, mere aggregation of another work not based on the Program with the
2207Program (or with a work based on the Program) on a volume of a storage or
2208distribution medium does not bring the other work under the scope of this
2209License.
2210
2211  3. You may copy and distribute the Program (or a work based on it, under
2212Section 2) in object code or executable form under the terms of Sections 1 and 2
2213above provided that you also do one of the following:
2214
2215    a) Accompany it with the complete corresponding machine-readable
2216    source code, which must be distributed under the terms of Sections
2217    1 and 2 above on a medium customarily used for software interchange; or,
2218
2219    b) Accompany it with a written offer, valid for at least three
2220    years, to give any third party, for a charge no more than your
2221    cost of physically performing source distribution, a complete
2222    machine-readable copy of the corresponding source code, to be
2223    distributed under the terms of Sections 1 and 2 above on a medium
2224    customarily used for software interchange; or,
2225
2226    c) Accompany it with the information you received as to the offer
2227    to distribute corresponding source code.  (This alternative is
2228    allowed only for noncommercial distribution and only if you
2229    received the program in object code or executable form with such
2230    an offer, in accord with Subsection b above.)
2231
2232The source code for a work means the preferred form of the work for making
2233modifications to it.  For an executable work, complete source code means all
2234the source code for all modules it contains, plus any associated interface
2235definition files, plus the scripts used to control compilation and installation
2236of the executable.  However, as a special exception, the source code distributed
2237need not include anything that is normally distributed (in either source or
2238binary form) with the major components (compiler, kernel, and so on) of the
2239operating system on which the executable runs, unless that component itself
2240accompanies the executable.
2241
2242If distribution of executable or object code is made by offering access to copy
2243from a designated place, then offering equivalent access to copy the source code
2244from the same place counts as distribution of the source code, even though third
2245parties are not compelled to copy the source along with the object code.
2246
2247  4. You may not copy, modify, sublicense, or distribute the Program except as
2248expressly provided under this License.  Any attempt otherwise to copy, modify,
2249sublicense or distribute the Program is void, and will automatically terminate
2250your rights under this License. However, parties who have received copies, or
2251rights, from you under this License will not have their licenses terminated so
2252long as such parties remain in full compliance.
2253
2254  5. You are not required to accept this License, since you have not signed it.
2255However, nothing else grants you permission to modify or distribute the Program
2256or its derivative works.  These actions are prohibited by law if you do not
2257accept this License.  Therefore, by modifying or distributing the Program (or
2258any work based on the Program), you indicate your acceptance of this License to
2259do so, and all its terms and conditions for copying, distributing or modifying
2260the Program or works based on it.
2261
2262  6. Each time you redistribute the Program (or any work based on the Program),
2263the recipient automatically receives a license from the original licensor to
2264copy, distribute or modify the Program subject to these terms and conditions.
2265You may not impose any further restrictions on the recipients' exercise of the
2266rights granted herein. You are not responsible for enforcing compliance by third
2267parties to this License.
2268
2269  7. If, as a consequence of a court judgment or allegation of patent infringe-
2270ment or for any other reason (not limited to patent issues), conditions are im-
2271posed on you (whether by court order, agreement or otherwise) that contradict
2272the conditions of this License, they do not excuse you from the conditions of
2273this License.  If you cannot distribute so as to satisfy simultaneously your ob-
2274ligations under this License and any other pertinent obligations, then as a con-
2275sequence you may not distribute the Program at all.  For example, if a patent
2276license would not permit royalty-free redistribution of the Program by all those
2277who receive copies directly or indirectly through you, then the only way you
2278could satisfy both it and this License would be to refrain entirely from distri-
2279bution of the Program.
2280
2281If any portion of this section is held invalid or unenforceable under any parti-
2282cular circumstance, the balance of the section is intended to apply and the
2283section as a whole is intended to apply in other circumstances.
2284
2285It is not the purpose of this section to induce you to infringe any patents or
2286other property right claims or to contest validity of any such claims; this
2287section has the sole purpose of protecting the integrity of the free software
2288distribution system, which is implemented by public license practices.  Many
2289people have made generous contributions to the wide range of software distri-
2290buted through that system in reliance on consistent application of that system;
2291it is up to the author/donor to decide if he or she is willing to distribute
2292software through any other system and a licensee cannot impose that choice.
2293
2294This section is intended to make thoroughly clear what is believed to be a con-
2295sequence of the rest of this License.
2296
2297  8. If the distribution and/or use of the Program is restricted in certain
2298countries either by patents or by copyrighted interfaces, the original copyright
2299holder who places the Program under this License may add an explicit geograph-
2300ical distribution limitation excluding those countries, so that distribution
2301is permitted only in or among countries not thus excluded.  In such case, this
2302License incorporates the limitation as if written in the body of this License.
2303
2304  9. The Free Software Foundation may publish revised and/or new versions of
2305the General Public License from time to time.  Such new versions will be similar
2306in spirit to the present version, but may differ in detail to address new
2307problems or concerns.
2308
2309Each version is given a distinguishing version number.  If the Program specifies
2310a version number of this License which applies to it and "any later version",
2311you have the option of following the terms and conditions either of that version
2312or of any later version published by the Free Software Foundation.  If the Pro-
2313gram does not specify a version number of this License, you may choose any
2314version ever published by the Free Software Foundation.
2315
2316  10. If you wish to incorporate parts of the Program into other free programs
2317whose distribution conditions are different, write to the author to ask for per-
2318mission.  For software which is copyrighted by the Free Software Foundation,
2319write to the Free Software Foundation; we sometimes make exceptions for this.
2320Our decision will be guided by the two goals of preserving the free status of
2321all derivatives of our free software and of promoting the sharing and reuse of
2322software generally.
2323
2324~[NO WARRANTY]~
2325
2326  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
2327THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN OTHERWISE
2328STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE
2329PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
2330INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
2331FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFOR-
2332MANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU
2333ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
2334
2335  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
2336WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
2337THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
2338GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
2339INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
2340BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
2341FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER
2342OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
2343
2344~[END OF TERMS AND CONDITIONS]~
2345
2346  {Contents,Leave all this legal stuff behind and go to Contents}
2347.AboutDoc About this document
2348[About this document]
2349
2350  ~OCP 2.5 manual~ (hypertext version for use with CPHELPER)
2351
2352  Original document by:
2353[Dirk Jagdmann and Tammo Hinrichs]
2354
2355  Original document converted to HTML with:
2356[LaTeX2HTML v98.1p1 release, by Nikos Drakos]
2357
2358  HTML->Help conversion, Help format design, CPHELPER plugin:
2359[Fabian Giesen (RYG/Chrome Design)]
2360
2361~[NOW QUIT THIS STUPID HELP TOOL AND ENJOY OPENCP!!!!]~
2362
2363  ~Note~: For questions about the documentation, please mail doj, ~doj@cubic.org~,
2364but for questions about this, please mail me, ~fabian@jdcs.su.nw.schule.de~.
2365(that means, if you have problems with the contents, mail doj, if you have
2366problems with the help/helpfiles, mail me).
2367
2368  {Contents,Flee to contents, fast!}
2369.end
2370