VCC - Virtual CD Changer for Windows
VCC is the custom frontend software that I wrote specifically for my car computer. It consists of three
different programs:
 - VCC.exe - A front-end program which handles the directory navigation and controls MPXPlay
 - VCConfig.exe - Configuration program setting the various settings in VCC
 - VCCShut.exe - A shutdown utility which monitors the CTS line on a serial port and shuts down Windows when
CTS line goes low
The music is organized in a two-level directory structure. From the music directory I use a directory for each letter of the alphabet. Inside the directories is subdirectory for each album:
MUSICDIR / \ A ... Z / \ ACDC1 ... ZZTOP3 / \ / \ 01.wav...10.wav 01.mp3...10.mp3
The music directory can be in any place, but requires this structure for the software to function properly. The navigation is entirely directory-based. This eliminates the need for playlists and the hassle of maintaining them. This system works like a 26-cartridge CD-changer would, assuming the CDs are grouped alphabetically. I'm using relatively short directory names. They're named the way that they are, in order to put the albums in the proper order.
Track and disc info are stored in two text files: fileinfo.txt and discinfo.txt. Discinfo.txt is used for disc naming. Fileinfo.txt is optional. If the file is present it'll be used for track naming. If it's missing, track naming will still work if the music files are tagged.
An example fileinfo.txt is as follows:
01.FLA AC/DC:Jailbreak
02.FLA AC/DC:You Ain't Got a Hold on Me
03.FLA AC/DC:Show Business
04.FLA AC/DC:Soul Stripper
05.FLA AC/DC:Baby Please Don't Go
While putting the band name on each line is a bit redundant, MPXPlay doesn't see it as a valid list-file without it.
Likewise, discinfo.txt looks like this:
AC/DC
'74 Jailbreak
The advantage to using text files is that no special utilities are needed to update any of disc / track information. Your favorite text editor will do the job.
Hardware Requirements:
USB gamepad (recommended) or a numeric keypad (limited support)
Matrix Orbital 2041 (or similar) serial LCD display
Software Requirements:
Windows (tested on Windows 10 and Win10XPE)
MPXPlay v1.67 for Windows, the "small" version
Operation:
Regular / Shift functions:
Play: Plays from the beginning of the first track when a new album is selected; plays from where it
left off, otherwise
Select + Play: Availble while an album is playing. Skips to the last known track number and track
position from history
Previous Disc: Navigates to the previous album. Note: the album starts playing automatically after a
3-second timeout. You can press "Play" if you don't want to wait the full 3 seconds.
Next Disc: The same, but for the next album.
Select + Previous Disc: Navigate to the previous album from the play-history. The 3-second timeout
starts after releasing the select button. This also provides a quick way to get back to the album/track that
was playing when a trigger button gets bumped, by mistake.
Select + Next Disc: The same, but navigating in the opposite direction through the play history.
Display:
The following info is displayed, by default, on a 20X4 LCD:
Line2 : Album Title
Line3: Track # / Track Title
Line4: Time / Spectrum Analyzer / Bitrate or compression percentage
Installation:
- Make a directory (e.g. c:\player )
- Download and unzip MPXPlay 1.67 this directory
- Download and unzip VCC to the same directory
- Make a music directory, then create the appropriate directory structure, as described above.
Configuration:
The configuration program has three sections. The first provides the means for configuring a game controller. The second configures the LCD. Two LCD types are provided by vcclcd.ini. I included two different Matrix Orbital LCDs. Serial LCDs from other manufacturers will probably work after modifying the ini file. The configuration program also provides the means to configure the serial port used by the shutdown utility.
Win10XPE and other variations of Windows PE do a poor job of initializing the serial ports.
Versions 4.1 and later handle this by using a lower-level hardware ID. This eliminates the need to perform
"fix-up" on the serial ports, significantly improving boot time.
Shutdown Utility:
The shutdown utility starts minimized. It has a very basic user interface. It shuts down Windows when the CTS signal goes low for a full second (low for four quarter-seconds in a row). In Windows it does this by running the "shutdown /p /f" command. In Win10XPE it uses the "wpeutil shutdown" command.
Last Update: 12-22-2024
Copyright © 2001-2025, Brent Harris
All rights reserved.