This was a small project to create an MP3 music jukebox for in the lounge. The aim was for it to fit in with the other devices in my lounge, so I decided to use an old stereo tuner as the case, and buy a cheap Pentium 200Mhz motherboard and processor to put inside it. It has a standard ATX power supply, and a cheap sound card. It has a wireless network card so I can transfer mp3s to it, and it also acts as a file server for my other files. The display is a two-line 16 digit LCD display driven from a serial port. Navigating the menus is done using an Infra-red remote - the receiver plugs into the second serial port. It runs on Red Hat Linux, and all the code to display the menus on the LCD display and navigate and play songs is included here. There are also some pictures of the machine so you can see how it looks.
This shows how a simple list structure can be created easily using a single C++ class. The class has the methods: insert, display and display reverse. Each item in the list is a structure containing a string, a pointer to the next item in the list, and a pointer to the previous item in the list.