New Projects - Fresh from the Labs
Open Cubic Player (OCP) is a text-based audio player that runs in various incarnations on Linux and Windows, and there's even an older DOS version. First appearing in late 1994, the original program was a binary-only freeware version called Cubic Player (running primarily in DOS). It had a reputation for being one of the best module players around, as it supported a great deal of soundcards as well as audio formats. As Windows grew more popular and people demanded GUI-based software, popularity and support for the program died off, as did the project itself.
Eventually, the source code was opened up to the public in the hope that someone would find it useful, and in late 2003, developer Stian Sebastian Skjelstad started playing around with it, attempting to get the source to compile and run under Linux. After a great deal of tinkering around, Stian eventually got something working, and today, it's available in beta form. And quite frankly, it's a little ripper of a player!
Binary packages are provided for Debian and Ubuntu, as well as some specific information for installation on other systems, but if you're not using the basic .deb packages, you might as well install OCP from source. Grab the latest tarball from the Web site, extract it, and open a terminal in the new folder. As for strange requirements with the source, I had to grab the development files for both ogg and vorbis, which were liboggz1-dev and libvorbis-dev, respectively. Being a wacky console program, you probably need the ncurses development libraries too, but I already had those on my system after compiling htop (see above).
When it comes to compiling the source, documentation is sorely lacking, but thankfully, compilation is a simple case of the usual:
$ ./configure $ make $ sudo make install
When the compilation is over, run the program by entering:
Although I'm still coming to grips with the basic controls, playing singular files is a simple affair, as is exploring the program's many functions. When you enter the OCP screen, your first encounter is with the file browser, where you can select your songs, append them to a playlist and so on. I'm not too sure how to operate the playlist functions confidently enough to explain them (you can work out the contents of the manual yourself), but playing a single file is easy. Simply search for the file you want with the up and down arrow keys. Entering directories or playing a file is done by pressing the Enter key.
When a track is playing, this whole project comes to life, and the point becomes clear—you instantly have full visualizations of your music along with neat power-level indicators and all manner of tinkering functions. This is designed for control freaks—seriously. On screen is a load of information, right down to file size, frequency and format information, and so on. However, it's the functions that are the meat of the program. You can alter the panning, balance, speed, pitch, amplification and more. You even can turn on a surround function—not bad for a text-based player!
These functions are mostly spread over the function keys, but the coolest feature (although admittedly a little gimmicky) is actually pausing a song. Press P, and your song winds down and dies like someone has just pulled the plug on an old reel-to-reel player. Unpausing winds it back up to life again. It's really cool and adds genuine charm to the player.
Working your way around this program is initially unintuitive, and the documentation feels as if it's written more for other programmers than new users, but the charm of this program is unavoidable. The beautiful spectrum analyzer patterns rendered in real-time ASCII are enough to bring a tear to any geek's eye, and the advanced controls one expects only of complex, resource-intensive GUI applications will entrench this player firmly in the heart of many a technophile. Awesome stuff—if you can work your way around it!
John Knight is the New Projects columnist for Linux Journal.
|Designing Electronics with Linux||May 22, 2013|
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
- RSS Feeds
- Dynamic DNS—an Object Lesson in Problem Solving
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Designing Electronics with Linux
- Using Salt Stack and Vagrant for Drupal Development
- New Products
- A Topic for Discussion - Open Source Feature-Richness?
- Drupal Is a Framework: Why Everyone Needs to Understand This
- Validate an E-Mail Address with PHP, the Right Way
- What's the tweeting protocol?
- Kernel Problem
5 hours 57 min ago
- BASH script to log IPs on public web server
10 hours 24 min ago
14 hours 22 sec ago
- Reply to comment | Linux Journal
14 hours 32 min ago
- All the articles you talked
16 hours 56 min ago
- All the articles you talked
16 hours 59 min ago
- All the articles you talked
17 hours 48 sec ago
21 hours 25 min ago
- Keeping track of IP address
23 hours 16 min ago
- Roll your own dynamic dns
1 day 4 hours ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?