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