###################################################################
## GQoob 0.3.0 (September 4, 2002) ## ## ## ## Copyright (C) 1999, 2000, 2001, 2002 by John Ellis. ## ## ## ## Use at your own risk! ## ## ## ## This software released under the GNU General Public License. ## ## Please read the COPYING file for more information. ##
###################################################################
Author: John Ellis <johne@bellatlantic.net>
e-mail: gqview@users.sourceforge.net
homepage: http://gqmpeg.sourceforge.net
======== Major sections of this document
- Requirements
- Notes and changes for this release
- Installation
- Description / Features
- Command Line options
- Skins
- Documentation (brief) [lists keyboard controls]
- Skin editing notes
- Credits
======== Requirements
GTK+ >= 2.0.2
http://www.gtk.org
ftp://ftp.gtk.org/pub/gtk
XINE libraries >= 0.9.13
optional components:
(support disabled if not found)
- ogg comment reading/writing (vorbiscomment must be present)
- video4linux compatible radio/tv card (for radio tuner support)
======== Notes and changes for this release [section:release_notes]
- Changes
-
+ Switch to XINE for media support. + Added video support. + New skin nullby is now the default. + Many many new things, really to many to list.
Notes (READ THIS!):
- To override the xine video and/or audio output plugins use these
command line options:
-V <name> to overide video
-A <name> for audio
--plugins lists all available xine output plugins
(just because it is listed does not mean it works)
- For autodection use auto as the name for both plugins (the default).
- Mouse presses do not work on the video overlay portion of the window.
- To show the right click menu when in fullscreen, please move the mouse
so that it is visible first. Same goes for left button clicking to
toggle the fullscreen controls.
- Bugs
-
If it crashes on a specific media type/file try it in the xine application, if that crashes too it is a xine libs bug, report it to them instead.
See TODO file.
======== Installation
Compilation: ./configure ; make
- I18N note: Set the shell variable LINGUAS with a list of required
translations before configure.
- To build an RPM binary use 'rpm -tb gqoob-x.x.x.tar.gz'.
Installation: make install
Removal: make uninstall
======== Description / Features
GQoob is a slightly configurable media player.
- Features
-
- Shuffle, repeat, repeat 1, loop a-b.
- Fullscreen.
- Shuffle and repeat preferences can be saved in each playlist.
- Customizable skins.
- ID3 tag reading/writing support (v1)
- OGG comment reading/writing support.
- Volume controls (can be connected to any available device)
- Basic file management (move/copy/rename/delete)
- Tab completion in most dialogs.
- Presets for playlists.
- Drag and drop support.
======== Command Line options:
Note: 'gqoob --help' to list all options, this list is probably outdated.
--skin:skindir tells GQoob to use the skin in the directory named
skindir, GQoob searches for skinfile in the current dir,
HOME/.gqoob/skins/, and /PREFIX/share/gqoob/skins
--geometry specify window position at [+|-]xxx[+|-]yyy
--dock enable docking behavior
--dockwm enable Window Maker docking
--skinhelp shows the mouse coordinates as you move the mouse to help
position items when designing skins
--debug enable debug mode (spews lots of weird junk :)
--blank start with empty playlist
-V, --video <name> specify video output plugin -A, --audio <name> specify audio output plugin --plugins list available output plugins
The following commands send a command to another running gqoob and exit. (requires 'allow command parsing' to be enabled)
option: ipc_function:
-p --play play
-s --stop stop
-ps --pause pause
-n --next next
-b --back prev
-pladd --playlist_add <f>[..] pladd "<f>"
-pladdplay --playlist_add_play <f> pladd_play "<f>"
-plrm --playlist_remove <f>[..] plrm "<f>"
-plclr --playlist_clear plclr
-pl --playlist <f> plload "<f>"
-plappend --playlist_append <f>[..] plappend "<f>"
-f --file <f>[..] play_file "<f>"
--skin_set <f> set skin
--status print status (track, song, time)
--volume [+|-]n set or increment volume by n%
-q --quit quit
Note: also echoing the ipc_function above to ~/.gqoob/command will work
example: `echo next > ~/.gqoob/command` will tell gqoob to skip to
the next song.
======== Skins
Also see (Skin editing notes), below.
To specify a skin use the -skin:skinfile command line parameter (see above).
When specifying a default skin in the config dialog, the skin must reside
in HOME/.gqoob/skins
If valid, a new default skin is loaded when 'ok' or 'apply' is pressed.
A skin is a directory which contains a file named skindata and xpm files for the skin. Creating a skin is explained in the SKIN-SPECS file, you can download sample skins to use as a template from the GQoob web site:
Winamp skin support:
All files must be lowercase.
Support is an added bonus. Most skins will work, however a few will not.
Please do not request support to get a particular skin to work.
(no video display available for these skins)
======== Documentation (brief) [section:documentation]
Keyboard controls:
F10 show pop up menu
p, [ENTER] play/pause
s stop
n next
b back
BackSpace instant replay 5 seconds (Ctrl doubles)
[, { seek backward 30 seconds (Ctrl doubles)
], } seek forward 30 seconds (Ctrl doubles)
<, [,] decrease playback speed
>, [.] increase playback speed
f toggle fullscreen
c in fullscreen, toggle display of controls
l playlist
m run mixer
w switch skin mode
i song information
- volume down
+, = volume up
[CTRL] - balance left
[CTRL] +, = balance right
1 .. 0 presets 1 through 10, respectively
[CTRL] s shuffle
[CTRL] r repeat
[CTRL] 1 repeat 1
a loop a-b (set start, set end, off)
Escape cancel loop a-b, cancel fullscreen
[CTRL] t time display
[CTRL] o options/preferences
[CTRL] i iconify
[CTRL] a about
[CTRL] w close window
[CTRL] q quit
~, ` open skin editor window
When window size button has the focus:
[Shift] left,
right,
up,
down Resize window.
[Shift] pgup Shrink window to smallest size.
[Shift] pgdn Expand window to largest size.
[Shift] home Resize window to default size.
IPC (external control and status):
- control
- Send commands to gqoob through "$HOME/.gqoob/command", send text 'help'
and a brief list of available commands will be printed.
Note: "$HOME/.gqoob/command.pid" will contain the current PID of the
gqoob process (if any) that is listening for commands.
- status
- Send this command to have gqoob start printing it's status to a file:
status_add "key" "/path/to/file"
and use this to stop it:
status_rm ["key"|"/path/to/file"]
You can stop it by using the key or path. When the updating is stopped,
two things may be printed: 'close' is printed when status_rm is used;
or 'exit' is printed just before gqoob shuts down (quits).
Information printed is the current song path, title, track position,
status (play, stop, pause), and seconds played/remaining.
Status is only updated when items change, for instance when the song
changes, the time count changes, or the play/pause/stop status changes.
Note: If the length of path is 0, no song is loaded in the player. Use
this to determine 'no song selected', because 'track: 0 of 0'
may be a valid song if the current active song is not in the
playlist, and the playlist is empty.
======== Skin editing notes
Mouse control:
- The mouse in the skin editor uses these buttons in the skin display area:
- Button 1 : Same as in the normal main window (press buttons, etc.)
- Button 2 : Click to select widget, drag to move selected a widget.
(when click to focus is disabled, widgets are always draggable)
- Button 3 : same as button 2
Converting version 1 skins:
- To convert a version 1 skin to a version 2 skin, load the skin into the skin editor (tilde '~' key) then save it, do this for all skindata_alt files too.
Extracting widget from other skins:
- To generate a list, and use widgets from any installed skin, press the 'extract' button from the 'add' dialog of the skin editor.
Editing / extracting widgets from the built-in or winamp skins:
- To re-use widgets from the default skin or winamp skins, first load them into the skin editor and save them as a new skin (reason, widget extraction only works on offical (version 1 and version 2) skins. To make the new widgets show up in the widget lists, close the skin editor, then reopen it and press the extract button on the add dialog.
Skin toggle buttons:
- The "skin_toggle" button is a special case, the data field must contain
the filename of the skin the button is to switch to. If the data field is
left blank the default skin (skindata) will be loaded. If the filename
does not exist or is an invalid skin file, the button will do nothing.
(NOTE on naming of the skindata type files: the widget extraction feature only extracts widgets from skins defined by files matching the pattern "skindata*" but not including '.bak'. All others are ignored.)
Writing a skin to disk:
- When saving a skin, existing files are never overwritten: the skindata file is backed up with an extension of .bak or .bakXXX; graphics files will first be compared by file length and checksum, if they match it will keep the existing file, otherwise the new graphics file will be written to a new filename with an appended number increment (name_1.png).
Dial and Slider 'item link key':
- Dials and sliders have a 'Item link key' field, this is for use when you
want an item with that key to update with the dial or slider in such a
way that the dial/slider handle is drawn over top of the item. This is
useful for example when it is desired that a slider that controls the
volume also shows the volume level. If you want the item to be the only
thing displayed with slider-like interaction, the slider handle size can
be set to zero by specifying a trough length equal to the image
dimensions.
- Limits
- You can add as many widgets of the same function as you want and they will all work. (For example 100 play buttons :).
Invalid UI keys:
- If an invalid key is assigned to a widget, the widget will still load but be ignored when activated/operated.
Detailed skin specs (VERSION 1 or VERSION 2)
- See SKIN-SPECS or SKIN-SPECS-V2, respectively.
======== Thanks go to the following for fixes, additions, and patches:
======== GQmpeg specific credits
(please do not bug these people about GQoob)
- Translations
Eric Lassauge <lassauge@mail.dotcom.fr>
for French translation.
Tomas Prochazka <xprocha2@informatics.muni.cz>
for Czech translation.
Yuuki NINOMIYA <gm@smn.enjoy.ne.jp>
for Japanese translation, japanese id3 tags.
Matthias Warkus <mawarkus@t-online.de>
for German translation.
Hellbrasil <hellbrasil@ig.com.br>
for Brazilian Portuguese translation.
Ryan Cheng <ryan@chinese2000.sniic.com>
for Traditional Chinese translation.
Lauri Nurmi <lanurmi@iki.fi>
for Finnish translation.
Fixes, additions, and patches:
Hubert Feyrer <hubert.feyrer@rz.uni-regensburg.de> and
Rui-Xiang Guo <rxg@ms25.url.com.tw>
for NetBSD patches.
Kimball Thurston <kimball@sgrail.com>
for sgi mixer support
BALATON Zoltán <balaton@eik.bme.hu>
for Window Maker dock support.
Bruno Rohee <rohee@OpenBSD.ORG>
for BSD cpu utilization code.
Michael Bruun Petersen <mbp@image.dk>
for playlist window enhancements.
László, Róbert - rob@sch.bme.hu
for additional skin widgets: Numbers and fonts, other fixes.
Yick W. Tse <ywtse@mailcity.com>
for ID3 genre updates.
Sampo Niskanen <sampo@compart.fi>
for early help with playlists, misc.
Tino Schwarze <tino.schwarze@informatik.tu-chemnitz.de>.
for ipc crash fixes.
Chris Houser <chouser@bluweb.com>
for Tru64 mixer support.
Sylvain Meunier <meunier@sns.fr>
for HPUX mixer support.
Grigory Bakunov <black@asplinux.ru>
for Russian ID3 tag support.
Chris Houser <chouser@bluweb.com>
for Tru64 mixer support.
Luke Mewburn <lukem@netbsd.org> and
Tim Spalding <dominus@citcom.net>
for ogg123 fixes.
And thank you to the all the others not mentioned here.
