Rip a CD/DVD to the Core
How to set it up
Setting up to rip each disc is the same as Watch a DVD/Listen to a CD. The format into which CDs are ripped (eg. MP3, Ogg, FLAC or WAV) can be set (changed from the default Ogg) in the Admin website. Home -> Wizard -> Basic Info -> Installation. Some formats allow parameters to be set for the format codec. Ogg takes a Quality setting (higher is better, but larger files). MP3 takes a bitrate setting, a bitrate type setting, and any other setting specified, which set parameters in the LAME codec.
How to rip
Note: The free version of LinuxMCE does not play or rip encrypted discs, like css encrypted dvd's, due to licensing issues. So this will only work with non-encrypted DVD's if you have the free version. See the Quick Start Guides
Put the disc in the media director's drive, it will start playing automatically. If there is device you are using as an Orbiter, such as a webpad, pda or phone, and it is in the same room as the media director, the remote will appear automatically and you can touch the 'copy disc' button. If you are using the media director's own on-screen orbiter with a mouse/keyboard or infrared remote, you will see the remote on screen if the disc contains audio. But you won't see it if the disc contains video, since the video is playing full screen. However if you click the mouse, press a key, or hit 'enter' on the infrared remote, then a small window will appear with the controls, including the 'copy disc' button. If you have a media identifier device installed, the name of the file will be the title of the disc by default. Otherwise you will need to type in the name using the Orbiter. Ripping a dvd takes from 10 to 45 minutes depending on the speed of the drive and type of disc.
A Rip Disk command is sent to the Disk_Drive device. Disk_Drive uses abcde and cdparanoia to rip audio cd's. If creates a folder under /home/X/data/music for the name of the disc, and within that folder a file for each track, where X is either "public" if you choose to save the media publicly, or "user_[user ID]" if you choose private. For DVD's it runs dd to make a binary image (like an .iso image) which is saved in /home/X/data/movies with a .dvd extension.
If you have a media identification device, the discs attributes will have been stored in the LinuxMCE_media database, in tables Disc and Disc_Attribute, and the cover art is stored in the table Picture, with the actual jpeg file going in /home/mediapics/ and the filename is the primary key from the picture table. When the media is ripped, those attributes and cover art are transferred to the File and File_Attribute tables. You can change the attributes or cover art in LinuxMCE Admin by choosing "Files & Media", and "Browse Media". LinuxMCE uses the following extended attributes from the XFS file system to track the file:
ID = The primary key in the File table PIC = The primary key in the Picture table with the cover art DIR_AS_FILE = If it's set to 1, LinuxMCE will treat the directory as a file.
Dir as file: LinuxMCE rips DVD's to a single .dvd file. But you may already have a folder containing the individual VIDEO_TS directory with .vob files. If so, when UpdateMedia finds this directory it sets this attribute to 1 so that LinuxMCE will treat the directory as a single movie, and play the movie when you select the directory, rather than treating it like a directory and showing you the individual .vob files to play.
The utility /usr/pluto/bin/UpdateMedia is what scans a directory and sets the attributes. If you manually move or rename a file it will also pick up the attributes, realizing this is not a new file but rather one moved from another place, and will update the LinuxMCE_media Files table with the new location. LinuxMCE needs to keep the LinuxmCE_media database in sync with the actual files on the drive since when you hit 'search' on an Orbiter to find media by attribute (like by Composer), the only rapid way to find your media is through a database query. UpdateMedia is run automatically every time a directory is modified to rescan the files in that directory.
/usr/pluto/bin/ripDiskWrapper.sh is called by the GUI to actually rip the disc(s) specified. It uses parameters passed on the commandline to specify what to rip in what way, and parameters hardcoded in the script and the various codec invocations. Some parameters are not available for specifying in the GUI.