=============================================================================== CD-V ver 1.4 =============================================================================== An Audio-CD VGA Player Itamar Grutman Israel 1994 =============================================================================== This program was put as Public Domain by the author and may be distributed freely. It may not be sold, nor be made part of anything that is sold. =============================================================================== Description ----------- This program was written to fulfill my need for a VGA-based audio-cd player for DOS. It seemed that all the nice CD players were written for windows and I found nothing for DOS. Since I don't like using the mouse in text mode, I wrote a graphic player. The program has a very simple interface and includes all the buttons one would expect to find in an advanced CD player as well as a blank screen saver. The bottom row of buttons corresponds to usual commands (e.g. stop,play) where the play button serves also as pause (toggle). The eject/close-tray button is on the right of the time display. When ejected or not ready, all buttons (except eject and PWR) are grayed (whited). The top row of buttons contains special purpose buttons, which are (from left to right) : Power, Track display(enables to select a track), Statistics display(Show totals and progress bars), Direction(Toggles between increasing or decreasing time),Play mode (sequential or ordered),Volume control,Mute and finally - About. All the top row buttons are togglers (except PWR, of course). NOTE : Volume control will work only for those devices that support it. It does not make use of the sound card, therefore, the sound card itself should be set to it's maximum level to get the full scale of the volume bar. Instructions ------------ I will provide instructions only for what isn't obvious. Screen saver : Will either operate after a specified time (see configuration) of no movement or when the mouse is moved to the upper-left corner of the screen and remains idle there for 2 seconds. Moving the mouse or pressing a letter key on the keyboard will shut off the screen saver and return the program to the screen. Configuration : If a file called "cd-v.cfg" exists in the directory cd-v is run from, cd-v will read it's configuration from it. A sample file is included. The format is spartanic : The first number indicates the number of seconds to wait for the activation of the screen saver. A zero disables the screen saver. The second number indicates the starting volume level (ranging 0 to 255). A negative number means that the current volume level should be used. The following 4 numbers indicate the initial state of 4 of the togglers : Track display, Statistics display, Direction and Volume control, by that order. 0 means the togglers are off and 1 (or any other) that they are on. The following 16 numbers are the palette values (which I highly recommend not to change). If the first of them is negative, all are ignored. If not, the values are read into the system palette. Given with the included configuration file are the numbers for the default gray-level palette. The numbers there correspond to the following colors : BLACK 0 BLUE 1 GREEN 2 CYAN 3 RED 4 MAGENTA 5 LIGHTGRAY 7 BROWN 20 DARKGRAY 56 LIGHTBLUE 57 LIGHTGREEN 58 LIGHTCYAN 59 LIGHTRED 60 LIGHTMAGENTA 61 YELLOW 62 WHITE 63 As an example, changing between the entry containing 63 and the one containing 56 will result in all the buttons to be reversed (i.e. pressed instead of raised and raised instead of pressed). Track order selection : Press the Play-Mode button (drawn as 1-2-3 on diagonal) and the track order list should appear as well as the track selection box (if it wasn't visible). If this is the first time this mode is selection during a run of the program, the list would be almost empty and the first entry whould appear as a pressed button with the value of 1. Selection of a track from the track list changes the number in the currently pressed button in the order list. After selecting a track, depress the next button or press the key '+' and choose a track similarly. When choosing from the order list, you can always choose one of the tracks previously selected or the next-to-last selected track. You can't choose a specific button from the order list if there is an empty slot above it. To erase the last entry to the list press the RIGHT mouse button when the mouse pointer is located on any of the buttons of the list. Keeping the button pressed longer the 2 secs will activate the autorepeat feature which will erase an entry every 0.2 secs as long as the button is pressed. When leaving this mode, the track selection box will disappear if it wasn't visible when you entered the mode, or remain visible if it was visible before entering the mode. Entering this mode another time will display the previously set list. The mode is NOT functional, however, when the list is not DISPLAYED. The about box will disappear and not return if it was visible before entering the mode. AutoRepeat : When pressing a button longer than 1Sec, it gets released and if still pressed, will activate every 0.1Sec. Thus allowing true FF ,REW ,SKIP and PREV. The volume control autorepeat is faster ; The delay is only 0.5Sec and then then the button gets pressed every 0.01Sec (which is actually zero) and the volume is changed by a larger amount (10 levels instead of one with single press). Requirements ------------ The program expects to find the following : - Microsoft compatible mouse and driver - MSCDEX version 2.20 or up - VGA adapter - 386 Author ------ The author can be reached by e-mail address : igrutman@bguee.bgu.ac.il Please send any observation, remark or suggestion you might have. I will try and code your suggestions if I like them and have the time. Thanks ------ To Paul , for being the first to contact me about the program. History ------- 0.1 - First version. 0.2 - Fixed bugs : 1. Font and screen drivers not found when run from another directory. Fixed by moving them into the code thus leaving the only necessary file to be cd-v.exe 2. Track length not updated in statistics window when track was changed indirectly (by ff, rewind, or track finish). 1.0 - Added Track order selection for playing and indication of play mode at the top-right corner of the time display. 1.1 - Fixed bugs : 1. Memory access violations causing strange screen behaviour. 2. When clicking on a blank slot from the track list, a number appeared. 3. Incorrect disk length when playing entire disk. 1.2 - Fixed bugs : 1. When entering without a CD and the tray is closed, the button would operate properly (not operate) but would not get whited. 2. Tracks higher than 19 caused trouble due to incorrect BCD to decimal conversion. Added features: 1. Added the ability to exit with the ESC key. ESC now functions as PWR. 2. Added AutoRepeat feature. When pressing a button longer than 1Sec, it gets released and if still pressed, will activate every 0.1Sec. Thus allowing true FF ,REW ,SKIP and PREV. 3. Added screen-saving ability. 4. Added configuration file cd-v.cfg 1.3 - Added features: 1. Added volume control. 2. Added the ability to change the system palette from the configuration file. 3. Added the ability to change the initial state of commonly used togglers. 1.4 - Added features: 1. Added mute button. 2. Added "sleep now" corner. 3. Ablitity to erase last entry from order list. 4. Use of the keyboard key '+' to add an empty entry to the order list thus enabling faster filling of the list without running the mouse back and forth. Arbitrary changes: 1. Swapped places of the buttons SKIP with PREV and FF with REW. Fixed bugs: 1. The program would terminate when pressing SKIP or PREV in ordering mode and with the list empty. The list is now never really empty.