Sonic-Rainbow

Sonic-Rainbow is a GUI Multi-Media player for GNU/Linux systems. Sonic-Rainbow is an Open Source project licensed under the GPL. The aim is to provide an Easy to use GUI controlled Multi-Media player without removing any commonly required functionality.

Sonic-Rainbow Author :    Gary Baker ( South Oz )
Document Author :             Gary Baker ( South Oz )
Sonic-Rainbow Version :    0.5.0
Date :                                       3/2/04
Updated:                           1/3/04

This document is Copyright Gary Baker


Contents
  1. Core Features
  2. Requirements
  3. Installation
    1. Installing from RPM
    2. Installing from Source code
  4. Configuration
  5. Setup Dialog
  6. Main Dialog
  7. CD Player
  8. MP3 WAV OGG PLAYER
    1. Saving, Creating and Modifying Playlists
    2. Load File/Dir Dialog
    3. Load Playlist
    4. Save Playlist
    5. Delete Playlist
    6. Blank List
    7. Shuffle
  9. FM Radio Player
    1. Radio Save Button
  10. CD Ripper
  11. Command Line Options
  12. Drag and Drop



Core Features

Sonic-Rainbow provides the following Core Features:


Requirements

Sonic-Rainbow was built on a Mandrake 9.0 Linux system but is known to also run on Redhat, Suse, Slackware, Debian and Gentoo. The GUI has been written using GTK 1.2 which will work with GTK 2.x and above also. The use of GTK does not mean Sonic-Rainbow requires Gnome or the Gnome libraries installed to run. Most of the libraries used by Sonic-Rainbow are standard libraries included with most Linux distributions. This document contains links to all of the required libraries sites for those that do not have the libraries included in their distribution. Sonic-Rainbow requires the following:

Installation

Sonic-Rainbow is distributed in source and rpm form. The source package requires you to build the application using a compiler whilst the rpm package will install a pre-built binary.

Installing from RPM

The Sonic-Rainbow RPM packages provided for download at http://sourceforge.net/projects/sonic-rainbow/  were built against a Mandrake 9.0 system and should run on Redhat systems. The RPM file normally takes the format sonic-rainbow-BETA-0.x.x.rpm  It can be installed using a package manager, from the command line or from a file manager such as konqueror. To install it from the command line open up a terminal and change to the directory the rpm file is in. the command rpm -ivh sonic-rainbow-BETA-x.x.rpm where x represents the version numbers will install Sonic-Rainbow. The executable file sonic-rainbow will be installed in /usr/local/bin and from version 0.3.5 onwards the documentation will be installed in /usr/share/doc/sonic-rainbow. With a default KDE install if you run konqueror and click on the rpm file it will start the package manager to install the rpm. If installation of the rpm fails it is usually due to unsatisfied dependencies. Meaning libraries Sonic-Rainbow requires are not installed. The files listed in section Requirements list the libraries it needs. They must be installed first.

Installing from Source code

The Sonic-Rainbow source packages provided for download at http://sourceforge.net/projects/sonic-rainbow/  were created on  a Mandrake 9.0 system and should build and run on Redhat systems. The source  package normally takes the format sonic-rainbow-BETA-0.x.x.tar.gz where x represents the version numbers. To build and install it open a console window, copy the package to where you want to build it from. Change directoryt to where the package is located and:

gunzip
sonic-rainbow-BETA-0.x.x.tar.gz
tar -xvf ./
sonic-rainbow-BETA-0.x.x.tar
cd sonic-rainbow
./configure
make
make install

The executable file sonic-rainbow will be installed in /usr/local/bin and from version 0.3.5 onwards the documentation will be installed in /usr/share/doc/sonic-rainbow.  If the make fails it is usually due to unsatisfied dependencies. Meaning libraries and header files Sonic-Rainbow requires are not installed. The files listed in section Requirements list the libraries it needs. They must be installed first.

Configuration

Sonic-Rainbow provides a setup dialog which can be accessed from the main Sonic-Rainbow dialog. All configurable options can be modified within the setup dialog. Modifying the sr.config may lead to current or future problems with Sonic-Rainbow. For completeness the directory structure used by Sonic-Rainbow is documented here and can be modified via the setup dialog.

The first time Sonic-Rainbow is executed it will create the default environment. Sonic-Rainbow will create the directory sonic-rainbow below your HOME directory. If you are logged on as bobo and your HOME directory is /home/bobo it will create /home/bobo/sonic-rainbow. This can be checked with the command echo $HOME which will output your HOME directory to the screen. The completed default structure will be:
/home/bobo/sonic-rainbow/
/
home/bobo/sonic-rainbow/cddb/     
/home/bobo/sonic-rainbow/music/
/home/bobo/sonic-rainbow/playlists/
/home/bobo/sonic-rainbow/video/
The config file sr.config is stored at
/home/bobo/sonic-rainbow/sr.config
NOTE *** The cddb directory is created the first time Sonic-Rainbow looks up freedb.

The locations of all directorys other than
/home/bobo/sonic-rainbow/sr.config can be re-configured within the setup dialog such that multiple users can access the same files.

Setup Dialog

The setup dialog enables the following options/configurations to be altered

Option/Label/Button
Option Function
CD Player
Device file used for the CD Player usually /dev/cdrom
Mixer
Device file used for the sound mixer usually /dev/mixer
Music Directory
The directory that will be used as the base to create the directory structure for storing files created when ripping a CD.
Playlist Directory
The Directory that will be used to store playlists. When you load a playlist Sonic-Rainbow will default to this directory.
Default Playlist
If you have a standard playlist you wish to load on startup enter it in here.
Video Directory
The directory you will store video files in. When choosing to load a video file, Sonic-Rainbow will default to this directory.
Radio
Device file for the FM Radio card if installed. Usually /dev/radio
Playlist Autoplay
If checked the Default Playlist will play on startup.
CD Autoplay
If checked Cd's will be played automatically once placed in the drive. CD's in the drive will also be played on startup.
FM Radio Autoplay
If checked and an FM radio card is installed on startup the last radio station played will play.
Disable HTTP Lookup
If checked prevents Sonic-Rainbow trying to obtain CD/Track information from freedb over the Internet. Local information will still bu used if available.
Disable Error Messages  during Play
If checked this will prevent Sonic-Rainbow from displaying error messages that may interrupt and stop the playing of a playlist etc. whilst waiting for the message box OK to be clicked.
Exit
Exit the Setup Dialog. Does NOT save any setting changes.
Apply
Saves any changes made within the setup dialog
Default
Sets all options to default options. Does not Save the changes. Apply will save the changes.


Main Dialog

The main dialog is the dialog that is displayed when Sonic-Rainbow starts.
It contains eight buttons and a volume control. One of four players will be displayed.
The default player is the CD Player. On Exit the last player displayed will be the default player on startup next time.



Button
Function
Mp3 Wav Ogg Player
Changes the displayed player to the player that supports playing MP3, Wav and Ogg files. This player includes the Playlist functions.
CD Player
Changes the displayed player to the CD Player.
DVD Player
Changes the Player to the DVD Player. The player supports DVD, VCD and Video files.
Radio Player
Changes the displayed player to the FM Radio Player. This player will display even if an FM radio card is not installed, but will display an error message.
Exit Sonic-Rainbow
Closes any open Players or dialogs and exits.
CD Ripper
Displays the CD Ripper in a seperate dialog.
Setup
Displays the Setup dialog.
Help
Displays a seperate Help dialog. This document is more useful.
Volume
Controls the volume of the players.




CD Player

By default the CD Player expects /dev/cdrom as the device. This can be altered in setup. The CD Player consists of a Text Box with a button at the end of it and seven buttons below and a check box. The CD Player will display its status in the text box. HTTP over the internet is used to access the freedb website. This website provides CD/Track info about CD's. The CD Player monitors for changes of status and once a CD is inserted it attempts to retrieve the info about the CD from freedb. Once the info has been retrieved it is stored in the cddb directory as described in the section Configuration. This means the data only needs to be obtained once.  On inserting a CD the Title is displayed in the Text box. Clicking on the list button will display the drop down list that shows all of the tracks on the CD. To close the drop down list, click on the list button again. If you select a track from the list it will play that track and close the drop down list. You can enable or disable the HTTP lookup of freedb in setup. If CD Autoplay has been selected in Setup, a CD will start playing once it is inserted and if a CD is in the player when Sonic-Rainbow starts it will play the CD. The Autoplay checkbox can be checked or unchecked to alter the current session status.

Button
Function
Play
Will start playing a CD from the first track.
Stop
Stops the playing of a CD.
Prev
Starts the previous track playing.
Next
Starts the next track playing.
Pause
Pauses the playing of a track. Prev, Next and play override it and do not require res clicked first.
Res
Resumes playing of a paused CD.
Eject
Ejects the CD from the drive.
Autoplay
Checkbox if checked will cause CD tp play automatically or not on insertion. Checking or unchecking this only affects the autoplay status for the session. Setup controls the Autoplay status on startup.


 

MP3 WAV OGG PLAYER

The MP3 Wav and Ogg player will play files MP3 WAV and Ogg files. It enables you to play these files individually, load a directory of files or load a playlist. If loading a directory it may contain any of the supported file types. The same for playlists. The player consists of a Text box with a list button at the end and eleven other buttons to play the files and manage playlists. Playlist autoplay can be disabled or enabled within setup. The list button will display a dropdown list that contains all of the tracks selected, via directory load, file load, drag and drop or in the playlist. To close the listbox click on the list button again. If you select a track in the listbox with the right mouse button it will close the listbox and start playing the selected track.


Button
Function
Play
Will start playing a track list from the first track.
Stop
Stops the playing of a track.
Prev
Starts the previous track playing.
Next
Starts the next track playing.
Pause
Pauses the playing of a track. Prev, Next and play override it and do not require res clicked first.
Res
Resumes playing of a paused track.
Load File/Dir
Displays a dialog from which you  load a file or a directory of files to be played.
Load Playlist
Displays a dialog from which you load a playlist to play.
Save Playlist
Displays a dialog to save the current list as a playlist.
Del Playlist
Displays a dialog that enables you to delete a playlist.
Blank List
Clears the current list and creates a blank list. Files can be added to this list and Save Playlist then allows it to be saved.
Shuffle
Performs a random shuffle on the order of the tracks in the current list.


Saving, Creating and Modifying Playlists

To create a PlayList click on Blank Playlist to clear the currently loaded list or if no list is loaded, start adding files. You can drag and drop or add files from the Load File Dir button. Files can also be added by clicking on the List button when the player is not playing. An Add, Del, Up and Down button will then be displayed. The Add button brings up a dialog from which files can be added to the list.
The Del button will del a selected track from the list. The Up and Down buttons will move a track in the list. To select the tracks to Del, Up or Down you must select them from the List using the RIGHT MOUSE BUTTON.  You can then Save the List using the Save Playlist button to any name you want.

If you use the Load Playlist button to load an existing Playlist you can modify it using any of the above and then save it to the same name or a different name using the Save Playlist button.

Load File/Dir Dialog

The Load File/Dir Dialog provides the functionality to select a single file to be played or a directory of files to be played.
The dialog defaults to the base music directory configured in setup. The dialog only needs a file name displayed in its text box if you wish to play a single file. If you select a directory it will be displayed above the text box. Clicking OK will load it into the list of the player.

Load Playlist

Load Playlist will display a dialog that enables you to select a playlist to be loaded into the player list. The playlist must have been created by Sonic-Rainbow. (If other lists happen to work thats fine but I havent even looked at them.) The playlist may contain combinations of single files and directorys of files. The files may be of any of the types Sonic-Rainbow supports. The dialog defaults to the Playlist Directory configured in setup. Once loaded the contents of the list can be viewed via the Players List button. Sonic-Rainbow playlists are text files. The first line will always be Sonic-Rainbow Playlist     This is done to make it easy for Sonic-Rainbow to identify if the selected file to load is in fact a valid Sonic-Rainbow playlist.

Save Playlist

  Save Playlist displays a dialog to Save and Create Sonic-Rainbow Playlists. It consists of a list box, two text entry box's and five buttons.  This dialog allows you to save a list you have created from a blank list or a list you have loaded and modified.


Button/Textbox
Function
Add
Displays a dailog box from which you can choose a file or directory to add to the list. On clicking Ok the dialog will close and the selected file or directory will be displayed in the listbox.
Remove
Deletes a selected file or directory from the playlist listbox. When a file or directory in the listbox is highlighted it is selected.
Playlist Directory Text Box and Browse Button
Displays the directory the playlist will be saved to. The default path can be configured in setup. The browse button provides a dialog from which a new directory path can be selected.
Playlist Filename Text Box
The name for the playlist without a path is entered here. When the file is saved the path and file name will be put together to save the file.
Save
Saves the Playlist to Disk.
Exit
Exits the Playlist but does not save the Playlist



Delete Playlist

Displays a File Selection dialog that allows you to delete a playlist. The dialog defaults to the Playlist directory configured in setup. To delete a file, once in the dialog select the file to delete and press OK. The Playlist will be deleted and the Dialog will close. Select cance to exit the dialog without deleting anything.

Blank List

Blank List clears the currently loaded playlist and loads a default empty list. Files can be added to this list using Drag and Drop, click on the "List" button whilst not playing and use the add, del, up, down buttons etc.

Shuffle

Shuffle randomly shuffles the order of the tracks in the current list. A list can be shuffled prior to playing it or you can shuffle a list and then save it.

FM Radio Player

The FM Radio Player requires the system to have an FM Radio card installed into the system and configured with the requisite modules loaded. The dev used to control the Radio Player within Sonic-Rainbow can be changed in the Setup dialog of Sonic-Rainbow. The player consists of 13 buttons, 1 slider and a spin box. The supported frequency range is 87.9 - 107.9 Mhz.



Button/Textbox
Function
Play
Starts the playing of  the currently selected frequency.
Stop
Stops the playing of  the currently selected frequency.
Buttons 1 - 10
Radio Frequency buttons that can be programmed with a frequency and label. the buttons are programmed via the Save button.
Save
Displays a dialog that allows the programming of the radio buttons 1 - 10.
Save
Saves the Playlist to Disk.
Station Slider and Spin Button
Selects the radio frequency.


Radio Save Button

The Radio Save button displays a dialog that enables the radio buttons 1 - 10 to be programmed with a frequency and Label. It consists of a Selection box, two buttons, text entry box and a spin button.


Button/Textbox
Function
Selection Box
Lists the buttons 1 - 10 by their number or Label and displays the frequency currently programmed to the button. Selects the button to Program/Save.
Button Label Text Box
Accepts Text to be applied to the selected button.
Button Frequency Spin button
Sets the Radio frequency to be applied to the selected Button.
Save
Saves the Label and Frequency to the Selected button.
Exit
Closes the Dialog but does not save the settings.



CD Ripper

The CD Ripper provides the ability to rip an Audio CD or individual tracks of an Audio CD to Ogg, Wav or MP3 files. The CD Ripper dialog consists of a List Box, 4 buttons, 3 radio buttons, 1 spin button and  6 Text entry box's.


Button/Textbox
Function
List Box
Lists the tracks on the currently inserted CD. The listbox will update if the CD is changed.
If HTTP lookup from freedb is enabled and the CD is known. The Listbox will display the Track and Artist name. If the CD info has been previously accessed from Freedb and is stored locally, the local copy will be used.

Tracks can be highlighted by selecting and unselecting with the mouse.
Radio Buttons.
Rip to Ogg File, Rip to Wav File and Rip to MP3 file.
If the button is greyed out it cannot be selected as the requisite software cannot be found. When ripping a CD or selected tracks, the output will be to the Radio Button file type selected.
Rip CD
Will begin ripping all tracks on the Audio CD
Rip Sel
Rips the selected (highlighted) tracks in the list box.
Cancel
Stops the ripping of Tracks or a CD.
Exit
Closes the CD ripping Dialog.
CD Title Text Box
Displays the CD Title if the information is available. Editing this field prior to ripping will be reflected in the output.
CD Artist Text Box
Displays the CD Artist if the information is available. Editing this field prior to ripping will be reflected in the output.
CD Genre Text Box
Displays the CD Genre if the information is available. Editing this field prior to ripping will be reflected in the output.
CD Year Spin Button
Displays the CD Year if the information is available. Changing this field prior to ripping will be reflected in the output.
Track Name Text Box
Displays the Track name for a selected track if the information is available. The Track name of a selected track can be edited here. Editing this field prior to ripping will be reflected in the output.
Track Artist Text Box
Displays the Track Artist name for a selected track if the information is available. The Track Artist name of a selected track can be edited here.Editing this field prior to ripping will be reflected in the output.
Music Dir Text Box
Displays the base directory that will be appended to for saving the ripped output. The directory the ripped output goes to will be the path in this text field appended with the CD Artist and  the CD Title. It is therefore important in the case of unknown  CD's to  put something in these fields other than leaving them as Unknown as that will result in files being overwritten.



Command Line Options

Sonic-Rainbow supports the following command line options.
--version   Displays the version of Sonic-Rainbow
--v  Displays the version of Sonic-Rainbow

If the first option or command line argument to Sonic-Rainbow is a file. Sonic-Rainbow will attempt to play it. Sonic-Rainbow will play Ogg, Wav, MP3 or Sonic-Rainbow playlists if passed as the first argument. This enables Sonic-Rainbow to be configured to play files when selected from a file manager such as Konqueror by associating Sonic-Rainbow with the file extensions with Konqueror.


Drag and Drop

Sonic-Rainbow supports playing Ogg, Wav, MP3  or directories of files by Drag and Drop from a filemanager such as Konqueror. It does not support Drag and Drop of Sonic-Rainbow playlists.
If files are dragged and dropped onto the Sonic-Rainbow main window it will append the track or tracks to the current playlist.