README
author Dan
Fri, 15 Aug 2008 23:22:30 -0400
changeset 32 86140ed9087d
parent 20 bb8237ca678d
child 35 8040903d25de
permissions -rw-r--r--
Experimental: upon change to playlist, send SIGUSR1 to parent process and branch out to all children to force a playlist refresh
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
     1
<div align="center">
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
     2
  <b>Greyhound</b><br />
9
63a257541313 Moved all Greyhound output to stderr so it will show up in AmaroK error messages; corrected some HTML bugs in the readme
Dan
parents: 6
diff changeset
     3
  A PHP-based web interface for Amarok<br />
63a257541313 Moved all Greyhound output to stderr so it will show up in AmaroK error messages; corrected some HTML bugs in the readme
Dan
parents: 6
diff changeset
     4
  <br />
63a257541313 Moved all Greyhound output to stderr so it will show up in AmaroK error messages; corrected some HTML bugs in the readme
Dan
parents: 6
diff changeset
     5
  &gt;&gt;&gt; <b>To access this script once started navigate to: &lt;&lt;&lt;<br />
63a257541313 Moved all Greyhound output to stderr so it will show up in AmaroK error messages; corrected some HTML bugs in the readme
Dan
parents: 6
diff changeset
     6
  &gt;&gt;&gt; <a href="http://localhost:7447/">http://localhost:7447/</a> &lt;&lt;&lt;
6
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
     7
</div>
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
     8
<p>I wrote Greyhound because of some issues I was having with other web
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
     9
   interface scripts freezing and not working right. Greyhound is my first
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
    10
   shot at writing Amarok scripts but it seems to work pretty well.
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
    11
   </p>
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
    12
<p>Greyhound's interface is based on the WebControl script by Jonas Christian
9
63a257541313 Moved all Greyhound output to stderr so it will show up in AmaroK error messages; corrected some HTML bugs in the readme
Dan
parents: 6
diff changeset
    13
   Drewsen, Andr&#0233; Kelpe, and Peter C. Ndikuwera. However unlike WebControl
6
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
    14
   Greyhound is written entirely in PHP, making it a bit more portable. This
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
    15
   script doesn't require an external web server to run, it has a relatively
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
    16
   basic built-in (single-threaded) server.</p>
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
    17
<p>The script needs a browser with XmlHttpRequest (AJAX) support to work. It's
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
    18
   been tested on Firefox 3.0 beta 4 and Safari.</p>
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
    19
<p>It uses Smarty templates so you should be able to customize the HTML to
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
    20
   your needs. The template file is /themes/funkymonkey/playlist.tpl. There's
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
    21
   also a theme called iphone which is optimized for use on Apple's touch
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
    22
   screen based mobile devices. Now your iPod&reg; can control music other than
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
    23
   its own :-P</p>
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
    24
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
    25
<p>
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
    26
  <b>License</b><br />
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
    27
  I was originally planning to place this into the public domain but decided to
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
    28
  make it <b>GPLv2</b> because it uses so many GPLv2 components.
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
    29
</p>
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
    30
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
    31
<p>
20
bb8237ca678d Updated the readme with known bugs
Dan
parents: 9
diff changeset
    32
  <b>Known issues</b><br />
bb8237ca678d Updated the readme with known bugs
Dan
parents: 9
diff changeset
    33
  There are a few bugs in Greyhound that I haven't been able to iron out.
bb8237ca678d Updated the readme with known bugs
Dan
parents: 9
diff changeset
    34
</p>
bb8237ca678d Updated the readme with known bugs
Dan
parents: 9
diff changeset
    35
bb8237ca678d Updated the readme with known bugs
Dan
parents: 9
diff changeset
    36
<ul>
bb8237ca678d Updated the readme with known bugs
Dan
parents: 9
diff changeset
    37
  <li>The socket it listens on doesn't get fully closed until about a minute
bb8237ca678d Updated the readme with known bugs
Dan
parents: 9
diff changeset
    38
      after you interrupt the script. This means that when you hit stop in
bb8237ca678d Updated the readme with known bugs
Dan
parents: 9
diff changeset
    39
      the script manager, you won't be able to start Greyhound again for about
bb8237ca678d Updated the readme with known bugs
Dan
parents: 9
diff changeset
    40
      60 seconds. I checked everything and socket_shutdown() and socket_close()
bb8237ca678d Updated the readme with known bugs
Dan
parents: 9
diff changeset
    41
      are being called properly, so I don't know why it's failing.</li>
bb8237ca678d Updated the readme with known bugs
Dan
parents: 9
diff changeset
    42
  <li>The playlist isn't reloaded properly. This is because each of the child
bb8237ca678d Updated the readme with known bugs
Dan
parents: 9
diff changeset
    43
      threads have the playlist cached in memory, and I haven't figured out a
bb8237ca678d Updated the readme with known bugs
Dan
parents: 9
diff changeset
    44
      way to make them all reread the playlist file. Eventually I'll have code
bb8237ca678d Updated the readme with known bugs
Dan
parents: 9
diff changeset
    45
      in there that keeps track of the children and sends a SIGHUP to each of
bb8237ca678d Updated the readme with known bugs
Dan
parents: 9
diff changeset
    46
      them and have that fire an event that reparses the playlist file. The
bb8237ca678d Updated the readme with known bugs
Dan
parents: 9
diff changeset
    47
      only real way to fix this for now is to disable multi-threaded mode by
bb8237ca678d Updated the readme with known bugs
Dan
parents: 9
diff changeset
    48
      setting $allow_fork to false at the top of greyhound.php.</li>
bb8237ca678d Updated the readme with known bugs
Dan
parents: 9
diff changeset
    49
</ul>
bb8237ca678d Updated the readme with known bugs
Dan
parents: 9
diff changeset
    50
bb8237ca678d Updated the readme with known bugs
Dan
parents: 9
diff changeset
    51
<p>
6
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
    52
  <b>Author</b><br />
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
    53
  Dan Fuhry &lt;<a href="mailto:dan@enanocms.org">dan@enanocms.org</a>&gt;<br />
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
    54
  If you like this script be sure to check out my other projects:
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
    55
    <a href="http://enanocms.org/">Enano CMS</a> and
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
    56
    <a href="http://lifecodeidiocy.enanocms.org/">my blog</a>.
5f35ebc4f9bb First release version. Renamed to Greyhound and readme/license files added.
Dan
parents:
diff changeset
    57
</p>