juke man page on Plan9

Man page or keyword search:  
man Server   549 pages
apropos Keyword Search (all sections)
Output format
Plan9 logo
[printable version]

JUKE(7)								       JUKE(7)

       juke - music jukebox

       juke [ -t ] [ -w ] [ -h srvhost ] [ -s srvname ] games/jukebox [ -t ] [
       -w ] games/jukefs [ -m mountpoint ] [ -s srvname ] [ mapfile ]

       Jukebox controls a playlist server (see playlistfs(7)) through a graph‐
       ical  user  interface.	It  connects  to a music database server which
       reads a set of map files that describe recordings and  their  location.
       Currently,  there  is one set of maps, mostly for classical music, with
       some jazz and other stuff thrown in.  These are served by jukefs, which
       presents	 a  file  system  conventionally  mounted  at  /mnt/juke.  The
       playlist, explained below, is managed by a file system  implemented  by
       playlistfs(7) and normally mounted on /mnt.

       Jukebox is most easily started through the juke shell script.

       Jukebox	has four windows, which can be selected by clicking the appro‐
       priate tab at the top of the window.

       Above the tab are nine buttons and a volume  slider.   The  are	named,
       from  left  to  right,  Exit,  Pause,  Play, Halt, Back, Forward, Root,
       Delete, and Help.  The buttons are active when they  are	 displayed  in
       dark  green  (or red).  When they are pale blue they are inactive.  The
       Exit button is always active; it exits  the  program  (but  leaves  the
       playlist and music database servers running).

       The browse window is for browsing through the music and selecting music
       to play.	 Browsing down in the music hierarchy is done by clicking but‐
       ton one on an item.  Clicking button three goes back up.	 Clicking but‐
       ton two recursively adds all files below the selected item to the  play

       The selected music is displayed in the playlist window.	The track cur‐
       rently playing is shown in the playing window.

       The Root button browses back to the root.

       The Delete button empties the playlist.

       The Help displays a minimal on-line manual.

       Play starts playing at the beginning  of	 the  play  list,  or  at  the
       selected track in the play list.

       During  play, Pause, Stop, Back, and Forward are active.	 Back and For‐
       ward go back or forward a track at a time.  The other  buttons  do  the
       obvious thing.

       The -t flag chooses a tiny font, useful for handhelds.

       The -w flag creates the jukebox in a new window.	 Normally, the jukebox
       takes over the window in which it is invoked.

       The -s flag specifies the name under which the file descriptors of  the
       playlist	 and  databse  servers are posted in /srv.  This allows two or
       more play list servers to exist on one platform, e.g., when  there  are
       several	audio  devices.	  The default value of the flag is $user for a
       playlist server at  /srv/playlistfs.$user  and  a  database  server  at

       Jukefs reads a set of maps describing the music data, builds an in-mem‐
       ory database, and provides lookup service to jukebox.  The default  map
       is  /sys/lib/music/map.	 It consists of a hierarchical set of objects.
       Each object has a type, a value, zero or more attribute-value pairs and
       zero or more subobjects.	   An object consists of the type, followed by
       its contents between curly brackets.  Attribute value pairs consist  of
       a  single  line	containing  an	attribute  name, an equals sign, and a
       value.  The value of an object is any text not containing curly	brack‐
       ets or equals signs.  Here is an example:

       category {
	    composer = mahler

	    Gustav Mahler
	    (1860 — 1911)

	    work {
		 path {classic/mahler}
		 class = symphonic
		 orchestra = rfo
		 conductor = Waart,~Edo~de

		 Symphony Nº 5 in c♯ (RFO, Vienna)
		      Radio Filharmonisch Orkest Holland
		      Edo de Waart, conductor

		      recorded: Musikverein, Vienna, May 6, 1996
		 command {number}
		 track {
		      Trauermarsch (In gemessenem Schritt. Streng. Wie ein Kondukt)
		      time {13:55}
		      file {034.pac}
		 track {
		      Stürmisch bewegt, mit größter Vehemenz
		      time {15:34}
		      file {035.pac}
		 track {
		      Scherzo (Kräftig, nicht zu schnell)
		      time {18:54}
		      file {036.pac}
		 track {
		      Adagietto (Sehr Langsam)
		      time {10:01}
		      file {037.pac}
		 track {
		      Rondo–Finale (Allegro)
		      time {15:44}
		      file {038.pac}

       This  example  shows  a	category object for the composer Gustav Mahler
       (the value consists of the two  lines  `Gustav  Mahler'	and  `(1860  —
       1911)') with one subobject, a work object whose value is `Symphony Nº 5
       in c♯ (RFO, Vienna)'.  The work object  contains	 six  subobjects:  one
       performance object and five track objects.

       Category	 objects  must	contain exactly one attribute-value pair.  The
       attribute names a subobject of  the  root  under	 which	this  category
       object  will  be	 placed.   Gustav  Mahler,  thus,  will	 be  placed in
       Root→composer.  Work, Recording, Part, and Track, objects all  describe
       named  containers  for  subunits.   A  Lyrics, Performance, or Soloists
       object adds information to a Work, Recording, Part, or  Track,  object.
       It  should only contain text.  The same is true for a Time object; how‐
       ever, it should only be used adjacent to File  objects  and  it	should
       contain the running time of that file (this is for future use).

       A File object specifies a file to be played.  When the Select button is
       pressed, all file objects  contained  hierarchically  in	 the  selected
       object are added to the playlist.

       There  are  a number of pseudo objects: Command may contain either sort
       or number.  The sort command sorts the  subobjects  of  the  object  it
       appears	in  by	key  or textual content.  The number commands prepends
       numbers to the texts of its subobjects (e.g., for the parts in  a  sym‐

       An Include object is replaced by the contents of the named file.

       A Key object specifies a key for sorting subobjects.

       Finally,	 a  Path  object specifies a path to be prepended to the files
       named in hierarchically contained File objects.

       The attribute-value value pairs arrange for entries to be made  of  the
       current	object	in  a  Category object named by the attribute directly
       under the root.

       The interface to the browsing database is through a file system	imple‐
       mented  by jukefs.  The file system synthesises a directory per object.
       Each  directory	contains  a  set  of  files  describing	 the  object's

	      contains a new-line separated list of subobject names.  For each
	      name, x the directory /mnt/juke/x describes the subobject.

       digest contains a one-line summary of the object

       files  is a new-line separated list of file objects contained  in  this
	      object.  Each line consists of object name and file name.

	      is the fulltextual value of the object.

       key    contains the key by which objects are sorted

	      is  a one-line summary of the objects and the path leading to it
	      from the root.  This is the line displayed in the	 playlist  and
	      bottom browse windows of games/jukebox.

       parent is the object reference to the parent of this object.

	      is a full description of the path leading to this object and the
	      object itself.  This is the string displayed in the top  of  the
	      Browse and Playing windows of games/jukebox.

       text   is the text field of the object.

       type   is the type of the object

	      Default map file

	      Default mount point for the music database.


       playlistfs(7), audio(7)

                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server Plan9

List of man pages available for Plan9

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net