New Projects - Fresh from the Labs

Linux-MiniDisc—(Almost) Full MiniDisc Support for Linux (https://wiki.physik.fu-berlin.de/linux-minidisc/doku.php)

If you've got a stack of MiniDiscs lying around rotting, because you hate rebooting into Windows just to have basic access to your hardware, others exist who share your pain. One of these people is Adrian Glaubitz. Adrian sent me an e-mail, saying the following:

Almost all newer MiniDisc-Walkmans made by Sony and other manufacturers have a USB-connector that allows download and upload of audio tracks and data to the MD-Walkman from a PC. However, since Sony is also a major record label, it has adopted a sophisticated system of DRM protection that requires a proprietary software from Sony called SonicStage, which runs on Windows only; even the latest Wine version is not able to run it smoothly enough to allow transfer from/to an MD-Walkman.

Being a passionate Linux user since 1998, Adrian was annoyed by always having to reboot into Windows to do anything with his player. There were Linux projects around, but they never allowed him to do much more than control his player—audio transfers were impossible. Adrian then decided to start this project, together with a friend who'd been working on parts of Wine for years (a great exercise in reverse engineering), and now the project has almost 20 people (some from older/defunct MiniDisc projects) contributing to the program in some form or another.

The Linux MiniDisc Project now is at the point of basic GUI interaction and functionality with your player—a major milestone for previously neglected MiniDisc users.

Tech heads should have a look at some of the additional console tools available for further device wrangling.

Installation

First, there are many strange library requirements to take care of, so jump into your package manager to grab these elusive creatures (they might have different names in your distro, but the following at least should give you a clue):

libqt4-dev build-essential libglib2.0-dev 
 ↪libmad0-dev libmcrypt-dev cmake libsox-dev 
 ↪libmcrypt4 libmcrypt-dev cmake

To download the source, grab the repository using git. Open a terminal, and enter a directory where you won't mind the source being saved. Now, enter the following command:

$ git clone git://z6.physik.fu-berlin.de/linux-minidisc

This project is broken down into two major parts: libhimd (the library) and QHiMDTransfer (the GUI application). Let's compile both of them at once. Change into the linux-minidisc directory, and compile the program with the following commands:

$ cd linux-minidisc
$ cmake .
$ make

Take note of the . character after cmake; it's not a misprint, and you'll need it! Once compilation has finished, change into the QHiMDTransfer directory and run the program, like so:

$ cd QHiMDTransfer
$ ./QHiMDTransfer

Usage

Once you're inside the application, you need to mount your MiniDisc device before you can browse it, upload to it or download from it. If you don't have a MiniDisc device, but you're still interested in exploring this program's features, there's an image you can use to simulate the device available on the given wiki page, along with instructions. When you have your device mounted, click File→Connect, and choose the folder under which your MiniDisc player is mounted.

If all goes well, your player's contents will come up in the main window. From here, you can choose to copy to or from the player with some fairly obvious cues from the GUI (it's a pretty basic interface). For those interested in doing more with their MiniDisc players, there are also tools like himdtest in the libhimd directory for things like track uploading, encryption info and so on.

For the moment, you can upload only MP3s and unencrypted PCM files as WAVs, but the team is working on total functionality. As Adrian told me:

We are now very confident that soon we will have finished completely reverse-engineering the necessary protocols and file formats, so that there will be complete support for MiniDisc on Linux without any limitations by DRM, which are imposed by the original bloated Windows software. Once we have a first stable version, a friend of mine who is a Debian developer will help get the software into Debian and make it available to all Debian/Ubuntu-users.

I hope they do. The more niche hardware that's supported by Linux, the more our OS will be known for hardware-friendliness. Adrian tells me that he's also chasing some Qt programmers who can spruce up the GUI a little, so if you're a programmer on the lookout for a project to contribute to, give him a shout.

______________________

John Knight is the New Projects columnist for Linux Journal.

Webinar
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Webinar
Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix